%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_dataclassification Version: 1.0.0 Release: 1%{?dist} Summary: Data transmission control service License: Apache-2.0 URL: https://gitee.com/openharmony/security_device_security_level Source1: security_dataclassification.tar.gz Source2: data_transit_mgr.bundle.json Source3: data_transit_mgr.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, security_device_security_level BuildRequires: systemabilitymgr_safwk, systemabilitymgr_samgr 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, security_device_security_level Requires: systemabilitymgr_safwk, systemabilitymgr_samgr %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}/dataclassification 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/dataclassification/interfaces/innerkits/datatransmitmgr %ifarch aarch64 %define header_out_path out/openeuler/innerkits/linux-arm64/dataclassification %define module_out_path out/openeuler/linux_clang_arm64/security/dataclassification %endif %ifarch x86_64 %define header_out_path out/openeuler/innerkits/linux-x86_64/dataclassification %define module_out_path out/openeuler/linux_clang_x86_64/security/dataclassification %endif #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 .h file to /usr/include find %{_builddir}/%{header_out_path} -name *.h -print0 | xargs -0 -i cp -rf {} %{buildroot}%{_includedir}/dataclassification/ #cp bundle.json install -m 0755 %{SOURCE2} %{buildroot}%{build_opt}/openeuler/compiler_gn/base/security/dataclassification/bundle.json #cp BUILD.gn install -m 0755 %{SOURCE3} %{buildroot}%{build_opt}/openeuler/compiler_gn/base/security/dataclassification/interfaces/innerkits/datatransmitmgr/BUILD.gn #create soft link ln -s /usr/include/dataclassification %{buildroot}%{build_opt}/openeuler/compiler_gn/base/security/dataclassification/interfaces/innerkits/datatransmitmgr/include # copy ko file to the certain path on deployment environment. %files %{_libdir}/*.so /system/* %{_includedir}/dataclassification/* %{build_opt}/* %changelog * Mon Nov 6 2023 Jiaqi Zhao - 1.0.0-1 - Separating the device_security_level component from the master package