From b13e09c6f92199d58447b0ed9a316aaed556cb2d Mon Sep 17 00:00:00 2001 From: yykk Date: Mon, 22 Apr 2024 17:35:17 +0800 Subject: [PATCH] init 24.03 files --- 0001-notification-eventhandler.patch | 263 ++++++++++++++++++ ...dded-fix-eventhandler-compile-errors.patch | 91 ++++++ eventhandler.BUILD.gn | 19 ++ eventhandler.bundle.json | 74 +++++ ...enthandler-OpenHarmony-v3.2-Release.tar.gz | Bin 0 -> 106175 bytes notification_eventhandler.spec | 123 ++++++++ 6 files changed, 570 insertions(+) create mode 100644 0001-notification-eventhandler.patch create mode 100644 0002-feat-for-embedded-fix-eventhandler-compile-errors.patch create mode 100644 eventhandler.BUILD.gn create mode 100644 eventhandler.bundle.json create mode 100644 notification_eventhandler-OpenHarmony-v3.2-Release.tar.gz create mode 100644 notification_eventhandler.spec diff --git a/0001-notification-eventhandler.patch b/0001-notification-eventhandler.patch new file mode 100644 index 0000000..758bc75 --- /dev/null +++ b/0001-notification-eventhandler.patch @@ -0,0 +1,263 @@ +diff --git a/frameworks/eventhandler/BUILD.gn b/frameworks/eventhandler/BUILD.gn +index ceed950..7342337 100644 +--- a/frameworks/eventhandler/BUILD.gn ++++ b/frameworks/eventhandler/BUILD.gn +@@ -37,7 +37,7 @@ ohos_shared_library("libeventhandler") { + public_configs = [ ":public_libeventhandler_config" ] + + external_deps = [ +- "hitrace_native:libhitracechain", ++ # "hitrace_native:libhitracechain", + "hiviewdfx_hilog_native:libhilog", + ] + +diff --git a/frameworks/eventhandler/include/event_handler_utils.h b/frameworks/eventhandler/include/event_handler_utils.h +index 72fbdac..37e862f 100644 +--- a/frameworks/eventhandler/include/event_handler_utils.h ++++ b/frameworks/eventhandler/include/event_handler_utils.h +@@ -22,7 +22,7 @@ + #include + + #include "hilog/log.h" +-#include "hitrace/trace.h" ++// #include "hitrace/trace.h" + #include "inner_event.h" + + #define DEFINE_HILOG_LABEL(name) \ +@@ -66,30 +66,30 @@ static inline int32_t NanosecondsToTimeout(int64_t nanoseconds) + return (milliseconds > INT32_MAX) ? INT32_MAX : static_cast(milliseconds); + } + +-using HiTraceChain = OHOS::HiviewDFX::HiTraceChain; ++// using HiTraceChain = OHOS::HiviewDFX::HiTraceChain; + + static inline bool AllowHiTraceOutPut(const std::shared_ptr& traceId, bool isSyncEvent) + { +- if ((!traceId) || (!traceId->IsValid())) { +- return false; +- } +- if ((!isSyncEvent) && (!traceId->IsFlagEnabled(HITRACE_FLAG_INCLUDE_ASYNC))) { +- return false; +- } ++ // if ((!traceId) || (!traceId->IsValid())) { ++ // return false; ++ // } ++ // if ((!isSyncEvent) && (!traceId->IsFlagEnabled(HITRACE_FLAG_INCLUDE_ASYNC))) { ++ // return false; ++ // } + return true; + } + +-static inline void HiTracePointerOutPut(const std::shared_ptr& spanId, +- const InnerEvent::Pointer& event, const char* action, HiTraceTracepointType type) +-{ +- if (!event->HasTask()) { +- HiTraceChain::Tracepoint(type, *spanId, "%s event, event id: %d", action, event->GetInnerEventId()); +- } else if (!event->GetTaskName().empty()) { +- HiTraceChain::Tracepoint(type, *spanId, "%s task with name, name: %s", action, event->GetTaskName().c_str()); +- } else { +- HiTraceChain::Tracepoint(type, *spanId, "%s UnNamed Task", action); +- } +-} ++// static inline void HiTracePointerOutPut(const std::shared_ptr& spanId, ++// const InnerEvent::Pointer& event, const char* action, HiTraceTracepointType type) ++// { ++// if (!event->HasTask()) { ++// HiTraceChain::Tracepoint(type, *spanId, "%s event, event id: %d", action, event->GetInnerEventId()); ++// } else if (!event->GetTaskName().empty()) { ++// HiTraceChain::Tracepoint(type, *spanId, "%s task with name, name: %s", action, event->GetTaskName().c_str()); ++// } else { ++// HiTraceChain::Tracepoint(type, *spanId, "%s UnNamed Task", action); ++// } ++// } + + static inline void GetLastErr(char *errmsg, size_t size = MAX_ERRORMSG_LEN) + { +diff --git a/frameworks/eventhandler/src/event_handler.cpp b/frameworks/eventhandler/src/event_handler.cpp +index ab6e876..8477424 100644 +--- a/frameworks/eventhandler/src/event_handler.cpp ++++ b/frameworks/eventhandler/src/event_handler.cpp +@@ -74,11 +74,11 @@ bool EventHandler::SendEvent(InnerEvent::Pointer &event, int64_t delayTime, Prio + + event->SetOwner(shared_from_this()); + // get traceId from event, if HiTraceChain::begin has been called, would get a valid trace id. +- auto traceId = event->GetOrCreateTraceId(); ++ // auto traceId = event->GetOrCreateTraceId(); + // if traceId is valid, out put trace information +- if (AllowHiTraceOutPut(traceId, event->HasWaiter())) { +- HiTracePointerOutPut(traceId, event, "Send", HiTraceTracepointType::HITRACE_TP_CS); +- } ++ // if (AllowHiTraceOutPut(traceId, event->HasWaiter())) { ++ // HiTracePointerOutPut(traceId, event, "Send", HiTraceTracepointType::HITRACE_TP_CS); ++ // } + + eventRunner_->GetEventQueue()->Insert(event, priority); + return true; +@@ -117,7 +117,7 @@ bool EventHandler::SendSyncEvent(InnerEvent::Pointer &event, Priority priority) + } + + // get traceId from event, if HiTraceChain::begin has been called, would get a valid trace id. +- auto spanId = event->GetOrCreateTraceId(); ++ // auto spanId = event->GetOrCreateTraceId(); + + // Create waiter, used to block. + auto waiter = event->CreateWaiter(); +@@ -128,9 +128,9 @@ bool EventHandler::SendSyncEvent(InnerEvent::Pointer &event, Priority priority) + // Wait until event is processed(recycled). + waiter->Wait(); + +- if ((spanId) && (spanId->IsValid())) { +- HiTraceChain::Tracepoint(HiTraceTracepointType::HITRACE_TP_CR, *spanId, "event is processed"); +- } ++ // if ((spanId) && (spanId->IsValid())) { ++ // HiTraceChain::Tracepoint(HiTraceTracepointType::HITRACE_TP_CR, *spanId, "event is processed"); ++ // } + + return true; + } +@@ -305,13 +305,13 @@ void EventHandler::DistributeEvent(const InnerEvent::Pointer &event) + + currentEventHandler = shared_from_this(); + +- auto spanId = event->GetTraceId(); +- auto traceId = HiTraceChain::GetId(); +- bool allowTraceOutPut = AllowHiTraceOutPut(spanId, event->HasWaiter()); +- if (allowTraceOutPut) { +- HiTraceChain::SetId(*spanId); +- HiTracePointerOutPut(spanId, event, "Receive", HiTraceTracepointType::HITRACE_TP_SR); +- } ++ // auto spanId = event->GetTraceId(); ++ // auto traceId = HiTraceChain::GetId(); ++ // bool allowTraceOutPut = AllowHiTraceOutPut(spanId, event->HasWaiter()); ++ // if (allowTraceOutPut) { ++ // HiTraceChain::SetId(*spanId); ++ // HiTracePointerOutPut(spanId, event, "Receive", HiTraceTracepointType::HITRACE_TP_SR); ++ // } + + InnerEvent::TimePoint nowStart = InnerEvent::Clock::now(); + DeliveryTimeAction(event, nowStart); +@@ -326,13 +326,13 @@ void EventHandler::DistributeEvent(const InnerEvent::Pointer &event) + + DistributeTimeAction(event, nowStart); + +- if (allowTraceOutPut) { +- HiTraceChain::Tracepoint(HiTraceTracepointType::HITRACE_TP_SS, *spanId, "Event Distribute over"); +- HiTraceChain::ClearId(); +- if (traceId.IsValid()) { +- HiTraceChain::SetId(traceId); +- } +- } ++ // if (allowTraceOutPut) { ++ // HiTraceChain::Tracepoint(HiTraceTracepointType::HITRACE_TP_SS, *spanId, "Event Distribute over"); ++ // HiTraceChain::ClearId(); ++ // if (traceId.IsValid()) { ++ // HiTraceChain::SetId(traceId); ++ // } ++ // } + } + + void EventHandler::Dump(Dumper &dumper) +diff --git a/frameworks/eventhandler/src/inner_event.cpp b/frameworks/eventhandler/src/inner_event.cpp +index 654b44e..90e0c49 100644 +--- a/frameworks/eventhandler/src/inner_event.cpp ++++ b/frameworks/eventhandler/src/inner_event.cpp +@@ -209,9 +209,9 @@ void InnerEvent::ClearEvent() + } + } + +- if (hiTraceId_) { +- hiTraceId_.reset(); +- } ++ // if (hiTraceId_) { ++ // hiTraceId_.reset(); ++ // } + + // Clear owner + owner_.reset(); +@@ -233,25 +233,25 @@ bool InnerEvent::HasWaiter() const + return (waiter_ != nullptr); + } + +-const std::shared_ptr InnerEvent::GetOrCreateTraceId() +-{ +- if (hiTraceId_) { +- return hiTraceId_; +- } +- +- auto traceId = HiTraceChain::GetId(); +- if (!traceId.IsValid()) { +- return nullptr; +- } +- +- hiTraceId_ = std::make_shared(HiTraceChain::CreateSpan()); +- return hiTraceId_; +-} +- +-const std::shared_ptr InnerEvent::GetTraceId() +-{ +- return hiTraceId_; +-} ++// const std::shared_ptr InnerEvent::GetOrCreateTraceId() ++// { ++ // if (hiTraceId_) { ++ // return hiTraceId_; ++ // } ++ ++ // auto traceId = HiTraceChain::GetId(); ++ // if (!traceId.IsValid()) { ++ // return nullptr; ++ // } ++ ++ // hiTraceId_ = std::make_shared(HiTraceChain::CreateSpan()); ++ // return hiTraceId_; ++// } ++ ++// const std::shared_ptr InnerEvent::GetTraceId() ++// { ++// // return hiTraceId_; ++// } + + std::string InnerEvent::Dump() + { +diff --git a/interfaces/inner_api/event_queue.h b/interfaces/inner_api/event_queue.h +index 1b4d82c..e98500d 100644 +--- a/interfaces/inner_api/event_queue.h ++++ b/interfaces/inner_api/event_queue.h +@@ -20,6 +20,7 @@ + #include + #include + #include ++#include + + #include "inner_event.h" + #include "event_handler_errors.h" +diff --git a/interfaces/inner_api/inner_event.h b/interfaces/inner_api/inner_event.h +index b8fb32c..1bedc46 100644 +--- a/interfaces/inner_api/inner_event.h ++++ b/interfaces/inner_api/inner_event.h +@@ -437,14 +437,14 @@ private: + * + * @return return hiTrace Id. + */ +- const std::shared_ptr GetOrCreateTraceId(); ++ // const std::shared_ptr GetOrCreateTraceId(); + + /** + * return trace id. + * + * @return return hiTrace Id. + */ +- const std::shared_ptr GetTraceId(); ++ // const std::shared_ptr GetTraceId(); + + /* + * Calculate the type id for different smart pointers. +@@ -522,7 +522,7 @@ private: + std::shared_ptr waiter_; + + // use to store hitrace Id +- std::shared_ptr hiTraceId_; ++ // std::shared_ptr hiTraceId_; + }; + } // namespace AppExecFwk + } // namespace OHOS diff --git a/0002-feat-for-embedded-fix-eventhandler-compile-errors.patch b/0002-feat-for-embedded-fix-eventhandler-compile-errors.patch new file mode 100644 index 0000000..0f3b769 --- /dev/null +++ b/0002-feat-for-embedded-fix-eventhandler-compile-errors.patch @@ -0,0 +1,91 @@ +From 53cabe6ad687bac70f51cb39d265116ff8c8d883 Mon Sep 17 00:00:00 2001 +From: s_c_c +Date: Mon, 25 Mar 2024 17:04:16 +0800 +Subject: [PATCH] feat for embedded fix eventhandler compile errors + +--- + frameworks/eventhandler/BUILD.gn | 3 ++- + frameworks/eventhandler/include/event_handler_utils.h | 3 ++- + frameworks/napi/BUILD.gn | 3 ++- + frameworks/native/BUILD.gn | 6 +++--- + 4 files changed, 9 insertions(+), 6 deletions(-) + +diff --git a/frameworks/eventhandler/BUILD.gn b/frameworks/eventhandler/BUILD.gn +index 7342337..a4be522 100644 +--- a/frameworks/eventhandler/BUILD.gn ++++ b/frameworks/eventhandler/BUILD.gn +@@ -14,11 +14,12 @@ + import("//build/ohos.gni") + import("../../eventhandler.gni") + import("inner_api_sources.gni") ++import("//build/config/sysroot.gni") + + config("libeventhandler_config") { + include_dirs = [ + "${inner_api_path}", +- "//commonlibrary/c_utils/base/include", ++ "${sysroot}/usr/include/c_utils", + "include", + ] + } +diff --git a/frameworks/eventhandler/include/event_handler_utils.h b/frameworks/eventhandler/include/event_handler_utils.h +index 37e862f..84be89d 100644 +--- a/frameworks/eventhandler/include/event_handler_utils.h ++++ b/frameworks/eventhandler/include/event_handler_utils.h +@@ -94,7 +94,8 @@ static inline bool AllowHiTraceOutPut(const std::shared_ptr& traceId, + static inline void GetLastErr(char *errmsg, size_t size = MAX_ERRORMSG_LEN) + { + size = size > MAX_ERRORMSG_LEN ? MAX_ERRORMSG_LEN : size; +- strerror_r(errno, errmsg, size); ++ char *ret = strerror_r(errno, errmsg, size); ++ (void)ret; + } + } // namespace AppExecFwk + } // namespace OHOS +diff --git a/frameworks/napi/BUILD.gn b/frameworks/napi/BUILD.gn +index 7b6f32f..d946e4e 100644 +--- a/frameworks/napi/BUILD.gn ++++ b/frameworks/napi/BUILD.gn +@@ -14,6 +14,7 @@ + import("//build/ohos.gni") + import("//build/ohos/ace/ace.gni") + import("../../eventhandler.gni") ++import("//build/config/sysroot.gni") + + ohos_shared_library("emitter") { + include_dirs = [ +@@ -21,7 +22,7 @@ ohos_shared_library("emitter") { + "${inner_api_path}", + "//third_party/node/src", + "//third_party/libuv/include", +- "//commonlibrary/c_utils/base/include", ++ "${sysroot}/usr/include/c_utils", + ] + + sources = [ +diff --git a/frameworks/native/BUILD.gn b/frameworks/native/BUILD.gn +index 55e8208..6c98a96 100644 +--- a/frameworks/native/BUILD.gn ++++ b/frameworks/native/BUILD.gn +@@ -13,15 +13,15 @@ + + import("//build/ohos.gni") + import("../../eventhandler.gni") ++import("//build/config/sysroot.gni") + + ohos_shared_library("eventhandler_native") { + sources = [ "src/native_interface_eventhandler.cpp" ] + + include_dirs = [ + "${kits_path}/native", +- "//commonlibrary/c_utils/base/include", +- "//base/hiviewdfx/interfaces/innerkits/libhilog/include", +- "//base/hiviewdfx/interfaces/innerkits/libhitrace/include", ++ "${sysroot}/usr/include/c_utils", ++ "${sysroot}/usr/include/hilog", + ] + + cflags = [ "-Wno-error=inconsistent-missing-override" ] +-- +2.20.1 (Apple Git-117) + diff --git a/eventhandler.BUILD.gn b/eventhandler.BUILD.gn new file mode 100644 index 0000000..bcff0fb --- /dev/null +++ b/eventhandler.BUILD.gn @@ -0,0 +1,19 @@ +import("//build/ohos.gni") +import("//build/config/sysroot.gni") + +config("libeventhandler_config") { + include_dirs = [ "${sysroot}/usr/include/eventhandler" ] + libs = ["eventhandler.z"] +} +group("libeventhandler") { + public_configs = [ ":libeventhandler_config" ] +} + +config("eventhandler_native_config") { + include_dirs = [ "${sysroot}/usr/include/eventhandler" ] + libs = ["eventhandler_native.z"] +} +group("eventhandler_native") { + public_configs = [ ":eventhandler_native_config" ] +} + diff --git a/eventhandler.bundle.json b/eventhandler.bundle.json new file mode 100644 index 0000000..b2b8d89 --- /dev/null +++ b/eventhandler.bundle.json @@ -0,0 +1,74 @@ +{ + "name": "@ohos/eventhandler", + "description": "事件处理服务", + "version": "3.1", + "license": "Apache 2.0", + "segment": { + "destPath": "base/notification/eventhandler/frameworks/eventhandler" + }, + "component": { + "name": "eventhandler", + "subsystem": "notification", + "syscap": [ + "SystemCapability.Notification.Emitter" + ], + "features": [], + "adapted_system_type": [ + "standard" + ], + "rom": "500KB", + "ram": "1000KB", + "deps": { + "components": [ + "hitrace_native", + "hiviewdfx_hilog_native", + "hichecker_native" + ], + "third_party": [] + }, + "build": { + "group_type": { + "base_group": [ + + ], + "fwk_group": [ + ], + "service_group": [ + + ] + }, + "inner_kits": [ + { + "header": { + "header_base": "//base/notification/eventhandler/libeventhandler", + "header_files": [ + "event_handler_errors.h", + "event_handler.h", + "event_queue.h", + "event_runner.h", + "inner_event.h", + "file_descriptor_listener.h", + "native_implement_eventhandler.h" + ] + }, + "name": "//base/notification/eventhandler:libeventhandler" + }, + { + "header": { + "header_base": "//base/notification/eventhandler:eventhandler_native", + "header_files": [ + "native_interface_eventhandler.h" + ] + }, + "name": "//base/notification/eventhandler:eventhandler_native" + } + ], + "test": [ + "//base/notification/eventhandler/frameworks/eventhandler/test:unittest", + "//base/notification/eventhandler/frameworks/test/moduletest:moduletest", + "//base/notification/eventhandler/test/fuzztest:fuzztest", + "//base/notification/eventhandler/test/systemtest:systemtest" + ] + } + } +} diff --git a/notification_eventhandler-OpenHarmony-v3.2-Release.tar.gz b/notification_eventhandler-OpenHarmony-v3.2-Release.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..8547a9c472107349132368793b9e91f61e93156a GIT binary patch literal 106175 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
  • WC6=&5 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 literal 0 HcmV?d00001 diff --git a/notification_eventhandler.spec b/notification_eventhandler.spec new file mode 100644 index 0000000..e1e6982 --- /dev/null +++ b/notification_eventhandler.spec @@ -0,0 +1,123 @@ +# 不输出debug信息,不产生debug包 +%define debug_package %{nil} +# 定义openHarmony软件包的版本变量,所有包应该都是OpenHarmony-v3.2-Release +%global oh_version OpenHarmony-v3.2-Release +# 定义下编译根目录变量,此处用/root/rpmbuild/BUILD/distributed_build作为编译根目录 +%global build_opt /opt/distributed-middleware-build +%global bundle_dir %{build_opt}/openeuler/compiler_gn/base/notification/eventhandler +%global eventhandler_path %{_builddir}/base/notification + +# rpm包名称 +Name: notification_eventhandler +# rpm包版本号 +Version: 1.0.0 +# rpm包Release号,每次修改需要+1,changelog同步修改 +Release: 2 +# rpm简介 +Summary: C++ common basic library for distributed module construction and operation +# License openHarmony的应该都是Apache License 2.0 + +License: Apache License 2.0 +# 软件包上游社区 +Url: https://gitee.com/openharmony/notification_eventhandler +# tar包的下载地址,由于gitee下载路径是不带软件包名的,会导致和name不匹配, +# 所以此处在后面用注释方式修改spec识别的tar包名称,属于取巧,但无可奈何。 +Source1: https://gitee.com/openharmony/notification_eventhandler/repository/archive/%{oh_version}.tar.gz #/%{name}-%{oh_version}.tar.gz +Source2: eventhandler.bundle.json +Source3: eventhandler.BUILD.gn +# 补丁定义 +Patch0001: 0001-notification-eventhandler.patch +Patch0002: 0002-feat-for-embedded-fix-eventhandler-compile-errors.patch + + +# 编译依赖,提交代码时需要分析依赖层级,从底往上提交代码。 +BuildRequires: distributed-build, hilog, commonlibrary_c_utils +BuildRequires: python3-jinja2, python3-pyyaml +BuildRequires: libatomic, libicu-devel, libxml2-devel, compat-openssl11-devel + +Requires: hilog +# 软件包的详细描述 +%description +Provide some commonly used C++ development tool classes for standard systems, This repository is compatible with compilation on the OpenEuler operating system +# 软件包编译前的准备阶段 + +%prep +# 解压tar包到commonlibrary_c_utils-OpenHarmony-v3.2-Release路径下 +rm -rf %{_builddir}/* +# build directory +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 -r %{_builddir}/build/openeuler/vendor %{_builddir}/ +cp -r %{_builddir}/build/openeuler/compiler_gn/third_party %{_builddir}/ + +# 统一用setup,不用autosetup,distributed-build除外 +mkdir -p %{eventhandler_path} +%setup -q -D -T -a 1 -c -n %{eventhandler_path} +mv %{name}-%{oh_version} %{eventhandler_path}/eventhandler +# patch命令统一使用-P来指定第几个patch +%patch -P1 -p1 -d %{eventhandler_path}/eventhandler +%patch -P2 -p1 -d %{eventhandler_path}/eventhandler + +# 拷贝依赖的组件的gn文件 +mkdir -p %{_builddir}/base/hiviewdfx +mkdir -p %{_builddir}/commonlibrary + +cp -rf %{_builddir}/build/openeuler/compiler_gn/base/hiviewdfx/hilog %{_builddir}/base/hiviewdfx +cp -rf %{_builddir}/build/openeuler/compiler_gn/commonlibrary/c_utils %{_builddir}/commonlibrary + +# 编译阶段 +%build +rm -rf %{_builddir}/out +%ifarch x86_64 +bash %{_builddir}/build.sh --product-name openeuler --target-cpu x86_64 +%endif +%ifarch aarch64 +bash %{_builddir}/build.sh --product-name openeuler --target-cpu arm64 +%endif + +# 安装阶段 +%install +install -d -m 0755 %{buildroot}/%{_includedir}/eventhandler +install -d -m 0755 %{buildroot}/%{bundle_dir}/ +# 建so文件目录 /usr/lib64 +install -d -m 0755 %{buildroot}/%{_libdir} + +# innerkits/linux-arm64/eventhandler +%ifarch aarch64 +%define module_out_path out/openeuler/linux_clang_arm64 +%endif +%ifarch x86_64 +%define module_out_path out/openeuler/linux_clang_x86_64 +%endif + +#copy shared library files +%define so_out_path %{module_out_path}/notification/eventhandler +install -m 0755 %{_builddir}/%{so_out_path}/libeventhandler_native.z.so %{buildroot}/%{_libdir} +install -m 0755 %{_builddir}/%{so_out_path}/libeventhandler.z.so %{buildroot}/%{_libdir} + +# %define sdk_out_path %{module_out_path}/eventhandler +# cp -rf %{_builddir}/${sdk_out_path}/* %{buildroot}/%{bundle_dir}/ +cp -rf %{SOURCE2} %{buildroot}/%{bundle_dir}/bundle.json + +# 到源码路径下拷贝头文件及其目录到%{buildroot}/usr/include/eventhandler下,保持目录结构相同 +install -m 554 %{_builddir}/base/notification/eventhandler/interfaces/inner_api/*.h %{buildroot}/%{_includedir}/eventhandler + +#copy correct eventhandler BUILD.gn +cp -rf %{SOURCE3} %{buildroot}%{bundle_dir}/BUILD.gn + +# rpm安装后需要安装到系统中的文件,及上面说的so和头文件 +%files +%{_libdir}/*.so +%{_includedir}/eventhandler/* +%{bundle_dir}/* + +# 变更日志 +%changelog +* Tue Mar 19 2024 s_c_c - 1.0.0-2 +- Fix compile errors and sysroot path for embedded + +* Thu Jun 15 2023 chrisshangguan - 1.0.0-1 +- Init and adapt to openeuler + -- Gitee