add source files and spec file

This commit is contained in:
heppen 2023-08-29 19:53:34 +08:00
parent e846584aa0
commit f0cb59c221
7 changed files with 294 additions and 0 deletions

10
BUILD.gn.appdatafwk Normal file
View File

@ -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" ]
}

10
BUILD.gn.dataability Normal file
View File

@ -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" ]
}

12
BUILD.gn.rdb Normal file
View File

@ -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" ]
}

10
BUILD.gn.share.adapter Normal file
View File

@ -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" ]
}

133
bundle.json Normal file
View File

@ -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"
]
}
}
}

View File

@ -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 <hepeng68@huawei.com> - 1.0.0-2
- Add requires and rectify the contents of the RPM package.
* Fri Jun 9 2023 Ge Wang <wang__ge@126.com> - 1.0.0-1
- init package