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 0000000000000000000000000000000000000000..6f8fea1c0f9f3a988fbfed7e8b3e0c0b8ebdb786 --- /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 Binary files /dev/null and b/systemabilitymgr_safwk-OpenHarmony-v3.2-Release.tar.gz differ diff --git a/systemabilitymgr_safwk.spec b/systemabilitymgr_safwk.spec new file mode 100644 index 0000000000000000000000000000000000000000..647bcb0283422b2017dc55f3b50cb666ab236e3e --- /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