From a9cf8b9efa37ac0d446b268c8522ce8577fcefb7 Mon Sep 17 00:00:00 2001 From: Christophe de Dinechin Date: Mon, 7 Jul 2025 16:04:53 +0200 Subject: [PATCH 01/16] Bump to Kata Containers 3.13 The upstream vendor tarball contains an outdated version of the Rust `time` crate, which causes problems with recent Rust compiler versions. This was addressed earlier by patching the `Cargo.lock` to require a more recent version of the `time` crate, but that itself caused some dependencies to not be found in the upstream vendor tarball. In order to address the issue, both `kata-agent` and `kata-ctl` had to be revendored to pick up time version 0.3.37. As a result, the `kata-containers-3.13.0-vendor.tar.gz` that was added to sources does not match the upstream source. If you need to reconstruct the vendor tarball, the required steps are documented in the `vendor-tarball.sh` script. Signed-off-by: Christophe de Dinechin --- .gitignore | 2 ++ kata-containers.spec | 7 ++++-- sources | 4 +-- vendor-tarball.sh | 59 ++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 68 insertions(+), 4 deletions(-) create mode 100755 vendor-tarball.sh diff --git a/.gitignore b/.gitignore index cd18957..3481e70 100644 --- a/.gitignore +++ b/.gitignore @@ -52,3 +52,5 @@ /kata-containers-3.11.0.tar.gz /kata-containers-3.12.0-vendor.tar.gz /kata-containers-3.12.0.tar.gz +/kata-containers-3.13.0-vendor.tar.gz +/kata-containers-3.13.0.tar.gz diff --git a/kata-containers.spec b/kata-containers.spec index e4604c7..ee58cf2 100644 --- a/kata-containers.spec +++ b/kata-containers.spec @@ -28,7 +28,7 @@ %endif # https://github.com/kata-containers/kata-containers -Version: 3.12.0 +Version: 3.13.0 %global tag %{version}%{?rcstr} %global domain github.com @@ -53,7 +53,7 @@ workload isolation and security advantages of VMs. https://katacontainers.io/.} src/agent/README.md Name: %{repo} -Release: 1%{?rcrel}%{?dist}.2 +Release: 1%{?rcrel}%{?dist} Summary: Kata Containers version 3.x repository License: Apache-2.0 Url: https://%{download} @@ -390,6 +390,9 @@ fi %changelog +* Mon Jul 07 2025 Christophe de Dinechin - 3.13.0-1 +- kata-containers 3.13.0, required vendor source correction + * Mon Jan 20 2025 Fedora Release Engineering - 3.12.0-1.2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild diff --git a/sources b/sources index 8360fb7..4d56c0a 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (kata-containers-3.12.0-vendor.tar.gz) = 5d84664f6fbc6c7be53509391e248959247f1873fac171373a23dcb8f12f0fcf5dd6e72ab22e36488694d93f73d94197e1c86bba32ea3a0cdacb3a57b03952de -SHA512 (kata-containers-3.12.0.tar.gz) = efef81a537498b4d5ee02f836e054c635849db4a8916f099d4b4935d657fbaa095a041a2077b5b78f047282a4d11e583ee202a15705821fedbd663a0890156ea +SHA512 (kata-containers-3.13.0.tar.gz) = a1a56e0b8bf9a27c54144bbf2a03b3ee600079d780836946cfe6ceb32d9bec606639bb038dc73d489c36e9c0c7da6c4c7ef708b9abec821b789f1973b98f7641 +SHA512 (kata-containers-3.13.0-vendor.tar.gz) = a15257dfd09c460d4c5661e5c0523533df83e2d48a5779096a02d27463de6a1c1a28cdfe967896e6cc1d96a8074e0e88572d9c4ab92ee2cb6da5adec298e0459 diff --git a/vendor-tarball.sh b/vendor-tarball.sh new file mode 100755 index 0000000..14aa396 --- /dev/null +++ b/vendor-tarball.sh @@ -0,0 +1,59 @@ +#!/bin/bash +set -xeuo pipefail + +# Kata version +KATA_VERSION=3.13.0 +RUST_SOURCES_TO_FIX="src/agent src/tools/kata-ctl" + +# Original vendor tarball downloaded from upstream +ORIG_TARBALL="kata-containers-${KATA_VERSION}.tar.gz" +ORIG_VENDOR_TARBALL="kata-containers-${KATA_VERSION}-vendor.tar.gz" +TMPDIR="tmp_vendor_extract" + +# Build directories for agent and kata-ctl +RPM_BUILD_DIR="$HOME/rpmbuild/BUILD/kata-containers-${KATA_VERSION}-build/kata-containers-${KATA_VERSION}" +KATA_AGENT_BUILD_DIR="$RPM_BUILD_DIR/src/agent" +KATA_CTL_BUILD_DIR="$RPM_BUILD_DIR/src/tools/kata-ctl" + +# Extracted directories in the tarball +KATA_AGENT_EXTRACTED_DIR="$TMPDIR/src/agent" +KATA_CTL_EXTRACTED_DIR="$TMPDIR/src/tools/kata-ctl" + +# 1. Extract the original vendor tarball +rm -rf "$TMPDIR" +mkdir -p "$TMPDIR" +[ -f "$ORIG_VENDOR_TARBALL" ] || wget https://github.com/kata-containers/kata-containers/releases/download/$KATA_VERSION/$ORIG_VENDOR_TARBALL + +tar xzf "$ORIG_VENDOR_TARBALL" -C "$TMPDIR" + +# 2. Run cargo vendor in both build directories +mkdir -p $RPM_BUILD_DIR +[ -f "$ORIG_TARBALL" ] || wget https://github.com/kata-containers/kata-containers/archive/$KATA_VERSION/$ORIG_TARBALL +tar xzf "$ORIG_TARBALL" -C $RPM_BUILD_DIR/.. +for dir in "$KATA_AGENT_BUILD_DIR" "$KATA_CTL_BUILD_DIR"; do + pushd "$dir" + cargo vendor + popd +done + +# 3. Copy updated vendor and Cargo.lock into the extracted tree for both components +for src_dir in $RUST_SOURCES_TO_FIX; do + BUILD_DIR="$HOME/rpmbuild/BUILD/kata-containers-${KATA_VERSION}-build/kata-containers-${KATA_VERSION}/$src_dir" + EXTRACTED_DIR="$TMPDIR/$src_dir" + rm -rf "$EXTRACTED_DIR/vendor" + cp -a "$BUILD_DIR/vendor" "$EXTRACTED_DIR/" + cp "$BUILD_DIR/Cargo.lock" "$EXTRACTED_DIR/" +done + +# 4. Remove stale ext.rs if both ext.rs and ext/mod.rs exist in time crate for both +for EXTRACTED_DIR in "$KATA_AGENT_EXTRACTED_DIR" "$KATA_CTL_EXTRACTED_DIR"; do + TIME_SRC="$EXTRACTED_DIR/vendor/time/src" + if [[ -f "$TIME_SRC/ext.rs" && -d "$TIME_SRC/ext" ]]; then + rm -f "$TIME_SRC/ext.rs" + fi +done + +# 5. Repack the updated vendor tarball +tar czf "$ORIG_VENDOR_TARBALL" -C "$TMPDIR" . + +echo "Updated vendor tarball created: $ORIG_VENDOR_TARBALL" From 3cf47eaa99c744e2d59dc715b324199dc2bd075d Mon Sep 17 00:00:00 2001 From: Christophe de Dinechin Date: Wed, 9 Jul 2025 11:50:30 +0200 Subject: [PATCH 02/16] Bump to Kata Containers 3.14 Adjusted patch 1001-Remove-warnings-as-compilation-errors.patch Removed patches 1000, 1002 and 1003, no longer needed Signed-off-by: Christophe de Dinechin --- .gitignore | 2 + ...-in-non-executable-completion-script.patch | 25 - ...emove-warnings-as-compilation-errors.patch | 82 +- 1002-Bump-time-dependency-for-Kata.patch | 3580 ----------------- 1003-Fix-arch-name-compilation-failure.patch | 491 --- kata-containers.spec | 8 +- sources | 4 +- vendor-tarball.sh | 2 +- 8 files changed, 46 insertions(+), 4148 deletions(-) delete mode 100644 1000-Remove-shebang-in-non-executable-completion-script.patch delete mode 100644 1002-Bump-time-dependency-for-Kata.patch delete mode 100644 1003-Fix-arch-name-compilation-failure.patch diff --git a/.gitignore b/.gitignore index 3481e70..6cae878 100644 --- a/.gitignore +++ b/.gitignore @@ -54,3 +54,5 @@ /kata-containers-3.12.0.tar.gz /kata-containers-3.13.0-vendor.tar.gz /kata-containers-3.13.0.tar.gz +/kata-containers-3.14.0-vendor.tar.gz +/kata-containers-3.14.0.tar.gz diff --git a/1000-Remove-shebang-in-non-executable-completion-script.patch b/1000-Remove-shebang-in-non-executable-completion-script.patch deleted file mode 100644 index 6122484..0000000 --- a/1000-Remove-shebang-in-non-executable-completion-script.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 1c65024709d7c28bf78b42c59a135df17513d78d Mon Sep 17 00:00:00 2001 -From: Christophe de Dinechin -Date: Thu, 12 Sep 2019 12:57:39 +0200 -Subject: [PATCH] Remove shebang in non-executable completion script - -Raised during package review [1] by rpmlint - -[1] https://bugzilla.redhat.com/show_bug.cgi?id=1590425#c8 - -Signed-off-by: Christophe de Dinechin ---- - src/runtime/data/completions/bash/kata-runtime | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/src/runtime/data/completions/bash/kata-runtime b/src/runtime/data/completions/bash/kata-runtime -index c293483..58ab978 100644 ---- a/src/runtime/data/completions/bash/kata-runtime -+++ b/src/runtime/data/completions/bash/kata-runtime -@@ -1,4 +1,3 @@ --#!/usr/bin/env bash - # - # Copyright (c) 2018 Intel Corporation - # --- -2.21.0 diff --git a/1001-Remove-warnings-as-compilation-errors.patch b/1001-Remove-warnings-as-compilation-errors.patch index 3bae429..47ab17c 100644 --- a/1001-Remove-warnings-as-compilation-errors.patch +++ b/1001-Remove-warnings-as-compilation-errors.patch @@ -23,42 +23,35 @@ index e62a894aa..39d351213 100644 +++ b/src/agent/Makefile @@ -134,14 +134,14 @@ static-checks-build: $(GENERATED_CODE) $(TARGET): $(GENERATED_CODE) $(TARGET_PATH) - + $(TARGET_PATH): show-summary - @RUSTFLAGS="$(EXTRA_RUSTFLAGS) --deny warnings" cargo build --target $(TRIPLE) $(if $(findstring release,$(BUILD_TYPE)),--release) $(EXTRA_RUSTFEATURES) + @RUSTFLAGS="$(EXTRA_RUSTFLAGS) " cargo build --target $(TRIPLE) $(if $(findstring release,$(BUILD_TYPE)),--release) $(EXTRA_RUSTFEATURES) - + $(GENERATED_FILES): %: %.in @sed $(foreach r,$(GENERATED_REPLACEMENTS),-e 's|@$r@|$($r)|g') "$<" > "$@" - + ##TARGET optimize: optimized build optimize: show-summary show-header - @RUSTFLAGS="-C link-arg=-s $(EXTRA_RUSTFLAGS) --deny warnings" cargo build --target $(TRIPLE) $(if $(findstring release,$(BUILD_TYPE)),--release) $(EXTRA_RUSTFEATURES) + @RUSTFLAGS="-C link-arg=-s $(EXTRA_RUSTFLAGS) " cargo build --target $(TRIPLE) $(if $(findstring release,$(BUILD_TYPE)),--release) $(EXTRA_RUSTFEATURES) - + ##TARGET install: install agent install: install-services diff --git a/src/dragonball/Makefile b/src/dragonball/Makefile index 40bb7f915..5eb2c1016 100644 --- a/src/dragonball/Makefile +++ b/src/dragonball/Makefile -@@ -27,14 +27,14 @@ clippy: +@@ -27,8 +27,8 @@ clippy: @echo "INFO: cargo clippy..." cargo clippy --all-targets --all-features \ -- \ - -D warnings + - + vendor: @echo "INFO: vendor do nothing.." - - format: - @echo "INFO: rust fmt..." -- # This is kinda dirty step here simply because cargo fmt --all will apply fmt to all dependencies of dragonball which will include /src/libs/protocols with some file generated during compilation time and could not be formatted when you use cargo fmt --all before building the whole project. In order to avoid this problem, we do fmt check in this following way. -+ # This is kinda dirty step here simply because cargo fmt --all will apply fmt to all dependencies of dragonball which will include /src/libs/protocols with some file generated during compilation time and could not be formatted when you use cargo fmt --all before building the whole project. In order to avoid this problem, we do fmt check in this following way. - rustfmt --edition 2018 ./src/dbs_address_space/src/lib.rs ./src/dbs_allocator/src/lib.rs ./src/dbs_arch/src/lib.rs ./src/dbs_boot/src/lib.rs ./src/dbs_device/src/lib.rs ./src/dbs_interrupt/src/lib.rs ./src/dbs_legacy_devices/src/lib.rs ./src/dbs_pci/src/lib.rs ./src/dbs_upcall/src/lib.rs ./src/dbs_utils/src/lib.rs ./src/dbs_virtio_devices/src/lib.rs ./src/lib.rs --check - - clean: + diff --git a/src/libs/Makefile b/src/libs/Makefile index aabaa3391..1fb6b20c3 100644 --- a/src/libs/Makefile @@ -69,7 +62,7 @@ index aabaa3391..1fb6b20c3 100644 -- \ - -D warnings + - + format: @echo "INFO: cargo fmt..." diff --git a/src/runtime-rs/Makefile b/src/runtime-rs/Makefile @@ -78,20 +71,20 @@ index 0bb0617ff..188040864 100644 +++ b/src/runtime-rs/Makefile @@ -580,7 +580,7 @@ static-checks-build: $(GENERATED_FILES) $(TARGET): $(GENERATED_FILES) $(TARGET_PATH) - + $(TARGET_PATH): $(SOURCES) | show-summary - @RUSTFLAGS="$(EXTRA_RUSTFLAGS) --deny warnings" cargo build --target $(TRIPLE) $(if $(findstring release,$(BUILD_TYPE)),--release) $(EXTRA_RUSTFEATURES) + @RUSTFLAGS="$(EXTRA_RUSTFLAGS) " cargo build --target $(TRIPLE) $(if $(findstring release,$(BUILD_TYPE)),--release) $(EXTRA_RUSTFEATURES) - + $(GENERATED_FILES): %: %.in @sed \ @@ -590,7 +590,7 @@ $(GENERATED_FILES): %: %.in - + ##TARGET optimize: optimized build optimize: $(SOURCES) | show-summary show-header - @RUSTFLAGS="-C link-arg=-s $(EXTRA_RUSTFLAGS) --deny warnings" cargo build --target $(TRIPLE) --$(BUILD_TYPE) $(EXTRA_RUSTFEATURES) + @RUSTFLAGS="-C link-arg=-s $(EXTRA_RUSTFLAGS) " cargo build --target $(TRIPLE) --$(BUILD_TYPE) $(EXTRA_RUSTFEATURES) - + ##TARGET clean: clean build clean: clean-generated-files diff --git a/src/tools/agent-ctl/Makefile b/src/tools/agent-ctl/Makefile @@ -100,85 +93,85 @@ index a49f88e6b..855017db4 100644 +++ b/src/tools/agent-ctl/Makefile @@ -13,7 +13,7 @@ endif default: build - + build: - @RUSTFLAGS="$(EXTRA_RUSTFLAGS) --deny warnings" cargo build --target $(TRIPLE) --$(BUILD_TYPE) + @RUSTFLAGS="$(EXTRA_RUSTFLAGS) " cargo build --target $(TRIPLE) --$(BUILD_TYPE) - + static-checks-build: @echo "INFO: static-checks-build do nothing.." @@ -27,7 +27,7 @@ vendor: test: - + install: - @RUSTFLAGS="$(EXTRA_RUSTFLAGS) --deny warnings" cargo install --locked --target $(TRIPLE) --path . + @RUSTFLAGS="$(EXTRA_RUSTFLAGS) " cargo install --locked --target $(TRIPLE) --path . - + check: standard_rust_check - + diff --git a/src/tools/genpolicy/Makefile b/src/tools/genpolicy/Makefile index 7410e20ed..b33541467 100644 --- a/src/tools/genpolicy/Makefile +++ b/src/tools/genpolicy/Makefile @@ -28,7 +28,7 @@ $(GENERATED_FILES): %: %.in default: build - + build: $(GENERATED_FILES) - @RUSTFLAGS="$(EXTRA_RUSTFLAGS) --deny warnings" cargo build --target $(TRIPLE) --$(BUILD_TYPE) + @RUSTFLAGS="$(EXTRA_RUSTFLAGS) " cargo build --target $(TRIPLE) --$(BUILD_TYPE) - + static-checks-build: @echo "INFO: static-checks-build do nothing.." @@ -41,10 +41,10 @@ vendor: cargo vendor - + test: $(GENERATED_FILES) - @RUSTFLAGS="$(EXTRA_RUSTFLAGS) --deny warnings" cargo test --all-targets --all-features --target $(TRIPLE) + @RUSTFLAGS="$(EXTRA_RUSTFLAGS) " cargo test --all-targets --all-features --target $(TRIPLE) - + install: $(GENERATED_FILES) - @RUSTFLAGS="$(EXTRA_RUSTFLAGS) --deny warnings" cargo install --locked --target $(TRIPLE) --path . + @RUSTFLAGS="$(EXTRA_RUSTFLAGS) " cargo install --locked --target $(TRIPLE) --path . - + check: $(GENERATED_CODE) standard_rust_check - + diff --git a/src/tools/kata-ctl/Makefile b/src/tools/kata-ctl/Makefile index 7595c0c23..05d171f5a 100644 --- a/src/tools/kata-ctl/Makefile +++ b/src/tools/kata-ctl/Makefile @@ -43,7 +43,7 @@ default: $(TARGET) build $(TARGET): $(GENERATED_CODE) - + build: - @RUSTFLAGS="$(EXTRA_RUSTFLAGS) --deny warnings" cargo build --target $(TRIPLE) $(if $(findstring release,$(BUILD_TYPE)),--release) $(EXTRA_RUSTFEATURES) + @RUSTFLAGS="$(EXTRA_RUSTFLAGS) " cargo build --target $(TRIPLE) $(if $(findstring release,$(BUILD_TYPE)),--release) $(EXTRA_RUSTFEATURES) - + static-checks-build: $(GENERATED_CODE) - + @@ -59,10 +59,10 @@ vendor: cargo vendor - + test: $(GENERATED_CODE) - @RUSTFLAGS="$(EXTRA_RUSTFLAGS) --deny warnings" cargo test --target $(TRIPLE) $(if $(findstring release,$(BUILD_TYPE)),--release) $(EXTRA_RUSTFEATURES) -- --nocapture + @RUSTFLAGS="$(EXTRA_RUSTFLAGS) " cargo test --target $(TRIPLE) $(if $(findstring release,$(BUILD_TYPE)),--release) $(EXTRA_RUSTFEATURES) -- --nocapture - + install: - @RUSTFLAGS="$(EXTRA_RUSTFLAGS) --deny warnings" cargo install --locked --target $(TRIPLE) --path . --root $(INSTALL_PATH) + @RUSTFLAGS="$(EXTRA_RUSTFLAGS) " cargo install --locked --target $(TRIPLE) --path . --root $(INSTALL_PATH) - + check: $(GENERATED_CODE) standard_rust_check - + diff --git a/src/tools/runk/Makefile b/src/tools/runk/Makefile index 186955679..b23cab145 100644 --- a/src/tools/runk/Makefile +++ b/src/tools/runk/Makefile @@ -36,7 +36,7 @@ endif default: build - + build: - @RUSTFLAGS="$(EXTRA_RUSTFLAGS) --deny warnings" cargo build --target $(TRIPLE) --$(BUILD_TYPE) $(EXTRA_RUSTFEATURES) + @RUSTFLAGS="$(EXTRA_RUSTFLAGS) " cargo build --target $(TRIPLE) --$(BUILD_TYPE) $(EXTRA_RUSTFEATURES) - + static-checks-build: @echo "INFO: static-checks-build do nothing.." diff --git a/src/tools/trace-forwarder/Makefile b/src/tools/trace-forwarder/Makefile @@ -187,26 +180,25 @@ index 5d9f71856..bf6b80a54 100644 +++ b/src/tools/trace-forwarder/Makefile @@ -13,7 +13,7 @@ endif default: build - + build: - @RUSTFLAGS="$(EXTRA_RUSTFLAGS) --deny warnings" cargo build --target $(TRIPLE) --$(BUILD_TYPE) + @RUSTFLAGS="$(EXTRA_RUSTFLAGS) " cargo build --target $(TRIPLE) --$(BUILD_TYPE) - + static-checks-build: @echo "INFO: static-checks-build do nothing.." diff --git a/utils.mk b/utils.mk index 1a153e26c..4edba5524 100644 --- a/utils.mk +++ b/utils.mk -@@ -176,7 +176,7 @@ standard_rust_check: +@@ -177,7 +177,7 @@ standard_rust_check: cargo fmt -- --check cargo clippy --all-targets --all-features --release \ -- \ - -D warnings + - + # Install a file (full version). # --- +-- 2.47.1 - diff --git a/1002-Bump-time-dependency-for-Kata.patch b/1002-Bump-time-dependency-for-Kata.patch deleted file mode 100644 index 0447de9..0000000 --- a/1002-Bump-time-dependency-for-Kata.patch +++ /dev/null @@ -1,3580 +0,0 @@ -From 953623cb82571abe35b83ff94a2c6f2dea120cfe Mon Sep 17 00:00:00 2001 -From: Emanuel Lima -Date: Mon, 6 Jan 2025 15:02:50 -0300 -Subject: [PATCH] Bump time dependency for Kata - -This is necessary to make Kata compilable -by the latest stable Rust (v1.83.0) - -Signed-off-by: Emanuel Lima ---- - src/agent/Cargo.lock | 10 +- - src/dragonball/Cargo.lock | 36 +- - src/dragonball/src/dbs_acpi/Cargo.lock | 48 + - .../src/dbs_address_space/Cargo.lock | 187 +++ - src/dragonball/src/dbs_allocator/Cargo.lock | 65 + - src/dragonball/src/dbs_arch/Cargo.lock | 160 +++ - src/dragonball/src/dbs_boot/Cargo.lock | 201 +++ - src/dragonball/src/dbs_device/Cargo.lock | 65 + - src/dragonball/src/dbs_interrupt/Cargo.lock | 179 +++ - .../src/dbs_legacy_devices/Cargo.lock | 289 ++++ - src/dragonball/src/dbs_tdx/Cargo.lock | 149 ++ - src/dragonball/src/dbs_upcall/Cargo.lock | 1266 +++++++++++++++++ - src/libs/Cargo.lock | 51 +- - src/runtime-rs/Cargo.lock | 24 +- - src/tools/agent-ctl/Cargo.lock | 97 +- - src/tools/kata-ctl/Cargo.lock | 18 +- - src/tools/runk/Cargo.lock | 10 +- - src/tools/trace-forwarder/Cargo.lock | 38 +- - 18 files changed, 2802 insertions(+), 91 deletions(-) - create mode 100644 src/dragonball/src/dbs_acpi/Cargo.lock - create mode 100644 src/dragonball/src/dbs_address_space/Cargo.lock - create mode 100644 src/dragonball/src/dbs_allocator/Cargo.lock - create mode 100644 src/dragonball/src/dbs_arch/Cargo.lock - create mode 100644 src/dragonball/src/dbs_boot/Cargo.lock - create mode 100644 src/dragonball/src/dbs_device/Cargo.lock - create mode 100644 src/dragonball/src/dbs_interrupt/Cargo.lock - create mode 100644 src/dragonball/src/dbs_legacy_devices/Cargo.lock - create mode 100644 src/dragonball/src/dbs_tdx/Cargo.lock - create mode 100644 src/dragonball/src/dbs_upcall/Cargo.lock - -diff --git a/src/agent/Cargo.lock b/src/agent/Cargo.lock -index 67b183027..69abb8310 100644 ---- a/src/agent/Cargo.lock -+++ b/src/agent/Cargo.lock -@@ -1,6 +1,6 @@ - # This file is automatically @generated by Cargo. - # It is not intended for manual editing. --version = 3 -+version = 4 - - [[package]] - name = "addr2line" -@@ -6125,9 +6125,9 @@ dependencies = [ - - [[package]] - name = "time" --version = "0.3.36" -+version = "0.3.37" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" -+checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" - dependencies = [ - "deranged", - "itoa", -@@ -6146,9 +6146,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - - [[package]] - name = "time-macros" --version = "0.2.18" -+version = "0.2.19" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" -+checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" - dependencies = [ - "num-conv", - "time-core", -diff --git a/src/dragonball/Cargo.lock b/src/dragonball/Cargo.lock -index bb758d1f8..ef6f5fffa 100644 ---- a/src/dragonball/Cargo.lock -+++ b/src/dragonball/Cargo.lock -@@ -1,6 +1,6 @@ - # This file is automatically @generated by Cargo. - # It is not intended for manual editing. --version = 3 -+version = 4 - - [[package]] - name = "addr2line" -@@ -428,9 +428,12 @@ dependencies = [ - - [[package]] - name = "deranged" --version = "0.3.8" -+version = "0.3.11" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" -+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" -+dependencies = [ -+ "powerfmt", -+] - - [[package]] - name = "derivative" -@@ -1146,6 +1149,12 @@ dependencies = [ - "memoffset", - ] - -+[[package]] -+name = "num-conv" -+version = "0.1.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" -+ - [[package]] - name = "num-traits" - version = "0.2.16" -@@ -1379,6 +1388,12 @@ version = "0.3.27" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "26072860ba924cbfa98ea39c8c19b4dd6a4a25423dbdf219c1eca91aa0cf6964" - -+[[package]] -+name = "powerfmt" -+version = "0.2.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" -+ - [[package]] - name = "proc-macro2" - version = "1.0.66" -@@ -1897,14 +1912,16 @@ dependencies = [ - - [[package]] - name = "time" --version = "0.3.28" -+version = "0.3.37" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "17f6bb557fd245c28e6411aa56b6403c689ad95061f50e4be16c274e70a17e48" -+checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" - dependencies = [ - "deranged", - "itoa", - "libc", -+ "num-conv", - "num_threads", -+ "powerfmt", - "serde", - "time-core", - "time-macros", -@@ -1912,16 +1929,17 @@ dependencies = [ - - [[package]] - name = "time-core" --version = "0.1.1" -+version = "0.1.2" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" -+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - - [[package]] - name = "time-macros" --version = "0.2.14" -+version = "0.2.19" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "1a942f44339478ef67935ab2bbaec2fb0322496cf3cbe84b261e06ac3814c572" -+checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" - dependencies = [ -+ "num-conv", - "time-core", - ] - -diff --git a/src/dragonball/src/dbs_acpi/Cargo.lock b/src/dragonball/src/dbs_acpi/Cargo.lock -new file mode 100644 -index 000000000..417a27c3b ---- /dev/null -+++ b/src/dragonball/src/dbs_acpi/Cargo.lock -@@ -0,0 +1,48 @@ -+# This file is automatically @generated by Cargo. -+# It is not intended for manual editing. -+version = 4 -+ -+[[package]] -+name = "dbs-acpi" -+version = "0.1.0" -+dependencies = [ -+ "vm-memory", -+] -+ -+[[package]] -+name = "libc" -+version = "0.2.169" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" -+ -+[[package]] -+name = "vm-memory" -+version = "0.9.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "583f213899e8a5eea23d9c507252d4bed5bc88f0ecbe0783262f80034630744b" -+dependencies = [ -+ "libc", -+ "winapi", -+] -+ -+[[package]] -+name = "winapi" -+version = "0.3.9" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -+dependencies = [ -+ "winapi-i686-pc-windows-gnu", -+ "winapi-x86_64-pc-windows-gnu", -+] -+ -+[[package]] -+name = "winapi-i686-pc-windows-gnu" -+version = "0.4.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -+ -+[[package]] -+name = "winapi-x86_64-pc-windows-gnu" -+version = "0.4.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -diff --git a/src/dragonball/src/dbs_address_space/Cargo.lock b/src/dragonball/src/dbs_address_space/Cargo.lock -new file mode 100644 -index 000000000..60f441054 ---- /dev/null -+++ b/src/dragonball/src/dbs_address_space/Cargo.lock -@@ -0,0 +1,187 @@ -+# This file is automatically @generated by Cargo. -+# It is not intended for manual editing. -+version = 4 -+ -+[[package]] -+name = "arc-swap" -+version = "1.7.1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" -+ -+[[package]] -+name = "autocfg" -+version = "1.4.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" -+ -+[[package]] -+name = "bitflags" -+version = "1.3.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" -+ -+[[package]] -+name = "cc" -+version = "1.2.7" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "a012a0df96dd6d06ba9a1b29d6402d1a5d77c6befd2566afdc26e10603dc93d7" -+dependencies = [ -+ "shlex", -+] -+ -+[[package]] -+name = "cfg-if" -+version = "1.0.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -+ -+[[package]] -+name = "dbs-address-space" -+version = "0.3.0" -+dependencies = [ -+ "arc-swap", -+ "lazy_static", -+ "libc", -+ "nix", -+ "thiserror", -+ "vm-memory", -+ "vmm-sys-util", -+] -+ -+[[package]] -+name = "lazy_static" -+version = "1.5.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -+ -+[[package]] -+name = "libc" -+version = "0.2.169" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" -+ -+[[package]] -+name = "memoffset" -+version = "0.6.5" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -+dependencies = [ -+ "autocfg", -+] -+ -+[[package]] -+name = "nix" -+version = "0.23.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c" -+dependencies = [ -+ "bitflags", -+ "cc", -+ "cfg-if", -+ "libc", -+ "memoffset", -+] -+ -+[[package]] -+name = "proc-macro2" -+version = "1.0.92" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" -+dependencies = [ -+ "unicode-ident", -+] -+ -+[[package]] -+name = "quote" -+version = "1.0.38" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" -+dependencies = [ -+ "proc-macro2", -+] -+ -+[[package]] -+name = "shlex" -+version = "1.3.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" -+ -+[[package]] -+name = "syn" -+version = "2.0.95" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "46f71c0377baf4ef1cc3e3402ded576dccc315800fbc62dfc7fe04b009773b4a" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "unicode-ident", -+] -+ -+[[package]] -+name = "thiserror" -+version = "1.0.69" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -+dependencies = [ -+ "thiserror-impl", -+] -+ -+[[package]] -+name = "thiserror-impl" -+version = "1.0.69" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "syn", -+] -+ -+[[package]] -+name = "unicode-ident" -+version = "1.0.14" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" -+ -+[[package]] -+name = "vm-memory" -+version = "0.10.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "688a70366615b45575a424d9c665561c1b5ab2224d494f706b6a6812911a827c" -+dependencies = [ -+ "arc-swap", -+ "libc", -+ "winapi", -+] -+ -+[[package]] -+name = "vmm-sys-util" -+version = "0.11.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "48b7b084231214f7427041e4220d77dfe726897a6d41fddee450696e66ff2a29" -+dependencies = [ -+ "bitflags", -+ "libc", -+] -+ -+[[package]] -+name = "winapi" -+version = "0.3.9" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -+dependencies = [ -+ "winapi-i686-pc-windows-gnu", -+ "winapi-x86_64-pc-windows-gnu", -+] -+ -+[[package]] -+name = "winapi-i686-pc-windows-gnu" -+version = "0.4.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -+ -+[[package]] -+name = "winapi-x86_64-pc-windows-gnu" -+version = "0.4.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -diff --git a/src/dragonball/src/dbs_allocator/Cargo.lock b/src/dragonball/src/dbs_allocator/Cargo.lock -new file mode 100644 -index 000000000..a05af8cb0 ---- /dev/null -+++ b/src/dragonball/src/dbs_allocator/Cargo.lock -@@ -0,0 +1,65 @@ -+# This file is automatically @generated by Cargo. -+# It is not intended for manual editing. -+version = 4 -+ -+[[package]] -+name = "dbs-allocator" -+version = "0.1.1" -+dependencies = [ -+ "thiserror", -+] -+ -+[[package]] -+name = "proc-macro2" -+version = "1.0.92" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" -+dependencies = [ -+ "unicode-ident", -+] -+ -+[[package]] -+name = "quote" -+version = "1.0.38" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" -+dependencies = [ -+ "proc-macro2", -+] -+ -+[[package]] -+name = "syn" -+version = "2.0.95" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "46f71c0377baf4ef1cc3e3402ded576dccc315800fbc62dfc7fe04b009773b4a" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "unicode-ident", -+] -+ -+[[package]] -+name = "thiserror" -+version = "1.0.69" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -+dependencies = [ -+ "thiserror-impl", -+] -+ -+[[package]] -+name = "thiserror-impl" -+version = "1.0.69" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "syn", -+] -+ -+[[package]] -+name = "unicode-ident" -+version = "1.0.14" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" -diff --git a/src/dragonball/src/dbs_arch/Cargo.lock b/src/dragonball/src/dbs_arch/Cargo.lock -new file mode 100644 -index 000000000..4b12784e3 ---- /dev/null -+++ b/src/dragonball/src/dbs_arch/Cargo.lock -@@ -0,0 +1,160 @@ -+# This file is automatically @generated by Cargo. -+# It is not intended for manual editing. -+version = 4 -+ -+[[package]] -+name = "autocfg" -+version = "1.4.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" -+ -+[[package]] -+name = "bitflags" -+version = "1.3.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" -+ -+[[package]] -+name = "dbs-arch" -+version = "0.2.3" -+dependencies = [ -+ "kvm-bindings", -+ "kvm-ioctls", -+ "libc", -+ "memoffset", -+ "thiserror", -+ "vm-memory", -+ "vmm-sys-util", -+] -+ -+[[package]] -+name = "kvm-bindings" -+version = "0.6.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "efe70e65a5b092161d17f5005b66e5eefe7a94a70c332e755036fc4af78c4e79" -+dependencies = [ -+ "vmm-sys-util", -+] -+ -+[[package]] -+name = "kvm-ioctls" -+version = "0.12.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "c3a321cabd827642499c77e27314f388dd83a717a5ca716b86476fb947f73ae4" -+dependencies = [ -+ "kvm-bindings", -+ "libc", -+ "vmm-sys-util", -+] -+ -+[[package]] -+name = "libc" -+version = "0.2.169" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" -+ -+[[package]] -+name = "memoffset" -+version = "0.6.5" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -+dependencies = [ -+ "autocfg", -+] -+ -+[[package]] -+name = "proc-macro2" -+version = "1.0.92" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" -+dependencies = [ -+ "unicode-ident", -+] -+ -+[[package]] -+name = "quote" -+version = "1.0.38" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" -+dependencies = [ -+ "proc-macro2", -+] -+ -+[[package]] -+name = "syn" -+version = "2.0.95" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "46f71c0377baf4ef1cc3e3402ded576dccc315800fbc62dfc7fe04b009773b4a" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "unicode-ident", -+] -+ -+[[package]] -+name = "thiserror" -+version = "1.0.69" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -+dependencies = [ -+ "thiserror-impl", -+] -+ -+[[package]] -+name = "thiserror-impl" -+version = "1.0.69" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "syn", -+] -+ -+[[package]] -+name = "unicode-ident" -+version = "1.0.14" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" -+ -+[[package]] -+name = "vm-memory" -+version = "0.10.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "688a70366615b45575a424d9c665561c1b5ab2224d494f706b6a6812911a827c" -+dependencies = [ -+ "libc", -+ "winapi", -+] -+ -+[[package]] -+name = "vmm-sys-util" -+version = "0.11.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "48b7b084231214f7427041e4220d77dfe726897a6d41fddee450696e66ff2a29" -+dependencies = [ -+ "bitflags", -+ "libc", -+] -+ -+[[package]] -+name = "winapi" -+version = "0.3.9" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -+dependencies = [ -+ "winapi-i686-pc-windows-gnu", -+ "winapi-x86_64-pc-windows-gnu", -+] -+ -+[[package]] -+name = "winapi-i686-pc-windows-gnu" -+version = "0.4.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -+ -+[[package]] -+name = "winapi-x86_64-pc-windows-gnu" -+version = "0.4.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -diff --git a/src/dragonball/src/dbs_boot/Cargo.lock b/src/dragonball/src/dbs_boot/Cargo.lock -new file mode 100644 -index 000000000..8e833d480 ---- /dev/null -+++ b/src/dragonball/src/dbs_boot/Cargo.lock -@@ -0,0 +1,201 @@ -+# This file is automatically @generated by Cargo. -+# It is not intended for manual editing. -+version = 4 -+ -+[[package]] -+name = "autocfg" -+version = "1.4.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" -+ -+[[package]] -+name = "bitflags" -+version = "1.3.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" -+ -+[[package]] -+name = "dbs-arch" -+version = "0.2.3" -+dependencies = [ -+ "kvm-bindings", -+ "kvm-ioctls", -+ "libc", -+ "memoffset", -+ "thiserror", -+ "vm-memory", -+ "vmm-sys-util", -+] -+ -+[[package]] -+name = "dbs-boot" -+version = "0.4.0" -+dependencies = [ -+ "dbs-arch", -+ "dbs-device", -+ "device_tree", -+ "kvm-bindings", -+ "kvm-ioctls", -+ "lazy_static", -+ "libc", -+ "thiserror", -+ "vm-fdt", -+ "vm-memory", -+] -+ -+[[package]] -+name = "dbs-device" -+version = "0.2.0" -+dependencies = [ -+ "thiserror", -+] -+ -+[[package]] -+name = "device_tree" -+version = "1.1.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "f18f717c5c7c2e3483feb64cccebd077245ad6d19007c2db0fd341d38595353c" -+ -+[[package]] -+name = "kvm-bindings" -+version = "0.6.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "efe70e65a5b092161d17f5005b66e5eefe7a94a70c332e755036fc4af78c4e79" -+dependencies = [ -+ "vmm-sys-util", -+] -+ -+[[package]] -+name = "kvm-ioctls" -+version = "0.12.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "c3a321cabd827642499c77e27314f388dd83a717a5ca716b86476fb947f73ae4" -+dependencies = [ -+ "kvm-bindings", -+ "libc", -+ "vmm-sys-util", -+] -+ -+[[package]] -+name = "lazy_static" -+version = "1.5.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -+ -+[[package]] -+name = "libc" -+version = "0.2.169" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" -+ -+[[package]] -+name = "memoffset" -+version = "0.6.5" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -+dependencies = [ -+ "autocfg", -+] -+ -+[[package]] -+name = "proc-macro2" -+version = "1.0.92" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" -+dependencies = [ -+ "unicode-ident", -+] -+ -+[[package]] -+name = "quote" -+version = "1.0.38" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" -+dependencies = [ -+ "proc-macro2", -+] -+ -+[[package]] -+name = "syn" -+version = "2.0.95" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "46f71c0377baf4ef1cc3e3402ded576dccc315800fbc62dfc7fe04b009773b4a" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "unicode-ident", -+] -+ -+[[package]] -+name = "thiserror" -+version = "1.0.69" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -+dependencies = [ -+ "thiserror-impl", -+] -+ -+[[package]] -+name = "thiserror-impl" -+version = "1.0.69" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "syn", -+] -+ -+[[package]] -+name = "unicode-ident" -+version = "1.0.14" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" -+ -+[[package]] -+name = "vm-fdt" -+version = "0.2.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "f43fb5a6bd1a7d423ad72802801036719b7546cf847a103f8fe4575f5b0d45a6" -+ -+[[package]] -+name = "vm-memory" -+version = "0.10.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "688a70366615b45575a424d9c665561c1b5ab2224d494f706b6a6812911a827c" -+dependencies = [ -+ "libc", -+ "winapi", -+] -+ -+[[package]] -+name = "vmm-sys-util" -+version = "0.11.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "48b7b084231214f7427041e4220d77dfe726897a6d41fddee450696e66ff2a29" -+dependencies = [ -+ "bitflags", -+ "libc", -+] -+ -+[[package]] -+name = "winapi" -+version = "0.3.9" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -+dependencies = [ -+ "winapi-i686-pc-windows-gnu", -+ "winapi-x86_64-pc-windows-gnu", -+] -+ -+[[package]] -+name = "winapi-i686-pc-windows-gnu" -+version = "0.4.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -+ -+[[package]] -+name = "winapi-x86_64-pc-windows-gnu" -+version = "0.4.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -diff --git a/src/dragonball/src/dbs_device/Cargo.lock b/src/dragonball/src/dbs_device/Cargo.lock -new file mode 100644 -index 000000000..8452cc5bb ---- /dev/null -+++ b/src/dragonball/src/dbs_device/Cargo.lock -@@ -0,0 +1,65 @@ -+# This file is automatically @generated by Cargo. -+# It is not intended for manual editing. -+version = 4 -+ -+[[package]] -+name = "dbs-device" -+version = "0.2.0" -+dependencies = [ -+ "thiserror", -+] -+ -+[[package]] -+name = "proc-macro2" -+version = "1.0.92" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" -+dependencies = [ -+ "unicode-ident", -+] -+ -+[[package]] -+name = "quote" -+version = "1.0.38" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" -+dependencies = [ -+ "proc-macro2", -+] -+ -+[[package]] -+name = "syn" -+version = "2.0.95" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "46f71c0377baf4ef1cc3e3402ded576dccc315800fbc62dfc7fe04b009773b4a" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "unicode-ident", -+] -+ -+[[package]] -+name = "thiserror" -+version = "1.0.69" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -+dependencies = [ -+ "thiserror-impl", -+] -+ -+[[package]] -+name = "thiserror-impl" -+version = "1.0.69" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "syn", -+] -+ -+[[package]] -+name = "unicode-ident" -+version = "1.0.14" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" -diff --git a/src/dragonball/src/dbs_interrupt/Cargo.lock b/src/dragonball/src/dbs_interrupt/Cargo.lock -new file mode 100644 -index 000000000..3af378eda ---- /dev/null -+++ b/src/dragonball/src/dbs_interrupt/Cargo.lock -@@ -0,0 +1,179 @@ -+# This file is automatically @generated by Cargo. -+# It is not intended for manual editing. -+version = 4 -+ -+[[package]] -+name = "autocfg" -+version = "1.4.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" -+ -+[[package]] -+name = "bitflags" -+version = "1.3.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" -+ -+[[package]] -+name = "dbs-arch" -+version = "0.2.3" -+dependencies = [ -+ "kvm-bindings", -+ "kvm-ioctls", -+ "libc", -+ "memoffset", -+ "thiserror", -+ "vm-memory", -+ "vmm-sys-util", -+] -+ -+[[package]] -+name = "dbs-device" -+version = "0.2.0" -+dependencies = [ -+ "thiserror", -+] -+ -+[[package]] -+name = "dbs-interrupt" -+version = "0.2.2" -+dependencies = [ -+ "dbs-arch", -+ "dbs-device", -+ "kvm-bindings", -+ "kvm-ioctls", -+ "libc", -+ "vmm-sys-util", -+] -+ -+[[package]] -+name = "kvm-bindings" -+version = "0.6.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "efe70e65a5b092161d17f5005b66e5eefe7a94a70c332e755036fc4af78c4e79" -+dependencies = [ -+ "vmm-sys-util", -+] -+ -+[[package]] -+name = "kvm-ioctls" -+version = "0.12.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "c3a321cabd827642499c77e27314f388dd83a717a5ca716b86476fb947f73ae4" -+dependencies = [ -+ "kvm-bindings", -+ "libc", -+ "vmm-sys-util", -+] -+ -+[[package]] -+name = "libc" -+version = "0.2.169" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" -+ -+[[package]] -+name = "memoffset" -+version = "0.6.5" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -+dependencies = [ -+ "autocfg", -+] -+ -+[[package]] -+name = "proc-macro2" -+version = "1.0.92" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" -+dependencies = [ -+ "unicode-ident", -+] -+ -+[[package]] -+name = "quote" -+version = "1.0.38" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" -+dependencies = [ -+ "proc-macro2", -+] -+ -+[[package]] -+name = "syn" -+version = "2.0.95" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "46f71c0377baf4ef1cc3e3402ded576dccc315800fbc62dfc7fe04b009773b4a" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "unicode-ident", -+] -+ -+[[package]] -+name = "thiserror" -+version = "1.0.69" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -+dependencies = [ -+ "thiserror-impl", -+] -+ -+[[package]] -+name = "thiserror-impl" -+version = "1.0.69" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "syn", -+] -+ -+[[package]] -+name = "unicode-ident" -+version = "1.0.14" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" -+ -+[[package]] -+name = "vm-memory" -+version = "0.10.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "688a70366615b45575a424d9c665561c1b5ab2224d494f706b6a6812911a827c" -+dependencies = [ -+ "libc", -+ "winapi", -+] -+ -+[[package]] -+name = "vmm-sys-util" -+version = "0.11.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "48b7b084231214f7427041e4220d77dfe726897a6d41fddee450696e66ff2a29" -+dependencies = [ -+ "bitflags", -+ "libc", -+] -+ -+[[package]] -+name = "winapi" -+version = "0.3.9" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -+dependencies = [ -+ "winapi-i686-pc-windows-gnu", -+ "winapi-x86_64-pc-windows-gnu", -+] -+ -+[[package]] -+name = "winapi-i686-pc-windows-gnu" -+version = "0.4.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -+ -+[[package]] -+name = "winapi-x86_64-pc-windows-gnu" -+version = "0.4.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -diff --git a/src/dragonball/src/dbs_legacy_devices/Cargo.lock b/src/dragonball/src/dbs_legacy_devices/Cargo.lock -new file mode 100644 -index 000000000..3587e954b ---- /dev/null -+++ b/src/dragonball/src/dbs_legacy_devices/Cargo.lock -@@ -0,0 +1,289 @@ -+# This file is automatically @generated by Cargo. -+# It is not intended for manual editing. -+version = 4 -+ -+[[package]] -+name = "anyhow" -+version = "1.0.95" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" -+ -+[[package]] -+name = "bitflags" -+version = "1.3.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" -+ -+[[package]] -+name = "bitflags" -+version = "2.6.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -+ -+[[package]] -+name = "dbs-device" -+version = "0.2.0" -+dependencies = [ -+ "thiserror", -+] -+ -+[[package]] -+name = "dbs-legacy-devices" -+version = "0.1.1" -+dependencies = [ -+ "dbs-device", -+ "dbs-utils", -+ "libc", -+ "log", -+ "serde", -+ "vm-superio", -+ "vmm-sys-util 0.11.2", -+] -+ -+[[package]] -+name = "dbs-utils" -+version = "0.2.1" -+dependencies = [ -+ "anyhow", -+ "event-manager", -+ "libc", -+ "log", -+ "serde", -+ "thiserror", -+ "timerfd", -+ "vmm-sys-util 0.11.2", -+] -+ -+[[package]] -+name = "errno" -+version = "0.3.10" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" -+dependencies = [ -+ "libc", -+ "windows-sys", -+] -+ -+[[package]] -+name = "event-manager" -+version = "0.2.1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "377fa591135fbe23396a18e2655a6d5481bf7c5823cdfa3cc81b01a229cbe640" -+dependencies = [ -+ "libc", -+ "vmm-sys-util 0.12.1", -+] -+ -+[[package]] -+name = "libc" -+version = "0.2.169" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" -+ -+[[package]] -+name = "linux-raw-sys" -+version = "0.4.14" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" -+ -+[[package]] -+name = "log" -+version = "0.4.22" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" -+ -+[[package]] -+name = "proc-macro2" -+version = "1.0.92" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" -+dependencies = [ -+ "unicode-ident", -+] -+ -+[[package]] -+name = "quote" -+version = "1.0.38" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" -+dependencies = [ -+ "proc-macro2", -+] -+ -+[[package]] -+name = "rustix" -+version = "0.38.42" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "f93dc38ecbab2eb790ff964bb77fa94faf256fd3e73285fd7ba0903b76bedb85" -+dependencies = [ -+ "bitflags 2.6.0", -+ "errno", -+ "libc", -+ "linux-raw-sys", -+ "windows-sys", -+] -+ -+[[package]] -+name = "serde" -+version = "1.0.217" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" -+dependencies = [ -+ "serde_derive", -+] -+ -+[[package]] -+name = "serde_derive" -+version = "1.0.217" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "syn", -+] -+ -+[[package]] -+name = "syn" -+version = "2.0.95" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "46f71c0377baf4ef1cc3e3402ded576dccc315800fbc62dfc7fe04b009773b4a" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "unicode-ident", -+] -+ -+[[package]] -+name = "thiserror" -+version = "1.0.69" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -+dependencies = [ -+ "thiserror-impl", -+] -+ -+[[package]] -+name = "thiserror-impl" -+version = "1.0.69" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "syn", -+] -+ -+[[package]] -+name = "timerfd" -+version = "1.6.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "84e482e368cf7efa2c8b570f476e5b9fd9fd5e9b9219fc567832b05f13511091" -+dependencies = [ -+ "rustix", -+] -+ -+[[package]] -+name = "unicode-ident" -+version = "1.0.14" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" -+ -+[[package]] -+name = "vm-superio" -+version = "0.5.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "a4b5231d334edbc03b22704caa1a022e4c07491d6df736593f26094df8b04a51" -+ -+[[package]] -+name = "vmm-sys-util" -+version = "0.11.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "48b7b084231214f7427041e4220d77dfe726897a6d41fddee450696e66ff2a29" -+dependencies = [ -+ "bitflags 1.3.2", -+ "libc", -+] -+ -+[[package]] -+name = "vmm-sys-util" -+version = "0.12.1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "1d1435039746e20da4f8d507a72ee1b916f7b4b05af7a91c093d2c6561934ede" -+dependencies = [ -+ "bitflags 1.3.2", -+ "libc", -+] -+ -+[[package]] -+name = "windows-sys" -+version = "0.59.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -+dependencies = [ -+ "windows-targets", -+] -+ -+[[package]] -+name = "windows-targets" -+version = "0.52.6" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -+dependencies = [ -+ "windows_aarch64_gnullvm", -+ "windows_aarch64_msvc", -+ "windows_i686_gnu", -+ "windows_i686_gnullvm", -+ "windows_i686_msvc", -+ "windows_x86_64_gnu", -+ "windows_x86_64_gnullvm", -+ "windows_x86_64_msvc", -+] -+ -+[[package]] -+name = "windows_aarch64_gnullvm" -+version = "0.52.6" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" -+ -+[[package]] -+name = "windows_aarch64_msvc" -+version = "0.52.6" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" -+ -+[[package]] -+name = "windows_i686_gnu" -+version = "0.52.6" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" -+ -+[[package]] -+name = "windows_i686_gnullvm" -+version = "0.52.6" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" -+ -+[[package]] -+name = "windows_i686_msvc" -+version = "0.52.6" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" -+ -+[[package]] -+name = "windows_x86_64_gnu" -+version = "0.52.6" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" -+ -+[[package]] -+name = "windows_x86_64_gnullvm" -+version = "0.52.6" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" -+ -+[[package]] -+name = "windows_x86_64_msvc" -+version = "0.52.6" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" -diff --git a/src/dragonball/src/dbs_tdx/Cargo.lock b/src/dragonball/src/dbs_tdx/Cargo.lock -new file mode 100644 -index 000000000..f5db1bd23 ---- /dev/null -+++ b/src/dragonball/src/dbs_tdx/Cargo.lock -@@ -0,0 +1,149 @@ -+# This file is automatically @generated by Cargo. -+# It is not intended for manual editing. -+version = 4 -+ -+[[package]] -+name = "bitflags" -+version = "1.3.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" -+ -+[[package]] -+name = "dbs-tdx" -+version = "0.1.0" -+dependencies = [ -+ "kvm-bindings", -+ "serde_json", -+ "thiserror", -+ "vmm-sys-util", -+] -+ -+[[package]] -+name = "itoa" -+version = "1.0.14" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" -+ -+[[package]] -+name = "kvm-bindings" -+version = "0.6.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "efe70e65a5b092161d17f5005b66e5eefe7a94a70c332e755036fc4af78c4e79" -+dependencies = [ -+ "vmm-sys-util", -+] -+ -+[[package]] -+name = "libc" -+version = "0.2.169" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" -+ -+[[package]] -+name = "memchr" -+version = "2.7.4" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" -+ -+[[package]] -+name = "proc-macro2" -+version = "1.0.92" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" -+dependencies = [ -+ "unicode-ident", -+] -+ -+[[package]] -+name = "quote" -+version = "1.0.38" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" -+dependencies = [ -+ "proc-macro2", -+] -+ -+[[package]] -+name = "ryu" -+version = "1.0.18" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" -+ -+[[package]] -+name = "serde" -+version = "1.0.217" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" -+dependencies = [ -+ "serde_derive", -+] -+ -+[[package]] -+name = "serde_derive" -+version = "1.0.217" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "syn", -+] -+ -+[[package]] -+name = "serde_json" -+version = "1.0.134" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "d00f4175c42ee48b15416f6193a959ba3a0d67fc699a0db9ad12df9f83991c7d" -+dependencies = [ -+ "itoa", -+ "memchr", -+ "ryu", -+ "serde", -+] -+ -+[[package]] -+name = "syn" -+version = "2.0.95" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "46f71c0377baf4ef1cc3e3402ded576dccc315800fbc62dfc7fe04b009773b4a" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "unicode-ident", -+] -+ -+[[package]] -+name = "thiserror" -+version = "1.0.69" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -+dependencies = [ -+ "thiserror-impl", -+] -+ -+[[package]] -+name = "thiserror-impl" -+version = "1.0.69" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "syn", -+] -+ -+[[package]] -+name = "unicode-ident" -+version = "1.0.14" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" -+ -+[[package]] -+name = "vmm-sys-util" -+version = "0.11.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "48b7b084231214f7427041e4220d77dfe726897a6d41fddee450696e66ff2a29" -+dependencies = [ -+ "bitflags", -+ "libc", -+] -diff --git a/src/dragonball/src/dbs_upcall/Cargo.lock b/src/dragonball/src/dbs_upcall/Cargo.lock -new file mode 100644 -index 000000000..c50a43f0a ---- /dev/null -+++ b/src/dragonball/src/dbs_upcall/Cargo.lock -@@ -0,0 +1,1266 @@ -+# This file is automatically @generated by Cargo. -+# It is not intended for manual editing. -+version = 4 -+ -+[[package]] -+name = "addr2line" -+version = "0.24.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" -+dependencies = [ -+ "gimli", -+] -+ -+[[package]] -+name = "adler2" -+version = "2.0.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" -+ -+[[package]] -+name = "anyhow" -+version = "1.0.95" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "34ac096ce696dc2fcabef30516bb13c0a68a11d30131d3df6f04711467681b04" -+ -+[[package]] -+name = "arc-swap" -+version = "1.7.1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457" -+ -+[[package]] -+name = "arrayref" -+version = "0.3.9" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "76a2e8124351fda1ef8aaaa3bbd7ebbcb486bbcd4225aca0aa0d84bb2db8fecb" -+ -+[[package]] -+name = "arrayvec" -+version = "0.7.6" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" -+ -+[[package]] -+name = "autocfg" -+version = "1.4.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" -+ -+[[package]] -+name = "backtrace" -+version = "0.3.74" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" -+dependencies = [ -+ "addr2line", -+ "cfg-if", -+ "libc", -+ "miniz_oxide", -+ "object", -+ "rustc-demangle", -+ "windows-targets 0.52.6", -+] -+ -+[[package]] -+name = "bitflags" -+version = "1.3.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" -+ -+[[package]] -+name = "bitflags" -+version = "2.6.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" -+ -+[[package]] -+name = "blake3" -+version = "1.5.5" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b8ee0c1824c4dea5b5f81736aff91bae041d2c07ee1192bec91054e10e3e601e" -+dependencies = [ -+ "arrayref", -+ "arrayvec", -+ "cc", -+ "cfg-if", -+ "constant_time_eq", -+] -+ -+[[package]] -+name = "block-buffer" -+version = "0.10.4" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" -+dependencies = [ -+ "generic-array", -+] -+ -+[[package]] -+name = "byteorder" -+version = "1.5.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" -+ -+[[package]] -+name = "caps" -+version = "0.5.5" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "190baaad529bcfbde9e1a19022c42781bdb6ff9de25721abdb8fd98c0807730b" -+dependencies = [ -+ "libc", -+ "thiserror", -+] -+ -+[[package]] -+name = "cc" -+version = "1.2.7" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "a012a0df96dd6d06ba9a1b29d6402d1a5d77c6befd2566afdc26e10603dc93d7" -+dependencies = [ -+ "jobserver", -+ "libc", -+ "shlex", -+] -+ -+[[package]] -+name = "cfg-if" -+version = "1.0.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" -+ -+[[package]] -+name = "cmake" -+version = "0.1.52" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "c682c223677e0e5b6b7f63a64b9351844c3f1b1678a68b7ee617e30fb082620e" -+dependencies = [ -+ "cc", -+] -+ -+[[package]] -+name = "constant_time_eq" -+version = "0.3.1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" -+ -+[[package]] -+name = "core-foundation-sys" -+version = "0.8.7" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "773648b94d0e5d620f64f280777445740e61fe701025087ec8b57f45c791888b" -+ -+[[package]] -+name = "cpufeatures" -+version = "0.2.16" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "16b80225097f2e5ae4e7179dd2266824648f3e2f49d9134d584b76389d31c4c3" -+dependencies = [ -+ "libc", -+] -+ -+[[package]] -+name = "crc32fast" -+version = "1.4.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" -+dependencies = [ -+ "cfg-if", -+] -+ -+[[package]] -+name = "crypto-common" -+version = "0.1.6" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" -+dependencies = [ -+ "generic-array", -+ "typenum", -+] -+ -+[[package]] -+name = "dbs-address-space" -+version = "0.3.0" -+dependencies = [ -+ "arc-swap", -+ "lazy_static", -+ "libc", -+ "nix 0.23.2", -+ "thiserror", -+ "vm-memory", -+ "vmm-sys-util 0.11.2", -+] -+ -+[[package]] -+name = "dbs-arch" -+version = "0.2.3" -+dependencies = [ -+ "kvm-bindings", -+ "kvm-ioctls", -+ "libc", -+ "memoffset", -+ "thiserror", -+ "vm-memory", -+ "vmm-sys-util 0.11.2", -+] -+ -+[[package]] -+name = "dbs-boot" -+version = "0.4.0" -+dependencies = [ -+ "dbs-arch", -+ "kvm-bindings", -+ "kvm-ioctls", -+ "lazy_static", -+ "libc", -+ "thiserror", -+ "vm-fdt", -+ "vm-memory", -+] -+ -+[[package]] -+name = "dbs-device" -+version = "0.2.0" -+dependencies = [ -+ "thiserror", -+] -+ -+[[package]] -+name = "dbs-interrupt" -+version = "0.2.2" -+dependencies = [ -+ "dbs-arch", -+ "dbs-device", -+ "kvm-bindings", -+ "kvm-ioctls", -+ "libc", -+ "vmm-sys-util 0.11.2", -+] -+ -+[[package]] -+name = "dbs-upcall" -+version = "0.3.0" -+dependencies = [ -+ "anyhow", -+ "dbs-utils", -+ "dbs-virtio-devices", -+ "log", -+ "thiserror", -+ "timerfd", -+] -+ -+[[package]] -+name = "dbs-utils" -+version = "0.2.1" -+dependencies = [ -+ "anyhow", -+ "event-manager", -+ "libc", -+ "log", -+ "serde", -+ "thiserror", -+ "timerfd", -+ "vmm-sys-util 0.11.2", -+] -+ -+[[package]] -+name = "dbs-virtio-devices" -+version = "0.3.1" -+dependencies = [ -+ "byteorder", -+ "caps", -+ "dbs-address-space", -+ "dbs-boot", -+ "dbs-device", -+ "dbs-interrupt", -+ "dbs-utils", -+ "epoll", -+ "io-uring", -+ "kvm-bindings", -+ "kvm-ioctls", -+ "libc", -+ "log", -+ "nix 0.24.3", -+ "nydus-api", -+ "nydus-rafs", -+ "nydus-storage", -+ "rlimit", -+ "sendfd", -+ "serde", -+ "serde_json", -+ "thiserror", -+ "threadpool", -+ "timerfd", -+ "virtio-bindings", -+ "virtio-queue", -+ "vm-memory", -+ "vmm-sys-util 0.11.2", -+] -+ -+[[package]] -+name = "digest" -+version = "0.10.7" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" -+dependencies = [ -+ "block-buffer", -+ "crypto-common", -+] -+ -+[[package]] -+name = "epoll" -+version = "4.3.1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "20df693c700404f7e19d4d6fae6b15215d2913c27955d2b9d6f2c0f537511cd0" -+dependencies = [ -+ "bitflags 1.3.2", -+ "libc", -+] -+ -+[[package]] -+name = "errno" -+version = "0.3.10" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "33d852cb9b869c2a9b3df2f71a3074817f01e1844f839a144f5fcef059a4eb5d" -+dependencies = [ -+ "libc", -+ "windows-sys 0.59.0", -+] -+ -+[[package]] -+name = "event-manager" -+version = "0.2.1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "377fa591135fbe23396a18e2655a6d5481bf7c5823cdfa3cc81b01a229cbe640" -+dependencies = [ -+ "libc", -+ "vmm-sys-util 0.12.1", -+] -+ -+[[package]] -+name = "filetime" -+version = "0.2.25" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" -+dependencies = [ -+ "cfg-if", -+ "libc", -+ "libredox", -+ "windows-sys 0.59.0", -+] -+ -+[[package]] -+name = "flate2" -+version = "1.0.35" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "c936bfdafb507ebbf50b8074c54fa31c5be9a1e7e5f467dd659697041407d07c" -+dependencies = [ -+ "crc32fast", -+ "libz-sys", -+ "miniz_oxide", -+] -+ -+[[package]] -+name = "foreign-types" -+version = "0.3.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -+dependencies = [ -+ "foreign-types-shared", -+] -+ -+[[package]] -+name = "foreign-types-shared" -+version = "0.1.1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" -+ -+[[package]] -+name = "fuse-backend-rs" -+version = "0.10.5" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "f85357722be4bf3d0b7548bedf7499686c77628c2c61cb99c6519463f7a9e5f0" -+dependencies = [ -+ "arc-swap", -+ "bitflags 1.3.2", -+ "caps", -+ "core-foundation-sys", -+ "lazy_static", -+ "libc", -+ "log", -+ "mio", -+ "nix 0.24.3", -+ "vm-memory", -+ "vmm-sys-util 0.11.2", -+] -+ -+[[package]] -+name = "generic-array" -+version = "0.14.7" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" -+dependencies = [ -+ "typenum", -+ "version_check", -+] -+ -+[[package]] -+name = "gimli" -+version = "0.31.1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" -+ -+[[package]] -+name = "hermit-abi" -+version = "0.3.9" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" -+ -+[[package]] -+name = "hex" -+version = "0.4.3" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" -+ -+[[package]] -+name = "httpdate" -+version = "1.0.3" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" -+ -+[[package]] -+name = "io-uring" -+version = "0.5.13" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "dd1e1a01cfb924fd8c5c43b6827965db394f5a3a16c599ce03452266e1cf984c" -+dependencies = [ -+ "bitflags 1.3.2", -+ "libc", -+] -+ -+[[package]] -+name = "itoa" -+version = "1.0.14" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "d75a2a4b1b190afb6f5425f10f6a8f959d2ea0b9c2b1d79553551850539e4674" -+ -+[[package]] -+name = "jobserver" -+version = "0.1.32" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" -+dependencies = [ -+ "libc", -+] -+ -+[[package]] -+name = "kvm-bindings" -+version = "0.6.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "efe70e65a5b092161d17f5005b66e5eefe7a94a70c332e755036fc4af78c4e79" -+dependencies = [ -+ "vmm-sys-util 0.11.2", -+] -+ -+[[package]] -+name = "kvm-ioctls" -+version = "0.12.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "c3a321cabd827642499c77e27314f388dd83a717a5ca716b86476fb947f73ae4" -+dependencies = [ -+ "kvm-bindings", -+ "libc", -+ "vmm-sys-util 0.11.2", -+] -+ -+[[package]] -+name = "lazy_static" -+version = "1.5.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -+ -+[[package]] -+name = "libc" -+version = "0.2.169" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b5aba8db14291edd000dfcc4d620c7ebfb122c613afb886ca8803fa4e128a20a" -+ -+[[package]] -+name = "libredox" -+version = "0.1.3" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" -+dependencies = [ -+ "bitflags 2.6.0", -+ "libc", -+ "redox_syscall", -+] -+ -+[[package]] -+name = "libz-sys" -+version = "1.1.20" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "d2d16453e800a8cf6dd2fc3eb4bc99b786a9b90c663b8559a5b1a041bf89e472" -+dependencies = [ -+ "cc", -+ "cmake", -+ "libc", -+ "pkg-config", -+ "vcpkg", -+] -+ -+[[package]] -+name = "linux-raw-sys" -+version = "0.4.14" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "78b3ae25bc7c8c38cec158d1f2757ee79e9b3740fbc7ccf0e59e4b08d793fa89" -+ -+[[package]] -+name = "log" -+version = "0.4.22" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" -+ -+[[package]] -+name = "lz4" -+version = "1.28.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "4d1febb2b4a79ddd1980eede06a8f7902197960aa0383ffcfdd62fe723036725" -+dependencies = [ -+ "lz4-sys", -+] -+ -+[[package]] -+name = "lz4-sys" -+version = "1.11.1+lz4-1.10.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "6bd8c0d6c6ed0cd30b3652886bb8711dc4bb01d637a68105a3d5158039b418e6" -+dependencies = [ -+ "cc", -+ "libc", -+] -+ -+[[package]] -+name = "memchr" -+version = "2.7.4" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" -+ -+[[package]] -+name = "memoffset" -+version = "0.6.5" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" -+dependencies = [ -+ "autocfg", -+] -+ -+[[package]] -+name = "miniz_oxide" -+version = "0.8.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "4ffbe83022cedc1d264172192511ae958937694cd57ce297164951b8b3568394" -+dependencies = [ -+ "adler2", -+] -+ -+[[package]] -+name = "mio" -+version = "0.8.11" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "a4a650543ca06a924e8b371db273b2756685faae30f8487da1b56505a8f78b0c" -+dependencies = [ -+ "libc", -+ "log", -+ "wasi", -+ "windows-sys 0.48.0", -+] -+ -+[[package]] -+name = "nix" -+version = "0.23.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "8f3790c00a0150112de0f4cd161e3d7fc4b2d8a5542ffc35f099a2562aecb35c" -+dependencies = [ -+ "bitflags 1.3.2", -+ "cc", -+ "cfg-if", -+ "libc", -+ "memoffset", -+] -+ -+[[package]] -+name = "nix" -+version = "0.24.3" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "fa52e972a9a719cecb6864fb88568781eb706bac2cd1d4f04a648542dbf78069" -+dependencies = [ -+ "bitflags 1.3.2", -+ "cfg-if", -+ "libc", -+ "memoffset", -+] -+ -+[[package]] -+name = "num_cpus" -+version = "1.16.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" -+dependencies = [ -+ "hermit-abi", -+ "libc", -+] -+ -+[[package]] -+name = "nydus-api" -+version = "0.3.1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "c64c62d8a36c10b654b87246a39861b2c05f68e96ab3b2f002f5a54f406d5e0e" -+dependencies = [ -+ "libc", -+ "log", -+ "serde", -+ "serde_json", -+ "toml", -+] -+ -+[[package]] -+name = "nydus-rafs" -+version = "0.3.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "adde865ef71c91c5f139c4c05ca5aedb6fbd53f530d646b13409ac5220b85467" -+dependencies = [ -+ "anyhow", -+ "arc-swap", -+ "bitflags 1.3.2", -+ "fuse-backend-rs", -+ "lazy_static", -+ "libc", -+ "log", -+ "nix 0.24.3", -+ "nydus-api", -+ "nydus-storage", -+ "nydus-utils", -+ "serde", -+ "serde_json", -+ "vm-memory", -+] -+ -+[[package]] -+name = "nydus-storage" -+version = "0.6.4" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "4023f15303dbbda47797d07e9acd2045862ce82c7e28cd66f70b09bda5584cbb" -+dependencies = [ -+ "arc-swap", -+ "bitflags 1.3.2", -+ "fuse-backend-rs", -+ "hex", -+ "lazy_static", -+ "libc", -+ "log", -+ "nix 0.24.3", -+ "nydus-api", -+ "nydus-utils", -+ "serde", -+ "serde_json", -+ "tar", -+ "tokio", -+ "vm-memory", -+] -+ -+[[package]] -+name = "nydus-utils" -+version = "0.4.3" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "c1f7bcde0f3906cf49101f2d40e485b0155eee97e3358eefd4783448c4f69c96" -+dependencies = [ -+ "blake3", -+ "flate2", -+ "httpdate", -+ "lazy_static", -+ "libc", -+ "libz-sys", -+ "log", -+ "lz4", -+ "lz4-sys", -+ "nix 0.24.3", -+ "nydus-api", -+ "openssl", -+ "serde", -+ "serde_json", -+ "sha2", -+ "tokio", -+ "zstd", -+] -+ -+[[package]] -+name = "object" -+version = "0.36.7" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "62948e14d923ea95ea2c7c86c71013138b66525b86bdc08d2dcc262bdb497b87" -+dependencies = [ -+ "memchr", -+] -+ -+[[package]] -+name = "once_cell" -+version = "1.20.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" -+ -+[[package]] -+name = "openssl" -+version = "0.10.68" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "6174bc48f102d208783c2c84bf931bb75927a617866870de8a4ea85597f871f5" -+dependencies = [ -+ "bitflags 2.6.0", -+ "cfg-if", -+ "foreign-types", -+ "libc", -+ "once_cell", -+ "openssl-macros", -+ "openssl-sys", -+] -+ -+[[package]] -+name = "openssl-macros" -+version = "0.1.1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "syn", -+] -+ -+[[package]] -+name = "openssl-src" -+version = "300.4.1+3.4.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "faa4eac4138c62414b5622d1b31c5c304f34b406b013c079c2bbc652fdd6678c" -+dependencies = [ -+ "cc", -+] -+ -+[[package]] -+name = "openssl-sys" -+version = "0.9.104" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "45abf306cbf99debc8195b66b7346498d7b10c210de50418b5ccd7ceba08c741" -+dependencies = [ -+ "cc", -+ "libc", -+ "openssl-src", -+ "pkg-config", -+ "vcpkg", -+] -+ -+[[package]] -+name = "pin-project-lite" -+version = "0.2.16" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "3b3cff922bd51709b605d9ead9aa71031d81447142d828eb4a6eba76fe619f9b" -+ -+[[package]] -+name = "pkg-config" -+version = "0.3.31" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" -+ -+[[package]] -+name = "proc-macro2" -+version = "1.0.92" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "37d3544b3f2748c54e147655edb5025752e2303145b5aefb3c3ea2c78b973bb0" -+dependencies = [ -+ "unicode-ident", -+] -+ -+[[package]] -+name = "quote" -+version = "1.0.38" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "0e4dccaaaf89514f546c693ddc140f729f958c247918a13380cccc6078391acc" -+dependencies = [ -+ "proc-macro2", -+] -+ -+[[package]] -+name = "redox_syscall" -+version = "0.5.8" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "03a862b389f93e68874fbf580b9de08dd02facb9a788ebadaf4a3fd33cf58834" -+dependencies = [ -+ "bitflags 2.6.0", -+] -+ -+[[package]] -+name = "rlimit" -+version = "0.7.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "347703a5ae47adf1e693144157be231dde38c72bd485925cae7407ad3e52480b" -+dependencies = [ -+ "libc", -+] -+ -+[[package]] -+name = "rustc-demangle" -+version = "0.1.24" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" -+ -+[[package]] -+name = "rustix" -+version = "0.38.42" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "f93dc38ecbab2eb790ff964bb77fa94faf256fd3e73285fd7ba0903b76bedb85" -+dependencies = [ -+ "bitflags 2.6.0", -+ "errno", -+ "libc", -+ "linux-raw-sys", -+ "windows-sys 0.59.0", -+] -+ -+[[package]] -+name = "ryu" -+version = "1.0.18" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" -+ -+[[package]] -+name = "sendfd" -+version = "0.4.3" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "604b71b8fc267e13bb3023a2c901126c8f349393666a6d98ac1ae5729b701798" -+dependencies = [ -+ "libc", -+] -+ -+[[package]] -+name = "serde" -+version = "1.0.217" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" -+dependencies = [ -+ "serde_derive", -+] -+ -+[[package]] -+name = "serde_derive" -+version = "1.0.217" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "syn", -+] -+ -+[[package]] -+name = "serde_json" -+version = "1.0.134" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "d00f4175c42ee48b15416f6193a959ba3a0d67fc699a0db9ad12df9f83991c7d" -+dependencies = [ -+ "itoa", -+ "memchr", -+ "ryu", -+ "serde", -+] -+ -+[[package]] -+name = "sha2" -+version = "0.10.8" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" -+dependencies = [ -+ "cfg-if", -+ "cpufeatures", -+ "digest", -+] -+ -+[[package]] -+name = "shlex" -+version = "1.3.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" -+ -+[[package]] -+name = "syn" -+version = "2.0.95" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "46f71c0377baf4ef1cc3e3402ded576dccc315800fbc62dfc7fe04b009773b4a" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "unicode-ident", -+] -+ -+[[package]] -+name = "tar" -+version = "0.4.43" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "c65998313f8e17d0d553d28f91a0df93e4dbbbf770279c7bc21ca0f09ea1a1f6" -+dependencies = [ -+ "filetime", -+ "libc", -+ "xattr", -+] -+ -+[[package]] -+name = "thiserror" -+version = "1.0.69" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b6aaf5339b578ea85b50e080feb250a3e8ae8cfcdff9a461c9ec2904bc923f52" -+dependencies = [ -+ "thiserror-impl", -+] -+ -+[[package]] -+name = "thiserror-impl" -+version = "1.0.69" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "syn", -+] -+ -+[[package]] -+name = "threadpool" -+version = "1.8.1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "d050e60b33d41c19108b32cea32164033a9013fe3b46cbd4457559bfbf77afaa" -+dependencies = [ -+ "num_cpus", -+] -+ -+[[package]] -+name = "timerfd" -+version = "1.6.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "84e482e368cf7efa2c8b570f476e5b9fd9fd5e9b9219fc567832b05f13511091" -+dependencies = [ -+ "rustix", -+] -+ -+[[package]] -+name = "tokio" -+version = "1.42.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "5cec9b21b0450273377fc97bd4c33a8acffc8c996c987a7c5b319a0083707551" -+dependencies = [ -+ "backtrace", -+ "pin-project-lite", -+ "tokio-macros", -+] -+ -+[[package]] -+name = "tokio-macros" -+version = "2.4.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" -+dependencies = [ -+ "proc-macro2", -+ "quote", -+ "syn", -+] -+ -+[[package]] -+name = "toml" -+version = "0.5.11" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "f4f7f0dd8d50a853a531c426359045b1998f04219d88799810762cd4ad314234" -+dependencies = [ -+ "serde", -+] -+ -+[[package]] -+name = "typenum" -+version = "1.17.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" -+ -+[[package]] -+name = "unicode-ident" -+version = "1.0.14" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "adb9e6ca4f869e1180728b7950e35922a7fc6397f7b641499e8f3ef06e50dc83" -+ -+[[package]] -+name = "vcpkg" -+version = "0.2.15" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" -+ -+[[package]] -+name = "version_check" -+version = "0.9.5" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" -+ -+[[package]] -+name = "virtio-bindings" -+version = "0.1.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "3ff512178285488516ed85f15b5d0113a7cdb89e9e8a760b269ae4f02b84bd6b" -+ -+[[package]] -+name = "virtio-queue" -+version = "0.7.1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "3ba81e2bcc21c0d2fc5e6683e79367e26ad219197423a498df801d79d5ba77bd" -+dependencies = [ -+ "log", -+ "virtio-bindings", -+ "vm-memory", -+ "vmm-sys-util 0.11.2", -+] -+ -+[[package]] -+name = "vm-fdt" -+version = "0.2.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "f43fb5a6bd1a7d423ad72802801036719b7546cf847a103f8fe4575f5b0d45a6" -+ -+[[package]] -+name = "vm-memory" -+version = "0.10.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "688a70366615b45575a424d9c665561c1b5ab2224d494f706b6a6812911a827c" -+dependencies = [ -+ "arc-swap", -+ "libc", -+ "winapi", -+] -+ -+[[package]] -+name = "vmm-sys-util" -+version = "0.11.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "48b7b084231214f7427041e4220d77dfe726897a6d41fddee450696e66ff2a29" -+dependencies = [ -+ "bitflags 1.3.2", -+ "libc", -+] -+ -+[[package]] -+name = "vmm-sys-util" -+version = "0.12.1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "1d1435039746e20da4f8d507a72ee1b916f7b4b05af7a91c093d2c6561934ede" -+dependencies = [ -+ "bitflags 1.3.2", -+ "libc", -+] -+ -+[[package]] -+name = "wasi" -+version = "0.11.0+wasi-snapshot-preview1" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" -+ -+[[package]] -+name = "winapi" -+version = "0.3.9" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -+dependencies = [ -+ "winapi-i686-pc-windows-gnu", -+ "winapi-x86_64-pc-windows-gnu", -+] -+ -+[[package]] -+name = "winapi-i686-pc-windows-gnu" -+version = "0.4.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" -+ -+[[package]] -+name = "winapi-x86_64-pc-windows-gnu" -+version = "0.4.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" -+ -+[[package]] -+name = "windows-sys" -+version = "0.48.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -+dependencies = [ -+ "windows-targets 0.48.5", -+] -+ -+[[package]] -+name = "windows-sys" -+version = "0.59.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b" -+dependencies = [ -+ "windows-targets 0.52.6", -+] -+ -+[[package]] -+name = "windows-targets" -+version = "0.48.5" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -+dependencies = [ -+ "windows_aarch64_gnullvm 0.48.5", -+ "windows_aarch64_msvc 0.48.5", -+ "windows_i686_gnu 0.48.5", -+ "windows_i686_msvc 0.48.5", -+ "windows_x86_64_gnu 0.48.5", -+ "windows_x86_64_gnullvm 0.48.5", -+ "windows_x86_64_msvc 0.48.5", -+] -+ -+[[package]] -+name = "windows-targets" -+version = "0.52.6" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" -+dependencies = [ -+ "windows_aarch64_gnullvm 0.52.6", -+ "windows_aarch64_msvc 0.52.6", -+ "windows_i686_gnu 0.52.6", -+ "windows_i686_gnullvm", -+ "windows_i686_msvc 0.52.6", -+ "windows_x86_64_gnu 0.52.6", -+ "windows_x86_64_gnullvm 0.52.6", -+ "windows_x86_64_msvc 0.52.6", -+] -+ -+[[package]] -+name = "windows_aarch64_gnullvm" -+version = "0.48.5" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" -+ -+[[package]] -+name = "windows_aarch64_gnullvm" -+version = "0.52.6" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" -+ -+[[package]] -+name = "windows_aarch64_msvc" -+version = "0.48.5" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" -+ -+[[package]] -+name = "windows_aarch64_msvc" -+version = "0.52.6" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" -+ -+[[package]] -+name = "windows_i686_gnu" -+version = "0.48.5" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" -+ -+[[package]] -+name = "windows_i686_gnu" -+version = "0.52.6" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" -+ -+[[package]] -+name = "windows_i686_gnullvm" -+version = "0.52.6" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" -+ -+[[package]] -+name = "windows_i686_msvc" -+version = "0.48.5" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" -+ -+[[package]] -+name = "windows_i686_msvc" -+version = "0.52.6" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" -+ -+[[package]] -+name = "windows_x86_64_gnu" -+version = "0.48.5" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" -+ -+[[package]] -+name = "windows_x86_64_gnu" -+version = "0.52.6" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" -+ -+[[package]] -+name = "windows_x86_64_gnullvm" -+version = "0.48.5" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" -+ -+[[package]] -+name = "windows_x86_64_gnullvm" -+version = "0.52.6" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" -+ -+[[package]] -+name = "windows_x86_64_msvc" -+version = "0.48.5" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" -+ -+[[package]] -+name = "windows_x86_64_msvc" -+version = "0.52.6" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" -+ -+[[package]] -+name = "xattr" -+version = "1.4.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "e105d177a3871454f754b33bb0ee637ecaaac997446375fd3e5d43a2ed00c909" -+dependencies = [ -+ "libc", -+ "linux-raw-sys", -+ "rustix", -+] -+ -+[[package]] -+name = "zstd" -+version = "0.11.2+zstd.1.5.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "20cc960326ece64f010d2d2107537f26dc589a6573a316bd5b1dba685fa5fde4" -+dependencies = [ -+ "zstd-safe", -+] -+ -+[[package]] -+name = "zstd-safe" -+version = "5.0.2+zstd.1.5.2" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "1d2a5585e04f9eea4b2a3d1eca508c4dee9592a89ef6f450c11719da0726f4db" -+dependencies = [ -+ "libc", -+ "zstd-sys", -+] -+ -+[[package]] -+name = "zstd-sys" -+version = "2.0.13+zstd.1.5.6" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "38ff0f21cfee8f97d94cef41359e0c89aa6113028ab0291aa8ca0038995a95aa" -+dependencies = [ -+ "cc", -+ "pkg-config", -+] -diff --git a/src/libs/Cargo.lock b/src/libs/Cargo.lock -index ed7184c48..4a2b6cf72 100644 ---- a/src/libs/Cargo.lock -+++ b/src/libs/Cargo.lock -@@ -1,6 +1,6 @@ - # This file is automatically @generated by Cargo. - # It is not intended for manual editing. --version = 3 -+version = 4 - - [[package]] - name = "addr2line" -@@ -400,6 +400,15 @@ dependencies = [ - "syn 2.0.66", - ] - -+[[package]] -+name = "deranged" -+version = "0.3.11" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" -+dependencies = [ -+ "powerfmt", -+] -+ - [[package]] - name = "derive-new" - version = "0.5.9" -@@ -983,6 +992,12 @@ dependencies = [ - "winapi", - ] - -+[[package]] -+name = "num-conv" -+version = "0.1.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" -+ - [[package]] - name = "num-integer" - version = "0.1.44" -@@ -1120,6 +1135,12 @@ version = "0.1.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -+[[package]] -+name = "powerfmt" -+version = "0.2.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" -+ - [[package]] - name = "ppv-lite86" - version = "0.2.16" -@@ -1544,9 +1565,9 @@ checksum = "1c107b6f4780854c8b126e228ea8869f4d7b71260f962fefb57b996b8959ba6b" - - [[package]] - name = "serde" --version = "1.0.147" -+version = "1.0.210" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "d193d69bae983fc11a79df82342761dfbf28a99fc8d203dca4c3c1b590948965" -+checksum = "c8e3592472072e6e22e0a54d5904d9febf8508f65fb8552499a1abc7d1078c3a" - dependencies = [ - "serde_derive", - ] -@@ -1583,13 +1604,13 @@ checksum = "794e44574226fc701e3be5c651feb7939038fc67fb73f6f4dd5c4ba90fd3be70" - - [[package]] - name = "serde_derive" --version = "1.0.147" -+version = "1.0.210" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "4f1d362ca8fc9c3e3a7484440752472d68a6caa98f1ab81d99b5dfe517cec852" -+checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f" - dependencies = [ - "proc-macro2", - "quote", -- "syn 1.0.91", -+ "syn 2.0.66", - ] - - [[package]] -@@ -1703,7 +1724,7 @@ dependencies = [ - "slog", - "term", - "thread_local", -- "time 0.3.22", -+ "time 0.3.37", - ] - - [[package]] -@@ -1889,13 +1910,16 @@ dependencies = [ - - [[package]] - name = "time" --version = "0.3.22" -+version = "0.3.37" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "ea9e1b3cf1243ae005d9e74085d4d542f3125458f3a81af210d901dcd7411efd" -+checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" - dependencies = [ -+ "deranged", - "itoa", - "libc", -+ "num-conv", - "num_threads", -+ "powerfmt", - "serde", - "time-core", - "time-macros", -@@ -1903,16 +1927,17 @@ dependencies = [ - - [[package]] - name = "time-core" --version = "0.1.1" -+version = "0.1.2" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" -+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - - [[package]] - name = "time-macros" --version = "0.2.9" -+version = "0.2.19" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b" -+checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" - dependencies = [ -+ "num-conv", - "time-core", - ] - -diff --git a/src/runtime-rs/Cargo.lock b/src/runtime-rs/Cargo.lock -index b838ca9c1..83191f16a 100644 ---- a/src/runtime-rs/Cargo.lock -+++ b/src/runtime-rs/Cargo.lock -@@ -1,6 +1,6 @@ - # This file is automatically @generated by Cargo. - # It is not intended for manual editing. --version = 3 -+version = 4 - - [[package]] - name = "actix-macros" -@@ -571,7 +571,7 @@ dependencies = [ - "signal-hook", - "signal-hook-tokio", - "thiserror", -- "time 0.3.31", -+ "time 0.3.37", - "tokio", - "windows-sys 0.48.0", - ] -@@ -2279,6 +2279,12 @@ dependencies = [ - "winapi", - ] - -+[[package]] -+name = "num-conv" -+version = "0.1.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" -+ - [[package]] - name = "num-traits" - version = "0.2.16" -@@ -3889,7 +3895,7 @@ dependencies = [ - "serde", - "serde_json", - "slog", -- "time 0.3.31", -+ "time 0.3.37", - ] - - [[package]] -@@ -3924,7 +3930,7 @@ dependencies = [ - "slog", - "term", - "thread_local", -- "time 0.3.31", -+ "time 0.3.37", - ] - - [[package]] -@@ -4191,13 +4197,14 @@ dependencies = [ - - [[package]] - name = "time" --version = "0.3.31" -+version = "0.3.37" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e" -+checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" - dependencies = [ - "deranged", - "itoa", - "libc", -+ "num-conv", - "num_threads", - "powerfmt", - "serde", -@@ -4213,10 +4220,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - - [[package]] - name = "time-macros" --version = "0.2.16" -+version = "0.2.19" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f" -+checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" - dependencies = [ -+ "num-conv", - "time-core", - ] - -diff --git a/src/tools/agent-ctl/Cargo.lock b/src/tools/agent-ctl/Cargo.lock -index e4094eaf1..5a354a226 100644 ---- a/src/tools/agent-ctl/Cargo.lock -+++ b/src/tools/agent-ctl/Cargo.lock -@@ -1,6 +1,6 @@ - # This file is automatically @generated by Cargo. - # It is not intended for manual editing. --version = 3 -+version = 4 - - [[package]] - name = "addr2line" -@@ -224,7 +224,7 @@ checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.79", -+ "syn 2.0.87", - ] - - [[package]] -@@ -241,7 +241,7 @@ checksum = "721cae7de5c34fbb2acd27e21e6d2cf7b886dce0c27388d46c4e6c47ea4318dd" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.79", -+ "syn 2.0.87", - ] - - [[package]] -@@ -485,7 +485,7 @@ dependencies = [ - "proc-macro-crate", - "proc-macro2", - "quote", -- "syn 2.0.79", -+ "syn 2.0.87", - "syn_derive", - ] - -@@ -887,7 +887,7 @@ checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.79", -+ "syn 2.0.87", - ] - - [[package]] -@@ -934,7 +934,7 @@ dependencies = [ - "proc-macro2", - "quote", - "strsim 0.11.1", -- "syn 2.0.79", -+ "syn 2.0.87", - ] - - [[package]] -@@ -956,7 +956,7 @@ checksum = "733cabb43482b1a1b53eee8583c2b9e8684d592215ea83efd305dd31bc2f0178" - dependencies = [ - "darling_core 0.20.9", - "quote", -- "syn 2.0.79", -+ "syn 2.0.87", - ] - - [[package]] -@@ -986,7 +986,16 @@ checksum = "8034092389675178f570469e6c3b0465d3d30b4505c294a6550db47f3c17ad18" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.79", -+ "syn 2.0.87", -+] -+ -+[[package]] -+name = "deranged" -+version = "0.3.11" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" -+dependencies = [ -+ "powerfmt", - ] - - [[package]] -@@ -1029,7 +1038,7 @@ dependencies = [ - "darling 0.20.9", - "proc-macro2", - "quote", -- "syn 2.0.79", -+ "syn 2.0.87", - ] - - [[package]] -@@ -1039,7 +1048,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "206868b8242f27cecce124c19fd88157fbd0dd334df2587f36417bafbc85097b" - dependencies = [ - "derive_builder_core", -- "syn 2.0.79", -+ "syn 2.0.87", - ] - - [[package]] -@@ -1159,7 +1168,7 @@ checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.79", -+ "syn 2.0.87", - ] - - [[package]] -@@ -1373,7 +1382,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.79", -+ "syn 2.0.87", - ] - - [[package]] -@@ -2474,6 +2483,12 @@ dependencies = [ - "zeroize", - ] - -+[[package]] -+name = "num-conv" -+version = "0.1.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" -+ - [[package]] - name = "num-integer" - version = "0.1.46" -@@ -2820,7 +2835,7 @@ checksum = "a4502d8515ca9f32f1fb543d987f63d95a14934883db45bdb48060b6b69257f8" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.79", -+ "syn 2.0.87", - ] - - [[package]] -@@ -2912,6 +2927,12 @@ version = "1.9.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" - -+[[package]] -+name = "powerfmt" -+version = "0.2.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" -+ - [[package]] - name = "ppv-lite86" - version = "0.2.17" -@@ -3755,9 +3776,9 @@ checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" - - [[package]] - name = "serde" --version = "1.0.163" -+version = "1.0.217" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "2113ab51b87a539ae008b5c6c02dc020ffa39afd2d83cffcb3f4eb2722cebec2" -+checksum = "02fc4265df13d6fa1d00ecff087228cc0a2b5f3c0e87e258d8b94a156e984c70" - dependencies = [ - "serde_derive", - ] -@@ -3794,13 +3815,13 @@ checksum = "794e44574226fc701e3be5c651feb7939038fc67fb73f6f4dd5c4ba90fd3be70" - - [[package]] - name = "serde_derive" --version = "1.0.163" -+version = "1.0.217" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "8c805777e3930c8883389c602315a24224bcc738b63905ef87cd1420353ea93e" -+checksum = "5a9bf7cf98d04a2b28aead066b7496853d4779c9cc183c440dbac457641e19a0" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.79", -+ "syn 2.0.87", - ] - - [[package]] -@@ -3822,7 +3843,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.79", -+ "syn 2.0.87", - ] - - [[package]] -@@ -4107,7 +4128,7 @@ dependencies = [ - "proc-macro2", - "quote", - "rustversion", -- "syn 2.0.79", -+ "syn 2.0.87", - ] - - [[package]] -@@ -4139,9 +4160,9 @@ dependencies = [ - - [[package]] - name = "syn" --version = "2.0.79" -+version = "2.0.87" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" -+checksum = "25aa4ce346d03a6dcd68dd8b4010bcb74e54e62c90c573f394c46eae99aba32d" - dependencies = [ - "proc-macro2", - "quote", -@@ -4157,7 +4178,7 @@ dependencies = [ - "proc-macro-error", - "proc-macro2", - "quote", -- "syn 2.0.79", -+ "syn 2.0.87", - ] - - [[package]] -@@ -4252,7 +4273,7 @@ checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.79", -+ "syn 2.0.87", - ] - - [[package]] -@@ -4267,13 +4288,16 @@ dependencies = [ - - [[package]] - name = "time" --version = "0.3.21" -+version = "0.3.37" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "8f3403384eaacbca9923fa06940178ac13e4edb725486d70e8e15881d0c836cc" -+checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" - dependencies = [ -+ "deranged", - "itoa", - "libc", -+ "num-conv", - "num_threads", -+ "powerfmt", - "serde", - "time-core", - "time-macros", -@@ -4281,16 +4305,17 @@ dependencies = [ - - [[package]] - name = "time-core" --version = "0.1.1" -+version = "0.1.2" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" -+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - - [[package]] - name = "time-macros" --version = "0.2.9" -+version = "0.2.19" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "372950940a5f07bf38dbe211d7283c9e6d7327df53794992d293e534c733d09b" -+checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" - dependencies = [ -+ "num-conv", - "time-core", - ] - -@@ -4327,7 +4352,7 @@ checksum = "8d9ef545650e79f30233c0003bcc2504d7efac6dad25fca40744de773fe2049c" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.79", -+ "syn 2.0.87", - ] - - [[package]] -@@ -4365,7 +4390,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.79", -+ "syn 2.0.87", - ] - - [[package]] -@@ -4536,7 +4561,7 @@ checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.79", -+ "syn 2.0.87", - ] - - [[package]] -@@ -4776,7 +4801,7 @@ dependencies = [ - "once_cell", - "proc-macro2", - "quote", -- "syn 2.0.79", -+ "syn 2.0.87", - "wasm-bindgen-shared", - ] - -@@ -4810,7 +4835,7 @@ checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.79", -+ "syn 2.0.87", - "wasm-bindgen-backend", - "wasm-bindgen-shared", - ] -@@ -5330,7 +5355,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" - dependencies = [ - "proc-macro2", - "quote", -- "syn 2.0.79", -+ "syn 2.0.87", - ] - - [[package]] -diff --git a/src/tools/kata-ctl/Cargo.lock b/src/tools/kata-ctl/Cargo.lock -index bd2de0038..a61832901 100644 ---- a/src/tools/kata-ctl/Cargo.lock -+++ b/src/tools/kata-ctl/Cargo.lock -@@ -1,6 +1,6 @@ - # This file is automatically @generated by Cargo. - # It is not intended for manual editing. --version = 3 -+version = 4 - - [[package]] - name = "addr2line" -@@ -1476,6 +1476,12 @@ dependencies = [ - "winapi", - ] - -+[[package]] -+name = "num-conv" -+version = "0.1.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" -+ - [[package]] - name = "num-traits" - version = "0.2.17" -@@ -2855,13 +2861,14 @@ dependencies = [ - - [[package]] - name = "time" --version = "0.3.30" -+version = "0.3.37" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "c4a34ab300f2dee6e562c10a046fc05e358b29f9bf92277f30c3c8d82275f6f5" -+checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" - dependencies = [ - "deranged", - "itoa", - "libc", -+ "num-conv", - "num_threads", - "powerfmt", - "serde", -@@ -2877,10 +2884,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - - [[package]] - name = "time-macros" --version = "0.2.15" -+version = "0.2.19" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" -+checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" - dependencies = [ -+ "num-conv", - "time-core", - ] - -diff --git a/src/tools/runk/Cargo.lock b/src/tools/runk/Cargo.lock -index 6f41aef6e..1d1795937 100644 ---- a/src/tools/runk/Cargo.lock -+++ b/src/tools/runk/Cargo.lock -@@ -1,6 +1,6 @@ - # This file is automatically @generated by Cargo. - # It is not intended for manual editing. --version = 3 -+version = 4 - - [[package]] - name = "addr2line" -@@ -2820,9 +2820,9 @@ dependencies = [ - - [[package]] - name = "time" --version = "0.3.36" -+version = "0.3.37" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" -+checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" - dependencies = [ - "deranged", - "itoa", -@@ -2841,9 +2841,9 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - - [[package]] - name = "time-macros" --version = "0.2.18" -+version = "0.2.19" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" -+checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" - dependencies = [ - "num-conv", - "time-core", -diff --git a/src/tools/trace-forwarder/Cargo.lock b/src/tools/trace-forwarder/Cargo.lock -index 6e2791328..5f54aa2be 100644 ---- a/src/tools/trace-forwarder/Cargo.lock -+++ b/src/tools/trace-forwarder/Cargo.lock -@@ -1,6 +1,6 @@ - # This file is automatically @generated by Cargo. - # It is not intended for manual editing. --version = 3 -+version = 4 - - [[package]] - name = "ansi_term" -@@ -141,9 +141,12 @@ dependencies = [ - - [[package]] - name = "deranged" --version = "0.3.8" -+version = "0.3.11" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" -+checksum = "b42b6fa04a440b495c8b04d0e71b707c585f83cb9cb28cf8cd0d976c315e31b4" -+dependencies = [ -+ "powerfmt", -+] - - [[package]] - name = "dirs-next" -@@ -389,6 +392,12 @@ dependencies = [ - "memoffset", - ] - -+[[package]] -+name = "num-conv" -+version = "0.1.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9" -+ - [[package]] - name = "num-integer" - version = "0.1.44" -@@ -528,6 +537,12 @@ version = "0.1.0" - source = "registry+https://github.com/rust-lang/crates.io-index" - checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -+[[package]] -+name = "powerfmt" -+version = "0.2.0" -+source = "registry+https://github.com/rust-lang/crates.io-index" -+checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" -+ - [[package]] - name = "ppv-lite86" - version = "0.2.15" -@@ -752,7 +767,7 @@ dependencies = [ - "slog", - "term", - "thread_local", -- "time 0.3.28", -+ "time 0.3.37", - ] - - [[package]] -@@ -892,14 +907,16 @@ dependencies = [ - - [[package]] - name = "time" --version = "0.3.28" -+version = "0.3.37" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "17f6bb557fd245c28e6411aa56b6403c689ad95061f50e4be16c274e70a17e48" -+checksum = "35e7868883861bd0e56d9ac6efcaaca0d6d5d82a2a7ec8209ff492c07cf37b21" - dependencies = [ - "deranged", - "itoa", - "libc", -+ "num-conv", - "num_threads", -+ "powerfmt", - "serde", - "time-core", - "time-macros", -@@ -907,16 +924,17 @@ dependencies = [ - - [[package]] - name = "time-core" --version = "0.1.1" -+version = "0.1.2" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" -+checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" - - [[package]] - name = "time-macros" --version = "0.2.14" -+version = "0.2.19" - source = "registry+https://github.com/rust-lang/crates.io-index" --checksum = "1a942f44339478ef67935ab2bbaec2fb0322496cf3cbe84b261e06ac3814c572" -+checksum = "2834e6017e3e5e4b9834939793b282bc03b37a3336245fa820e35e233e2a85de" - dependencies = [ -+ "num-conv", - "time-core", - ] - --- -2.47.1 - diff --git a/1003-Fix-arch-name-compilation-failure.patch b/1003-Fix-arch-name-compilation-failure.patch deleted file mode 100644 index 8ae61a4..0000000 --- a/1003-Fix-arch-name-compilation-failure.patch +++ /dev/null @@ -1,491 +0,0 @@ -From 7cca06342688f838f1b5c13d5f8fb8800e55f0d9 Mon Sep 17 00:00:00 2001 -From: Emanuel Lima -Date: Mon, 6 Jan 2025 16:18:26 -0300 -Subject: [PATCH] Fix arch name compilation failure - -Signed-off-by: Christophe de Dinechin -[emlima: fix some more occurences and typos] -Signed-off-by: Emanuel Lima ---- - docs/Developer-Guide.md | 8 ++++---- - src/agent/Makefile | 2 +- - src/libs/kata-sys-util/src/protection.rs | 4 ++-- - src/runtime-rs/Makefile | 4 ++-- - src/tools/agent-ctl/Makefile | 2 +- - src/tools/genpolicy/Makefile | 2 +- - src/tools/kata-ctl/Cross.toml | 2 +- - src/tools/kata-ctl/src/arch/mod.rs | 10 +++++----- - src/tools/kata-ctl/src/arch/powerpc64le/mod.rs | 4 ++-- - src/tools/runk/Makefile | 2 +- - src/tools/trace-forwarder/Makefile | 2 +- - tests/common.bash | 4 ++-- - tests/install_rust.sh | 2 +- - tests/kata-arch.sh | 2 +- - tools/osbuilder/rootfs-builder/ubuntu/Dockerfile.in | 4 ++-- - tools/osbuilder/rootfs-builder/ubuntu/config.sh | 2 +- - tools/osbuilder/scripts/lib.sh | 2 +- - tools/packaging/scripts/configure-hypervisor.sh | 2 +- - tools/packaging/static-build/agent/Dockerfile | 2 +- - .../static-build/coco-guest-components/Dockerfile | 2 +- - tools/packaging/static-build/qemu/Dockerfile | 3 +-- - tools/packaging/static-build/shim-v2/Dockerfile | 12 ++++++------ - tools/packaging/static-build/shim-v2/build.sh | 2 +- - .../packaging/static-build/virtiofsd/gnu/Dockerfile | 2 +- - .../packaging/static-build/virtiofsd/musl/Dockerfile | 2 +- - utils.mk | 2 +- - 26 files changed, 43 insertions(+), 44 deletions(-) - -diff --git a/docs/Developer-Guide.md b/docs/Developer-Guide.md -index dcb88d49a..14928ea0a 100644 ---- a/docs/Developer-Guide.md -+++ b/docs/Developer-Guide.md -@@ -239,7 +239,7 @@ The agent is built with a statically linked `musl.` The default `libc` used is ` - ```bash - $ export ARCH="$(uname -m)" - $ if [ "$ARCH" = "ppc64le" -o "$ARCH" = "s390x" ]; then export LIBC=gnu; else export LIBC=musl; fi --$ [ "${ARCH}" == "ppc64le" ] && export ARCH=powerpc64le -+$ [ "${ARCH}" == "ppc64le" ] && export ARCH=powerpc64 - $ rustup target add "${ARCH}-unknown-linux-${LIBC}" - ``` - -@@ -268,7 +268,7 @@ to install `libseccomp` for the agent. - - ```bash - $ mkdir -p ${seccomp_install_path} ${gperf_install_path} --$ pushd kata-containers/ci -+$ pushd kata-containers/ci - $ script -fec 'sudo -E ./install_libseccomp.sh ${seccomp_install_path} ${gperf_install_path}"' - $ export LIBSECCOMP_LIB_PATH="${seccomp_install_path}/lib" - $ popd -@@ -415,11 +415,11 @@ $ script -fec 'sudo -E AGENT_INIT=yes USE_DOCKER=true SECCOMP=no ./rootfs.sh "${ - > - Check the [compatibility matrix](../tools/osbuilder/README.md#platform-distro-compatibility-matrix) before creating rootfs. - - Optionally, add your custom agent binary to the rootfs with the following commands. The default `$LIBC` used --is `musl`, but on ppc64le and s390x, `gnu` should be used. Also, Rust refers to ppc64le as `powerpc64le`: -+is `musl`, but on ppc64le and s390x, `gnu` should be used. Also, Rust refers to ppc64le as `powerpc64`: - ```bash - $ export ARCH="$(uname -m)" - $ [ "${ARCH}" == "ppc64le" ] || [ "${ARCH}" == "s390x" ] && export LIBC=gnu || export LIBC=musl --$ [ "${ARCH}" == "ppc64le" ] && export ARCH=powerpc64le -+$ [ "${ARCH}" == "ppc64le" ] && export ARCH=powerpc64 - $ sudo install -o root -g root -m 0550 -T "${ROOTFS_DIR}/../../../../src/agent/target/${ARCH}-unknown-linux-${LIBC}/release/kata-agent" "${ROOTFS_DIR}/sbin/init" - ``` - -diff --git a/src/agent/Makefile b/src/agent/Makefile -index 39d351213..1f818ebaf 100644 ---- a/src/agent/Makefile -+++ b/src/agent/Makefile -@@ -54,7 +54,7 @@ endif - include ../../utils.mk - - ifeq ($(ARCH), ppc64le) -- override ARCH = powerpc64le -+ override ARCH = powerpc64 - endif - - ##VAR STANDARD_OCI_RUNTIME=yes|no define if agent enables standard oci runtime feature -diff --git a/src/libs/kata-sys-util/src/protection.rs b/src/libs/kata-sys-util/src/protection.rs -index 74ccd5006..dba40a5d5 100644 ---- a/src/libs/kata-sys-util/src/protection.rs -+++ b/src/libs/kata-sys-util/src/protection.rs -@@ -14,7 +14,7 @@ use std::path::Path; - use std::path::PathBuf; - use thiserror::Error; - --#[cfg(any(target_arch = "s390x", target_arch = "powerpc64le"))] -+#[cfg(any(target_arch = "s390x", target_arch = "powerpc64"))] - use nix::unistd::Uid; - - #[cfg(target_arch = "x86_64")] -@@ -234,7 +234,7 @@ pub fn available_guest_protection() -> Result - Ok(GuestProtection::Se) - } - --#[cfg(target_arch = "powerpc64le")] -+#[cfg(target_arch = "powerpc64")] - pub fn available_guest_protection() -> Result { - if !Uid::effective().is_root() { - return Err(check::ProtectionError::NoPerms); -diff --git a/src/runtime-rs/Makefile b/src/runtime-rs/Makefile -index 188040864..46912d480 100644 ---- a/src/runtime-rs/Makefile -+++ b/src/runtime-rs/Makefile -@@ -18,7 +18,7 @@ CONTAINERD_RUNTIME_NAME = io.containerd.kata.v2 - include ../../utils.mk - - ifeq ($(ARCH), ppc64le) -- override ARCH = powerpc64le -+ override ARCH = powerpc64 - endif - - ARCH_DIR = arch -@@ -31,7 +31,7 @@ test: - @echo "s390x is not currently supported" - exit 0 - install: install-runtime install-configs --else ifeq ($(ARCH), powerpc64le) -+else ifeq ($(ARCH), powerpc64) - default: - @echo "PowerPC 64 LE is not currently supported" - exit 0 -diff --git a/src/tools/agent-ctl/Makefile b/src/tools/agent-ctl/Makefile -index 855017db4..cf168e862 100644 ---- a/src/tools/agent-ctl/Makefile -+++ b/src/tools/agent-ctl/Makefile -@@ -6,7 +6,7 @@ - include ../../../utils.mk - - ifeq ($(ARCH), ppc64le) -- override ARCH = powerpc64le -+ override ARCH = powerpc64 - endif - - .DEFAULT_GOAL := default -diff --git a/src/tools/genpolicy/Makefile b/src/tools/genpolicy/Makefile -index b33541467..f1b4b754a 100644 ---- a/src/tools/genpolicy/Makefile -+++ b/src/tools/genpolicy/Makefile -@@ -7,7 +7,7 @@ - include ../../../utils.mk - - ifeq ($(ARCH), ppc64le) -- override ARCH = powerpc64le -+ override ARCH = powerpc64 - endif - - COMMIT_HASH := $(shell git rev-parse HEAD 2>/dev/null || true) -diff --git a/src/tools/kata-ctl/Cross.toml b/src/tools/kata-ctl/Cross.toml -index 88f18e96e..e07b885a8 100644 ---- a/src/tools/kata-ctl/Cross.toml -+++ b/src/tools/kata-ctl/Cross.toml -@@ -8,5 +8,5 @@ pre-build = ["dpkg --add-architecture arm64 && apt-get update && apt-get install - pre-build = ["dpkg --add-architecture amd64 && apt-get update && apt-get install -y libssl-dev:amd64"] - - # Powerpc compile seems to be broken, due to `ring` crate not being supported on powerpc. --[target.powerpc64le-unknown-linux-gnu] -+[target.powerpc64-unknown-linux-gnu] - pre-build = ["dpkg --add-architecture ppc64le && apt-get update && apt-get install -y libssl-dev:ppc64le"] -diff --git a/src/tools/kata-ctl/src/arch/mod.rs b/src/tools/kata-ctl/src/arch/mod.rs -index b0010955d..aa6a527ff 100644 ---- a/src/tools/kata-ctl/src/arch/mod.rs -+++ b/src/tools/kata-ctl/src/arch/mod.rs -@@ -8,10 +8,10 @@ pub mod aarch64; - #[cfg(target_arch = "aarch64")] - pub use aarch64 as arch_specific; - --#[cfg(target_arch = "powerpc64le")] --pub mod powerpc64le; --#[cfg(target_arch = "powerpc64le")] --pub use powerpc64le as arch_specific; -+#[cfg(target_arch = "powerpc64")] -+pub mod powerpc64; -+#[cfg(target_arch = "powerpc64")] -+pub use powerpc64 as arch_specific; - - #[cfg(target_arch = "s390x")] - pub mod s390x; -@@ -25,7 +25,7 @@ pub use x86_64 as arch_specific; - - #[cfg(not(any( - target_arch = "aarch64", -- target_arch = "powerpc64le", -+ target_arch = "powerpc64", - target_arch = "s390x", - target_arch = "x86_64" - )))] -diff --git a/src/tools/kata-ctl/src/arch/powerpc64le/mod.rs b/src/tools/kata-ctl/src/arch/powerpc64le/mod.rs -index bf5822c04..dbd09e651 100644 ---- a/src/tools/kata-ctl/src/arch/powerpc64le/mod.rs -+++ b/src/tools/kata-ctl/src/arch/powerpc64le/mod.rs -@@ -4,7 +4,7 @@ - // - - use crate::types::*; --#[cfg(target_arch = "powerpc64le")] -+#[cfg(target_arch = "powerpc64")] - pub use arch_specific::*; - - mod arch_specific { -@@ -16,7 +16,7 @@ mod arch_specific { - pub const ARCH_CPU_MODEL_FIELD: &str = "model"; - - pub fn check() -> Result<()> { -- unimplemented!("Check not implemented in powerpc64le"); -+ unimplemented!("Check not implemented in powerpc64"); - } - - pub fn get_checks() -> Option<&'static [CheckItem<'static>]> { -diff --git a/src/tools/runk/Makefile b/src/tools/runk/Makefile -index b23cab145..af85ba6d6 100644 ---- a/src/tools/runk/Makefile -+++ b/src/tools/runk/Makefile -@@ -9,7 +9,7 @@ LIBC ?= gnu - include ../../../utils.mk - - ifeq ($(ARCH), ppc64le) -- override ARCH = powerpc64le -+ override ARCH = powerpc64 - endif - - TARGET = runk -diff --git a/src/tools/trace-forwarder/Makefile b/src/tools/trace-forwarder/Makefile -index bf6b80a54..81de556c7 100644 ---- a/src/tools/trace-forwarder/Makefile -+++ b/src/tools/trace-forwarder/Makefile -@@ -6,7 +6,7 @@ - include ../../../utils.mk - - ifeq ($(ARCH), ppc64le) -- override ARCH = powerpc64le -+ override ARCH = powerpc64 - endif - - .DEFAULT_GOAL := default -diff --git a/tests/common.bash b/tests/common.bash -index ca8b59bbf..78f894287 100644 ---- a/tests/common.bash -+++ b/tests/common.bash -@@ -601,7 +601,7 @@ function clone_cri_containerd() { - # version: the version of the tarball that will be downloaded - # tarball-name: the name of the tarball that will be downloaded - function download_github_project_tarball() { -- project="${1}" -+ project="${1}" - version="${2}" - tarball_name="${3}" - -@@ -752,7 +752,7 @@ function arch_to_rust() { - - case "${arch}" in - aarch64) echo "${arch}";; -- ppc64le) echo "powerpc64le";; -+ ppc64le) echo "powerpc64";; - x86_64) echo "${arch}";; - s390x) echo "${arch}";; - *) die "unsupported architecture: ${arch}";; -diff --git a/tests/install_rust.sh b/tests/install_rust.sh -index b44b94be7..08ae157e0 100755 ---- a/tests/install_rust.sh -+++ b/tests/install_rust.sh -@@ -35,7 +35,7 @@ export PATH="${PATH}:${HOME}/.cargo/bin" - ## this command will not take too long to run. - rustup toolchain install ${version} - rustup default ${version} --if [ "${rustarch}" == "powerpc64le" ] || [ "${rustarch}" == "s390x" ] ; then -+if [ "${rustarch}" == "powerpc64" ] || [ "${rustarch}" == "s390x" ] ; then - rustup target add ${rustarch}-unknown-linux-gnu - else - rustup target add ${rustarch}-unknown-linux-musl -diff --git a/tests/kata-arch.sh b/tests/kata-arch.sh -index 38146ef72..1a6643fe0 100755 ---- a/tests/kata-arch.sh -+++ b/tests/kata-arch.sh -@@ -46,7 +46,7 @@ function arch_to_rust() { - local arch="$1" - - if [ "${arch}" == "ppc64le" ]; then -- arch="powerpc64le" -+ arch="powerpc64" - fi - - echo "${arch}" -diff --git a/tools/osbuilder/rootfs-builder/ubuntu/Dockerfile.in b/tools/osbuilder/rootfs-builder/ubuntu/Dockerfile.in -index d67bceb99..6ea7e3d23 100644 ---- a/tools/osbuilder/rootfs-builder/ubuntu/Dockerfile.in -+++ b/tools/osbuilder/rootfs-builder/ubuntu/Dockerfile.in -@@ -33,7 +33,7 @@ RUN apt-get update && \ - $(gcc_arch="@ARCH@" && [ "$(uname -m)" != "$gcc_arch" ] && ( \ - libc_arch="$gcc_arch" && \ - [ "$gcc_arch" = aarch64 ] && libc_arch=arm64; \ -- [ "$gcc_arch" = ppc64le ] && gcc_arch=powerpc64le && libc_arch=ppc64el; \ -+ [ "$gcc_arch" = ppc64le ] && gcc_arch=powerpc64 && libc_arch=ppc64el; \ - [ "$gcc_arch" = s390x ] && gcc_arch=s390x && libc_arch=s390x; \ - [ "$gcc_arch" = x86_64 ] && gcc_arch=x86-64 && libc_arch=amd64; \ - echo "gcc-$gcc_arch-linux-gnu libc6-dev-$libc_arch-cross")) \ -@@ -77,7 +77,7 @@ RUN ARCH=$(uname -m); \ - libc=""; \ - case "${ARCH}" in \ - "aarch64") rust_arch="${ARCH}"; libc="musl"; ;; \ -- "ppc64le") rust_arch="powerpc64le"; libc="gnu"; ;; \ -+ "ppc64le") rust_arch="powerpc64"; libc="gnu"; ;; \ - "x86_64") rust_arch="${ARCH}"; libc="musl"; ;; \ - "s390x") rust_arch="${ARCH}"; libc="gnu"; ;; \ - *) echo "Unsupported architecture: ${ARCH}" && exit 1 ;; \ -diff --git a/tools/osbuilder/rootfs-builder/ubuntu/config.sh b/tools/osbuilder/rootfs-builder/ubuntu/config.sh -index 356505527..e9ff5c105 100644 ---- a/tools/osbuilder/rootfs-builder/ubuntu/config.sh -+++ b/tools/osbuilder/rootfs-builder/ubuntu/config.sh -@@ -22,7 +22,7 @@ esac - - if [ "$(uname -m)" != "$ARCH" ]; then - case "$ARCH" in -- ppc64le) cc_arch=powerpc64le;; -+ ppc64le) cc_arch=powerpc64;; - x86_64) cc_arch=x86-64;; - *) cc_arch="$ARCH" - esac -diff --git a/tools/osbuilder/scripts/lib.sh b/tools/osbuilder/scripts/lib.sh -index 5e3687595..670e58c24 100644 ---- a/tools/osbuilder/scripts/lib.sh -+++ b/tools/osbuilder/scripts/lib.sh -@@ -221,7 +221,7 @@ generate_dockerfile() - [ -d "${dir}" ] || die "${dir}: not a directory" - - local rustarch="$ARCH" -- [ "$ARCH" = ppc64le ] && rustarch=powerpc64le -+ [ "$ARCH" = ppc64le ] && rustarch=powerpc64 - - [ -n "${http_proxy:-}" ] && readonly set_proxy="RUN sed -i '$ a proxy="${http_proxy:-}"' /etc/dnf/dnf.conf /etc/yum.conf; true" - -diff --git a/tools/packaging/scripts/configure-hypervisor.sh b/tools/packaging/scripts/configure-hypervisor.sh -index 73f51817b..6e948d183 100755 ---- a/tools/packaging/scripts/configure-hypervisor.sh -+++ b/tools/packaging/scripts/configure-hypervisor.sh -@@ -213,7 +213,7 @@ generate_qemu_options() { - if [ $arch != $host ];then - case $arch in - aarch64) qemu_options+=(size:--cross-prefix=aarch64-linux-gnu-);; -- ppc64le) qemu_options+=(size:--cross-prefix=powerpc64le-linux-gnu-);; -+ ppc64le) qemu_options+=(size:--cross-prefix=powerpc64-linux-gnu-);; - s390x) exit;; - x86_64);; - *) exit;; -diff --git a/tools/packaging/static-build/agent/Dockerfile b/tools/packaging/static-build/agent/Dockerfile -index fed801d94..5fc9f1201 100644 ---- a/tools/packaging/static-build/agent/Dockerfile -+++ b/tools/packaging/static-build/agent/Dockerfile -@@ -45,7 +45,7 @@ RUN ARCH=$(uname -m); \ - libc=""; \ - case "${ARCH}" in \ - "aarch64") rust_arch="${ARCH}"; libc="musl" ;; \ -- "ppc64le") rust_arch="powerpc64le"; libc="gnu" ;; \ -+ "ppc64le") rust_arch="powerpc64"; libc="gnu" ;; \ - "x86_64") rust_arch="${ARCH}"; libc="musl" ;; \ - "s390x") rust_arch="${ARCH}"; libc="gnu" ;; \ - *) echo "Unsupported architecture: ${ARCH}" && exit 1 ;; \ -diff --git a/tools/packaging/static-build/coco-guest-components/Dockerfile b/tools/packaging/static-build/coco-guest-components/Dockerfile -index d5fcedb05..1b7054f31 100644 ---- a/tools/packaging/static-build/coco-guest-components/Dockerfile -+++ b/tools/packaging/static-build/coco-guest-components/Dockerfile -@@ -48,7 +48,7 @@ RUN ARCH=$(uname -m); \ - rust_arch=""; \ - case "${ARCH}" in \ - "aarch64") rust_arch="${ARCH}" ;; \ -- "ppc64le") rust_arch="powerpc64le" ;; \ -+ "ppc64le") rust_arch="powerpc64" ;; \ - "x86_64") rust_arch="${ARCH}" ;; \ - "s390x") rust_arch="${ARCH}" ;; \ - *) echo "Unsupported architecture: ${ARCH}" && exit 1 ;; \ -diff --git a/tools/packaging/static-build/qemu/Dockerfile b/tools/packaging/static-build/qemu/Dockerfile -index 7a910958f..2560fc7da 100644 ---- a/tools/packaging/static-build/qemu/Dockerfile -+++ b/tools/packaging/static-build/qemu/Dockerfile -@@ -67,7 +67,6 @@ RUN apt-get update && apt-get upgrade -y && \ - rsync \ - zlib1g-dev${DPKG_ARCH} && \ - if [ "${ARCH}" != s390x ]; then apt-get install -y --no-install-recommends libpmem-dev${DPKG_ARCH}; fi && \ -- GCC_ARCH="${ARCH}" && if [ "${ARCH}" = "ppc64le" ]; then GCC_ARCH="powerpc64le"; fi && \ -+ GCC_ARCH="${ARCH}" && if [ "${ARCH}" = "ppc64le" ]; then GCC_ARCH="powerpc64"; fi && \ - if [ "${ARCH}" != "$(uname -m)" ]; then apt-get install --no-install-recommends -y gcc-"${GCC_ARCH}"-linux-gnu; fi && \ - apt-get clean && rm -rf /var/lib/apt/lists/ -- -diff --git a/tools/packaging/static-build/shim-v2/Dockerfile b/tools/packaging/static-build/shim-v2/Dockerfile -index 808f24346..cc3930e1f 100644 ---- a/tools/packaging/static-build/shim-v2/Dockerfile -+++ b/tools/packaging/static-build/shim-v2/Dockerfile -@@ -6,7 +6,7 @@ FROM ubuntu:20.04 - ENV DEBIAN_FRONTEND=noninteractive - - ENV GO_HOME="/opt" --ENV GOCACHE="${GO_HOME}/.cache" -+ENV GOCACHE="${GO_HOME}/.cache" - ENV RUSTUP_HOME="/opt/rustup" - ENV CARGO_HOME="/opt/cargo" - ENV PATH="/opt/cargo/bin/:/opt/go/bin:${PATH}" -@@ -32,19 +32,19 @@ RUN apt-get update && \ - sudo && \ - apt-get clean && rm -rf /var/lib/apt/lists/&& \ - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain ${RUST_VERSION} -- -+ - RUN ARCH=$(uname -m); \ - rust_arch=""; \ - libc=""; \ - case "${ARCH}" in \ - "aarch64") rust_arch="${ARCH}"; libc="musl"; ;; \ -- "ppc64le") rust_arch="powerpc64le"; libc="gnu"; ;; \ -+ "ppc64le") rust_arch="powerpc64"; libc="gnu"; ;; \ - "x86_64") rust_arch="${ARCH}"; libc="musl"; ;; \ - "s390x") rust_arch="${ARCH}"; libc="gnu"; ;; \ - *) echo "Unsupported architecture: ${ARCH}" && exit 1 ;; \ - esac; \ -- rustup target add "${rust_arch}-unknown-linux-${libc}" -- -+ rustup target add "${rust_arch}-unknown-linux-${libc}" -+ - RUN ARCH=$(uname -m); \ - goarch=""; \ - kernelname=$(uname -s | tr '[:upper:]' '[:lower:]'); \ -@@ -58,6 +58,6 @@ RUN ARCH=$(uname -m); \ - curl -OL "https://storage.googleapis.com/golang/go${GO_VERSION}.${kernelname}-${goarch}.tar.gz" && \ - tar -C "${GO_HOME}" -xzf "go${GO_VERSION}.${kernelname}-${goarch}.tar.gz" && \ - rm "go${GO_VERSION}.${kernelname}-${goarch}.tar.gz" -- -+ - # aarch64 requires this name -- link for all - RUN ln -s /usr/bin/musl-gcc "/usr/bin/$(uname -m)-linux-musl-gcc" -diff --git a/tools/packaging/static-build/shim-v2/build.sh b/tools/packaging/static-build/shim-v2/build.sh -index 3944b0928..8fa9013d8 100755 ---- a/tools/packaging/static-build/shim-v2/build.sh -+++ b/tools/packaging/static-build/shim-v2/build.sh -@@ -49,7 +49,7 @@ docker pull ${container_image} || \ - arch=${ARCH:-$(uname -m)} - GCC_ARCH=${arch} - if [ ${arch} = "ppc64le" ]; then -- GCC_ARCH="powerpc64le" -+ GCC_ARCH="powerpc64" - arch="ppc64" - fi - -diff --git a/tools/packaging/static-build/virtiofsd/gnu/Dockerfile b/tools/packaging/static-build/virtiofsd/gnu/Dockerfile -index b0cd97584..9f155e8fc 100644 ---- a/tools/packaging/static-build/virtiofsd/gnu/Dockerfile -+++ b/tools/packaging/static-build/virtiofsd/gnu/Dockerfile -@@ -33,7 +33,7 @@ RUN ARCH=$(uname -m); \ - extra_rust_flags=" -C link-self-contained=yes"; \ - case "${ARCH}" in \ - "aarch64") rust_arch="${ARCH}"; libc="musl"; arch_libc="" ;; \ -- "ppc64le") rust_arch="powerpc64le"; libc="gnu"; arch_libc=${rust_arch}-linux-${libc}; extra_rust_flags="" ;; \ -+ "ppc64le") rust_arch="powerpc64"; libc="gnu"; arch_libc=${rust_arch}-linux-${libc}; extra_rust_flags="" ;; \ - "x86_64") rust_arch="${ARCH}"; libc="musl"; arch_libc="" ;; \ - "s390x") rust_arch="${ARCH}"; libc="gnu"; arch_libc=${rust_arch}-linux-${libc}; extra_rust_flags="" ;; \ - *) echo "Unsupported architecture: ${ARCH}" && exit 1 ;; \ -diff --git a/tools/packaging/static-build/virtiofsd/musl/Dockerfile b/tools/packaging/static-build/virtiofsd/musl/Dockerfile -index 270aadf52..85e3db10f 100644 ---- a/tools/packaging/static-build/virtiofsd/musl/Dockerfile -+++ b/tools/packaging/static-build/virtiofsd/musl/Dockerfile -@@ -30,7 +30,7 @@ RUN ARCH=$(uname -m); \ - extra_rust_flags=" -C link-self-contained=yes"; \ - case "${ARCH}" in \ - "aarch64") rust_arch="${ARCH}"; libc="musl"; arch_libc="" ;; \ -- "ppc64le") rust_arch="powerpc64le"; libc="gnu"; arch_libc=${rust_arch}-linux-${libc}; extra_rust_flags="" ;; \ -+ "ppc64le") rust_arch="powerpc64"; libc="gnu"; arch_libc=${rust_arch}-linux-${libc}; extra_rust_flags="" ;; \ - "x86_64") rust_arch="${ARCH}"; libc="musl"; arch_libc="" ;; \ - "s390x") rust_arch="${ARCH}"; libc="gnu"; arch_libc=${rust_arch}-linux-${libc}; extra_rust_flags="" ;; \ - *) echo "Unsupported architecture: ${ARCH}" && exit 1 ;; \ -diff --git a/utils.mk b/utils.mk -index 4edba5524..23b73fc8d 100644 ---- a/utils.mk -+++ b/utils.mk -@@ -147,7 +147,7 @@ endif - - ifeq ($(ARCH), ppc64le) - override LIBC = gnu -- $(warning "WARNING: powerpc64le-unknown-linux-musl target is unavailable") -+ $(warning "WARNING: powerpc64-unknown-linux-musl target is unavailable") - endif - - ifeq ($(ARCH), s390x) --- -2.47.1 - diff --git a/kata-containers.spec b/kata-containers.spec index ee58cf2..afa5658 100644 --- a/kata-containers.spec +++ b/kata-containers.spec @@ -28,7 +28,7 @@ %endif # https://github.com/kata-containers/kata-containers -Version: 3.13.0 +Version: 3.14.0 %global tag %{version}%{?rcstr} %global domain github.com @@ -66,10 +66,7 @@ Source5: 50-kata # Keep this patch downstream as it'd be hard to justify such change upstream Patch0999: 0999-osbuilder-Adjust-agent_version-for-our-builds.patch -Patch1000: 1000-Remove-shebang-in-non-executable-completion-script.patch Patch1001: 1001-Remove-warnings-as-compilation-errors.patch -Patch1002: 1002-Bump-time-dependency-for-Kata.patch -Patch1003: 1003-Fix-arch-name-compilation-failure.patch %if 0%{?have_go_rpm_macros} BuildRequires: go-rpm-macros @@ -390,6 +387,9 @@ fi %changelog +* Tue Jul 08 2025 Christophe de Dinechin - 3.14.0-1 +- kata-containers 3.14.0, update to latest release + * Mon Jul 07 2025 Christophe de Dinechin - 3.13.0-1 - kata-containers 3.13.0, required vendor source correction diff --git a/sources b/sources index 4d56c0a..f929c33 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (kata-containers-3.13.0.tar.gz) = a1a56e0b8bf9a27c54144bbf2a03b3ee600079d780836946cfe6ceb32d9bec606639bb038dc73d489c36e9c0c7da6c4c7ef708b9abec821b789f1973b98f7641 -SHA512 (kata-containers-3.13.0-vendor.tar.gz) = a15257dfd09c460d4c5661e5c0523533df83e2d48a5779096a02d27463de6a1c1a28cdfe967896e6cc1d96a8074e0e88572d9c4ab92ee2cb6da5adec298e0459 +SHA512 (kata-containers-3.14.0.tar.gz) = 3aae1c357cd6bafbdbf28f27d3894214ae032a6cb7fca1ac0cc55d905642eeb51ff8266f831afec21a3ff1945bd905a594edb3e176785173e850dc7fb3a85f3c +SHA512 (kata-containers-3.14.0-vendor.tar.gz) = 75e1215b9aad7c69045a1538e2cdbb7abd5ebf9a9c6b42b28e3bd84bd9261bb52fbb0d23513344c5aa0f3c36c7addefeca515f111ebb3a7e8d4e4e6544f41c17 diff --git a/vendor-tarball.sh b/vendor-tarball.sh index 14aa396..fb6a23c 100755 --- a/vendor-tarball.sh +++ b/vendor-tarball.sh @@ -2,7 +2,7 @@ set -xeuo pipefail # Kata version -KATA_VERSION=3.13.0 +KATA_VERSION=3.14.0 RUST_SOURCES_TO_FIX="src/agent src/tools/kata-ctl" # Original vendor tarball downloaded from upstream From dd04afe195e4bbe34b1a7a0d584712e5aa694154 Mon Sep 17 00:00:00 2001 From: Christophe de Dinechin Date: Wed, 23 Jul 2025 16:18:32 +0200 Subject: [PATCH 03/16] Pick up the correct systemd unit when starting the OS With the current configuration, we get: [ 1.209181] systemd[1]: Failed to isolate default target: Unit rescue.service not found. [!!!!!!] Failed to isolate default target. [ 1.210339] systemd[1]: Freezing execution. Also added a very basic script, test_kata_rpm.sh, to check using `ctr` that we can run a basic Alpine container with the installed runtime. Signed-off-by: Christophe de Dinechin Suggested-by: Greg Kurz --- kata-containers.spec | 5 ++- kata-osbuilder.sh | 5 +++ test_kata_rpm.sh | 80 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 89 insertions(+), 1 deletion(-) create mode 100755 test_kata_rpm.sh diff --git a/kata-containers.spec b/kata-containers.spec index afa5658..a9bfc5b 100644 --- a/kata-containers.spec +++ b/kata-containers.spec @@ -53,7 +53,7 @@ workload isolation and security advantages of VMs. https://katacontainers.io/.} src/agent/README.md Name: %{repo} -Release: 1%{?rcrel}%{?dist} +Release: 1%{?rcrel}%{?dist}.1 Summary: Kata Containers version 3.x repository License: Apache-2.0 Url: https://%{download} @@ -387,6 +387,9 @@ fi %changelog +* Wed Jul 23 2025 Christophe de Dinechin - 3.14.1-1 +- kata-containers 3.14.1, add fix for systemd configuration and rpm sanity test + * Tue Jul 08 2025 Christophe de Dinechin - 3.14.0-1 - kata-containers 3.14.0, update to latest release diff --git a/kata-osbuilder.sh b/kata-osbuilder.sh index 15c7842..c523d05 100755 --- a/kata-osbuilder.sh +++ b/kata-osbuilder.sh @@ -210,6 +210,11 @@ generate_rootfs() # Generate modules-load.d file generate_modules_load_conf + + # Mask initrd.target and default to multi-user.target + # Temporary workaround for KATA-3944 + systemctl mask --root=${DRACUT_ROOTFS} initrd.target + systemctl set-default --root=${DRACUT_ROOTFS} multi-user.target } diff --git a/test_kata_rpm.sh b/test_kata_rpm.sh new file mode 100755 index 0000000..76c6ac3 --- /dev/null +++ b/test_kata_rpm.sh @@ -0,0 +1,80 @@ +#!/bin/bash +set -euo pipefail + +# Usage: ./test_kata_rpm.sh /path/to/kata-containers-3.15*.rpm + +RPM_PATH=${1:-} + +if [[ -z "$RPM_PATH" ]]; then + echo "Usage: $0 /path/to/kata-containers-3.15*.rpm" + exit 1 +fi + +# 1. Install the RPM +echo "[1/6] Installing Kata Containers RPM: $RPM_PATH" +sudo dnf install -y "$RPM_PATH" + +echo "[2/6] Checking installed binaries and versions..." +# kata-agent is not expected on the host; it runs inside the Kata VM image. +if command -v kata-runtime >/dev/null 2>&1; then + kata-runtime --version +else + echo "kata-runtime not found in PATH!"; exit 1 +fi +if command -v kata-ctl >/dev/null 2>&1; then + kata-ctl version +else + echo "kata-ctl not found in PATH!"; exit 1 +fi + +echo "[3/6] Checking QEMU version..." +if command -v qemu-system-x86_64 >/dev/null 2>&1; then + qemu-system-x86_64 --version +else + echo "qemu-system-x86_64 not found in PATH!"; exit 1 +fi + +echo "[4/6] Loading vhost_net kernel module (required for Kata networking)..." +sudo modprobe vhost_net + +# 5. Run kata-runtime check (system compatibility) +echo "[5/6] Running kata-runtime check (system compatibility)..." +if ! kata-runtime check; then + echo "[ERROR] System is not capable of running Kata Containers." + exit 1 +fi + +# 6. Run a simple Kata container using containerd (if available) +echo "[6/6] Attempting to run a test container with Kata runtime (containerd)..." +if command -v ctr >/dev/null 2>&1; then + sudo ctr images pull docker.io/library/alpine:latest + # Start a container in the background (do not use --rm so we can exec into it) + sudo ctr run -d --runtime io.containerd.kata.v2 docker.io/library/alpine:latest kata-test-bg sleep 300 + # Wait a moment for the container to be up + sleep 2 + echo "[Test] Exec into the running container and run 'ls -lR /'..." + sudo ctr task exec -t --exec-id kata-ls kata-test-bg ls -lR / + echo "[Test] Show /etc/os-release inside the container..." + sudo ctr task exec -t --exec-id kata-osrel kata-test-bg cat /etc/os-release + # Clean up: kill the task and delete the container + echo "[Cleanup] Deleting test container..." + sudo ctr task kill kata-test-bg || true + sudo ctr task rm kata-test-bg || true + sudo ctr container rm kata-test-bg || true + # Also run the original test (run+rm) + sudo ctr run --runtime io.containerd.kata.v2 --rm docker.io/library/alpine:latest kata-test uname -a || { + echo "Failed to run container with Kata runtime."; exit 1; + } +else + echo "containerd (ctr) not found, skipping container test." +fi + +# Check logs for errors +echo "[Post-test] Checking Kata logs for errors..." +if journalctl --version >/dev/null 2>&1; then + sudo journalctl -xe | grep kata || echo "No kata logs found." +else + echo "journalctl not found, skipping log check." +fi + +echo "All tests completed. If no errors above, the RPM is likely working." \ No newline at end of file From ee618ed4d370fecaa34cb12c077efbae5afbc289 Mon Sep 17 00:00:00 2001 From: Christophe de Dinechin Date: Thu, 24 Jul 2025 13:29:08 +0200 Subject: [PATCH 04/16] Bump to Kata 3.15 Signed-off-by: Christophe de Dinechin --- .gitignore | 2 ++ kata-containers.spec | 7 +++++-- sources | 4 ++-- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index 6cae878..0a25426 100644 --- a/.gitignore +++ b/.gitignore @@ -56,3 +56,5 @@ /kata-containers-3.13.0.tar.gz /kata-containers-3.14.0-vendor.tar.gz /kata-containers-3.14.0.tar.gz +/kata-containers-3.15.0.tar.gz +/kata-containers-3.15.0-vendor.tar.gz diff --git a/kata-containers.spec b/kata-containers.spec index a9bfc5b..e6f761c 100644 --- a/kata-containers.spec +++ b/kata-containers.spec @@ -28,7 +28,7 @@ %endif # https://github.com/kata-containers/kata-containers -Version: 3.14.0 +Version: 3.15.0 %global tag %{version}%{?rcstr} %global domain github.com @@ -53,7 +53,7 @@ workload isolation and security advantages of VMs. https://katacontainers.io/.} src/agent/README.md Name: %{repo} -Release: 1%{?rcrel}%{?dist}.1 +Release: 1%{?rcrel}%{?dist} Summary: Kata Containers version 3.x repository License: Apache-2.0 Url: https://%{download} @@ -387,6 +387,9 @@ fi %changelog +* Thu Jul 24 2025 Christophe de Dinechin - 3.15.0-1 +- kata-containers 3.15.0 + * Wed Jul 23 2025 Christophe de Dinechin - 3.14.1-1 - kata-containers 3.14.1, add fix for systemd configuration and rpm sanity test diff --git a/sources b/sources index f929c33..ec33a68 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (kata-containers-3.14.0.tar.gz) = 3aae1c357cd6bafbdbf28f27d3894214ae032a6cb7fca1ac0cc55d905642eeb51ff8266f831afec21a3ff1945bd905a594edb3e176785173e850dc7fb3a85f3c -SHA512 (kata-containers-3.14.0-vendor.tar.gz) = 75e1215b9aad7c69045a1538e2cdbb7abd5ebf9a9c6b42b28e3bd84bd9261bb52fbb0d23513344c5aa0f3c36c7addefeca515f111ebb3a7e8d4e4e6544f41c17 +SHA512 (kata-containers-3.15.0.tar.gz) = 01449303f2d9545dcaac9cab48b38a69c7d1656bb9da628eb6ce3daa038eed95048992fa065e313be33f74e20c721ff1af21e78e2563d636199730b33541e53e +SHA512 (kata-containers-3.15.0-vendor.tar.gz) = 29aad11822b9e85d92fe6f784c3fbed5e0d5477b2797aa9b7425edc2a453224fc7e1aaa558385adbb5ad16ae761610422dcde8599786a8777fcba0f8f9869f91 From 24c59b1b11927ac79f2cc0e72131901e1891d17b Mon Sep 17 00:00:00 2001 From: Christophe de Dinechin Date: Thu, 24 Jul 2025 17:50:07 +0200 Subject: [PATCH 05/16] Bump to Kata Containers 3.16 Some changes required to the 1001 patch file for src/genpolicy/Makefile Signed-off-by: Christophe de Dinechin --- .gitignore | 3 +++ ...emove-warnings-as-compilation-errors.patch | 24 +++++++++---------- kata-containers.spec | 9 ++++++- sources | 4 ++-- 4 files changed, 25 insertions(+), 15 deletions(-) diff --git a/.gitignore b/.gitignore index 0a25426..e4cc1d3 100644 --- a/.gitignore +++ b/.gitignore @@ -58,3 +58,6 @@ /kata-containers-3.14.0.tar.gz /kata-containers-3.15.0.tar.gz /kata-containers-3.15.0-vendor.tar.gz +/kata-containers-3.16.0.tar.gz +/kata-containers-3.16.0-vendor.tar.gz +/kata-containers-3.16.0-fedora-vendor.tar.gz diff --git a/1001-Remove-warnings-as-compilation-errors.patch b/1001-Remove-warnings-as-compilation-errors.patch index 47ab17c..140375f 100644 --- a/1001-Remove-warnings-as-compilation-errors.patch +++ b/1001-Remove-warnings-as-compilation-errors.patch @@ -21,7 +21,7 @@ diff --git a/src/agent/Makefile b/src/agent/Makefile index e62a894aa..39d351213 100644 --- a/src/agent/Makefile +++ b/src/agent/Makefile -@@ -134,14 +134,14 @@ static-checks-build: $(GENERATED_CODE) +@@ -130,14 +130,14 @@ static-checks-build: $(GENERATED_CODE) $(TARGET): $(GENERATED_CODE) $(TARGET_PATH) $(TARGET_PATH): show-summary @@ -69,7 +69,7 @@ diff --git a/src/runtime-rs/Makefile b/src/runtime-rs/Makefile index 0bb0617ff..188040864 100644 --- a/src/runtime-rs/Makefile +++ b/src/runtime-rs/Makefile -@@ -580,7 +580,7 @@ static-checks-build: $(GENERATED_FILES) +@@ -600,7 +600,7 @@ static-checks-build: $(GENERATED_FILES) $(TARGET): $(GENERATED_FILES) $(TARGET_PATH) $(TARGET_PATH): $(SOURCES) | show-summary @@ -78,7 +78,7 @@ index 0bb0617ff..188040864 100644 $(GENERATED_FILES): %: %.in @sed \ -@@ -590,7 +590,7 @@ $(GENERATED_FILES): %: %.in +@@ -610,7 +610,7 @@ $(GENERATED_FILES): %: %.in ##TARGET optimize: optimized build optimize: $(SOURCES) | show-summary show-header @@ -91,7 +91,7 @@ diff --git a/src/tools/agent-ctl/Makefile b/src/tools/agent-ctl/Makefile index a49f88e6b..855017db4 100644 --- a/src/tools/agent-ctl/Makefile +++ b/src/tools/agent-ctl/Makefile -@@ -13,7 +13,7 @@ endif +@@ -9,7 +9,7 @@ endif default: build build: @@ -100,7 +100,7 @@ index a49f88e6b..855017db4 100644 static-checks-build: @echo "INFO: static-checks-build do nothing.." -@@ -27,7 +27,7 @@ vendor: +@@ -23,7 +23,7 @@ vendor: test: install: @@ -113,16 +113,16 @@ diff --git a/src/tools/genpolicy/Makefile b/src/tools/genpolicy/Makefile index 7410e20ed..b33541467 100644 --- a/src/tools/genpolicy/Makefile +++ b/src/tools/genpolicy/Makefile -@@ -28,7 +28,7 @@ $(GENERATED_FILES): %: %.in +@@ -24,7 +24,7 @@ $(GENERATED_FILES): %: %.in default: build build: $(GENERATED_FILES) -- @RUSTFLAGS="$(EXTRA_RUSTFLAGS) --deny warnings" cargo build --target $(TRIPLE) --$(BUILD_TYPE) -+ @RUSTFLAGS="$(EXTRA_RUSTFLAGS) " cargo build --target $(TRIPLE) --$(BUILD_TYPE) +- @RUSTFLAGS="$(EXTRA_RUSTFLAGS) --deny warnings" cargo build --target $(TRIPLE) $(if $(findstring release,$(BUILD_TYPE)),--release) ++ @RUSTFLAGS="$(EXTRA_RUSTFLAGS) " cargo build --target $(TRIPLE) $(if $(findstring release,$(BUILD_TYPE)),--release) static-checks-build: @echo "INFO: static-checks-build do nothing.." -@@ -41,10 +41,10 @@ vendor: +@@ -37,10 +37,10 @@ vendor: cargo vendor test: $(GENERATED_FILES) @@ -165,7 +165,7 @@ diff --git a/src/tools/runk/Makefile b/src/tools/runk/Makefile index 186955679..b23cab145 100644 --- a/src/tools/runk/Makefile +++ b/src/tools/runk/Makefile -@@ -36,7 +36,7 @@ endif +@@ -32,7 +32,7 @@ endif default: build build: @@ -178,7 +178,7 @@ diff --git a/src/tools/trace-forwarder/Makefile b/src/tools/trace-forwarder/Make index 5d9f71856..bf6b80a54 100644 --- a/src/tools/trace-forwarder/Makefile +++ b/src/tools/trace-forwarder/Makefile -@@ -13,7 +13,7 @@ endif +@@ -9,7 +9,7 @@ endif default: build build: @@ -191,7 +191,7 @@ diff --git a/utils.mk b/utils.mk index 1a153e26c..4edba5524 100644 --- a/utils.mk +++ b/utils.mk -@@ -177,7 +177,7 @@ standard_rust_check: +@@ -183,7 +183,7 @@ standard_rust_check: cargo fmt -- --check cargo clippy --all-targets --all-features --release \ -- \ diff --git a/kata-containers.spec b/kata-containers.spec index e6f761c..e658b88 100644 --- a/kata-containers.spec +++ b/kata-containers.spec @@ -28,7 +28,7 @@ %endif # https://github.com/kata-containers/kata-containers -Version: 3.15.0 +Version: 3.16.0 %global tag %{version}%{?rcstr} %global domain github.com @@ -52,6 +52,10 @@ workload isolation and security advantages of VMs. https://katacontainers.io/.} CONTRIBUTING.md\\\ src/agent/README.md +# Note: the original vendor tarball is big (918M for 3.16) +# It can be stripped down to only keep the src/agent vendor changes with: +# VERSION=3.16.0; bsdtar -cz --include 'src/agent' -f kata-containers-$VERSION-fedora-vendor.tar.gz @kata-containers-$VERSION-vendor.tar.gz +# This produces a vendor tarball that is "only" 105M in size. Name: %{repo} Release: 1%{?rcrel}%{?dist} Summary: Kata Containers version 3.x repository @@ -387,6 +391,9 @@ fi %changelog +* Thu Jul 24 2025 Christophe de Dinechin - 3.16.0-1 +- kata-containers 3.165.0 + * Thu Jul 24 2025 Christophe de Dinechin - 3.15.0-1 - kata-containers 3.15.0 diff --git a/sources b/sources index ec33a68..39a6409 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (kata-containers-3.15.0.tar.gz) = 01449303f2d9545dcaac9cab48b38a69c7d1656bb9da628eb6ce3daa038eed95048992fa065e313be33f74e20c721ff1af21e78e2563d636199730b33541e53e -SHA512 (kata-containers-3.15.0-vendor.tar.gz) = 29aad11822b9e85d92fe6f784c3fbed5e0d5477b2797aa9b7425edc2a453224fc7e1aaa558385adbb5ad16ae761610422dcde8599786a8777fcba0f8f9869f91 +SHA512 (kata-containers-3.16.0.tar.gz) = 17aca02195fa1ed55efcb5f31b50a7efe61c9f870ca0404ce3eb1b5494a9a71bd07509c840e90ae62798648c9ce96d7fb4ce770f0bf54ac9daad7e0f140cbecd +SHA512 (kata-containers-3.16.0-fedora-vendor.tar.gz) = fdd671e6b99510a81c59a4c6583ea45bd69c579e48436f4c32d6fb920656dca8694b8fd07381a48375e57f781993ae0e689738df4d81a5765bbfb4f6bc0cb077 From 0c25278ed08909d1e47819f1a1dec236311dc9fb Mon Sep 17 00:00:00 2001 From: Christophe de Dinechin Date: Thu, 24 Jul 2025 17:50:07 +0200 Subject: [PATCH 06/16] Changes to use the reduced `fedora` vendor tarball The procedure to reduce the vendor tarball means that the name of the sources changes. Signed-off-by: Christophe de Dinechin --- kata-containers.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kata-containers.spec b/kata-containers.spec index e658b88..a12585e 100644 --- a/kata-containers.spec +++ b/kata-containers.spec @@ -62,7 +62,7 @@ Summary: Kata Containers version 3.x repository License: Apache-2.0 Url: https://%{download} Source0: https://%{download}/archive/%{version}%{?rcstr}/%{repo}-%{version}%{?rcstr}.tar.gz -Source1: https://%{download}/releases/download/%{version}/%{repo}-%{version}%{?rcstr}-vendor.tar.gz +Source1: %{repo}-%{version}%{?rcstr}-fedora-vendor.tar.gz Source2: kata-osbuilder.sh Source3: kata-osbuilder-generate.service Source4: 15-dracut.conf From 089ad7138b920cb96282565058a3fa7fd17abdf8 Mon Sep 17 00:00:00 2001 From: Christophe de Dinechin Date: Fri, 25 Jul 2025 14:47:08 +0200 Subject: [PATCH 07/16] Revert "Changes to use the reduced `fedora` vendor tarball" In the Fedora case, we need to build tools like `kata-ctl`, so we need the corresponding vendoring code. Without it, the build fails with messages like: Updating git repository `https://github.com/firecracker-microvm/micro-http` error: failed to get `micro_http` as a dependency of package `kata-ctl v0.0.1 (/builddir/build/BUILD/kata-containers-3.16.0-build/kata-containers-3.16.0/src/tools/kata-ctl)` --- kata-containers.spec | 2 +- sources | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/kata-containers.spec b/kata-containers.spec index a12585e..e658b88 100644 --- a/kata-containers.spec +++ b/kata-containers.spec @@ -62,7 +62,7 @@ Summary: Kata Containers version 3.x repository License: Apache-2.0 Url: https://%{download} Source0: https://%{download}/archive/%{version}%{?rcstr}/%{repo}-%{version}%{?rcstr}.tar.gz -Source1: %{repo}-%{version}%{?rcstr}-fedora-vendor.tar.gz +Source1: https://%{download}/releases/download/%{version}/%{repo}-%{version}%{?rcstr}-vendor.tar.gz Source2: kata-osbuilder.sh Source3: kata-osbuilder-generate.service Source4: 15-dracut.conf diff --git a/sources b/sources index 39a6409..0a3e329 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ SHA512 (kata-containers-3.16.0.tar.gz) = 17aca02195fa1ed55efcb5f31b50a7efe61c9f870ca0404ce3eb1b5494a9a71bd07509c840e90ae62798648c9ce96d7fb4ce770f0bf54ac9daad7e0f140cbecd -SHA512 (kata-containers-3.16.0-fedora-vendor.tar.gz) = fdd671e6b99510a81c59a4c6583ea45bd69c579e48436f4c32d6fb920656dca8694b8fd07381a48375e57f781993ae0e689738df4d81a5765bbfb4f6bc0cb077 +SHA512 (kata-containers-3.16.0-vendor.tar.gz) = f67e6fa7c79d07a8a9196331948f87f25fbbf2f23eec3e41bfeaf8170ff85cf2d0071cd392f4e35e1a5829a262699bd5429e814d673ab5d302860c5445a79c98 From 40ae631a050777c63c198df26b8583382460bfd1 Mon Sep 17 00:00:00 2001 From: Christophe de Dinechin Date: Fri, 25 Jul 2025 21:27:01 +0200 Subject: [PATCH 08/16] Bump to Kata Containers 3.17.0 Version bump, also rename test_kata_rpm.sh to test-kata-rpm.sh Signed-off-by: Christophe de Dinechin --- .gitignore | 2 ++ kata-containers.spec | 14 ++++++++------ sources | 4 ++-- test_kata_rpm.sh => test-kata-rpm.sh | 0 4 files changed, 12 insertions(+), 8 deletions(-) rename test_kata_rpm.sh => test-kata-rpm.sh (100%) diff --git a/.gitignore b/.gitignore index e4cc1d3..742f4c0 100644 --- a/.gitignore +++ b/.gitignore @@ -61,3 +61,5 @@ /kata-containers-3.16.0.tar.gz /kata-containers-3.16.0-vendor.tar.gz /kata-containers-3.16.0-fedora-vendor.tar.gz +/kata-containers-3.17.0.tar.gz +/kata-containers-3.17.0-vendor.tar.gz diff --git a/kata-containers.spec b/kata-containers.spec index e658b88..0b6808d 100644 --- a/kata-containers.spec +++ b/kata-containers.spec @@ -28,7 +28,7 @@ %endif # https://github.com/kata-containers/kata-containers -Version: 3.16.0 +Version: 3.17.0 %global tag %{version}%{?rcstr} %global domain github.com @@ -52,10 +52,9 @@ workload isolation and security advantages of VMs. https://katacontainers.io/.} CONTRIBUTING.md\\\ src/agent/README.md -# Note: the original vendor tarball is big (918M for 3.16) -# It can be stripped down to only keep the src/agent vendor changes with: -# VERSION=3.16.0; bsdtar -cz --include 'src/agent' -f kata-containers-$VERSION-fedora-vendor.tar.gz @kata-containers-$VERSION-vendor.tar.gz -# This produces a vendor tarball that is "only" 105M in size. +# Note: the original vendor tarball is quite big (918M for 3.16) +# Unlike for RHEL, we cannot strip it down because we build all components +# (RHEL builds only build kata-agent) Name: %{repo} Release: 1%{?rcrel}%{?dist} Summary: Kata Containers version 3.x repository @@ -391,8 +390,11 @@ fi %changelog +* Fri Jul 25 2025 Christophe de Dinechin - 3.17.0-1 +- kata-containers 3.17.0 + * Thu Jul 24 2025 Christophe de Dinechin - 3.16.0-1 -- kata-containers 3.165.0 +- kata-containers 3.16.0 * Thu Jul 24 2025 Christophe de Dinechin - 3.15.0-1 - kata-containers 3.15.0 diff --git a/sources b/sources index 0a3e329..d916519 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (kata-containers-3.16.0.tar.gz) = 17aca02195fa1ed55efcb5f31b50a7efe61c9f870ca0404ce3eb1b5494a9a71bd07509c840e90ae62798648c9ce96d7fb4ce770f0bf54ac9daad7e0f140cbecd -SHA512 (kata-containers-3.16.0-vendor.tar.gz) = f67e6fa7c79d07a8a9196331948f87f25fbbf2f23eec3e41bfeaf8170ff85cf2d0071cd392f4e35e1a5829a262699bd5429e814d673ab5d302860c5445a79c98 +SHA512 (kata-containers-3.17.0.tar.gz) = 1be0192abe148878877048b2e26ba4ede722d7d3bcd4925d8591fbd5a3530a8f1f7573d190906077b08dc759f5da18f50e3181ee7e8d3a9cb8bc674419af9053 +SHA512 (kata-containers-3.17.0-vendor.tar.gz) = 32d780038ed44f90f9fc6eced7c1b915bf2450868067fb010932ff922590f44fc67b94187bf0f422ae9a74cf2fd7abbb046a1912fdf66b837a61f8f7abe7f27a diff --git a/test_kata_rpm.sh b/test-kata-rpm.sh similarity index 100% rename from test_kata_rpm.sh rename to test-kata-rpm.sh From fea541b04c0042757f641c631d56bf8ec153607b Mon Sep 17 00:00:00 2001 From: Christophe de Dinechin Date: Mon, 28 Jul 2025 13:58:41 +0200 Subject: [PATCH 09/16] Bump to Kata Container 3.18 Signed-off-by: Christophe de Dinechin --- .gitignore | 2 ++ kata-containers.spec | 5 ++++- sources | 4 ++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 742f4c0..2c5f60a 100644 --- a/.gitignore +++ b/.gitignore @@ -63,3 +63,5 @@ /kata-containers-3.16.0-fedora-vendor.tar.gz /kata-containers-3.17.0.tar.gz /kata-containers-3.17.0-vendor.tar.gz +/kata-containers-3.18.0.tar.gz +/kata-containers-3.18.0-vendor.tar.gz diff --git a/kata-containers.spec b/kata-containers.spec index 0b6808d..66ab980 100644 --- a/kata-containers.spec +++ b/kata-containers.spec @@ -28,7 +28,7 @@ %endif # https://github.com/kata-containers/kata-containers -Version: 3.17.0 +Version: 3.18.0 %global tag %{version}%{?rcstr} %global domain github.com @@ -390,6 +390,9 @@ fi %changelog +* Mon Jul 28 2025 Christophe de Dinechin - 3.18.0-1 +- kata-containers 3.18.0 + * Fri Jul 25 2025 Christophe de Dinechin - 3.17.0-1 - kata-containers 3.17.0 diff --git a/sources b/sources index d916519..944f8df 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (kata-containers-3.17.0.tar.gz) = 1be0192abe148878877048b2e26ba4ede722d7d3bcd4925d8591fbd5a3530a8f1f7573d190906077b08dc759f5da18f50e3181ee7e8d3a9cb8bc674419af9053 -SHA512 (kata-containers-3.17.0-vendor.tar.gz) = 32d780038ed44f90f9fc6eced7c1b915bf2450868067fb010932ff922590f44fc67b94187bf0f422ae9a74cf2fd7abbb046a1912fdf66b837a61f8f7abe7f27a +SHA512 (kata-containers-3.18.0.tar.gz) = d87274446eaa1e02b40c2805ad89245d15c0ddbc044a68ff976d9449c6e254b50ee7d194b4e8a6a347f5a269c6e45de84c0ff1f6a7528cbac78a8275166b8f53 +SHA512 (kata-containers-3.18.0-vendor.tar.gz) = aa8676aec2d4c893d01698954f94466ab26f4653e19fc5e3996b70d9d5f28bda94690a1fa602d85944c98096692fd850cbc619878311e6adb6c0a2dfe27e9999 From 4fbec6a1b19bfae04512d18d34d575fe771307c2 Mon Sep 17 00:00:00 2001 From: Christophe de Dinechin Date: Tue, 29 Jul 2025 14:12:17 +0200 Subject: [PATCH 10/16] Bump to Kata 3.19.1 Latest release - Skipping short-lived 3.19.0 Signed-off-by: Christophe de Dinechin --- .gitignore | 2 ++ kata-containers.spec | 5 ++++- sources | 4 ++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 2c5f60a..cf34e1f 100644 --- a/.gitignore +++ b/.gitignore @@ -65,3 +65,5 @@ /kata-containers-3.17.0-vendor.tar.gz /kata-containers-3.18.0.tar.gz /kata-containers-3.18.0-vendor.tar.gz +/kata-containers-3.19.1.tar.gz +/kata-containers-3.19.1-vendor.tar.gz diff --git a/kata-containers.spec b/kata-containers.spec index 66ab980..4b46cd7 100644 --- a/kata-containers.spec +++ b/kata-containers.spec @@ -28,7 +28,7 @@ %endif # https://github.com/kata-containers/kata-containers -Version: 3.18.0 +Version: 3.19.1 %global tag %{version}%{?rcstr} %global domain github.com @@ -390,6 +390,9 @@ fi %changelog +* Mon Jul 28 2025 Christophe de Dinechin - 3.19.1-1 +- kata-containers 3.19.0 + * Mon Jul 28 2025 Christophe de Dinechin - 3.18.0-1 - kata-containers 3.18.0 diff --git a/sources b/sources index 944f8df..a58f5cf 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (kata-containers-3.18.0.tar.gz) = d87274446eaa1e02b40c2805ad89245d15c0ddbc044a68ff976d9449c6e254b50ee7d194b4e8a6a347f5a269c6e45de84c0ff1f6a7528cbac78a8275166b8f53 -SHA512 (kata-containers-3.18.0-vendor.tar.gz) = aa8676aec2d4c893d01698954f94466ab26f4653e19fc5e3996b70d9d5f28bda94690a1fa602d85944c98096692fd850cbc619878311e6adb6c0a2dfe27e9999 +SHA512 (kata-containers-3.19.1.tar.gz) = 4a8c70fead695693fc9b9978944e3131fea8e85cb01814de72920088dba8c9707da3c7df592444e32a170a18e13dc1a7a6806069f4821d7f30b0db8b221016a7 +SHA512 (kata-containers-3.19.1-vendor.tar.gz) = f4650f056999cce79bb58b37bba8e38c18fee8e98610e185d5cccf844045f38ec62503368497c84d209e788c4e47c72afaf3392f619b6f3a1f5e3779bf6139f6 From 193bb57c487485b1ff13ecc2e8bf1a5dcad3b701 Mon Sep 17 00:00:00 2001 From: Maxwell G Date: Fri, 15 Aug 2025 18:01:56 -0500 Subject: [PATCH 11/16] Bump to Kata Containers 3.20 Signed-off-by: Christophe de Dinechin --- .gitignore | 2 ++ kata-containers.spec | 8 +++++++- sources | 4 ++-- test-kata-rpm.sh | 4 ++-- vendor-tarball.sh | 2 +- 5 files changed, 14 insertions(+), 6 deletions(-) diff --git a/.gitignore b/.gitignore index cf34e1f..a94ec42 100644 --- a/.gitignore +++ b/.gitignore @@ -67,3 +67,5 @@ /kata-containers-3.18.0-vendor.tar.gz /kata-containers-3.19.1.tar.gz /kata-containers-3.19.1-vendor.tar.gz +/kata-containers-3.20.0.tar.gz +/kata-containers-3.20.0-vendor.tar.gz diff --git a/kata-containers.spec b/kata-containers.spec index 4b46cd7..de639ee 100644 --- a/kata-containers.spec +++ b/kata-containers.spec @@ -28,7 +28,7 @@ %endif # https://github.com/kata-containers/kata-containers -Version: 3.19.1 +Version: 3.20.0 %global tag %{version}%{?rcstr} %global domain github.com @@ -390,6 +390,12 @@ fi %changelog +* Wed Sep 10 2025 Christophe de Dinechin - 3.20.0-1 +- kata-containers 3.20.0 + +* Fri Aug 15 2025 Maxwell G - 3.19.1-1.1 +- Rebuild for golang-1.25.0 + * Mon Jul 28 2025 Christophe de Dinechin - 3.19.1-1 - kata-containers 3.19.0 diff --git a/sources b/sources index a58f5cf..1d2d3f2 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (kata-containers-3.19.1.tar.gz) = 4a8c70fead695693fc9b9978944e3131fea8e85cb01814de72920088dba8c9707da3c7df592444e32a170a18e13dc1a7a6806069f4821d7f30b0db8b221016a7 -SHA512 (kata-containers-3.19.1-vendor.tar.gz) = f4650f056999cce79bb58b37bba8e38c18fee8e98610e185d5cccf844045f38ec62503368497c84d209e788c4e47c72afaf3392f619b6f3a1f5e3779bf6139f6 +SHA512 (kata-containers-3.20.0.tar.gz) = 8864bda669fac2ae6983b940d61961c05d6d25497bb98120f0c2fd62adbaf8fbbe2473682e4d9b694c01a451ffcbdd0c9d407da8bcc82936a61912d2487db639 +SHA512 (kata-containers-3.20.0-vendor.tar.gz) = 48ed8fb337cbccb229f6b4b1beb019a92ec577a4b0ac9e3517c9b4fd1105b8bf7ad5e7424045005134afb2e5791bd6a80a8965067acc4066e5fe70346a652bf7 diff --git a/test-kata-rpm.sh b/test-kata-rpm.sh index 76c6ac3..f9e893c 100755 --- a/test-kata-rpm.sh +++ b/test-kata-rpm.sh @@ -1,12 +1,12 @@ #!/bin/bash set -euo pipefail -# Usage: ./test_kata_rpm.sh /path/to/kata-containers-3.15*.rpm +# Usage: ./test_kata_rpm.sh /path/to/kata-containers-3.20*.rpm RPM_PATH=${1:-} if [[ -z "$RPM_PATH" ]]; then - echo "Usage: $0 /path/to/kata-containers-3.15*.rpm" + echo "Usage: $0 /path/to/kata-containers-3.20*.rpm" exit 1 fi diff --git a/vendor-tarball.sh b/vendor-tarball.sh index fb6a23c..6676c88 100755 --- a/vendor-tarball.sh +++ b/vendor-tarball.sh @@ -2,7 +2,7 @@ set -xeuo pipefail # Kata version -KATA_VERSION=3.14.0 +KATA_VERSION=3.20.0 RUST_SOURCES_TO_FIX="src/agent src/tools/kata-ctl" # Original vendor tarball downloaded from upstream From 7a189907988068593a0b01e2d76ffdf280aaadee Mon Sep 17 00:00:00 2001 From: Christophe de Dinechin Date: Thu, 25 Sep 2025 16:21:42 +0200 Subject: [PATCH 12/16] Bump to Kata 3.21.0 This matches Kata release 3.21.0 https://github.com/kata-containers/kata-containers/releases/tag/3.21.0 Signed-off-by: Christophe de Dinechin --- .gitignore | 2 ++ kata-containers.spec | 5 ++++- sources | 4 ++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index a94ec42..1264cb2 100644 --- a/.gitignore +++ b/.gitignore @@ -69,3 +69,5 @@ /kata-containers-3.19.1-vendor.tar.gz /kata-containers-3.20.0.tar.gz /kata-containers-3.20.0-vendor.tar.gz +/kata-containers-3.21.0.tar.gz +/kata-containers-3.21.0-vendor.tar.gz diff --git a/kata-containers.spec b/kata-containers.spec index de639ee..2262221 100644 --- a/kata-containers.spec +++ b/kata-containers.spec @@ -28,7 +28,7 @@ %endif # https://github.com/kata-containers/kata-containers -Version: 3.20.0 +Version: 3.21.0 %global tag %{version}%{?rcstr} %global domain github.com @@ -390,6 +390,9 @@ fi %changelog +* Thu Sep 25 2025 Christophe de Dinechin - 3.21.0-1 +- kata-containers 3.21.0 + * Wed Sep 10 2025 Christophe de Dinechin - 3.20.0-1 - kata-containers 3.20.0 diff --git a/sources b/sources index 1d2d3f2..dafeef3 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (kata-containers-3.20.0.tar.gz) = 8864bda669fac2ae6983b940d61961c05d6d25497bb98120f0c2fd62adbaf8fbbe2473682e4d9b694c01a451ffcbdd0c9d407da8bcc82936a61912d2487db639 -SHA512 (kata-containers-3.20.0-vendor.tar.gz) = 48ed8fb337cbccb229f6b4b1beb019a92ec577a4b0ac9e3517c9b4fd1105b8bf7ad5e7424045005134afb2e5791bd6a80a8965067acc4066e5fe70346a652bf7 +SHA512 (kata-containers-3.21.0.tar.gz) = 703cf7ea73a306d190955c04041fdcecffc7de20b05c231aca3ccfae0e53ebdd7221b9a04d0f02e129c88e9084bdcca2ec8f6f440b1e5b450fd4fc5768f46615 +SHA512 (kata-containers-3.21.0-vendor.tar.gz) = d695f2c6e03402f2543daadf1506da614a032180d22855c3fa973380072166b157d19990ca9429f48379fca61801f85caff25e38b5ae27e483eda1d2692bcfec From 4825d126072094ce41d4f212934f3379b66abf82 Mon Sep 17 00:00:00 2001 From: Christophe de Dinechin Date: Tue, 30 Sep 2025 16:57:51 +0200 Subject: [PATCH 13/16] Add tests for CRIO and make test for containerd more explicit Add an rpm test that specifically uses crio, and make the containerd test more specifically mention containerd both in the name and in the description of the test. Also, the tests now first erase any old kata-containers package so that make sure we test a "from scratch" installation. Signed-off-by: Christophe de Dinechin --- ...kata-rpm.sh => test-kata-rpm-containerd.sh | 43 ++-- test-kata-rpm-crio.sh | 190 ++++++++++++++++++ 2 files changed, 217 insertions(+), 16 deletions(-) rename test-kata-rpm.sh => test-kata-rpm-containerd.sh (57%) create mode 100755 test-kata-rpm-crio.sh diff --git a/test-kata-rpm.sh b/test-kata-rpm-containerd.sh similarity index 57% rename from test-kata-rpm.sh rename to test-kata-rpm-containerd.sh index f9e893c..95f7d54 100755 --- a/test-kata-rpm.sh +++ b/test-kata-rpm-containerd.sh @@ -1,20 +1,23 @@ #!/bin/bash set -euo pipefail -# Usage: ./test_kata_rpm.sh /path/to/kata-containers-3.20*.rpm +# Usage: ./test_kata_rpm_containerd.sh /path/to/kata-containers-*.rpm RPM_PATH=${1:-} if [[ -z "$RPM_PATH" ]]; then - echo "Usage: $0 /path/to/kata-containers-3.20*.rpm" + echo "Usage: $0 /path/to/kata-containers-*.rpm" exit 1 fi -# 1. Install the RPM -echo "[1/6] Installing Kata Containers RPM: $RPM_PATH" -sudo dnf install -y "$RPM_PATH" +# 1. Remove existing kata-containers packages and install the RPM +echo "[1/7] Removing existing kata-containers packages..." +sudo rpm -e --allmatches kata-containers 2>/dev/null || echo "No existing kata-containers packages to remove" -echo "[2/6] Checking installed binaries and versions..." +echo "[2/7] Installing Kata Containers RPM: $RPM_PATH" +sudo rpm -i "$RPM_PATH" + +echo "[3/7] Checking installed binaries and versions..." # kata-agent is not expected on the host; it runs inside the Kata VM image. if command -v kata-runtime >/dev/null 2>&1; then kata-runtime --version @@ -27,35 +30,43 @@ else echo "kata-ctl not found in PATH!"; exit 1 fi -echo "[3/6] Checking QEMU version..." +echo "[4/7] Checking QEMU version..." if command -v qemu-system-x86_64 >/dev/null 2>&1; then qemu-system-x86_64 --version else echo "qemu-system-x86_64 not found in PATH!"; exit 1 fi -echo "[4/6] Loading vhost_net kernel module (required for Kata networking)..." +echo "[5/7] Loading vhost_net kernel module (required for Kata networking)..." sudo modprobe vhost_net -# 5. Run kata-runtime check (system compatibility) -echo "[5/6] Running kata-runtime check (system compatibility)..." +# 6. Run kata-runtime check (system compatibility) +echo "[6/7] Running kata-runtime check (system compatibility)..." if ! kata-runtime check; then echo "[ERROR] System is not capable of running Kata Containers." exit 1 fi -# 6. Run a simple Kata container using containerd (if available) -echo "[6/6] Attempting to run a test container with Kata runtime (containerd)..." +# 7. Run a simple Kata container using containerd (if available) +echo "[7/7] Attempting to run a test container with Kata runtime (containerd)..." if command -v ctr >/dev/null 2>&1; then + # Clean up any existing test containers + echo "[Test] Cleaning up any existing test containers..." + sudo ctr task kill kata-test-bg 2>/dev/null || true + sudo ctr task rm kata-test-bg 2>/dev/null || true + sudo ctr container rm kata-test-bg 2>/dev/null || true + sudo ctr images pull docker.io/library/alpine:latest # Start a container in the background (do not use --rm so we can exec into it) sudo ctr run -d --runtime io.containerd.kata.v2 docker.io/library/alpine:latest kata-test-bg sleep 300 # Wait a moment for the container to be up sleep 2 - echo "[Test] Exec into the running container and run 'ls -lR /'..." - sudo ctr task exec -t --exec-id kata-ls kata-test-bg ls -lR / + echo "[Test] Exec into the running container and run 'uname -a'..." + sudo ctr task exec --exec-id kata-uname kata-test-bg uname -a echo "[Test] Show /etc/os-release inside the container..." - sudo ctr task exec -t --exec-id kata-osrel kata-test-bg cat /etc/os-release + sudo ctr task exec --exec-id kata-osrel kata-test-bg cat /etc/os-release + echo "[Test] Show ls -lR /usr inside the container..." + sudo ctr task exec --exec-id kata-ls kata-test-bg ls -lR /usr # Clean up: kill the task and delete the container echo "[Cleanup] Deleting test container..." sudo ctr task kill kata-test-bg || true @@ -77,4 +88,4 @@ else echo "journalctl not found, skipping log check." fi -echo "All tests completed. If no errors above, the RPM is likely working." \ No newline at end of file +echo "All tests completed. If no errors above, the RPM is likely working with containerd." \ No newline at end of file diff --git a/test-kata-rpm-crio.sh b/test-kata-rpm-crio.sh new file mode 100755 index 0000000..d02d2d8 --- /dev/null +++ b/test-kata-rpm-crio.sh @@ -0,0 +1,190 @@ +#!/bin/bash +set -euo pipefail + +# Usage: ./test_kata_rpm_crio.sh /path/to/kata-containers-3.20*.rpm + +RPM_PATH=${1:-} + +if [[ -z "$RPM_PATH" ]]; then + echo "Usage: $0 /path/to/kata-containers-*.rpm" + exit 1 +fi + +# 1. Remove existing kata-containers packages and install the RPM +echo "[1/7] Removing existing kata-containers packages..." +sudo rpm -e --allmatches kata-containers 2>/dev/null || echo "No existing kata-containers packages to remove" + +echo "[2/7] Installing Kata Containers RPM: $RPM_PATH" +sudo rpm -i "$RPM_PATH" + +echo "[3/7] Checking installed binaries and versions..." +# kata-agent is not expected on the host; it runs inside the Kata VM image. +if command -v kata-runtime >/dev/null 2>&1; then + kata-runtime --version +else + echo "kata-runtime not found in PATH!"; exit 1 +fi +if command -v kata-ctl >/dev/null 2>&1; then + kata-ctl version +else + echo "kata-ctl not found in PATH!"; exit 1 +fi + +echo "[4/7] Checking QEMU version..." +if command -v qemu-system-x86_64 >/dev/null 2>&1; then + qemu-system-x86_64 --version +else + echo "qemu-system-x86_64 not found in PATH!"; exit 1 +fi + +echo "[5/7] Loading vhost_net kernel module (required for Kata networking)..." +sudo modprobe vhost_net + +# 6. Run kata-runtime check (system compatibility) +echo "[6/7] Running kata-runtime check (system compatibility)..." +if ! kata-runtime check; then + echo "[ERROR] System is not capable of running Kata Containers." + exit 1 +fi + +# 7. Run a simple Kata container using CRI-O (if available) +echo "[7/7] Attempting to run a test container with Kata runtime (CRI-O)..." +if command -v crictl >/dev/null 2>&1; then + # Check if CRI-O is running, if not try to start it + if ! systemctl is-active --quiet crio; then + echo "[Test] CRI-O is not running, attempting to start it..." + sudo systemctl start crio || { + echo "[WARNING] Failed to start CRI-O, falling back to containerd test..." + echo "[Test] Running containerd test instead..." + if command -v ctr >/dev/null 2>&1; then + sudo ctr images pull docker.io/library/alpine:latest + sudo ctr run --runtime io.containerd.kata.v2 --rm docker.io/library/alpine:latest kata-test-crio-fallback uname -a || { + echo "Failed to run container with containerd fallback."; exit 1; + } + echo "[Test] Containerd fallback test completed." + else + echo "Neither CRI-O nor containerd available for testing." + fi + exit 0 + } + fi + + # Configure crictl to use CRI-O instead of containerd + echo "[Test] Configuring crictl to use CRI-O..." + sudo crictl config --set runtime-endpoint=unix:///var/run/crio/crio.sock + sudo crictl config --set image-endpoint=unix:///var/run/crio/crio.sock + # Pull the image + echo "[Test] Pulling alpine image..." + sudo crictl pull docker.io/library/alpine:latest + + # Create temporary pod and container config files + echo "[Test] Creating pod and container configurations..." + + # Create pod config + cat > /tmp/pod-config.json << 'EOF' +{ + "metadata": { + "name": "kata-test-pod", + "namespace": "default", + "uid": "kata-test-pod-uid" + }, + "log_directory": "/tmp", + "linux": {} +} +EOF + + # Create container config + cat > /tmp/container-config.json << 'EOF' +{ + "metadata": { + "name": "kata-test-container" + }, + "image": { + "image": "docker.io/library/alpine:latest" + }, + "command": ["sleep", "300"], + "linux": {} +} +EOF + + # Create pod sandbox + echo "[Test] Creating pod sandbox with kata runtime..." + POD_ID=$(sudo crictl runp --runtime kata /tmp/pod-config.json 2>/dev/null || echo "") + if [[ -z "$POD_ID" ]]; then + echo "[Test] Creating pod sandbox with default runtime..." + POD_ID=$(sudo crictl runp /tmp/pod-config.json 2>/dev/null || echo "") + fi + + if [[ -n "$POD_ID" ]]; then + echo "[Test] Pod created with ID: $POD_ID, waiting for it to be ready..." + # Wait for pod to be ready (up to 30 seconds) + for i in {1..30}; do + if sudo crictl inspectp $POD_ID >/dev/null 2>&1; then + echo "[Test] Pod is ready!" + break + fi + echo "[Test] Waiting for pod to be ready... ($i/30)" + sleep 1 + done + + # Create container + echo "[Test] Creating container..." + CONTAINER_ID=$(sudo crictl create $POD_ID /tmp/container-config.json /tmp/pod-config.json 2>/dev/null || echo "") + if [[ -z "$CONTAINER_ID" ]]; then + echo "[Test] Creating container with default runtime..." + CONTAINER_ID=$(sudo crictl create $POD_ID /tmp/container-config.json /tmp/pod-config.json 2>/dev/null || echo "") + fi + + if [[ -n "$CONTAINER_ID" ]]; then + echo "[Test] Container created with ID: $CONTAINER_ID" + + # Start container + echo "[Test] Starting container..." + sudo crictl start $CONTAINER_ID + + # Wait a moment for the container to be up + sleep 2 + + # Execute commands in the container + echo "[Test] Exec into the running container and run 'uname -a'..." + sudo crictl exec $CONTAINER_ID uname -a || echo "uname command failed" + + echo "[Test] Show /etc/os-release inside the container..." + sudo crictl exec $CONTAINER_ID cat /etc/os-release || echo "cat /etc/os-release failed" + + echo "[Test] Show ls -lR /usr inside the container..." + sudo crictl exec $CONTAINER_ID ls -lR /usr || echo "ls -lR /usr command failed" + + # Clean up + echo "[Cleanup] Stopping and removing container..." + sudo crictl stop $CONTAINER_ID || true + sudo crictl rm $CONTAINER_ID || true + else + echo "[ERROR] Failed to create container" + fi + + # Clean up pod + echo "[Cleanup] Removing pod sandbox..." + sudo crictl stopp $POD_ID || true + sudo crictl rmp $POD_ID || true + else + echo "[ERROR] Failed to create pod sandbox" + fi + + # Clean up temp files + rm -f /tmp/pod-config.json /tmp/container-config.json + + echo "[Test] CRI-O container test completed." +else + echo "CRI-O (crictl) not found, skipping container test." +fi + +# Check logs for errors +echo "[Post-test] Checking Kata logs for errors..." +if journalctl --version >/dev/null 2>&1; then + sudo journalctl -xe | grep kata || echo "No kata logs found." +else + echo "journalctl not found, skipping log check." +fi + +echo "All tests completed. If no errors above, the RPM is likely working with CRI-O." From a4f777323d4b9359957e37e374129e34039488c0 Mon Sep 17 00:00:00 2001 From: Christophe de Dinechin Date: Tue, 30 Sep 2025 18:04:50 +0200 Subject: [PATCH 14/16] Check that we are indeed running in a VM When running in kata containers, we should be running in a VM. One manifestation is that the boot command line is different. Check that and report it. Signed-off-by: Christophe de Dinechin --- test-kata-rpm-containerd.sh | 26 +++++++------- test-kata-rpm-crio.sh | 67 +++++++++++++++++++++++-------------- 2 files changed, 55 insertions(+), 38 deletions(-) diff --git a/test-kata-rpm-containerd.sh b/test-kata-rpm-containerd.sh index 95f7d54..f34c27a 100755 --- a/test-kata-rpm-containerd.sh +++ b/test-kata-rpm-containerd.sh @@ -55,7 +55,7 @@ if command -v ctr >/dev/null 2>&1; then sudo ctr task kill kata-test-bg 2>/dev/null || true sudo ctr task rm kata-test-bg 2>/dev/null || true sudo ctr container rm kata-test-bg 2>/dev/null || true - + sudo ctr images pull docker.io/library/alpine:latest # Start a container in the background (do not use --rm so we can exec into it) sudo ctr run -d --runtime io.containerd.kata.v2 docker.io/library/alpine:latest kata-test-bg sleep 300 @@ -65,8 +65,18 @@ if command -v ctr >/dev/null 2>&1; then sudo ctr task exec --exec-id kata-uname kata-test-bg uname -a echo "[Test] Show /etc/os-release inside the container..." sudo ctr task exec --exec-id kata-osrel kata-test-bg cat /etc/os-release - echo "[Test] Show ls -lR /usr inside the container..." - sudo ctr task exec --exec-id kata-ls kata-test-bg ls -lR /usr + + echo "[Test] Verify we're running in a Kata VM by checking /proc/cmdline..." + HOST_CMDLINE=$(cat /proc/cmdline) + GUEST_CMDLINE=$(sudo ctr task exec --exec-id kata-cmdline kata-test-bg cat /proc/cmdline) + echo "[Test] Host cmdline: ${HOST_CMDLINE}" + echo "[Test] Container cmdline: ${GUEST_CMDLINE}" + if [[ "${HOST_CMDLINE}" == "${GUEST_CMDLINE}" ]]; then + echo "[ERROR] VM verification: Container cmdline is the same as host - this indicates the container is NOT running in a Kata VM!" + exit 1 + else + echo "[SUCCESS] Kata VM isolation is working correctly!" + fi # Clean up: kill the task and delete the container echo "[Cleanup] Deleting test container..." sudo ctr task kill kata-test-bg || true @@ -80,12 +90,4 @@ else echo "containerd (ctr) not found, skipping container test." fi -# Check logs for errors -echo "[Post-test] Checking Kata logs for errors..." -if journalctl --version >/dev/null 2>&1; then - sudo journalctl -xe | grep kata || echo "No kata logs found." -else - echo "journalctl not found, skipping log check." -fi - -echo "All tests completed. If no errors above, the RPM is likely working with containerd." \ No newline at end of file +echo "All tests completed. If no errors above, the RPM is likely working with containerd." diff --git a/test-kata-rpm-crio.sh b/test-kata-rpm-crio.sh index d02d2d8..357d26c 100755 --- a/test-kata-rpm-crio.sh +++ b/test-kata-rpm-crio.sh @@ -68,7 +68,7 @@ if command -v crictl >/dev/null 2>&1; then exit 0 } fi - + # Configure crictl to use CRI-O instead of containerd echo "[Test] Configuring crictl to use CRI-O..." sudo crictl config --set runtime-endpoint=unix:///var/run/crio/crio.sock @@ -76,10 +76,10 @@ if command -v crictl >/dev/null 2>&1; then # Pull the image echo "[Test] Pulling alpine image..." sudo crictl pull docker.io/library/alpine:latest - + # Create temporary pod and container config files echo "[Test] Creating pod and container configurations..." - + # Create pod config cat > /tmp/pod-config.json << 'EOF' { @@ -114,7 +114,7 @@ EOF echo "[Test] Creating pod sandbox with default runtime..." POD_ID=$(sudo crictl runp /tmp/pod-config.json 2>/dev/null || echo "") fi - + if [[ -n "$POD_ID" ]]; then echo "[Test] Pod created with ID: $POD_ID, waiting for it to be ready..." # Wait for pod to be ready (up to 30 seconds) @@ -126,7 +126,7 @@ EOF echo "[Test] Waiting for pod to be ready... ($i/30)" sleep 1 done - + # Create container echo "[Test] Creating container..." CONTAINER_ID=$(sudo crictl create $POD_ID /tmp/container-config.json /tmp/pod-config.json 2>/dev/null || echo "") @@ -134,35 +134,58 @@ EOF echo "[Test] Creating container with default runtime..." CONTAINER_ID=$(sudo crictl create $POD_ID /tmp/container-config.json /tmp/pod-config.json 2>/dev/null || echo "") fi - + if [[ -n "$CONTAINER_ID" ]]; then echo "[Test] Container created with ID: $CONTAINER_ID" - + # Start container echo "[Test] Starting container..." - sudo crictl start $CONTAINER_ID - + if ! sudo crictl start $CONTAINER_ID 2>/dev/null; then + # Clean up and retry + echo "[Test] Container start failed, cleaning up and retrying..." + sudo crictl stop $CONTAINER_ID 2>/dev/null || true + sudo crictl rm $CONTAINER_ID 2>/dev/null || true + CONTAINER_ID=$(sudo crictl create $POD_ID /tmp/container-config.json /tmp/pod-config.json 2>/dev/null || echo "") + if [[ -z "$CONTAINER_ID" ]] || ! sudo crictl start $CONTAINER_ID; then + echo "[ERROR] Failed to start container after cleanup" + exit 1 + fi + fi + # Wait a moment for the container to be up sleep 2 - + # Execute commands in the container echo "[Test] Exec into the running container and run 'uname -a'..." sudo crictl exec $CONTAINER_ID uname -a || echo "uname command failed" - + echo "[Test] Show /etc/os-release inside the container..." sudo crictl exec $CONTAINER_ID cat /etc/os-release || echo "cat /etc/os-release failed" - - echo "[Test] Show ls -lR /usr inside the container..." - sudo crictl exec $CONTAINER_ID ls -lR /usr || echo "ls -lR /usr command failed" - + + echo "[Test] Verify we're running in a Kata VM by checking /proc/cmdline..." + HOST_CMDLINE=$(cat /proc/cmdline) + GUEST_CMDLINE=$(sudo crictl exec $CONTAINER_ID cat /proc/cmdline || echo "cat /proc/cmdline command failed") + echo "[Test] Host cmdline: ${HOST_CMDLINE}" + echo "[Test] Container cmdline: ${GUEST_CMDLINE}" + if [[ "${HOST_CMDLINE}" == "${GUEST_CMDLINE}" ]]; then + echo "[ERROR] The container is NOT running in a Kata VM!" + else + echo "[SUCCESS] Kata VM isolation is working correctly!" + fi + # Clean up echo "[Cleanup] Stopping and removing container..." sudo crictl stop $CONTAINER_ID || true sudo crictl rm $CONTAINER_ID || true + + if [[ "${HOST_CMDLINE}" == "${GUEST_CMDLINE}" ]]; then + echo "[ERROR] Container was running but not with Kata runtime" + exit 1 + fi else echo "[ERROR] Failed to create container" fi - + # Clean up pod echo "[Cleanup] Removing pod sandbox..." sudo crictl stopp $POD_ID || true @@ -170,21 +193,13 @@ EOF else echo "[ERROR] Failed to create pod sandbox" fi - + # Clean up temp files rm -f /tmp/pod-config.json /tmp/container-config.json - + echo "[Test] CRI-O container test completed." else echo "CRI-O (crictl) not found, skipping container test." fi -# Check logs for errors -echo "[Post-test] Checking Kata logs for errors..." -if journalctl --version >/dev/null 2>&1; then - sudo journalctl -xe | grep kata || echo "No kata logs found." -else - echo "journalctl not found, skipping log check." -fi - echo "All tests completed. If no errors above, the RPM is likely working with CRI-O." From 1554ec9f199fb5259edc03d49469c86b2b092b8c Mon Sep 17 00:00:00 2001 From: Christophe de Dinechin Date: Mon, 3 Nov 2025 15:29:02 +0100 Subject: [PATCH 15/16] tests: Remove steps that retry with containerd The CRIO test is specifically designed to test CRIO, so avoid falling back to containerd if things don't work with CRIO. Signed-off-by: Christophe de Dinechin --- test-kata-rpm-crio.sh | 49 +++++++++++++++++++++++-------------------- 1 file changed, 26 insertions(+), 23 deletions(-) diff --git a/test-kata-rpm-crio.sh b/test-kata-rpm-crio.sh index 357d26c..fc5365b 100755 --- a/test-kata-rpm-crio.sh +++ b/test-kata-rpm-crio.sh @@ -54,18 +54,8 @@ if command -v crictl >/dev/null 2>&1; then if ! systemctl is-active --quiet crio; then echo "[Test] CRI-O is not running, attempting to start it..." sudo systemctl start crio || { - echo "[WARNING] Failed to start CRI-O, falling back to containerd test..." - echo "[Test] Running containerd test instead..." - if command -v ctr >/dev/null 2>&1; then - sudo ctr images pull docker.io/library/alpine:latest - sudo ctr run --runtime io.containerd.kata.v2 --rm docker.io/library/alpine:latest kata-test-crio-fallback uname -a || { - echo "Failed to run container with containerd fallback."; exit 1; - } - echo "[Test] Containerd fallback test completed." - else - echo "Neither CRI-O nor containerd available for testing." - fi - exit 0 + echo "[WARNING] Failed to start CRI-O..." + exit 1 } fi @@ -80,16 +70,27 @@ if command -v crictl >/dev/null 2>&1; then # Create temporary pod and container config files echo "[Test] Creating pod and container configurations..." - # Create pod config + # Create pod config (minimal Kata documentation config) cat > /tmp/pod-config.json << 'EOF' { - "metadata": { - "name": "kata-test-pod", - "namespace": "default", - "uid": "kata-test-pod-uid" - }, - "log_directory": "/tmp", - "linux": {} + "metadata": { + "name": "busybox-pod", + "uid": "busybox-pod", + "namespace": "test.kata" + }, + "hostname": "busybox_host", + "log_directory": "", + "dns_config": { + }, + "port_mappings": [], + "resources": { + }, + "labels": { + }, + "annotations": { + }, + "linux": { + } } EOF @@ -97,7 +98,7 @@ EOF cat > /tmp/container-config.json << 'EOF' { "metadata": { - "name": "kata-test-container" + "name": "busybox-container" }, "image": { "image": "docker.io/library/alpine:latest" @@ -111,8 +112,10 @@ EOF echo "[Test] Creating pod sandbox with kata runtime..." POD_ID=$(sudo crictl runp --runtime kata /tmp/pod-config.json 2>/dev/null || echo "") if [[ -z "$POD_ID" ]]; then - echo "[Test] Creating pod sandbox with default runtime..." - POD_ID=$(sudo crictl runp /tmp/pod-config.json 2>/dev/null || echo "") + echo "[Test] Failed to create pod sandbox with Kata runtime" + journalctl -g kata + echo "[Test] Failed to create pod sandbox with Kata runtime, exiting" + exit 1 fi if [[ -n "$POD_ID" ]]; then From 3007f6d76a810fd8ef5c059842511c99f4550701 Mon Sep 17 00:00:00 2001 From: Christophe de Dinechin Date: Mon, 3 Nov 2025 17:10:47 +0100 Subject: [PATCH 16/16] Bump to Kata Containers 3.22 Signed-off-by: Christophe de Dinechin --- .gitignore | 2 ++ kata-containers.spec | 5 ++++- sources | 4 ++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 1264cb2..ad07063 100644 --- a/.gitignore +++ b/.gitignore @@ -71,3 +71,5 @@ /kata-containers-3.20.0-vendor.tar.gz /kata-containers-3.21.0.tar.gz /kata-containers-3.21.0-vendor.tar.gz +/kata-containers-3.22.0.tar.gz +/kata-containers-3.22.0-vendor.tar.gz diff --git a/kata-containers.spec b/kata-containers.spec index 2262221..641d018 100644 --- a/kata-containers.spec +++ b/kata-containers.spec @@ -28,7 +28,7 @@ %endif # https://github.com/kata-containers/kata-containers -Version: 3.21.0 +Version: 3.22.0 %global tag %{version}%{?rcstr} %global domain github.com @@ -390,6 +390,9 @@ fi %changelog +* Tue Nov 04 2025 Christophe de Dinechin - 3.22.0-1 +- kata-containers 3.22.0 + * Thu Sep 25 2025 Christophe de Dinechin - 3.21.0-1 - kata-containers 3.21.0 diff --git a/sources b/sources index dafeef3..c82bc85 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (kata-containers-3.21.0.tar.gz) = 703cf7ea73a306d190955c04041fdcecffc7de20b05c231aca3ccfae0e53ebdd7221b9a04d0f02e129c88e9084bdcca2ec8f6f440b1e5b450fd4fc5768f46615 -SHA512 (kata-containers-3.21.0-vendor.tar.gz) = d695f2c6e03402f2543daadf1506da614a032180d22855c3fa973380072166b157d19990ca9429f48379fca61801f85caff25e38b5ae27e483eda1d2692bcfec +SHA512 (kata-containers-3.22.0.tar.gz) = 142bc70b6455f545d534371a845980ed00985d7225b5f672f3fef046a6f0a31871bd69ee2c931ab94c10089086123fe5987ec6615d7a7308027531269c4dae48 +SHA512 (kata-containers-3.22.0-vendor.tar.gz) = 10b28d746d5176acce4abcb902213edcfb43b0b390a5d20f114b7dc4e11bc8de26098f180bdf75bcff3e6d03f2b3a31908f4386d7ca24119f9e001cd99c52060