diff --git a/0001-add-some-missing-c-rust-struct-transfer.patch b/0001-add-some-missing-c-rust-struct-transfer.patch deleted file mode 100644 index 7399e169c5ea247371d44a71bf4f774a35d173d3..0000000000000000000000000000000000000000 --- a/0001-add-some-missing-c-rust-struct-transfer.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 8f18f3be75b1631d259c0a296cbf79df0cecd17a Mon Sep 17 00:00:00 2001 -From: jikai -Date: Sat, 17 Aug 2024 17:02:02 +0000 -Subject: [PATCH] add some missing c-rust struct transfer - -Signed-off-by: jikai ---- - nri/src/nri/c_transfer.rs | 13 +++++++++++-- - 1 file changed, 11 insertions(+), 2 deletions(-) - -diff --git a/nri/src/nri/c_transfer.rs b/nri/src/nri/c_transfer.rs -index 7c67e01..913fab9 100644 ---- a/nri/src/nri/c_transfer.rs -+++ b/nri/src/nri/c_transfer.rs -@@ -218,6 +218,11 @@ impl From<&NriLinuxMemory> for nri::LinuxMemory { - disable_oom_killer.value = unsafe { *req.disable_oom_killer } != 0; - r_rq.disable_oom_killer = MessageField::some(disable_oom_killer); - } -+ if !req.use_hierarchy.is_null() { -+ let mut use_hierarchy = OptionalBool::new(); -+ use_hierarchy.value = unsafe { *req.use_hierarchy } != 0; -+ r_rq.use_hierarchy = MessageField::some(use_hierarchy); -+ } - r_rq - - } -@@ -619,8 +624,9 @@ impl From<&NriPodSandbox> for nri::PodSandbox { - r_req.id = to_string(req.id); - r_req.name = to_string(req.name); - r_req.uid = to_string(req.uid); -- r_req.labels = to_hash_map(req.labels); - r_req.namespace = to_string(req.namespace); -+ r_req.labels = to_hash_map(req.labels); -+ r_req.annotations = to_hash_map(req.annotations); - r_req.runtime_handler =to_string(req.runtime_handler); - if !req.linux.is_null() { - r_req.linux = MessageField::some(nri::LinuxPodSandbox::from(unsafe { req.linux.as_ref() }.unwrap())); -@@ -645,7 +651,7 @@ impl From<&NriMount> for nri::Mount { - let mut r_req = nri::Mount::new(); - r_req.destination = to_string(req.destination); - r_req.type_ = to_string(req.type_); -- r_req.source =to_string(req.source); -+ r_req.source = to_string(req.source); - r_req.options = c_char_ptr_ptr_to_vec(req.options, req.options_len); - r_req - } -@@ -929,6 +935,9 @@ impl From<&NriContainerUpdate> for nri::ContainerUpdate { - fn from(req: &NriContainerUpdate) -> Self { - let mut r_req = nri::ContainerUpdate::new(); - r_req.container_id = to_string(req.container_id); -+ if !req.linux.is_null() { -+ r_req.linux = MessageField::some(nri::LinuxContainerUpdate::from(unsafe { req.linux.as_ref() }.unwrap())); -+ } - r_req.ignore_failure = (req.ignore_failure != 0) as bool; - r_req - } --- -2.34.1 - diff --git a/isula-rust-extensions-0.0.1.tar.gz b/isula-rust-extensions-0.0.2.tar.gz similarity index 48% rename from isula-rust-extensions-0.0.1.tar.gz rename to isula-rust-extensions-0.0.2.tar.gz index 3ece194ce3b283d69c2ce2339e6ff493e919b24b..e9257403ba4619d37c33eea66c78a36601d33305 100644 Binary files a/isula-rust-extensions-0.0.1.tar.gz and b/isula-rust-extensions-0.0.2.tar.gz differ diff --git a/isula-rust-extensions.spec b/isula-rust-extensions.spec index 9059afdc5dfd9c0d95c7778abf27177e2648f0e1..cf5c8b5af1f62588df3a79ba15ae2be4ee550829 100644 --- a/isula-rust-extensions.spec +++ b/isula-rust-extensions.spec @@ -6,7 +6,7 @@ %define debug_package %{nil} Name: isula-rust-extensions -Version: 0.0.1 +Version: 0.0.2 Release: 1 URL: https://gitee.com/openeuler/isula-rust-extensions Source: %{name}-%{version}.tar.gz @@ -16,12 +16,10 @@ License: Mulan PSL v2 ExclusiveArch: x86_64 aarch64 -Patch0001: 0001-add-some-missing-c-rust-struct-transfer.patch - BuildRequires: rust BuildRequires: cargo BuildRequires: rust-packaging -BuildRequires: gcc +BuildRequires: cmake gcc %description Based on Rust programming language, rust-extension library for iSulad. @@ -41,9 +39,13 @@ pushd nri %cargo_prep %cargo_generate_buildrequires popd +pushd sandbox +%cargo_prep +%cargo_generate_buildrequires +popd %build -cd nri +pushd nri sed -i '/\[source.crates-io\]/{n;d}' ./.cargo/config sed -i '/\[source.local-registry\]/{n;d}' ./.cargo/config sed -i '/\[source.local-registry\]/a directory = "vendor"' ./.cargo/config @@ -51,12 +53,25 @@ sed -i '/\[source.local-registry\]/a directory = "vendor"' ./.cargo/config sed -i 's/rustflags = \[/rustflags = \["-Clink-arg=-lgcc", "-Clink-arg=-lfdt", /g' ./.cargo/config %endif %cargo_build -a +popd +pushd sandbox +sed -i '/\[source.crates-io\]/{n;d}' ./.cargo/config +sed -i '/\[source.local-registry\]/{n;d}' ./.cargo/config +sed -i '/\[source.local-registry\]/a directory = "vendor"' ./.cargo/config +%ifarch aarch64 +sed -i 's/rustflags = \[/rustflags = \["-Clink-arg=-lgcc", "-Clink-arg=-lfdt", /g' ./.cargo/config +%endif +%cargo_build -a +popd %install mkdir -p ${RPM_BUILD_ROOT}/{%{_libdir},%{_includedir}} install -m 0644 nri/nri_plugin.h ${RPM_BUILD_ROOT}/%{_includedir}/nri_plugin.h strip nri/target/release/libisula_nri.so install -m 0755 nri/target/release/libisula_nri.so ${RPM_BUILD_ROOT}/%{_libdir}/libisula_nri.so +install -m 0644 sandbox/isula_sandbox_api.h ${RPM_BUILD_ROOT}/%{_includedir}/isula_sandbox_api.h +strip sandbox/target/release/libisula_sandbox.so +install -m 0755 sandbox/target/release/libisula_sandbox.so ${RPM_BUILD_ROOT}/%{_libdir}/libisula_sandbox.so %files %defattr(-,root, root,-) @@ -65,7 +80,11 @@ install -m 0755 nri/target/release/libisula_nri.so ${RPM_BUILD_ROOT}/%{_libdir}/ %files devel %defattr(-,root, root,-) %{_includedir}/nri_plugin.h +%{_includedir}/isula_sandbox_api.h %changelog +* Fri Nov 22 2024 xuxuepeng - 0.0.2-1 +- Update to 0.0.2, add support for sandbox API + * Fri Aug 09 2024 jikai - 0.0.1-1 - Initial RPM release