From 29dee524b3fe102721835b5693229016343d84d4 Mon Sep 17 00:00:00 2001 From: yykk Date: Mon, 22 Apr 2024 17:36:18 +0800 Subject: [PATCH] init 24.03 files --- README.en.md | 4 +- README.md | 6 +- data_transit_mgr.BUILD.gn | 23 ++++++ data_transit_mgr.bundle.json | 49 +++++++++++++ security_dataclassification.spec | 109 +++++++++++++++++++++++++++++ security_dataclassification.tar.gz | Bin 0 -> 122880 bytes 6 files changed, 187 insertions(+), 4 deletions(-) create mode 100644 data_transit_mgr.BUILD.gn create mode 100644 data_transit_mgr.bundle.json create mode 100644 security_dataclassification.spec create mode 100644 security_dataclassification.tar.gz diff --git a/README.en.md b/README.en.md index 6fb7e88..79ce5a4 100644 --- a/README.en.md +++ b/README.en.md @@ -1,7 +1,7 @@ -# security_dataclassification +# security_dataclassification #### Description -The data transmission management and control module is responsible for providing distributed services with management and control strategies for cross-device transmission. The data transmission control module provides interface definitions related to data transmission control. +{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**} #### Software Architecture Software architecture description diff --git a/README.md b/README.md index 8316fc1..be75287 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,9 @@ -# security_dataclassification +# security_dataclassification #### 介绍 -The data transmission management and control module is responsible for providing distributed services with management and control strategies for cross-device transmission. The data transmission control module provides interface definitions related to data transmission control. +{**以下是 Gitee 平台说明,您可以替换此简介** +Gitee 是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台 +无论是个人、团队、或是企业,都能够用 Gitee 实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)} #### 软件架构 软件架构说明 diff --git a/data_transit_mgr.BUILD.gn b/data_transit_mgr.BUILD.gn new file mode 100644 index 0000000..066f27e --- /dev/null +++ b/data_transit_mgr.BUILD.gn @@ -0,0 +1,23 @@ +# Copyright (C) 2022 Huawei Device Co., Ltd. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import("//build/ohos.gni") + +config("datatransmitmgr_config") { + include_dirs = [ "include" ] + libs=["data_transit_mgr.z"] +} + +group("data_transit_mgr") { + public_configs = [ ":datatransmitmgr_config" ] +} diff --git a/data_transit_mgr.bundle.json b/data_transit_mgr.bundle.json new file mode 100644 index 0000000..c4974e4 --- /dev/null +++ b/data_transit_mgr.bundle.json @@ -0,0 +1,49 @@ +{ + "name": "@ohos/dataclassification", + "description": "data transmission control", + "version": "3.1", + "license": "Apache License 2.0", + "publishAs": "code-segment", + "segment": { + "destPath": "base/security/dataclassification" + }, + "dirs": {}, + "scripts": {}, + "component": { + "name": "dataclassification", + "subsystem": "security", + "syscap": [ + "SystemCapability.Security.DataTransitManager" + ], + "features": [ + "dataclassification_datatransmitmgr" + ], + "adapted_system_type": [ + "standard" + ], + "rom": "50KB", + "ram": "50KB", + "deps": { + "components": [ + "device_security_level", + "hiviewdfx_hilog_native" + ], + "third_party": [] + }, + "build": { + "sub_component": [ + ], + "inner_kits": [ + { + "name": "//base/security/dataclassification/interfaces/innerkits/datatransmitmgr:data_transit_mgr", + "header": { + "header_files": [ + "dev_slinfo_mgr.h" + ], + "header_base": "//base/security/dataclassification/interfaces/innerkits/datatransmitmgr/include" + } + } + ] + } + } +} \ No newline at end of file diff --git a/security_dataclassification.spec b/security_dataclassification.spec new file mode 100644 index 0000000..b322e6a --- /dev/null +++ b/security_dataclassification.spec @@ -0,0 +1,109 @@ +%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 diff --git a/security_dataclassification.tar.gz b/security_dataclassification.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..651b8fe8315ce9b01390472b5883c6661f81f128 GIT binary patch literal 122880 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 G4*V~D)h37l literal 0 HcmV?d00001 -- Gitee