#目录 #第三方 #cipd #gclient #depot-tools #chromium-infra

bin+lib teapot_tools

depot_tools (gclient) 和 luci-go (cipd) 的替代品

8 个版本

0.4.3 2024年2月18日
0.4.2 2023年3月15日
0.4.1 2023年2月17日
0.3.0 2022年9月9日
0.1.0 2022年8月29日

#517开发工具

每月 36 次下载

Apache-2.0

59KB
1.5K SLoC

teapot_tools

使用 Rust(或有些人称之为带额外步骤的 Python)重写的 depot_tools 的 gclient 和 luci-go 的 cipd

为什么?

我试图在我的机器上运行 depot_tools,却只看到了这样的错误

./third_party/depot_tools/bootstrap_python3: line 28: cipd: command not found
./third_party/depot_tools/bootstrap_python3: line 32: [email protected]_bin/python3/bin/python3: No such file or directory
/home/lauren/aports/testing/signal-desktop/src/webrtc-4896c/third_party/depot_tools/bootstrap_python3: line 28: cipd: command not found
/home/lauren/aports/testing/signal-desktop/src/webrtc-4896c/third_party/depot_tools/bootstrap_python3: line 32: [email protected]_bin/python3/bin/python3: No such file or directory
cat: can't open '/home/lauren/aports/testing/signal-desktop/src/webrtc-4896c/third_party/depot_tools/python3_bin_reldir.txt': No such file or directory
[E2022-06-21T19:47:00.253814+02:00 28299 0 annotate.go:273] goroutine 1:
#0 go.chromium.org/luci/vpython/venv/config.go:309 - venv.(*Config).resolvePythonInterpreter()
  reason: none of [/home/lauren/aports/testing/signal-desktop/src/webrtc-4896c/third_party/depot_tools//python3] matched specification 3.8.0

#1 go.chromium.org/luci/vpython/venv/config.go:153 - venv.(*Config).resolveRuntime()
  reason: failed to resolve system Python interpreter

#2 go.chromium.org/luci/vpython/venv/venv.go:143 - venv.With()
  reason: failed to resolve python runtime

#3 go.chromium.org/luci/vpython/run.go:60 - vpython.Run()
#4 go.chromium.org/luci/vpython/application/application.go:327 - application.(*application).mainImpl()
#5 go.chromium.org/luci/vpython/application/application.go:416 - application.(*Config).Main.func1()
#6 go.chromium.org/luci/vpython/application/support.go:46 - application.run()
#7 go.chromium.org/luci/vpython/application/application.go:415 - application.(*Config).Main()
#8 vpython/main.go:112 - main.mainImpl()
#9 vpython/main.go:118 - main.main()
#10 runtime/proc.go:225 - runtime.main()
#11 runtime/asm_amd64.s:1371 - runtime.goexit()

我看了这些错误,看了 DEPS 文件,感觉重写它比让它运行起来要容易。

依赖项

列出的 Alpine 软件包名称,应该在任何地方都类似

构建

  • openssl-dev
  • protoc
  • python3-dev
  • rust

runtime

  • git
  • python3 (libpython3)

镜像

安全考虑

不要在不受信任的项目上运行。

  • DEPS 文件实际上是运行在 Python 解释器上的 Python 代码,它可能会运行一些恶意代码。
  • DEPS 文件包含钩子,这些钩子应该在(尚未实现)克隆依赖项之前/之后运行,它们可能是恶意代码。

请通过电子邮件仅报告安全问题:security at selfisekai dot rocks

版权所有 © 2022 Lauren N. Liberda,使用许可受 Apache-2.0 许可证 条款约束

依赖项

~16–30MB
~487K SLoC