From 39d8f8b4ff34230cc401323e39fefc510571e776 Mon Sep 17 00:00:00 2001 From: heppen Date: Mon, 20 Nov 2023 14:55:23 +0800 Subject: [PATCH 1/3] update build requires and requires --- distributeddatamgr_data_object.spec | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/distributeddatamgr_data_object.spec b/distributeddatamgr_data_object.spec index 3247358..95f1fba 100644 --- a/distributeddatamgr_data_object.spec +++ b/distributeddatamgr_data_object.spec @@ -15,11 +15,15 @@ Source1: distributeddataobject_impl.BUILD.gn Source2: bundle.json Patch0: 0001-Trim-the-dependencies-on-hitrace-libuv.patch -BuildRequires: libatomic libicu-devel libxml2-devel openssl-devel -BuildRequires: distributed-build distributed-build_lite hilog distributed-utils -BuildRequires: distributeddatamgr_kv_store - -Requires: hilog distributed-utils distributeddatamgr_kv_store distributeddatamgr_datamgr_service +BuildRequires: libatomic, libicu-devel, libxml2-devel, openssl-devel, jsoncpp, jsoncpp-devel +BuildRequires: distributed-build, commonlibrary_c_utils, distributed-beget, notification_eventhandler, communication_dsoftbus, +BuildRequires: distributeddatamgr_kv_store, distributeddatamgr_relational_store + +Requires: libboundscheck, libatomic +Requires: hilog, commonlibrary_c_utils +Requires: systemabilitymgr_safwk, systemabilitymgr_samgr +Requires: security_dataclassification, communication_dsoftbus +Requires: distributeddatamgr_kv_store, distributeddatamgr_relational_store, distributeddatamgr_datamgr_service %description The object-oriented memory data management framework provides application -- Gitee From ac47af179b01b0a029511a5618b9fb3f64309e9d Mon Sep 17 00:00:00 2001 From: heppen Date: Thu, 23 Nov 2023 14:52:32 +0800 Subject: [PATCH 2/3] unify spec format --- distributeddatamgr_data_object.spec | 90 ++++++++++++++++------------- distributeddataobject_impl.BUILD.gn | 2 +- 2 files changed, 50 insertions(+), 42 deletions(-) diff --git a/distributeddatamgr_data_object.spec b/distributeddatamgr_data_object.spec index 95f1fba..b17d5a8 100644 --- a/distributeddatamgr_data_object.spec +++ b/distributeddatamgr_data_object.spec @@ -1,29 +1,33 @@ %define debug_package %{nil} %global oh_version OpenHarmony-v3.2-Release -%global distributeddatamgr_dir %{_builddir}/foundation/distributeddatamgr/ +%global distributeddata_dir %{_builddir}/foundation/distributeddatamgr/ %global build_opt /opt/distributed-middleware-build %global bundle_dir %{build_opt}/openeuler/compiler_gn/foundation/distributeddatamgr/data_object Name: distributeddatamgr_data_object Version: 1.0.0 -Release: 2 +Release: 3 Summary: Distributed Data Object Management Framework License: Apache-2.0 Url: https://gitee.com/openharmony/distributeddatamgr_data_object -Source0: https://gitee.com/openharmony/distributeddatamgr_data_object/repository/archive/OpenHarmony-v3.2-Release.tar.gz#/distributeddatamgr_data_object-OpenHarmony-v3.2-Release.tar.gz -Source1: distributeddataobject_impl.BUILD.gn -Source2: bundle.json -Patch0: 0001-Trim-the-dependencies-on-hitrace-libuv.patch - -BuildRequires: libatomic, libicu-devel, libxml2-devel, openssl-devel, jsoncpp, jsoncpp-devel -BuildRequires: distributed-build, commonlibrary_c_utils, distributed-beget, notification_eventhandler, communication_dsoftbus, -BuildRequires: distributeddatamgr_kv_store, distributeddatamgr_relational_store - -Requires: libboundscheck, libatomic +Source1: https://gitee.com/openharmony/distributeddatamgr_data_object/repository/archive/OpenHarmony-v3.2-Release.tar.gz#/distributeddatamgr_data_object-OpenHarmony-v3.2-Release.tar.gz +Source2: distributeddataobject_impl.BUILD.gn +Source3: bundle.json +Patch1: 0001-Trim-the-dependencies-on-hitrace-libuv.patch + +BuildRequires: libboundscheck +BuildRequires: distributed-build, hilog, commonlibrary_c_utils +BuildRequires: communication_ipc, communication_dsoftbus +BuildRequires: systemabilitymgr_safwk, systemabilitymgr_samgr +BuildRequires: distributedhardware_device_manager +BuildRequires: distributeddatamgr_kv_store + +Requires: libboundscheck Requires: hilog, commonlibrary_c_utils +Requires: communication_ipc, communication_dsoftbus Requires: systemabilitymgr_safwk, systemabilitymgr_samgr -Requires: security_dataclassification, communication_dsoftbus -Requires: distributeddatamgr_kv_store, distributeddatamgr_relational_store, distributeddatamgr_datamgr_service +Requires: distributedhardware_device_manager +Requires: distributeddatamgr_kv_store, distributeddatamgr_datamgr_service %description The object-oriented memory data management framework provides application @@ -35,50 +39,52 @@ Developers can easily use distributed object interfaces for object synchronizati %prep rm -rf %{_builddir}/* -cd %{_builddir} -cp -rp %{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 -mv build/openeuler/vendor %{_builddir}/ -%setup -q -T -a 0 -c -n %{distributeddatamgr_dir} -mv %{distributeddatamgr_dir}%{name}-%{oh_version} %{distributeddatamgr_dir}data_object -%patch0 -p1 -d %{distributeddatamgr_dir}data_object -cp -rf %{_builddir}/build/openeuler/compiler_gn/* %{_builddir}/ +cp -rf %{build_opt} %{_builddir}/build +ln -s %{_builddir}/build/build_scripts/build.sh %{_builddir}/build.sh +ln -s %{_builddir}/build/core/gn/dotfile.gn %{_builddir}/.gn +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 %{distributeddata_dir} +if [ -d "%{distributeddata_dir}/data_object" ]; then + rm -rf %{distributeddata_dir}/data_object +fi +mv %{distributeddata_dir}/%{name}-%{oh_version} %{distributeddata_dir}/data_object + +%patch -P1 -p1 -d %{distributeddata_dir}data_object %build -cd %{_builddir} -rm -rf %{_builddir}/out %ifarch x86_64 -./build.sh --product-name openeuler --target-cpu x86_64 +%{_builddir}/build.sh --product-name openeuler --target-cpu x86_64 %endif %ifarch aarch64 -./build.sh --product-name openeuler --target-cpu arm64 +%{_builddir}/build.sh --product-name openeuler --target-cpu arm64 %endif %install -install -d -m 0755 %{buildroot}%{_includedir}/data_object -install -d -m 0755 %{buildroot}%{_libdir} -install -d -m 0755 %{buildroot}%{bundle_dir}/interfaces/innerkits +install -d -m 0755 %{buildroot}/%{_includedir}/data_object +install -d -m 0755 %{buildroot}/%{_libdir} +install -d -m 0755 %{buildroot}/%{bundle_dir}/interfaces/innerkits install -d -m 0755 %{buildroot}/system/lib64 -cp -f %{SOURCE1} %{buildroot}/%{bundle_dir}/interfaces/innerkits/BUILD.gn -cp -f %{SOURCE2} %{buildroot}/%{bundle_dir}/ +cp %{SOURCE2} %{buildroot}/%{bundle_dir}/interfaces/innerkits/BUILD.gn +cp %{SOURCE3} %{buildroot}/%{bundle_dir}/ %ifarch aarch64 -module_out_path="out/openeuler/linux_clang_arm64/distributeddatamgr/data_object" -header_out_path="out/openeuler/innerkits/linux-arm64/data_object" +%define lib_out_path out/openeuler/linux_clang_arm64/distributeddatamgr/data_object +%define header_out_path out/openeuler/innerkits/linux-arm64/data_object %endif %ifarch x86_64 -module_out_path="out/openeuler/linux_clang_x86_64/distributeddatamgr/data_object" -header_out_path="out/openeuler/innerkits/linux-x86_64/data_object" +%define lib_out_path out/openeuler/linux_clang_x86_64/distributeddatamgr/data_object +%define header_out_path out/openeuler/innerkits/linux-x86_64/data_object %endif -install -m 0755 %{_builddir}/${module_out_path}/*.so %{buildroot}%{_libdir} -install -m 0755 %{_builddir}/${module_out_path}/*.so %{buildroot}/system/lib64 +install -m 0755 %{_builddir}/%{lib_out_path}/*.so %{buildroot}/%{_libdir} +install -m 0755 %{_builddir}/%{lib_out_path}/*.so %{buildroot}/system/lib64 -find %{_builddir}/${header_out_path} -name *.h -print0 | xargs -0 -i cp -rf {} %{buildroot}%{_includedir}/data_object/ +find %{_builddir}/%{header_out_path} -name *.h -print0 | xargs -0 -i cp -rf {} %{buildroot}%{_includedir}/data_object/ pushd %{_builddir}/foundation/distributeddatamgr/data_object for include_file in `find . \( -name test -o -name jskitsimpl \) -prune -o -name "*.h" -type f` @@ -90,7 +96,6 @@ do done popd - %files %{_libdir}/*.so %{_includedir}/data_object/* @@ -98,6 +103,9 @@ popd /system/* %changelog +* Tue Nov 21 2023 Peng He - 1.0.0-3 +- Update build requires and requires. + * Thu Aug 03 2023 Peng He - 1.0.0-2 - Add requires and rectify the contents of the RPM package. diff --git a/distributeddataobject_impl.BUILD.gn b/distributeddataobject_impl.BUILD.gn index 0e9fae6..b4d5df3 100644 --- a/distributeddataobject_impl.BUILD.gn +++ b/distributeddataobject_impl.BUILD.gn @@ -15,7 +15,7 @@ import("//build/ohos.gni") config("objectstore_public_config") { visibility = [ ":*" ] - include_dirs = [ "." ] + include_dirs = [ "/usr/include/data_object" ] libs = [ "distributeddataobject_impl.z" ] } -- Gitee From 2444013a4e70635e896f4cb2d180305568ceb5bb Mon Sep 17 00:00:00 2001 From: heppen Date: Thu, 7 Mar 2024 16:57:00 +0800 Subject: [PATCH 3/3] check if some build script is exist on %pre stage --- distributeddatamgr_data_object.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/distributeddatamgr_data_object.spec b/distributeddatamgr_data_object.spec index b17d5a8..fe6bb54 100644 --- a/distributeddatamgr_data_object.spec +++ b/distributeddatamgr_data_object.spec @@ -40,9 +40,9 @@ Developers can easily use distributed object interfaces for object synchronizati %prep rm -rf %{_builddir}/* cp -rf %{build_opt} %{_builddir}/build -ln -s %{_builddir}/build/build_scripts/build.sh %{_builddir}/build.sh -ln -s %{_builddir}/build/core/gn/dotfile.gn %{_builddir}/.gn -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 +[ ! -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} -- Gitee