feat: add repo planning/binary repo support and Meson build integration

- add repos.toml source/binary repo configuration with arch overrides and priorities
- add dependency planner/execution plan flow with interactive provider selection and --yes support
- expand binary repo DB metadata (sha512, dependencies, file lists) and repo owns/search helpers
- add rootfs-scoped fd locking and minisign detached signing/verification helpers
- add Meson build/test support for the project with builddir-local CARGO_HOME/CARGO_TARGET_DIR
- install contrib example configs into sysconfdir (/etc/depot.d layout) via Meson
- improve builder env handling (sanitized PATH, tool env passthrough, CXXFLAGS support)
- support += appends in package specs and add build.flags.cxxflags parsing
- prompt for git credentials when private repo auth is required
- update docs/examples and dependency setup (system libs, zstdmt, tempfile pin)
This commit is contained in:
2026-02-24 21:38:12 -06:00
parent d63ad03e98
commit 9953d4b2ee
30 changed files with 4536 additions and 111 deletions
+11 -16
View File
@@ -11,19 +11,19 @@ anyhow = "1.0.102"
ar = "0.9.0"
bzip2 = "0.6.1"
clap = { version = "4.5.60", features = ["derive"] }
flate2 = { version = "1.1.9", default-features = false, features = ["miniz_oxide"] }
flate2 = "1.1.9"
git2 = { version = "0.20.4", features = ["vendored-libgit2"] }
indicatif = "0.18.4"
nix = { version = "0.31.1", features = ["user"] }
reqwest = { version = "0.13.2", features = ["blocking", "rustls"] }
rusqlite = { version = "0.38.0", features = ["bundled"] }
openssl-sys = { version = "0.9", features = ["vendored"] }
reqwest = { version = "0.13.2", features = ["blocking", "native-tls"] }
rusqlite = "0.38.0"
openssl-sys = "0.9.111"
semver = "1.0.27"
serde = { version = "1.0.228", features = ["derive"] }
yaml-rust2 = "0.11.0"
sha2 = "0.10.9"
tar = "0.4.44"
tempfile = "3.25.0"
tempfile = "=3.25.0"
thiserror = "2.0.18"
toml = "0.9.8"
url = "2.5.8"
@@ -31,18 +31,13 @@ walkdir = "2.5.0"
xz2 = "0.1.7"
zip = "8.1.0"
zstd = { version = "0.13.3", features = ["zstdmt"] }
libz-sys = { version = "1.1.23", default-features = false, features = ["stock-zlib", "static"] }
inquire = "0.9.3"
libz-sys = "1.1.24"
inquire = "0.9.4"
md5 = "0.8.0"
suppaftp = "8.0.2"
minisign = "0.8.0"
petgraph = "0.8.3"
fd-lock = "4.0.4"
[dev-dependencies]
tempfile = "3.25.0"
[profile.release]
opt-level = 3
lto = "thin"
codegen-units = 1
panic = "abort"
strip = "symbols"
debug = false
tempfile = "=3.25.0"