%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_device_security_level Version: 1.0.0 Release: 1%{?dist} Summary: Device Safety Level Management Service License: Apache-2.0 URL: https://gitee.com/openharmony/security_device_security_level Source1: security_device_security_level.tar.gz Source2: dslm_sdk.bundle.json Source3: dslm_sdk.BUILD.gn BuildRequires: gcc, make, hilog, kernel-devel, uname-build-checks BuildRequires: distributed-build, distributed-beget BuildRequires: commonlibrary_c_utils BuildRequires: distributedhardware_device_manager BuildRequires: notification_eventhandler BuildRequires: communication_ipc BuildRequires: security_device_auth, security_huks BuildRequires: systemabilitymgr_safwk, systemabilitymgr_samgr BuildRequires: cjson-devel, openssl-devel Requires: hilog Requires: distributed-beget Requires: commonlibrary_c_utils Requires: distributedhardware_device_manager Requires: notification_eventhandler Requires: communication_ipc Requires: security_device_auth, security_huks Requires: systemabilitymgr_safwk, systemabilitymgr_samgr Requires: cjson-devel, openssl-devel %description The OpenHarmony distributed technology can converge resources from different devices to form a Super Device. Poor security capabilities of any device may threaten the security of the Super Device. The Device Security Level Management (DSLM) module is introduced to manage the security levels of OpenHarmony devices. # 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} # make. %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}/device_security_level install -d -m 0755 %{buildroot}/%{_libdir} install -d -m 0755 %{buildroot}/system/lib64 install -d -m 0755 %{buildroot}%{build_opt}/openeuler/compiler_gn/base/security/device_security_level/interfaces/inner_api install -d -m 0755 %{buildroot}%{build_opt}/openeuler/compiler_gn/base/security/device_security_level/oem_property/ohos/ %ifarch aarch64 %define header_out_path out/openeuler/innerkits/linux-arm64/device_security_level %define module_out_path out/openeuler/linux_clang_arm64/security/device_security_level %endif %ifarch x86_64 %define header_out_path out/openeuler/innerkits/linux-x86_64/device_security_level %define module_out_path out/openeuler/linux_clang_x86_64/security/device_security_level %endif #cp .h file to /usr/include find %{_builddir}/%{header_out_path} -name *.h -print0 | xargs -0 -i cp -rf {} %{buildroot}%{_includedir}/device_security_level/ #cp .so file to /system/lib and /user/lib install -m 0755 %{_builddir}/%{module_out_path}/*.so %{buildroot}%{_libdir} install -m 0755 %{_builddir}/%{module_out_path}/*.so %{buildroot}/system/lib64 #cp bundle.json install -m 0755 %{SOURCE2} %{buildroot}%{build_opt}/openeuler/compiler_gn/base/security/device_security_level/bundle.json #cp BUILD.gn install -m 0755 %{SOURCE3} %{buildroot}%{build_opt}/openeuler/compiler_gn/base/security/device_security_level/interfaces/inner_api/BUILD.gn #cp yaml install -m 0755 %{security_path}/device_security_level/hisysevent.yaml %{buildroot}%{build_opt}/openeuler/compiler_gn/base/security/device_security_level/ # copy ko file to the certain path on deployment environment. %files %{_libdir}/*.so /system/* %{_includedir}/device_security_level/* %{build_opt}/* %changelog * Mon Nov 6 2023 Jiaqi Zhao - 1.0.0-1 - Separating the device_security_level component from the master package