diff --git a/BUILD.gn.appdatafwk b/BUILD.gn.appdatafwk new file mode 100644 index 0000000000000000000000000000000000000000..ae51fb37a35ca948f964a2d95d76ac79e4503806 --- /dev/null +++ b/BUILD.gn.appdatafwk @@ -0,0 +1,10 @@ +import("//build/ohos.gni") + +config("appdatafwk_public_config") { + include_dirs = [ "include" ] + libs = [ "native_appdatafwk.z" ] +} + +group("native_appdatafwk") { + public_configs = [ ":appdatafwk_public_config" ] +} diff --git a/BUILD.gn.dataability b/BUILD.gn.dataability new file mode 100644 index 0000000000000000000000000000000000000000..8cdd2ae8910c12fc0d245cb74b977dec2f8c46b2 --- /dev/null +++ b/BUILD.gn.dataability @@ -0,0 +1,10 @@ +import("//build/ohos.gni") + +config("native_dataability_public_config") { + include_dirs = [ "include" ] + libs = [ "native_dataability.z" ] +} + +group("native_dataability") { + public_configs = [ ":native_dataability_public_config" ] +} diff --git a/BUILD.gn.rdb b/BUILD.gn.rdb new file mode 100644 index 0000000000000000000000000000000000000000..8c9f1c3161dd9d30b930e3d65dae3c476b354554 --- /dev/null +++ b/BUILD.gn.rdb @@ -0,0 +1,12 @@ +import("//build/ohos.gni") + +config("native_rdb_public_config") { + include_dirs = [ + "include" + ] + libs = [ "native_rdb.z" ] +} + +group("native_rdb") { + public_configs = [ ":native_rdb_public_config" ] +} diff --git a/BUILD.gn.share.adapter b/BUILD.gn.share.adapter new file mode 100644 index 0000000000000000000000000000000000000000..339f186c87e856f74ccc6e1e510778a376463aed --- /dev/null +++ b/BUILD.gn.share.adapter @@ -0,0 +1,10 @@ +import("//build/ohos.gni") + +config("rdb_data_share_adapter_public_config") { + include_dirs = [ "include" ] + libs = [ "rdb_data_share_adapter.z" ] +} + +group("rdb_data_share_adapter") { + public_configs = [ ":rdb_data_share_adapter_public_config" ] +} diff --git a/bundle.json b/bundle.json new file mode 100644 index 0000000000000000000000000000000000000000..34da81c314a1034ef300aaf0def51ac351d86297 --- /dev/null +++ b/bundle.json @@ -0,0 +1,133 @@ +{ + "name": "@ohos/distributeddatamgr_relational_store", + "version": "3.1.0", + "description": "Local Data Management", + "homePage": "https://gitee.com/openharmony", + "license": "Apache V2", + "repository": "https://gitee.com/openharmony/distributeddatamgr_relational_store", + "domain": "os", + "language": "", + "publishAs": "code-segment", + "private": false, + "scripts": {}, + "tags": [ + "foundation" + ], + "keywords": [ + "distributeddatamgr", + "relational_store" + ], + "envs": [], + "dirs": {}, + "author": { + "name": "", + "email": "", + "url": "" + }, + "contributors": [ + { + "name": "", + "email": "", + "url": "" + } + ], + "segment": { + "destPath": "foundation/distributeddatamgr/relational_store" + }, + "component": { + "name": "relational_store", + "subsystem": "distributeddatamgr", + "syscap": [ + "SystemCapability.DistributedDataManager.RelationalStore.Core" + ], + "features": ["relational_store_rdb_support_icu"], + "adapted_system_type": [ + "standard" + ], + "rom": "", + "ram": "", + "deps": { + "components": [ + "ability_base", + "ability_runtime", + "napi", + "hitrace_native", + "hilog_native", + "ipc", + "utils_base", + "common", + "icu", + "samgr" + ], + "third_party": [ + "sqlite", + "shared_icuuc", + "shared_icui18n", + "libxml2", + "libsec_shared", + "gtest_main" + ] + }, + "build": { + "sub_component": [ + "//foundation/distributeddatamgr/relational_store/interfaces/inner_api/appdatafwk:native_appdatafwk", + "//foundation/distributeddatamgr/relational_store/interfaces/inner_api/dataability:native_dataability", + "//foundation/distributeddatamgr/relational_store/interfaces/inner_api/rdb_data_share_adapter:rdb_data_share_adapter", + "//foundation/distributeddatamgr/relational_store/interfaces/inner_api/rdb:native_rdb" + ], + "inner_kits": [ + { + "name": "//foundation/distributeddatamgr/relational_store/interfaces/inner_api/rdb:native_rdb", + "header": { + "header_files": [ + "abs_rdb_predicates.h", + "abs_result_set.h", + "abs_shared_result_set.h", + "rdb_errno.h", + "rdb_helper.h", + "rdb_open_callback.h", + "rdb_predicates.h", + "rdb_store.h", + "rdb_store_config.h", + "result_set.h", + "shared_result_set.h", + "transaction_observer.h", + "value_object.h", + "values_bucket.h" + ], + "header_base": "//foundation/distributeddatamgr/relational_store/interfaces/inner_api/rdb/include" + } + }, + { + "name": "//foundation/distributeddatamgr/relational_store/interfaces/inner_api/appdatafwk:native_appdatafwk", + "header": { + "header_files": [ + "shared_block.h" + ], + "header_base": "//foundation/distributeddatamgr/relational_store/interfaces/inner_api/appdatafwk/include" + } + }, + { + "name": "//foundation/distributeddatamgr/relational_store/interfaces/inner_api/dataability:native_dataability", + "header": { + "header_files": [ + "data_ability_predicates.h", + "predicates_utils.h" + ], + "header_base": "//foundation/distributeddatamgr/relational_store/interfaces/inner_api/dataability/include" + } + } + ], + "test": [ + "//foundation/distributeddatamgr/relational_store/test/js/dataability:unittest", + "//foundation/distributeddatamgr/relational_store/test/js/rdb:unittest", + "//foundation/distributeddatamgr/relational_store/test/js/relationalstore:unittest", + "//foundation/distributeddatamgr/relational_store/test/native/dataability:unittest", + "//foundation/distributeddatamgr/relational_store/test/native/rdb:unittest", + "//foundation/distributeddatamgr/relational_store/test/native/rdb:fuzztest", + "//foundation/distributeddatamgr/relational_store/test/native/rdb_data_share_adapter:unittest", + "//foundation/distributeddatamgr/relational_store/test/native/rdb:distributedtest" + ] + } + } +} diff --git a/distributeddatamgr_relational_store-OpenHarmony-v3.2-Release.tar.gz b/distributeddatamgr_relational_store-OpenHarmony-v3.2-Release.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..fe0e15b2b5f4251e287d8fcda2248d4a548431b0 Binary files /dev/null and b/distributeddatamgr_relational_store-OpenHarmony-v3.2-Release.tar.gz differ diff --git a/distributeddatamgr_relational_store.spec b/distributeddatamgr_relational_store.spec new file mode 100644 index 0000000000000000000000000000000000000000..ca04b8555bc509496ecef9f90e978e7a2e618dc4 --- /dev/null +++ b/distributeddatamgr_relational_store.spec @@ -0,0 +1,119 @@ +%define debug_package %{nil} +%global oh_version OpenHarmony-v3.2-Release +%global relational_store_dir %{_builddir}/foundation/distributeddatamgr/ +%global build_opt /opt/distributed-middleware-build +%global bundle_dir %{build_opt}/openeuler/compiler_gn/foundation/distributeddatamgr/relational_store +%global appdatafwk_dir %{bundle_dir}/interfaces/inner_api/appdatafwk +%global dataability_dir %{bundle_dir}/interfaces/inner_api/dataability +%global share_adapter_dir %{bundle_dir}/interfaces/inner_api/rdb_data_share_adapter +%global rdb_dir %{bundle_dir}/interfaces/inner_api/rdb + +Name: distributeddatamgr_relational_store +Version: 1.0.0 +Release: 2 +Summary: Local Data Management +License: Apache-2.0 +Url: https://gitee.com/openharmony/distributeddatamgr_relational_store +Source0: https://gitee.com/openharmony/distributeddatamgr_relational_store/repository/archive/OpenHarmony-v3.2-Release.tar.gz#/distributeddatamgr_relational_store-OpenHarmony-v3.2-Release.tar.gz +Source1: bundle.json +Source2: BUILD.gn.appdatafwk +Source3: BUILD.gn.dataability +Source4: BUILD.gn.share.adapter +Source5: BUILD.gn.rdb +Patch0: 0001-remove-useless-dependencies.patch +Patch1: 0002-add-huks-component.patch +Patch2: 0003-add-third-part-component.patch +Patch3: 0004-establish-relational-store-dependence-on-boundscheck.patch + +BuildRequires: libatomic libicu-devel libxml2-devel openssl-devel +BuildRequires: distributed-build distributed-build_lite hilog distributed-utils +BuildRequires: distributeddatamgr_kv_store libicu + +Requires: hilog distributed-utils distributeddatamgr_kv_store + +%description +A relational database (RDB) is a database that manages data based on a relational model. The OpenHarmony relational database provides a complete mechanism for managing local databases based on the SQLite component. + +%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 %{relational_store_dir} +mv %{relational_store_dir}%{name}-%{oh_version} %{relational_store_dir}relational_store +cp -rf %{_builddir}/build/openeuler/compiler_gn/* %{_builddir}/ + +cd %{_builddir} +%patch0 -p1 -d %{relational_store_dir}relational_store +%patch1 -p1 -d %{_builddir}/base/security +%patch2 -p1 -d %{_builddir}/third_party +%patch3 -p1 -d %{_builddir}/foundation + +%build +cd %{_builddir} +rm -rf %{_builddir}/out + +%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 -m 0755 %{buildroot}%{_includedir}/relational_store +install -d -m 0755 %{buildroot}%{_libdir} +install -d -m 0755 %{buildroot}%{appdatafwk_dir} +install -d -m 0755 %{buildroot}%{dataability_dir} +install -d -m 0755 %{buildroot}%{share_adapter_dir} +install -d -m 0755 %{buildroot}%{rdb_dir} +install -d -m 0755 %{buildroot}/system/lib64 + +%ifarch aarch64 +module_out_path="out/openeuler/linux_clang_arm64/distributeddatamgr/relational_store/" +header_out_path="out/openeuler/innerkits/linux-arm64/relational_store" +%endif +%ifarch x86_64 +module_out_path="out/openeuler/linux_clang_x86_64/distributeddatamgr/relational_store/" +header_out_path="out/openeuler/innerkits/linux-x86_64/relational_store" +%endif + +install -m 0755 %{_builddir}/${module_out_path}/*.so %{buildroot}%{_libdir} +install -m 0755 %{_builddir}/${module_out_path}/*.so %{buildroot}/system/lib64/ + +find %{_builddir}/${header_out_path} -name *.h -print0 | xargs -0 -i cp -rvf {} %{buildroot}%{_includedir}/relational_store/ + +pushd %{_builddir}/foundation/distributeddatamgr/relational_store/ +for include_file in `find . \( -name js -o -name test -o -name mock \) -prune -o -name "*.h" -type f` +do + if [[ ${include_file} != *.h ]]; then + continue + fi + cp --parents ${include_file} %{buildroot}%{bundle_dir} +done +popd + +cp %{SOURCE1} %{buildroot}%{bundle_dir} +cp %{SOURCE2} %{buildroot}%{appdatafwk_dir}/BUILD.gn +cp %{SOURCE3} %{buildroot}%{dataability_dir}/BUILD.gn +cp %{SOURCE4} %{buildroot}%{share_adapter_dir}/BUILD.gn +cp %{SOURCE5} %{buildroot}%{rdb_dir}/BUILD.gn + +%files +%{_libdir}/*.so +%{_includedir}/relational_store/* +%{bundle_dir}/* +/system/* + +%changelog +* Thu Aug 03 2023 Peng He - 1.0.0-2 +- Add requires and rectify the contents of the RPM package. + +* Fri Jun 9 2023 Ge Wang - 1.0.0-1 +- init package