%define debug_package %{nil} %global oh_version OpenHarmony-v3.2-Release %global distributeddata_dir %{_builddir}/foundation/distributeddatamgr/ %global build_opt /opt/distributed-middleware-build %global bundle_dir %{build_opt}/openeuler/compiler_gn/foundation/distributeddatamgr/relational_store Name: distributeddatamgr_relational_store Version: 1.0.0 Release: 3 Summary: Local Relational Data Management from OpenHarmony License: Apache-2.0 Url: https://gitee.com/openharmony/distributeddatamgr_relational_store Source1: https://gitee.com/openharmony/distributeddatamgr_relational_store/repository/archive/OpenHarmony-v3.2-Release.tar.gz#/distributeddatamgr_relational_store-OpenHarmony-v3.2-Release.tar.gz Source2: bundle.json Source3: appdatafwk.BUILD.gn Source4: dataability.BUILD.gn Source5: share.adapter.BUILD.gn Source6: rdb.BUILD.gn Patch1: 0001-remove-useless-dependencies.patch Patch2: 0002-establish-relational-store-dependence-on-boundscheck.patch BuildRequires: libboundscheck, libicu-devel, libxml2-devel BuildRequires: distributed-build, hilog, commonlibrary_c_utils BuildRequires: communication_ipc, communication_dsoftbus BuildRequires: distributeddatamgr_kv_store Requires: libboundscheck, libxml2-devel, libicu-devel Requires: hilog, commonlibrary_c_utils Requires: systemabilitymgr_safwk, systemabilitymgr_samgr Requires: communication_ipc, communication_dsoftbus Requires: 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}/* 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 -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}/relational_store" ]; then rm -rf %{distributeddata_dir}/relational_store fi mv %{distributeddata_dir}/%{name}-%{oh_version} %{distributeddata_dir}/relational_store %patch -P1 -p1 -d %{distributeddata_dir}/relational_store %patch -P2 -p1 -d %{_builddir}/foundation %build %ifarch x86_64 %{_builddir}/build.sh --product-name openeuler --target-cpu x86_64 %endif %ifarch aarch64 %{_builddir}/build.sh --product-name openeuler --target-cpu arm64 %endif %install %define appdatafwk_dir %{bundle_dir}/interfaces/inner_api/appdatafwk %define dataability_dir %{bundle_dir}/interfaces/inner_api/dataability %define share_adapter_dir %{bundle_dir}/interfaces/inner_api/rdb_data_share_adapter %define rdb_dir %{bundle_dir}/interfaces/inner_api/rdb 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 cp %{SOURCE2} %{buildroot}%{bundle_dir} cp %{SOURCE3} %{buildroot}%{appdatafwk_dir}/BUILD.gn cp %{SOURCE4} %{buildroot}%{dataability_dir}/BUILD.gn cp %{SOURCE5} %{buildroot}%{share_adapter_dir}/BUILD.gn cp %{SOURCE6} %{buildroot}%{rdb_dir}/BUILD.gn %ifarch aarch64 %define lib_out_path out/openeuler/linux_clang_arm64/distributeddatamgr/relational_store %define header_out_path out/openeuler/innerkits/linux-arm64/relational_store %endif %ifarch x86_64 %define lib_out_path out/openeuler/linux_clang_x86_64/distributeddatamgr/relational_store %define header_out_path out/openeuler/innerkits/linux-x86_64/relational_store %endif 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}/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 %files %{_libdir}/*.so %{_includedir}/relational_store/* %{bundle_dir}/* /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. * Fri Jun 9 2023 Ge Wang - 1.0.0-1 - init package