!1 Initial RPM release

Merge pull request !1 from jake/master
This commit is contained in:
openeuler-ci-bot 2024-08-20 03:34:37 +00:00 committed by Gitee
commit 7bd556172e
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
3 changed files with 130 additions and 0 deletions

View File

@ -0,0 +1,59 @@
From 8f18f3be75b1631d259c0a296cbf79df0cecd17a Mon Sep 17 00:00:00 2001
From: jikai <jikai11@huawei.com>
Date: Sat, 17 Aug 2024 17:02:02 +0000
Subject: [PATCH] add some missing c-rust struct transfer
Signed-off-by: jikai <jikai11@huawei.com>
---
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

Binary file not shown.

View File

@ -0,0 +1,71 @@
#needsrootforbuild
%global __cargo_skip_build 0
%global _debugsource_packages 1
%global _debuginfo_subpackages 1
%define _unpackaged_files_terminate_build 0
%define debug_package %{nil}
Name: isula-rust-extensions
Version: 0.0.1
Release: 1
URL: https://gitee.com/openeuler/isula-rust-extensions
Source: %{name}-%{version}.tar.gz
Summary: isula-rust-extensions is a rust-extension library for iSulad.
Group: Application/System
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
%description
Based on Rust programming language, rust-extension library for iSulad.
%package devel
Summary: Rust extensions for iSulad
Group: Libraries
ExclusiveArch: x86_64 aarch64
Requires: %{name} = %{version}-%{release}
%description devel
the %{name}-libs package contains rust-extension library for iSulad
%prep
%autosetup -p1
pushd nri
%cargo_prep
%cargo_generate_buildrequires
popd
%build
cd 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
%ifarch aarch64
sed -i 's/rustflags = \[/rustflags = \["-Clink-arg=-lgcc", "-Clink-arg=-lfdt", /g' ./.cargo/config
%endif
%cargo_build -a
%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
%files
%defattr(-,root, root,-)
%{_libdir}/*
%files devel
%defattr(-,root, root,-)
%{_includedir}/nri_plugin.h
%changelog
* Fri Aug 09 2024 jikai <jikai11@huawei.com> - 0.0.1-1
- Initial RPM release