commit 56659f51ecbcd15a6948e0c1ecba6df23ec8a4e6 Author: tigro Date: Mon Jan 15 21:43:52 2024 +0300 import rust-libbpf-rs-0.22.0-1.el9 diff --git a/.rust-libbpf-rs.metadata b/.rust-libbpf-rs.metadata new file mode 100644 index 0000000..e69de29 diff --git a/SOURCES/libbpf-rs-0.22.0.crate b/SOURCES/libbpf-rs-0.22.0.crate new file mode 100644 index 0000000..791cdf5 Binary files /dev/null and b/SOURCES/libbpf-rs-0.22.0.crate differ diff --git a/SOURCES/libbpf-rs-fix-metadata.diff b/SOURCES/libbpf-rs-fix-metadata.diff new file mode 100644 index 0000000..dada278 --- /dev/null +++ b/SOURCES/libbpf-rs-fix-metadata.diff @@ -0,0 +1,13 @@ +--- libbpf-rs-0.22.0/Cargo.toml 1970-01-01T00:00:01+00:00 ++++ libbpf-rs-0.22.0/Cargo.toml 2023-12-29T20:52:37.035784+00:00 +@@ -78,8 +78,8 @@ + [dev-dependencies.plain] + version = "0.2.3" + +-[dev-dependencies.probe] +-version = "0.3" ++[target."cfg(any(target_arch = \"x86\", target_arch = \"x86_64\", target_arch = \"aarch64\"))".dev-dependencies.probe] ++version = "0.5" + + [dev-dependencies.scopeguard] + version = "1.1" diff --git a/SOURCES/libbpf-rs-restrict-probe-arches.diff b/SOURCES/libbpf-rs-restrict-probe-arches.diff new file mode 100644 index 0000000..e155da6 --- /dev/null +++ b/SOURCES/libbpf-rs-restrict-probe-arches.diff @@ -0,0 +1,26 @@ +--- a/tests/test.rs ++++ b/tests/test.rs +@@ -17,6 +17,7 @@ use std::time::Duration; + use nix::errno; + use nix::unistd::close; + use plain::Plain; ++#[cfg(any(target_arch = "x86", target_arch = "x86_64", target_arch = "aarch64"))] + use probe::probe; + use scopeguard::defer; + use std::ptr; +@@ -1237,6 +1238,7 @@ fn test_sudo_object_map_handle_clone() { + } + + #[test] ++#[cfg(any(target_arch = "x86", target_arch = "x86_64", target_arch = "aarch64"))] + fn test_sudo_object_usdt() { + bump_rlimit_mlock(); + +@@ -1266,6 +1268,7 @@ fn test_sudo_object_usdt() { + } + + #[test] ++#[cfg(any(target_arch = "x86", target_arch = "x86_64", target_arch = "aarch64"))] + fn test_sudo_object_usdt_cookie() { + bump_rlimit_mlock(); + diff --git a/SPECS/rust-libbpf-rs.spec b/SPECS/rust-libbpf-rs.spec new file mode 100644 index 0000000..e9f2beb --- /dev/null +++ b/SPECS/rust-libbpf-rs.spec @@ -0,0 +1,202 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.3.5) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 1; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + +# Generated by rust2rpm 25 +%bcond_without check +%global debug_package %{nil} + +%global crate libbpf-rs + +Name: rust-libbpf-rs +Version: 0.22.0 +Release: %autorelease +Summary: Safe, idiomatic, and opinionated wrapper around libbpf-sys + +License: LGPL-2.1-only OR BSD-2-Clause +URL: https://crates.io/crates/libbpf-rs +Source: %{crates_source} +# Manually created patch for downstream crate metadata changes +# * bump probe dependency to 0.5 +# * only depend on probe on architectures that support inline assembly +Patch: libbpf-rs-fix-metadata.diff +# * restrict probe tests to architectures that support inline assembly +Patch: libbpf-rs-restrict-probe-arches.diff + +BuildRequires: cargo-rpm-macros >= 24 + +%global _description %{expand: +Libbpf-rs is a safe, idiomatic, and opinionated wrapper around libbpf- +sys.} + +%description %{_description} + +%package devel +Summary: %{summary} +BuildArch: noarch + +%description devel %{_description} + +This package contains library source intended for building other packages which +use the "%{crate}" crate. + +%files devel +%license %{crate_instdir}/LICENSE +%license %{crate_instdir}/LICENSE.BSD-2-Clause +%license %{crate_instdir}/LICENSE.LGPL-2.1 +%doc %{crate_instdir}/CHANGELOG.md +%doc %{crate_instdir}/README.md +%{crate_instdir}/ + +%package -n %{name}+default-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+default-devel %{_description} + +This package contains library source intended for building other packages which +use the "default" feature of the "%{crate}" crate. + +%files -n %{name}+default-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+novendor-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+novendor-devel %{_description} + +This package contains library source intended for building other packages which +use the "novendor" feature of the "%{crate}" crate. + +%files -n %{name}+novendor-devel +%ghost %{crate_instdir}/Cargo.toml + +%package -n %{name}+static-devel +Summary: %{summary} +BuildArch: noarch + +%description -n %{name}+static-devel %{_description} + +This package contains library source intended for building other packages which +use the "static" feature of the "%{crate}" crate. + +%files -n %{name}+static-devel +%ghost %{crate_instdir}/Cargo.toml + +%prep +%autosetup -n %{crate}-%{version} -p1 +%cargo_prep + +%generate_buildrequires +%cargo_generate_buildrequires + +%build +%cargo_build + +%install +%cargo_install + +%if %{with check} +%check +# most of these tests fail, RLIMIT_MEMLOCK does not work in mock +rm tests/test.rs +rm tests/test_tc.rs +%cargo_test +%endif + +%changelog +* Mon Jan 15 2024 Arkady L. Shane - 0.22.0-1 +- Rebuilt for MSVSphere 9.3 + +* Fri Dec 29 2023 Michel Lind - 0.22.0-1 +- Update to 0.22.0 + +* Wed Aug 02 2023 Michel Alexandre Salim - 0.21.2-1 +- Update to 0.21.2 + +* Fri Jul 21 2023 Fedora Release Engineering - 0.19.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Jan 30 2023 Michel Alexandre Salim - 0.19.1-5 +- Unify spec so novendor is toggled based on Fedora release version + +* Fri Jan 27 2023 Michel Alexandre Salim - 0.19.1-4 +- Use libbpf-sys with vendored libbpf, as the system libbpf is too old + +* Fri Jan 27 2023 Michel Alexandre Salim - 0.19.1-3 +- Remove unused patches + +* Fri Jan 20 2023 Fedora Release Engineering - 0.19.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Dec 09 2022 Michel Alexandre Salim - 0.19.1-1 +- Update to 0.19.1 + +* Sat Jul 23 2022 Fedora Release Engineering - 0.16.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Feb 16 2022 Michel Alexandre Salim - 0.16.0-3 +- Remove old patch + +* Wed Feb 16 2022 Michel Alexandre Salim - 0.16.0-2 +- Update patch to allow building against libbpf-sys-0.4.0-2 + +* Tue Feb 15 2022 Michel Alexandre Salim - 0.16.0-1 +- Update to 0.16.0 (resolves: rhbz#2028952) + +* Fri Jan 21 2022 Fedora Release Engineering - 0.14.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Nov 11 2021 Davide Cavalca - 0.14.0-1 +- Update to 0.14.0; Fixes: RHBZ#2022163 + +* Sun Oct 24 2021 Davide Cavalca - 0.13.0-2 +- Downgrade libbpf-sys to 0.4.0-2 on Fedora 35 and earlier + +* Thu Oct 14 2021 Davide Cavalca - 0.13.0-1 +- Update to 0.13.0; Fixes: RHBZ#1989690 + +* Fri Jul 30 2021 Davide Cavalca - 0.11.2-2 +- Backport novendor feature from PR#125 + +* Thu Jul 29 2021 Davide Cavalca - 0.11.2-1 +- Update to 0.11.2; Fixes: RHBZ#1983187 + +* Fri Jul 23 2021 Fedora Release Engineering - 0.11.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sat Jun 26 2021 Davide Cavalca - 0.11.1-1 +- Update to 0.11.1 + +* Thu Jun 17 2021 Robert-André Mauchin - 0.11.0-2 +- Bump strum_macros to 0.21 + +* Fri Jun 04 2021 Davide Cavalca - 0.11.0-1 +- Update to 0.11.0 +- Backport PR#112 to bump libbpf-sys to 0.4.0-1 + +* Wed Jun 02 2021 Davide Cavalca - 0.10.0-1 +- Update to 0.10.0 + +* Tue May 11 2021 Davide Cavalca - 0.9.2-1 +- Update to 0.9.3 + +* Tue May 11 2021 Davide Cavalca - 0.9.2-1 +- Update to 0.9.2 +- Install README + +* Mon May 10 2021 Davide Cavalca - 0.9.1-1 +- Update to 0.9.1 +- Update build requires +- Install license files + +* Fri May 07 10:04:18 PDT 2021 Davide Cavalca - 0.9.0-1 +- Initial package +