From 093f716a3e5efd38db21817d195dff6aaf589643 Mon Sep 17 00:00:00 2001 From: peng_langyuan Date: Fri, 16 Jun 2023 09:50:06 +0800 Subject: [PATCH] Init and adapt to openeuler safwk --- ...o-openeuler-disable-hitrace-function.patch | 59 +++++++++++ ...ymgr_safwk-OpenHarmony-v3.2-Release.tar.gz | Bin 0 -> 70661 bytes systemabilitymgr_safwk.spec | 95 ++++++++++++++++++ 3 files changed, 154 insertions(+) create mode 100644 0001-feat-adapt-to-openeuler-disable-hitrace-function.patch create mode 100644 systemabilitymgr_safwk-OpenHarmony-v3.2-Release.tar.gz create mode 100644 systemabilitymgr_safwk.spec diff --git a/0001-feat-adapt-to-openeuler-disable-hitrace-function.patch b/0001-feat-adapt-to-openeuler-disable-hitrace-function.patch new file mode 100644 index 0000000..6f8fea1 --- /dev/null +++ b/0001-feat-adapt-to-openeuler-disable-hitrace-function.patch @@ -0,0 +1,59 @@ +diff --git a/interfaces/innerkits/safwk/BUILD.gn b/interfaces/innerkits/safwk/BUILD.gn +index 5509789..3dd18cb 100644 +--- a/interfaces/innerkits/safwk/BUILD.gn ++++ b/interfaces/innerkits/safwk/BUILD.gn +@@ -51,7 +51,7 @@ ohos_shared_library("system_ability_fwk") { + if (is_standard_system) { + external_deps = [ + "c_utils:utils", +- "hitrace_native:hitrace_meter", ++ # "hitrace_native:hitrace_meter", + "hiviewdfx_hilog_native:libhilog", + "ipc:ipc_core", + "samgr:samgr_common", +diff --git a/services/safwk/src/local_ability_manager.cpp b/services/safwk/src/local_ability_manager.cpp +index 11f7a06..bb747a3 100644 +--- a/services/safwk/src/local_ability_manager.cpp ++++ b/services/safwk/src/local_ability_manager.cpp +@@ -22,7 +22,7 @@ + + #include "datetime_ex.h" + #include "errors.h" +-#include "hitrace_meter.h" ++// #include "hitrace_meter.h" + #include "ipc_skeleton.h" + #include "iservice_registry.h" + #include "safwk_log.h" +@@ -87,8 +87,8 @@ void LocalAbilityManager::DoStartSAProcess(const std::string& profilePath, int32 + return; + } + { +- std::string traceTag = GetTraceTag(realProfilePath); +- HITRACE_METER_NAME(HITRACE_TAG_SAMGR, traceTag); ++ // std::string traceTag = GetTraceTag(realProfilePath); ++ // HITRACE_METER_NAME(HITRACE_TAG_SAMGR, traceTag); + bool ret = InitSystemAbilityProfiles(realProfilePath, saId); + if (!ret) { + HILOGE(TAG, "InitSystemAbilityProfiles no right profile, will exit"); +diff --git a/services/safwk/src/system_ability.cpp b/services/safwk/src/system_ability.cpp +index 84911e0..e618560 100644 +--- a/services/safwk/src/system_ability.cpp ++++ b/services/safwk/src/system_ability.cpp +@@ -19,7 +19,7 @@ + + #include "datetime_ex.h" + #include "errors.h" +-#include "hitrace_meter.h" ++// #include "hitrace_meter.h" + #include "if_system_ability_manager.h" + #include "iservice_registry.h" + #include "local_ability_manager.h" +@@ -114,7 +114,7 @@ void SystemAbility::Start() + } + HILOGD(TAG, "[PerformanceTest] SAFWK OnStart systemAbilityId:%{public}d", saId_); + int64_t begin = GetTickCount(); +- HITRACE_METER_NAME(HITRACE_TAG_SAMGR, ToString(saId_) + "_OnStart"); ++ // HITRACE_METER_NAME(HITRACE_TAG_SAMGR, ToString(saId_) + "_OnStart"); + OnStart(); + isRunning_ = true; + HILOGI(TAG, "[PerformanceTest] SAFWK OnStart systemAbilityId:%{public}d finished, spend:%{public}" PRId64 " ms", diff --git a/systemabilitymgr_safwk-OpenHarmony-v3.2-Release.tar.gz b/systemabilitymgr_safwk-OpenHarmony-v3.2-Release.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..b98ec617003abab84864c88b42d342b9ecd21e60 GIT binary patch literal 70661 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 Z$t06ZGRY*9O#1fI{|BjrtwR7%1pu1r-~a#s literal 0 HcmV?d00001 diff --git a/systemabilitymgr_safwk.spec b/systemabilitymgr_safwk.spec new file mode 100644 index 0000000..647bcb0 --- /dev/null +++ b/systemabilitymgr_safwk.spec @@ -0,0 +1,95 @@ +%define debug_package %{nil} +%global build_opt /opt/distributed-middleware-build +%global openHarmony_source_release OpenHarmony-v3.2-Release + +Name: systemabilitymgr_safwk +Version: 1.0.0 +Release: 1 +Summary: openEuler embedded softbus capability support +License: Apache-2.0 +URL: https://gitee.com/openharmony/systemabilitymgr_safwk + +Source0: systemabilitymgr_safwk-%{openHarmony_source_release}.tar.gz + +Patch0001: 0001-feat-adapt-to-openeuler-disable-hitrace-function.patch + +BuildRequires: distributed-build +BuildRequires: distributed-build_lite +BuildRequires: distributed-beget +BuildRequires: hilog +BuildRequires: communication_ipc +BuildRequires: systemabilitymgr_samgr +BuildRequires: commonlibrary_c_utils + +%description +OpenEuler supports system ability framework for distributed softbus capability + +%prep +# create directory structure +cd %{_builddir} +[ ! -d %{_builddir}/build ] && cp -rf %{build_opt} %{_builddir}/build +[ ! -d %{_builddir}/vendor ] && cp -rf %{_builddir}/build/openeuler/vendor %{_builddir}/vendor +[ ! -d %{_builddir}/third_party ] && cp -rf %{_builddir}/build/openeuler/compiler_gn/third_party %{_builddir}/third_party +[ ! -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 +[ ! -L %{_builddir}/build.sh ] && ln -s %{_builddir}/build/build_scripts/build.sh %{_builddir}/build.sh +[ ! -d %{_builddir}/base/hiviewdfx ] && mkdir -p %{_builddir}/base/hiviewdfx +[ ! -d %{_builddir}/base/security ] && mkdir -p %{_builddir}/base/security +[ ! -d %{_builddir}/foundation/systemabilitymgr ] && mkdir -p %{_builddir}/foundation/systemabilitymgr +[ ! -d %{_builddir}/foundation/communication ] && mkdir -p %{_builddir}/foundation/communication + +# copy depends components GN from build/openeuler/compiler_gn +[ -d %{_builddir}/commonlibrary ] && rm -rf %{_builddir}/commonlibrary +cp -rf %{_builddir}/build/openeuler/compiler_gn/commonlibrary %{_builddir} +[ -d %{_builddir}/base/startup ] && rm -rf %{_builddir}/base/startup +cp -rf %{_builddir}/build/openeuler/compiler_gn/base/startup %{_builddir}/base +[ -d %{_builddir}/base/hiviewdfx/hilog ] && rm -rf %{_builddir}/base/hiviewdfx/hilog +cp -rf %{_builddir}/build/openeuler/compiler_gn/base/hiviewdfx/hilog %{_builddir}/base/hiviewdfx +[ -d %{_builddir}/base/hiviewdfx/hitrace ] && rm -rf %{_builddir}/base/hiviewdfx/hitrace +cp -rf %{_builddir}/build/openeuler/compiler_gn/base/hiviewdfx/hitrace %{_builddir}/base/hiviewdfx +[ -d %{_builddir}/foundation/systemabilitymgr/samgr ] && rm -rf %{_builddir}/foundation/systemabilitymgr/samgr +cp -rf %{_builddir}/build/openeuler/compiler_gn/foundation/systemabilitymgr/samgr %{_builddir}/foundation/systemabilitymgr +[ -d %{_builddir}/foundation/communication/ipc ] && rm -rf %{_builddir}/foundation/communication/ipc +cp -rf %{_builddir}/build/openeuler/compiler_gn/foundation/communication/ipc %{_builddir}/foundation/communication +[ -d %{_builddir}/foundation/communication/dsoftbus ] && rm -rf %{_builddir}/foundation/communication/dsoftbus +cp -rf %{_builddir}/build/openeuler/compiler_gn/foundation/communication/dsoftbus %{_builddir}/foundation/communication +[ -d %{_builddir}/base/security/huks ] && rm -rf %{_builddir}/base/security/huks +cp -rf %{_builddir}/build/openeuler/compiler_gn/base/security/huks %{_builddir}/base/security +[ -d %{_builddir}/base/security/device_auth ] && rm -rf %{_builddir}/base/security/device_auth +cp -rf %{_builddir}/build/openeuler/compiler_gn/base/security/device_auth %{_builddir}/base/security + +%autosetup -p1 -n foundation/systemabilitymgr/safwk +exit 0 + +%build +cd %{_builddir} + +%ifarch x86_64 +./build.sh --product-name openeuler --target-cpu x86_64 +%endif + +%ifarch aarch64 +./build.sh --product-name openeuler --target-cpu arm64 +%endif + +%install +install -d %{buildroot}/%{_libdir} +install -d %{buildroot}/%{_bindir} +install -d %{buildroot}/%{_includedir}/safwk + +# bin +install -m 0755 %{_builddir}/out/openeuler/packages/phone/system/bin/sa_main %{buildroot}/%{_bindir} +# shared library +install -m 0755 %{_builddir}/out/openeuler/packages/phone/system/lib64/platformsdk/libsystem_ability_fwk.z.so %{buildroot}/%{_libdir} +# header files +install -m 0755 %{_builddir}/foundation/systemabilitymgr/safwk/interfaces/innerkits/safwk/system_ability.h %{buildroot}/%{_includedir}/safwk +install -m 0755 %{_builddir}/foundation/systemabilitymgr/safwk/services/safwk/include/* %{buildroot}/%{_includedir}/safwk + +%files +%{_bindir}/* +%{_libdir}/* +%{_includedir}/safwk/* + +%changelog +* Tue Jun 15 2023 peng_langyuan +- Init and Adapt to Openeule \ No newline at end of file -- Gitee