8 releases
0.4.3 | Feb 18, 2024 |
---|---|
0.4.2 | Mar 15, 2023 |
0.4.1 | Feb 17, 2023 |
0.3.0 | Sep 9, 2022 |
0.1.0 | Aug 29, 2022 |
#473 in Development tools
36 downloads per month
59KB
1.5K
SLoC
teapot_tools
reimplementation of gclient from depot_tools and cipd from luci-go in Rust (or as some may call it, Python with extra steps).
why?
I was trying to get depot_tools working on my machine, only to see things like this:
./third_party/depot_tools/bootstrap_python3: line 28: cipd: command not found
./third_party/depot_tools/bootstrap_python3: line 32: bootstrap-2@3.8.10.chromium.23_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: bootstrap-2@3.8.10.chromium.23_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()
I looked at these errors, at the DEPS file, and got the impression that it's gonna be easier to rewrite it than to get it running.
dependencies
listed as alpine package names, should be similar on wherever
build:
- openssl-dev
- protoc
- python3-dev
- rust
runtime:
- git
- python3 (libpython3)
mirrors
- codeberg (main development platform): https://codeberg.org/selfisekai/teapot_tools
- github: https://github.com/selfisekai/teapot_tools
- gitlab: https://gitlab.com/selfisekai/teapot_tools
- crates: https://lib.rs/crates/teapot_tools (https://crates.io/crates/teapot_tools)
security considerations
Do NOT run on untrusted projects.
- DEPS file is literally Python code run on a Python interpreter, it possibly can run some malicious code.
- DEPS file contains hooks that are supposed to (not implemented yet) be run before/after cloning dependencies, they can be malicious code.
Please only report security issues by e-mail: security at selfisekai dot rocks
.
legal
copyright 2022 Lauren N. Liberda, usage allowed under the terms of Apache-2.0 license
Dependencies
~17–32MB
~517K SLoC