Name: libwd Summary: User Space Accelerator Development Kit Version: 2.5.0 Release: 6 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 Patch0043: 0043-uadk_tool-delete-redundant-memset-zero.patch Patch0044: 0044-uadk_tool-fix-possible-memory-leak-in-alg-_uadk_asyn.patch Patch0045: 0045-uadk_tool-fix-the-called-function-interface.patch Patch0046: 0046-uadk_tool-release-memory-after-all-tasks-are-complet.patch Patch0047: 0047-uadk_tool-Optimize-sec-s-sva-benchmark-code.patch Patch0048: 0048-uadk_tool-Optimize-sec-s-no-sva-benchmark-code.patch Patch0049: 0049-uadk_tool-Optimize-sec-s-software-benchmark-code.patch Patch0050: 0050-uadk_tool-add-latency-test-function-for-uadk_tools.patch Patch0051: 0051-uadk_tool-modify-the-clean-code-issue.patch Patch0052: 0052-uadk_tool-support-aead-algorithm-decrypto-perf-testi.patch Patch0053: 0053-uadk_tool-fix-hpre-test-code-issues.patch Patch0054: 0054-uadk_tool-support-dual-sec-engine-device-testing.patch Patch0055: 0055-uadk_tool-Support-performance-test-for-TRNG.patch Patch0056: 0056-uadk-tools-support-new-parameters-for-compression.patch Patch0057: 0057-uadk_tool-v1-support-aead-algorithm-decrypto-perf-te.patch Patch0058: 0058-uadk_tool-v1-fix-sec-benchmark-problem.patch Patch0059: 0059-uadk-tools-misc-fixes-for-uadk-compress-performance.patch Patch0060: 0060-uadk-tools-fix-lz77_zstd-performance-test-for-nosva-.patch Patch0061: 0061-uadk-tools-fix-for-uadk-compression-stream-performan.patch Patch0062: 0062-uadk-tools-fix-for-uadk-tool-sec-aead-async-mode.patch Patch0063: 0063-uadk-tools-Update-test-function-for-init2.patch Patch0064: 0064-uadk-support-some-uadk-dfx-stronger-feature.patch Patch0065: 0065-uadk-sec-added-init2-performance-test.patch Patch0066: 0066-uadk-comp-added-init2-test-function-for-comp.patch Patch0067: 0067-uadk_tool-added-init2-test-function-for-hpre.patch Patch0068: 0068-uadk_tool-use-marco-to-replace-numbers.patch Patch0069: 0069-uadk_tool-support-test-case-for-aes-cbc-cts-mode.patch Patch0070: 0070-uadk-tool-initialize-cparams-to-zero.patch Patch0071: 0071-uadk_tool-fix-the-memory-leak-problem.patch Patch0072: 0072-uadk_tool-fix-error-writing-data-to-uninitialized-me.patch Patch0073: 0073-uadk_tool-added-sm4-xts-GB-test.patch Patch0074: 0074-uadk_tool-initialize-the-return-value-ret-of-the-fun.patch Patch0075: 0075-add-secure-compilation-option.patch Patch0076: 0076-uadk-v1-drv-hisi_zip_udrv-fix-unmap-buffer-for-lz77_.patch Patch0077: 0077-uadk-v1-drv-hisi_zip_udrv-fix-the-wrong-unmapped-add.patch Patch0078: 0078-uadk-v1-wd_comp-fix-unlocked-queue-resource-change.patch Patch0079: 0079-uadk-wd_alg-add-registering-driver-parameters-check.patch Patch0080: 0080-uadk-wd_comp-fix-some-comments.patch Patch0081: 0081-uadk-fix-the-process-when-ctx-request-fails.patch Patch0082: 0082-uadk-wd_util-fix-a-theoretically-infinite-loop.patch Patch0083: 0083-uadk-wd-fix-fscanf-infinite-loop.patch Patch0084: 0084-uadk-zlibwrapper-fix-wrong-request-check.patch Patch0085: 0085-uadk-drv-hisi-fix-sgl-copy-offset-error.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 * Thu Nov 23 2023 JiangShui Yang 2.5.0-6 - libwd: update the source code * Tue Oct 31 2023 JiangShui Yang 2.5.0-5 - libwd: update the source code * Thu Sep 28 2023 JiangShui Yang 2.5.0-4 - libwd: update the source code * Mon Sep 4 2023 JiangShui Yang 2.5.0-3 - libwd: Deleting rpath information from the dynamic library * Mon Aug 7 2023 JiangShui Yang 2.5.0-2 - libwd: Adding and packing the pkgconfig file * Mon Aug 7 2023 JiangShui Yang 2.5.0-1 - libwd: update the source code to 2.5.0 * Fri Aug 4 2023 JiangShui Yang 2.4.0-2 - libwd: add wd_alg.h for 2.4.0 * Fri May 5 2023 JiangShui Yang 2.4.0-1 - libwd: update the source code to 2.4.0 * Mon Mar 20 2023 JiangShui Yang 2.3.37-4 - libwd: modify the build requirement * Wed Feb 15 2023 Yang Shen 2.3.37-3 - libwd: add build requirement * Thu Dec 15 2022 Yang Shen 2.3.37-2 - libwd: fix a bug for ecc * Mon Oct 10 2022 Yang Shen 2.3.37-1 - libwd: update the source code to 2.3.37 * Tue Jul 26 2022 Yang Shen 2.3.21-6 - libwd: backport the patch of uadk from 2.3.31 to 2.3.36 * Mon Mar 21 2022 Yang Shen 2.3.21-5 - libwd: backport the patch of uadk from 2.3.28 to 2.3.31 * Tue Mar 1 2022 Yang Shen 2.3.21-4 - libwd: backport the patch of uadk from 2.3.27 to 2.3.28 * Mon Feb 21 2022 Yang Shen 2.3.21-3 - libwd: backport the patch of uadk from 2.3.24 to 2.3.27 * Tue Jan 04 2022 Yang Shen 2.3.21-2 - libwd: backport the patch of uadk from 2.3.21 to 2.3.24 * Mon Dec 06 2021 linwenkai 2.3.21-1 - libwd: update uadk from 2.3.20 to 2.3.21 * Wed Nov 24 2021 linwenkai 2.3.20-2 - libwd: add missing head files and fix install path * Mon Nov 22 2021 Yang Shen 2.3.20-1 - libwd: update uadk from 2.3.11 to 2.3.20 * Fri Sep 03 2021 Yang Shen 2.3.11-4 - uadk-access-the-file-isolate-before-read-it.patch * Fri Aug 06 2021 Pengju Jiang 2.3.11-3 - bugfix-of-gcc-10.patch * Wed Jul 21 2021 caodongxia 2.3.11-2 - change uacce.h path. * Tue Jul 06 2021 Hao Fang 2.3.11-1 - update warpdrive to uadk, support kunpeng 920/930. * Sun Mar 15 2020 zhangtao 1.2.10-3 - Specify compilation aarch64 as platform * Tue Mar 03 2020 catastrowings 1.2.10-2 - openEuler init * Tue Jan 07 2020 jinbinhua 1.2.7-1 - First Spec Version Include Warpdrive Code