libwd/warpdrive.spec
2023-10-31 16:59:15 +08:00

309 lines
13 KiB
RPMSpec

Name: libwd
Summary: User Space Accelerator Development Kit
Version: 2.5.0
Release: 5
License: Apache-2.0
Source: %{name}-%{version}.tar.gz
Vendor: Huawei Corporation
ExclusiveOS: linux
URL: https://support.huawei.com
BuildRoot: %{_tmppath}/%{name}-%{version}-root
Conflicts: %{name} < %{version}-%{release}
Provides: %{name} = %{version}-%{release}
BuildRequires: numactl-devel, openssl-devel, zlib-devel
BuildRequires: automake, autoconf, libtool, chrpath
BuildRequires: gcc, make
ExclusiveArch: aarch64
Patch0001: 0001-uadk-comp-fix-duplicate-release-of-comp.patch
Patch0002: 0002-uadk_tool-use-DT_RUNPATH-instead-of-DT_RPATH.patch
Patch0003: 0003-uadk-cipher-fix-wd_cipher_init2-typo.patch
Patch0004: 0004-uadk-v1-fix-local-variable-type.patch
Patch0005: 0005-drv-qm-fix-memory-leak-in-hisi_qm_create_sglpool.patch
Patch0006: 0006-uadk-v1-fix-memory-leak-in-wd_sgl.c.patch
Patch0007: 0007-uadk-hisi_comp-free-sgl-when-send-request-error.patch
Patch0008: 0008-uadk-hisi_comp-add-output-length-check-for-lz77_zstd.patch
Patch0009: 0009-drivers-alloc-and-free-resources-by-themself.patch
Patch0010: 0010-uadk-fix-for-get_str_attr.patch
Patch0011: 0011-uadk-remove-unused-information.patch
Patch0012: 0012-uadk-support-digest-to-parse-private-data.patch
Patch0013: 0013-uadk-support-aead-to-parse-user-private-data.patch
Patch0014: 0014-uadk-fix-sec-test.patch
Patch0015: 0015-sanity_test-fix-to-show-messages-from-testcase.patch
Patch0016: 0016-sanity_test-append-run_cmd-for-zip.patch
Patch0017: 0017-uadk-fix-hpre-test.patch
Patch0018: 0018-uadk-add-the-msg-pool-depth-configuration.patch
Patch0019: 0019-uadk-v1-add-the-cookie-depth-configuration.patch
Patch0020: 0020-uadk_tool-initialize-cparams-to-0.patch
Patch0021: 0021-uadk-add-init-wait-timeout.patch
Patch0022: 0022-uadk-fix-key-length-check-error-in-xts-mode.patch
Patch0023: 0023-uadk-v1-fix-key-length-check-error-in-xts-mode.patch
Patch0024: 0024-uadk-support-loading-alg-lib-from-specified-director.patch
Patch0025: 0025-uadk-zlibwrapper-fix-failed-to-create-multiple-z_str.patch
Patch0026: 0026-uadk-v1-hisilicon-zip-add-sqe_fill_priv-and-sqe_pars.patch
Patch0027: 0027-uadk-v1-modify-the-alignment-size-of-sha384.patch
Patch0028: 0028-uadk-digest-optimize-the-zero-byte-packet-checking-f.patch
Patch0029: 0029-uadk-v1-cipher-support-aes-cbc-cts-mode.patch
Patch0030: 0030-uadk-v1-cipher-support-user-self-defined-data-functi.patch
Patch0031: 0031-uadk-cipher-cleaup-judgement-sequence.patch
Patch0032: 0032-uadk-fix-for-wd_memset_zero-occupies-high-cpu-usage.patch
Patch0033: 0033-uadk-optimize-session-update-for-long-hash-mode.patch
Patch0034: 0034-uadk-support-digest-message-carrying-long-data-infor.patch
Patch0035: 0035-uadk-add-out_bytes-check-for-long-hash-scene.patch
Patch0036: 0036-uadk-bugfix-for-aead-set-decrypt-mac-for-stream-mode.patch
Patch0037: 0037-uadk-fix-for-digest-mac-full-length-check.patch
Patch0038: 0038-uadk-sec-optimize-the-function-name-and-implement-fo.patch
Patch0039: 0039-uadk-cipher-support-sm4-xts-GB-standard.patch
Patch0040: 0040-uadk-v1-cipher-support-sm4-xts-GB-standard.patch
Patch0041: 0041-uadk-v1-digest-support-new-AES-mode-algs.patch
Patch0042: 0042-uadk-v1-fix-long-hash-state-issue.patch
%description
This package contains the User Space Accelerator Library
for hardware accelerator, compress, symmetric encryption
and decryption, asymmetric encryption and decryption.
%prep
%autosetup -n %{name}-%{version} -p1
%build
sh autogen.sh
./configure
make
%install
mkdir -p ${RPM_BUILD_ROOT}/usr/lib64
install -b -m755 .libs/libwd.so.%{version} ${RPM_BUILD_ROOT}/usr/lib64
install -b -m755 .libs/libwd_crypto.so.%{version} ${RPM_BUILD_ROOT}/usr/lib64
install -b -m755 .libs/libwd_comp.so.%{version} ${RPM_BUILD_ROOT}/usr/lib64
mkdir -p ${RPM_BUILD_ROOT}/usr/lib64/uadk
install -b -m755 .libs/libhisi_sec.so.%{version} ${RPM_BUILD_ROOT}/usr/lib64/uadk
install -b -m755 .libs/libhisi_hpre.so.%{version} ${RPM_BUILD_ROOT}/usr/lib64/uadk
install -b -m755 .libs/libhisi_zip.so.%{version} ${RPM_BUILD_ROOT}/usr/lib64/uadk
chrpath -d ${RPM_BUILD_ROOT}/usr/lib64/libwd_crypto.so.%{version}
chrpath -d ${RPM_BUILD_ROOT}/usr/lib64/libwd_comp.so.%{version}
chrpath -d ${RPM_BUILD_ROOT}/usr/lib64/uadk/libhisi_sec.so.%{version}
chrpath -d ${RPM_BUILD_ROOT}/usr/lib64/uadk/libhisi_hpre.so.%{version}
chrpath -d ${RPM_BUILD_ROOT}/usr/lib64/uadk/libhisi_zip.so.%{version}
mkdir -p ${RPM_BUILD_ROOT}/usr/include/warpdrive/include
cp v1/uacce.h ${RPM_BUILD_ROOT}/usr/include/warpdrive/include
cp v1/wd.h ${RPM_BUILD_ROOT}/usr/include/warpdrive
cp v1/wd_cipher.h ${RPM_BUILD_ROOT}/usr/include/warpdrive
cp v1/wd_comp.h ${RPM_BUILD_ROOT}/usr/include/warpdrive
cp v1/wd_dh.h ${RPM_BUILD_ROOT}/usr/include/warpdrive
cp v1/wd_digest.h ${RPM_BUILD_ROOT}/usr/include/warpdrive
cp v1/wd_rsa.h ${RPM_BUILD_ROOT}/usr/include/warpdrive
cp v1/wd_bmm.h ${RPM_BUILD_ROOT}/usr/include/warpdrive
mkdir -p ${RPM_BUILD_ROOT}/usr/include/uadk/v1
cp include/uacce.h ${RPM_BUILD_ROOT}/usr/include/uadk
cp include/wd.h ${RPM_BUILD_ROOT}/usr/include/uadk
cp include/wd_cipher.h ${RPM_BUILD_ROOT}/usr/include/uadk
cp include/wd_comp.h ${RPM_BUILD_ROOT}/usr/include/uadk
cp include/wd_dh.h ${RPM_BUILD_ROOT}/usr/include/uadk
cp include/wd_digest.h ${RPM_BUILD_ROOT}/usr/include/uadk
cp include/wd_rsa.h ${RPM_BUILD_ROOT}/usr/include/uadk
cp include/wd_aead.h ${RPM_BUILD_ROOT}/usr/include/uadk
cp include/wd_ecc.h ${RPM_BUILD_ROOT}/usr/include/uadk
cp include/wd_ecc_curve.h ${RPM_BUILD_ROOT}/usr/include/uadk
cp include/wd_alg_common.h ${RPM_BUILD_ROOT}/usr/include/uadk
cp include/wd_sched.h ${RPM_BUILD_ROOT}/usr/include/uadk
cp include/wd_alg.h ${RPM_BUILD_ROOT}/usr/include/uadk
cp include/wd_zlibwrapper.h ${RPM_BUILD_ROOT}/usr/include/uadk
cp v1/uacce.h ${RPM_BUILD_ROOT}/usr/include/uadk/v1
cp v1/wd.h ${RPM_BUILD_ROOT}/usr/include/uadk/v1
cp v1/wd_cipher.h ${RPM_BUILD_ROOT}/usr/include/uadk/v1
cp v1/wd_comp.h ${RPM_BUILD_ROOT}/usr/include/uadk/v1
cp v1/wd_dh.h ${RPM_BUILD_ROOT}/usr/include/uadk/v1
cp v1/wd_digest.h ${RPM_BUILD_ROOT}/usr/include/uadk/v1
cp v1/wd_rsa.h ${RPM_BUILD_ROOT}/usr/include/uadk/v1
cp v1/wd_bmm.h ${RPM_BUILD_ROOT}/usr/include/uadk/v1
mkdir -p ${RPM_BUILD_ROOT}/usr/lib64/pkgconfig
cp lib/libwd.pc ${RPM_BUILD_ROOT}/usr/lib64/pkgconfig
cp lib/libwd_crypto.pc ${RPM_BUILD_ROOT}/usr/lib64/pkgconfig
cp lib/libwd_comp.pc ${RPM_BUILD_ROOT}/usr/lib64/pkgconfig
%clean
rm -rf ${RPM_BUILD_ROOT}
%files
%defattr(755,root,root)
/usr/lib64/libwd.so.%{version}
/usr/lib64/libwd_crypto.so.%{version}
/usr/lib64/libwd_comp.so.%{version}
/usr/lib64/uadk/libhisi_sec.so.%{version}
/usr/lib64/uadk/libhisi_hpre.so.%{version}
/usr/lib64/uadk/libhisi_zip.so.%{version}
%defattr(644,root,root)
/usr/include/warpdrive/include/uacce.h
/usr/include/warpdrive/wd.h
/usr/include/warpdrive/wd_cipher.h
/usr/include/warpdrive/wd_comp.h
/usr/include/warpdrive/wd_dh.h
/usr/include/warpdrive/wd_digest.h
/usr/include/warpdrive/wd_rsa.h
/usr/include/warpdrive/wd_bmm.h
/usr/include/uadk/uacce.h
/usr/include/uadk/wd.h
/usr/include/uadk/wd_cipher.h
/usr/include/uadk/wd_comp.h
/usr/include/uadk/wd_dh.h
/usr/include/uadk/wd_digest.h
/usr/include/uadk/wd_rsa.h
/usr/include/uadk/wd_aead.h
/usr/include/uadk/wd_ecc.h
/usr/include/uadk/wd_ecc_curve.h
/usr/include/uadk/wd_alg_common.h
/usr/include/uadk/wd_sched.h
/usr/include/uadk/wd_alg.h
/usr/include/uadk/wd_zlibwrapper.h
/usr/include/uadk/v1/uacce.h
/usr/include/uadk/v1/wd.h
/usr/include/uadk/v1/wd_cipher.h
/usr/include/uadk/v1/wd_comp.h
/usr/include/uadk/v1/wd_dh.h
/usr/include/uadk/v1/wd_digest.h
/usr/include/uadk/v1/wd_rsa.h
/usr/include/uadk/v1/wd_bmm.h
%exclude /usr/lib64/libwd.so.2
%exclude /usr/lib64/libwd_crypto.so.2
%exclude /usr/lib64/libwd_comp.so.2
/usr/lib64/pkgconfig/libwd.pc
/usr/lib64/pkgconfig/libwd_crypto.pc
/usr/lib64/pkgconfig/libwd_comp.pc
%pre
if [ "$1" = "2" ] ; then #2: update
rm -rf /usr/lib64/libwd.so > /dev/null 2>&1 || true
rm -rf /usr/lib64/libwd.so.2 > /dev/null 2>&1 || true
rm -rf /usr/lib64/libwd_crypto.so > /dev/null 2>&1 || true
rm -rf /usr/lib64/libwd_crypto.so.2 > /dev/null 2>&1 || true
rm -rf /usr/lib64/libwd_comp.so > /dev/null 2>&1 || true
rm -rf /usr/lib64/libwd_comp.so.2 > /dev/null 2>&1 || true
rm -rf /usr/lib64/uadk/libhisi_sec.so > /dev/null 2>&1 || true
rm -rf /usr/lib64/uadk/libhisi_sec.so.2 > /dev/null 2>&1 || true
rm -rf /usr/lib64/uadk/libhisi_hpre.so > /dev/null 2>&1 || true
rm -rf /usr/lib64/uadk/libhisi_hpre.so.2 > /dev/null 2>&1 || true
rm -rf /usr/lib64/uadk/libhisi_zip.so > /dev/null 2>&1 || true
rm -rf /usr/lib64/uadk/libhisi_zip.so.2 > /dev/null 2>&1 || true
fi
%post
if [[ "$1" = "1" || "$1" = "2" ]] ; then #1: install 2: update
cd /usr/lib64
ln -sf libwd.so.%{version} libwd.so
ln -sf libwd.so.%{version} libwd.so.2
ln -sf libwd_crypto.so.%{version} libwd_crypto.so
ln -sf libwd_crypto.so.%{version} libwd_crypto.so.2
ln -sf libwd_comp.so.%{version} libwd_comp.so
ln -sf libwd_comp.so.%{version} libwd_comp.so.2
cd /usr/lib64/uadk
ln -sf libhisi_sec.so.%{version} libhisi_sec.so
ln -sf libhisi_sec.so.%{version} libhisi_sec.so.2
ln -sf libhisi_hpre.so.%{version} libhisi_hpre.so
ln -sf libhisi_hpre.so.%{version} libhisi_hpre.so.2
ln -sf libhisi_zip.so.%{version} libhisi_zip.so
ln -sf libhisi_zip.so.%{version} libhisi_zip.so.2
fi
/sbin/ldconfig
%preun
if [ "$1" = "0" ] ; then #0: uninstall
rm -rf /usr/lib64/libwd.so > /dev/null 2>&1 || true
rm -rf /usr/lib64/libwd.so.2 > /dev/null 2>&1 || true
rm -rf /usr/lib64/libwd_crypto.so > /dev/null 2>&1 || true
rm -rf /usr/lib64/libwd_crypto.so.2 > /dev/null 2>&1 || true
rm -rf /usr/lib64/libwd_comp.so > /dev/null 2>&1 || true
rm -rf /usr/lib64/libwd_comp.so.2 > /dev/null 2>&1 || true
rm -rf /usr/lib64/uadk/libhisi_sec.so > /dev/null 2>&1 || true
rm -rf /usr/lib64/uadk/libhisi_sec.so.2 > /dev/null 2>&1 || true
rm -rf /usr/lib64/uadk/libhisi_hpre.so > /dev/null 2>&1 || true
rm -rf /usr/lib64/uadk/libhisi_hpre.so.2 > /dev/null 2>&1 || true
rm -rf /usr/lib64/uadk/libhisi_zip.so > /dev/null 2>&1 || true
rm -rf /usr/lib64/uadk/libhisi_zip.so.2 > /dev/null 2>&1 || true
fi
%postun
/sbin/ldconfig
%changelog
* Tue Oct 31 2023 JiangShui Yang <yangjiangshui@h-partners.com> 2.5.0-5
- libwd: update the source code
* Thu Sep 28 2023 JiangShui Yang <yangjiangshui@h-partners.com> 2.5.0-4
- libwd: update the source code
* Mon Sep 4 2023 JiangShui Yang <yangjiangshui@h-partners.com> 2.5.0-3
- libwd: Deleting rpath information from the dynamic library
* Mon Aug 7 2023 JiangShui Yang <yangjiangshui@h-partners.com> 2.5.0-2
- libwd: Adding and packing the pkgconfig file
* Mon Aug 7 2023 JiangShui Yang <yangjiangshui@h-partners.com> 2.5.0-1
- libwd: update the source code to 2.5.0
* Fri Aug 4 2023 JiangShui Yang <yangjiangshui@h-partners.com> 2.4.0-2
- libwd: add wd_alg.h for 2.4.0
* Fri May 5 2023 JiangShui Yang <yangjiangshui@h-partners.com> 2.4.0-1
- libwd: update the source code to 2.4.0
* Mon Mar 20 2023 JiangShui Yang <yangjiangshui@h-partners.com> 2.3.37-4
- libwd: modify the build requirement
* Wed Feb 15 2023 Yang Shen <shenyang39@huawei.com> 2.3.37-3
- libwd: add build requirement
* Thu Dec 15 2022 Yang Shen <shenyang39@huawei.com> 2.3.37-2
- libwd: fix a bug for ecc
* Mon Oct 10 2022 Yang Shen <shenyang39@huawei.com> 2.3.37-1
- libwd: update the source code to 2.3.37
* Tue Jul 26 2022 Yang Shen <shenyang39@huawei.com> 2.3.21-6
- libwd: backport the patch of uadk from 2.3.31 to 2.3.36
* Mon Mar 21 2022 Yang Shen <shenyang39@huawei.com> 2.3.21-5
- libwd: backport the patch of uadk from 2.3.28 to 2.3.31
* Tue Mar 1 2022 Yang Shen <shenyang39@huawei.com> 2.3.21-4
- libwd: backport the patch of uadk from 2.3.27 to 2.3.28
* Mon Feb 21 2022 Yang Shen <shenyang39@huawei.com> 2.3.21-3
- libwd: backport the patch of uadk from 2.3.24 to 2.3.27
* Tue Jan 04 2022 Yang Shen <shenyang39@huawei.com> 2.3.21-2
- libwd: backport the patch of uadk from 2.3.21 to 2.3.24
* Mon Dec 06 2021 linwenkai <linwenkai6@hisilicon.com> 2.3.21-1
- libwd: update uadk from 2.3.20 to 2.3.21
* Wed Nov 24 2021 linwenkai <linwenkai6@hisilicon.com> 2.3.20-2
- libwd: add missing head files and fix install path
* Mon Nov 22 2021 Yang Shen <shenyang39@huawei.com> 2.3.20-1
- libwd: update uadk from 2.3.11 to 2.3.20
* Fri Sep 03 2021 Yang Shen <shenyang39@huawei.com> 2.3.11-4
- uadk-access-the-file-isolate-before-read-it.patch
* Fri Aug 06 2021 Pengju Jiang <jiangpengju2@huawei.com> 2.3.11-3
- bugfix-of-gcc-10.patch
* Wed Jul 21 2021 caodongxia <caodongxia@huawei.com> 2.3.11-2
- change uacce.h path.
* Tue Jul 06 2021 Hao Fang <fanghao11@huawei.com> 2.3.11-1
- update warpdrive to uadk, support kunpeng 920/930.
* Sun Mar 15 2020 zhangtao <zhangtao221@huawei.com> 1.2.10-3
- Specify compilation aarch64 as platform
* Tue Mar 03 2020 catastrowings <jianghuhao1994@163.com> 1.2.10-2
- openEuler init
* Tue Jan 07 2020 jinbinhua <jinbinhua@huawei.com> 1.2.7-1
- First Spec Version Include Warpdrive Code