diff --git a/.gitignore b/.gitignore index e69de29..63e6ba4 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1 @@ +/libnxz-0.64.tar.gz diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..eb7c84f --- /dev/null +++ b/gating.yaml @@ -0,0 +1,6 @@ +--- !Policy +product_versions: + - rhel-8 +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional} diff --git a/libnxz.spec b/libnxz.spec new file mode 100644 index 0000000..204ec48 --- /dev/null +++ b/libnxz.spec @@ -0,0 +1,86 @@ +# Keep the *.la file around +# See https://fedoraproject.org/wiki/Changes/RemoveLaFiles +%global __brp_remove_la_files %nil + +Name: libnxz +Version: 0.64 +Release: 1%{?dist} +Summary: Zlib implementation for POWER processors +License: ASL 2.0 or GPLv2+ +Url: https://github.com/libnxz/power-gzip +BuildRequires: zlib-devel +Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz + +# Be explicit about the soname in order to avoid unintentional changes. +%global soname libnxz.so.0 + +ExclusiveArch: ppc64le +BuildRequires: gcc +BuildRequires: make +BuildRequires: systemd-rpm-macros + +# udev rules for nx-gzip dev +Requires: powerpc-utils-core > 1.3.10-4 + +%description +libnxz is a zlib-compatible library that uses the NX GZIP Engine available on +POWER9 or newer processors in order to provide a faster zlib/gzip compression +without using the general-purpose cores. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +The %{name}-devel package contains header files for developing application that +use %{name}. + +%package static +Summary: Static library for %{name} development +Requires: %{name}-devel%{?_isa} = %{version}-%{release} + +%description static +The %{name}-static package contains static libraries for developing +application that use %{name}. + +%prep +%autosetup -p1 -n power-gzip-%{version} + +%build +%configure --enable-zlib-api +%make_build + +%check +# libnxz tests only work on P9 servers or newer, with Linux >= 5.8. +# This combination is not guaranteed to have at build time. Check if +# NX GZIP engine device is available before deciding to run the tests. +if [[ -w "/dev/crypto/nx-gzip" ]]; then + make check +fi + +%install +%make_install + +%pre +%{_sbindir}/groupadd -r -f nx-gzip + +%files +%{_libdir}/%{soname} +%{_libdir}/libnxz.so.0.%{version} +%license %{_docdir}/%{name}/APACHE-2.0.txt +%license %{_docdir}/%{name}/gpl-2.0.txt +%doc README.md + +%files devel +%{_includedir}/libnxz.h +%{_libdir}/libnxz.so + +%files static +%{_libdir}/libnxz.a +%{_libdir}/libnxz.la + +%changelog +* Tue May 16 2023 Jakub Čajka - 0.64-1 +- initial package import from Fedora +- Resolves: RHBZ#2028638, RHBZ#2174893 + diff --git a/sources b/sources new file mode 100644 index 0000000..4c392e0 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (libnxz-0.64.tar.gz) = a0f8db14c00efb2e008d54bbd567e1073603fd9245140f729b1789b41224bb1c8e8865c18aa03e23a9c0df300b13fdbb580c36036af61d6d5ea11e5bc170ba3d