From d75d53934d4b4199b13fb84c7125625a96af53ad Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Fri, 11 Jul 2025 15:58:28 -0400 Subject: [PATCH] Bump composefs-rs Prep for work on the composefs-rs backend. Signed-off-by: Colin Walters --- Cargo.lock | 216 +++++++++++++++++------------------------- lib/src/cli.rs | 3 +- ostree-ext/Cargo.toml | 2 +- 3 files changed, 90 insertions(+), 131 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f238b5dfb..8d91bc82d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -102,21 +102,6 @@ version = "1.0.97" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dcfed56ad506cb2c684a14971b8861fdc3baaaae314b9e5f9bb532cbe3ba7a4f" -[[package]] -name = "async-compression" -version = "0.4.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0cf008e5e1a9e9e22a7d3c9a4992e21a350290069e36d8fb72304ed17e8f2d2" -dependencies = [ - "flate2", - "futures-core", - "memchr", - "pin-project-lite", - "tokio", - "zstd", - "zstd-safe", -] - [[package]] name = "autocfg" version = "1.4.0" @@ -417,7 +402,7 @@ checksum = "200812b29d9de495a9ba97dee1737f7def8907de53a0962843b6a955df921e22" dependencies = [ "camino", "cap-std", - "rand", + "rand 0.8.5", "rustix 0.38.44", "uuid", ] @@ -539,27 +524,19 @@ checksum = "55b672471b4e9f9e95499ea597ff64941a309b2cdbffcc46f2cc5e2d971fd335" [[package]] name = "composefs" -version = "0.2.0" -source = "git+https://github.com/containers/composefs-rs?rev=821eeae93e48f1ee381c49b8cd4d22fda92d27a2#821eeae93e48f1ee381c49b8cd4d22fda92d27a2" +version = "0.3.0" +source = "git+https://github.com/containers/composefs-rs?rev=59299eb8de6c22410f32213cc57901a7ddd3c134#59299eb8de6c22410f32213cc57901a7ddd3c134" dependencies = [ "anyhow", - "async-compression", - "clap", - "containers-image-proxy 0.7.0", - "env_logger 0.11.6", "hex", - "indicatif", "log", - "oci-spec 0.7.1", - "regex-automata 0.4.9", + "once_cell", + "rand 0.9.1", "rustix 1.0.3", - "serde", "sha2", - "tar", "tempfile", "thiserror 2.0.12", "tokio", - "toml", "xxhash-rust", "zerocopy 0.8.23", "zstd", @@ -598,25 +575,6 @@ dependencies = [ "unicode-xid", ] -[[package]] -name = "containers-image-proxy" -version = "0.7.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1b4ec45d60513c498a40c69d89447d8bf91bbd17f71a32aa285b39e4dc03294" -dependencies = [ - "cap-std-ext", - "fn-error-context", - "futures-util", - "oci-spec 0.7.1", - "rustix 0.38.44", - "semver", - "serde", - "serde_json", - "thiserror 1.0.69", - "tokio", - "tracing", -] - [[package]] name = "containers-image-proxy" version = "0.8.0" @@ -626,7 +584,7 @@ dependencies = [ "cap-std-ext", "futures-util", "itertools", - "oci-spec 0.8.1", + "oci-spec", "rustix 1.0.3", "semver", "serde", @@ -863,16 +821,6 @@ version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" -[[package]] -name = "env_filter" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "186e05a59d4c50738528153b83b0b0194d3a29507dfec16eccd4b342903397d0" -dependencies = [ - "log", - "regex", -] - [[package]] name = "env_home" version = "0.1.0" @@ -889,19 +837,6 @@ dependencies = [ "regex", ] -[[package]] -name = "env_logger" -version = "0.11.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dcaee3d8e3cfc3fd92428d477bc97fc29ec8716d180c0d74c643bb26166660e0" -dependencies = [ - "anstream", - "anstyle", - "env_filter", - "humantime", - "log", -] - [[package]] name = "equivalent" version = "1.0.1" @@ -1092,7 +1027,19 @@ checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4" +dependencies = [ + "cfg-if", + "libc", + "r-efi", + "wasi 0.14.2+wasi-0.2.4", ] [[package]] @@ -1251,12 +1198,6 @@ dependencies = [ "digest", ] -[[package]] -name = "humantime" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b112acc8b3adf4b107a8ec20977da0273a8c386765a3ec0229bd500a1443f9f" - [[package]] name = "iana-time-zone" version = "0.1.61" @@ -1306,7 +1247,6 @@ dependencies = [ "console", "number_prefix", "portable-atomic", - "tokio", "unicode-width 0.2.0", "web-time", ] @@ -1588,7 +1528,7 @@ dependencies = [ "hermit-abi", "libc", "log", - "wasi", + "wasi 0.11.0+wasi-snapshot-preview1", "windows-sys 0.52.0", ] @@ -1662,22 +1602,6 @@ dependencies = [ "memchr", ] -[[package]] -name = "oci-spec" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da406e58efe2eb5986a6139626d611ce426e5324a824133d76367c765cf0b882" -dependencies = [ - "derive_builder", - "getset", - "regex", - "serde", - "serde_json", - "strum 0.26.3", - "strum_macros 0.26.4", - "thiserror 2.0.12", -] - [[package]] name = "oci-spec" version = "0.8.1" @@ -1690,8 +1614,8 @@ dependencies = [ "regex", "serde", "serde_json", - "strum 0.27.1", - "strum_macros 0.27.1", + "strum", + "strum_macros", "thiserror 2.0.12", ] @@ -1707,7 +1631,7 @@ dependencies = [ "chrono", "flate2", "hex", - "oci-spec 0.8.1", + "oci-spec", "openssl", "serde", "serde_json", @@ -1717,9 +1641,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.20.3" +version = "1.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" +checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d" [[package]] name = "openssh-keys" @@ -1803,7 +1727,7 @@ dependencies = [ "clap_mangen", "comfy-table", "composefs", - "containers-image-proxy 0.8.0", + "containers-image-proxy", "flate2", "fn-error-context", "futures-util", @@ -2002,9 +1926,9 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "588f6378e4dd99458b60ec275b4477add41ce4fa9f64dcba6f15adccb19b50d6" dependencies = [ - "env_logger 0.8.4", + "env_logger", "log", - "rand", + "rand 0.8.5", ] [[package]] @@ -2016,6 +1940,12 @@ dependencies = [ "proc-macro2", ] +[[package]] +name = "r-efi" +version = "5.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" + [[package]] name = "rand" version = "0.8.5" @@ -2023,8 +1953,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" dependencies = [ "libc", - "rand_chacha", - "rand_core", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + +[[package]] +name = "rand" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97" +dependencies = [ + "rand_chacha 0.9.0", + "rand_core 0.9.3", ] [[package]] @@ -2034,7 +1974,17 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.6.4", +] + +[[package]] +name = "rand_chacha" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" +dependencies = [ + "ppv-lite86", + "rand_core 0.9.3", ] [[package]] @@ -2043,7 +1993,16 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom", + "getrandom 0.2.15", +] + +[[package]] +name = "rand_core" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38" +dependencies = [ + "getrandom 0.3.3", ] [[package]] @@ -2414,31 +2373,12 @@ version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" -[[package]] -name = "strum" -version = "0.26.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fec0f0aef304996cf250b31b5a10dee7980c85da9d759361292b8bca5a18f06" - [[package]] name = "strum" version = "0.27.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f64def088c51c9510a8579e3c5d67c65349dcf755e5479ad3d010aa6454e2c32" -[[package]] -name = "strum_macros" -version = "0.26.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "rustversion", - "syn 2.0.87", -] - [[package]] name = "strum_macros" version = "0.27.1" @@ -2557,7 +2497,7 @@ dependencies = [ "fn-error-context", "indoc", "libtest-mimic", - "oci-spec 0.8.1", + "oci-spec", "rexpect", "rustix 1.0.3", "serde", @@ -2830,7 +2770,7 @@ version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b913a3b5fe84142e269d63cc62b64319ccaf89b748fc31fe025177f767a756c4" dependencies = [ - "getrandom", + "getrandom 0.2.15", "serde", ] @@ -2874,6 +2814,15 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" +[[package]] +name = "wasi" +version = "0.14.2+wasi-0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3" +dependencies = [ + "wit-bindgen-rt", +] + [[package]] name = "wasm-bindgen" version = "0.2.95" @@ -3095,6 +3044,15 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "wit-bindgen-rt" +version = "0.39.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1" +dependencies = [ + "bitflags 2.9.0", +] + [[package]] name = "xattr" version = "1.3.1" diff --git a/lib/src/cli.rs b/lib/src/cli.rs index bd82ee32a..d815c537b 100644 --- a/lib/src/cli.rs +++ b/lib/src/cli.rs @@ -18,6 +18,7 @@ use indoc::indoc; use ostree::gio; use ostree_container::store::PrepareResult; use ostree_ext::composefs::fsverity; +use ostree_ext::composefs::fsverity::FsVerityHashValue; use ostree_ext::container as ostree_container; use ostree_ext::container_utils::ostree_booted; use ostree_ext::keyfileext::KeyFileExt; @@ -1218,7 +1219,7 @@ async fn run_from_opt(opt: Opt) -> Result<()> { let fd = std::fs::File::open(&path).with_context(|| format!("Reading {path}"))?; let digest: fsverity::Sha256HashValue = fsverity::measure_verity(&fd)?; - let digest = hex::encode(digest); + let digest = digest.to_hex(); println!("{digest}"); Ok(()) } diff --git a/ostree-ext/Cargo.toml b/ostree-ext/Cargo.toml index e1b6fde20..d8f75bd3c 100644 --- a/ostree-ext/Cargo.toml +++ b/ostree-ext/Cargo.toml @@ -17,7 +17,7 @@ ostree = { features = ["v2025_2"], version = "0.20" } anyhow = { workspace = true } bootc-utils = { package = "bootc-internal-utils", path = "../utils", version = "0.0.0" } camino = { workspace = true, features = ["serde1"] } -composefs = { git = "https://github.com/containers/composefs-rs", rev = "821eeae93e48f1ee381c49b8cd4d22fda92d27a2" } +composefs = { git = "https://github.com/containers/composefs-rs", rev = "59299eb8de6c22410f32213cc57901a7ddd3c134", features = ["rhel9"] } chrono = { workspace = true } clap = { workspace = true, features = ["derive","cargo"] } clap_mangen = { workspace = true, optional = true }