From c0261c3aa06f35e93452a9d141ed3a257195942f Mon Sep 17 00:00:00 2001 From: MSVSphere Packaging Team Date: Tue, 26 Nov 2024 19:04:02 +0300 Subject: [PATCH] import qatlib-24.02.0-3.el10 --- .gitignore | 1 + .qatlib.metadata | 1 + SOURCES/qatlib-drop-intel-ifdefs.patch | 34 ++++++ SPECS/qatlib.spec | 150 +++++++++++++++++++++++++ 4 files changed, 186 insertions(+) create mode 100644 .gitignore create mode 100644 .qatlib.metadata create mode 100644 SOURCES/qatlib-drop-intel-ifdefs.patch create mode 100644 SPECS/qatlib.spec diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ca9ca3c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/qatlib-24.02.0.tar.gz diff --git a/.qatlib.metadata b/.qatlib.metadata new file mode 100644 index 0000000..c475d2a --- /dev/null +++ b/.qatlib.metadata @@ -0,0 +1 @@ +a79ab315efc9a3e171bfd8def44b3f4acb41c1b8 SOURCES/qatlib-24.02.0.tar.gz diff --git a/SOURCES/qatlib-drop-intel-ifdefs.patch b/SOURCES/qatlib-drop-intel-ifdefs.patch new file mode 100644 index 0000000..659b0fd --- /dev/null +++ b/SOURCES/qatlib-drop-intel-ifdefs.patch @@ -0,0 +1,34 @@ +Drop Intel build system specific ifdefs (INTEL_CET_ENABLED and AS_FEATURE_LEVEL) since +they do not exist in the RHEL build system. + +While we have __CET__ for cf-protection-enabled builds, we cannot pass it to "nasm" as it +is noted by the "--cf-protection" token in CFLAGS. So enable cf-protection for assembly +files unconditionally. + +--- ./quickassist/lookaside/access_layer/src/common/compression/reg_sizes.asm.orig 2024-06-29 16:01:35.806838838 +0200 ++++ ./quickassist/lookaside/access_layer/src/common/compression/reg_sizes.asm 2024-06-29 16:03:38.883926951 +0200 +@@ -195,20 +195,16 @@ + + %define XWORD(reg) reg %+ x + +-%ifdef INTEL_CET_ENABLED +- %ifdef __NASM_VER__ +- %if AS_FEATURE_LEVEL >= 10 +- %ifidn __OUTPUT_FORMAT__,elf32 ++%ifdef __NASM_VER__ ++ %ifidn __OUTPUT_FORMAT__,elf32 + section .note.gnu.property note alloc noexec align=4 + DD 0x00000004,0x0000000c,0x00000005,0x00554e47 + DD 0xc0000002,0x00000004,0x00000003 +- %endif +- %ifidn __OUTPUT_FORMAT__,elf64 ++ %endif ++ %ifidn __OUTPUT_FORMAT__,elf64 + section .note.gnu.property note alloc noexec align=8 + DD 0x00000004,0x00000010,0x00000005,0x00554e47 + DD 0xc0000002,0x00000004,0x00000003,0x00000000 +- %endif +- %endif + %endif + %endif + diff --git a/SPECS/qatlib.spec b/SPECS/qatlib.spec new file mode 100644 index 0000000..2236a82 --- /dev/null +++ b/SPECS/qatlib.spec @@ -0,0 +1,150 @@ +# SPDX-License-Identifier: MIT + +%global libqat_soversion 4 +%global libusdm_soversion 0 +Name: qatlib +Version: 24.02.0 +Release: 3%{?dist} +Summary: Intel QuickAssist user space library +# The entire source code is released under BSD. +# For a breakdown of inbound licenses see the INSTALL file. +License: BSD-3-Clause AND ( BSD-3-Clause OR GPL-2.0-only ) +URL: https://github.com/intel/%{name} +Source0: https://github.com/intel/%{name}/archive/%{version}/%{name}-%{version}.tar.gz +BuildRequires: systemd gcc make autoconf automake libtool systemd-devel openssl-devel zlib-devel nasm +Requires(pre): shadow-utils +Recommends: qatlib-service +# https://bugzilla.redhat.com/show_bug.cgi?id=1897661 +ExcludeArch: %{arm} aarch64 %{power64} s390x i686 + +Patch1: qatlib-drop-intel-ifdefs.patch + +%description +Intel QuickAssist Technology (Intel QAT) provides hardware acceleration +for offloading security, authentication and compression services from the +CPU, thus significantly increasing the performance and efficiency of +standard platform solutions. + +Its services include symmetric encryption and authentication, +asymmetric encryption, digital signatures, RSA, DH and ECC, and +lossless data compression. + +This package provides user space libraries that allow access to +Intel QuickAssist devices and expose the Intel QuickAssist APIs. + +%package devel +Summary: Headers and libraries to build applications that use qatlib +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +This package contains headers and libraries required to build applications +that use the Intel QuickAssist APIs. + +%package tests +Summary: Sample applications that use qatlib +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description tests +This package contains sample applications that use the Intel QuickAssists APIs. + +%package service +Summary: A daemon for qatlib resources management +Requires: %{name}%{?_isa} = %{version}-%{release} +%{?systemd_requires} + +%description service +This package contains a daemon that manages QAT resources for the Intel +QuickAssist Technology user space library (qatlib). + +%prep +%autosetup -p1 + +%build +autoreconf -vif +%configure --enable-legacy-algorithms +sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool +sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool +sed -i -e 's! -shared ! -Wl,--as-needed\0!g' libtool +%make_build + +%install +%make_install +make DESTDIR=%{buildroot} samples-install +rm %{buildroot}/%{_libdir}/libqat.la +rm %{buildroot}/%{_libdir}/libusdm.la +rm %{buildroot}/%{_libdir}/libqat.a +rm %{buildroot}/%{_libdir}/libusdm.a + +%pre +getent group qat >/dev/null || groupadd -r qat +exit 0 + +%post service +%systemd_post qat.service + +%preun service +%systemd_preun qat.service + +%postun service +%systemd_postun_with_restart qat.service + +%files +%doc INSTALL README.md +%license LICENSE* +%{_libdir}/libqat.so.%{libqat_soversion}* +%{_libdir}/libusdm.so.%{libusdm_soversion}* + +%files devel +%{_libdir}/libqat.so +%{_libdir}/libusdm.so +%{_libdir}/pkgconfig/*.pc +%{_includedir}/qat + +%files tests +%doc quickassist/lookaside/access_layer/src/sample_code/README.txt +%attr(0754,-,qat) %{_bindir}/cpa_sample_code +%attr(0754,-,qat) %{_bindir}/dc_dp_sample +%attr(0754,-,qat) %{_bindir}/dc_stateless_sample +%attr(0754,-,qat) %{_bindir}/chaining_sample +%attr(0754,-,qat) %{_bindir}/dc_stateless_multi_op_sample +%attr(0754,-,qat) %{_bindir}/algchaining_sample +%attr(0754,-,qat) %{_bindir}/ccm_sample +%attr(0754,-,qat) %{_bindir}/cipher_sample +%attr(0754,-,qat) %{_bindir}/gcm_sample +%attr(0754,-,qat) %{_bindir}/hash_file_sample +%attr(0754,-,qat) %{_bindir}/hash_sample +%attr(0754,-,qat) %{_bindir}/ipsec_sample +%attr(0754,-,qat) %{_bindir}/ssl_sample +%attr(0754,-,qat) %{_bindir}/sym_dp_sample +%attr(0754,-,qat) %{_bindir}/dh_sample +%attr(0754,-,qat) %{_bindir}/eddsa_sample +%attr(0754,-,qat) %{_bindir}/prime_sample +%attr(0754,-,qat) %{_bindir}/hkdf_sample +%attr(0754,-,qat) %{_bindir}/ec_montedwds_sample +%attr(0754,-,qat) %{_bindir}/zuc_sample +%{_datadir}/qat/calgary +%{_datadir}/qat/calgary32 +%{_datadir}/qat/canterbury + +%files service +%{_sbindir}/qatmgr +%{_sbindir}/qat_init.sh +%{_unitdir}/qat.service +%{_mandir}/man8/qatmgr.8* +%{_mandir}/man8/qat_init.sh.8* + +%changelog +* Wed Jun 26 2024 Vladis Dronov - 24.02.0-3 +- Fix Intel CET IBT instrumentation in assembly code (RHEL-20173) +- Update a changelog entry + +* Mon Jun 24 2024 Troy Dawson - 24.02.0-2 +- Bump release for June 2024 mass rebuild + +* Fri Mar 22 2024 Vladis Dronov - 24.02.0-1 +- Update to qatlib 24.02.0 (RHEL-20173) +- Add zuc_sample to qatlib-tests package +- Use proper SPDX license identifiers + +* Fri Jan 26 2024 Vladis Dronov - 23.11.0-3 +- Initial import from Fedora 40