%define debug_package %{nil} %global build_opt /opt/distributed-middleware-build %global oh_version OpenHarmony-v3.2-Release %global security_path %{_builddir}/base/security %global third_party_path %{_builddir}/third_party Name: security_huks Version: 1.0.0 Release: 3%{?dist} Summary: Key management service License: Apache-2.0 URL: https://gitee.com/openharmony/security_huks Source1: https://gitee.com/openharmony/security_huks/repository/archive/OpenHarmony-v3.2-Release.tar.gz #/security_huks-OpenHarmony-v3.2-Release.tar.gz Source2: huks.BUILD.gn Source3: huks.bundle.json Source4: huks_service.xml Patch1: 0001-adapt-compilation-tailor-dependencies.patch BuildRequires: gcc, make, hilog, kernel-devel, uname-build-checks BuildRequires: distributed-build, distributed-beget BuildRequires: commonlibrary_c_utils BuildRequires: notification_eventhandler BuildRequires: communication_ipc BuildRequires: systemabilitymgr_safwk, systemabilitymgr_samgr BuildRequires: openssl-devel Requires: distributed-beget Requires: commonlibrary_c_utils Requires: notification_eventhandler Requires: communication_ipc Requires: systemabilitymgr_safwk, systemabilitymgr_samgr BuildRequires: openssl-devel %description OpenHarmony Universal KeyStore (HUKS) provides applications with key library capabilities, such as key management and cryptographic operations on keys. HUKS also provides APIs for applications to import or generate keys. # Decompress source code package, make patches to the source code. %prep rm -rf %{_builddir}/* cp -rf %{build_opt} %{_builddir}/build [ ! -L "%{_builddir}/build.sh" ] && ln -s %{_builddir}/build/build_scripts/build.sh %{_builddir}/build.sh [ ! -L "%{_builddir}/.gn" ] && ln -s %{_builddir}/build/core/gn/dotfile.gn %{_builddir}/.gn [ ! -L "%{_builddir}/build.py" ] && ln -s %{_builddir}/build/lite/build.py %{_builddir}/build.py cp -rf %{_builddir}/build/openeuler/vendor %{_builddir}/ cp -rf %{_builddir}/build/openeuler/compiler_gn/* %{_builddir} %setup -q -D -T -a 1 -c -n %{security_path} mv %{security_path}/%{name}-%{oh_version} %{security_path}/huks %patch -P1 -p1 -d %{security_path}/huks %build %ifarch x86_64 %{_builddir}/build.sh --product-name openeuler --target-cpu x86_64 %endif %ifarch aarch64 %{_builddir}/build.sh --product-name openeuler --target-cpu arm64 %endif %install install -d -m 0755 %{buildroot}/%{_includedir}/huks install -d -m 0755 %{buildroot}/%{_libdir} install -d -m 0755 %{buildroot}/system/lib64 install -d -m 0755 %{buildroot}/system/profile install -d -m 0755 %{buildroot}%{build_opt}/openeuler/compiler_gn/base/security/huks/interfaces/innerkits/huks_standard/main/ %ifarch aarch64 %define module_out_path out/openeuler/linux_clang_arm64/security/huks %define header_out_path out/openeuler/innerkits/linux-arm64/huks %endif %ifarch x86_64 %define module_out_path out/openeuler/linux_clang_x86_64/security/huks %define header_out_path out/openeuler/innerkits/linux-x86_64/huks %endif # prepare head files find %{_builddir}/${header_out_path} -name *.h -print0 | xargs -0 -i cp -rf {} %{buildroot}%{_includedir}/huks/ install -m 0755 %{_builddir}/base/security/huks/frameworks/huks_standard/main/common/include/*.h %{buildroot}%{_includedir}/huks/ # copy executable file. install -m 0755 %{_builddir}/%{module_out_path}/*.so %{buildroot}%{_libdir} install -m 0755 %{_builddir}/%{module_out_path}/*.so %{buildroot}/system/lib64 #cp json file install -m 0755 %{SOURCE3} %{buildroot}%{build_opt}/openeuler/compiler_gn/base/security/huks/bundle.json #cp gn file install -m 0755 %{SOURCE2} %{buildroot}%{build_opt}/openeuler/compiler_gn/base/security/huks/interfaces/innerkits/huks_standard/main/BUILD.gn # cp profile file install -m 0755 %{SOURCE4} %{buildroot}/system/profile #cp yaml file install -m 0755 %{_builddir}/base/security/huks/hisysevent.yaml %{buildroot}%{build_opt}/openeuler/compiler_gn/base/security/huks #create soft link ln -s /usr/include/huks %{buildroot}%{build_opt}/openeuler/compiler_gn/base/security/huks/include # copy ko file to the certain path on deployment environment. %files %{_libdir}/*.so %{_includedir}/huks/* # %{bundle_dir}/* /system/* %{build_opt}/* %changelog * Fri Dec 15 2023 Peng He - 1.0.0-3 - add sa profile file * Mon Oct 30 2023 Yuying Mu - 1.0.0-2 - add gn file * Sat Oct 07 2023 Peng He - 1.0.0-1 * Tue Nov 21 2023 JiaQi Zhao - 1.0.0-1 - adapt compilation, tailor dependencies on hitrace and hisysevent