156 lines
4.2 KiB
RPMSpec
156 lines
4.2 KiB
RPMSpec
Name: arangodb3
|
|
Version: 3.8.7
|
|
Release: 1
|
|
Summary: The open-source, multi-model NoSQL database
|
|
|
|
License: Apache-2.0
|
|
URL: http://www.arangodb.com
|
|
Source: arangodb-%{version}.tar.gz
|
|
ExclusiveArch: x86_64
|
|
|
|
BuildRequires: cmake
|
|
BuildRequires: gcc-c++ >= 10.0
|
|
BuildRequires: libatomic
|
|
BuildRequires: git
|
|
BuildRequires: jemalloc-devel
|
|
BuildRequires: openssl-devel
|
|
BuildRequires: python3
|
|
BuildRequires: systemd
|
|
|
|
%{?systemd_requires}
|
|
|
|
|
|
%package client
|
|
Summary: ArangoDB shell as stand-alone package
|
|
|
|
|
|
%description
|
|
ArangoDB is a durable, reliable, transactional multi-model database. Its key-features are: joins, transaction, and flexible data modelling.
|
|
|
|
The ArangoDB consists of a server, a separate shell, which allows you to administrate the server, and a set of client APIs for various languages.
|
|
|
|
It is written in C/C++.
|
|
|
|
%description client
|
|
The ArangoDB shell as stand-alone program. It also contains the utility programs: arangobench (benchmark), arangorestore & arangodump (backup), arangoimport (import).
|
|
|
|
|
|
%prep
|
|
%autosetup -n arangodb-%{version} -p1
|
|
mkdir -p %{_builddir}/arangodb-%{version}/build
|
|
|
|
|
|
%check
|
|
|
|
|
|
%build
|
|
cd build
|
|
%__cmake .. -DUSE_OPTIMIZE_FOR_ARCHITECTURE=Off
|
|
%make_build
|
|
|
|
|
|
%install
|
|
cd build
|
|
%make_install
|
|
|
|
# /usr/usr -> /usr
|
|
mkdir -p %{buildroot}%{_unitdir}
|
|
mv %{buildroot}/usr%{_unitdir}/%{name}.service %{buildroot}%{_unitdir}/%{name}.service
|
|
rm -rf %{buildroot}/usr/usr
|
|
|
|
# /usr/var -> /var
|
|
mkdir -p %{buildroot}%{_localstatedir}/lib
|
|
mkdir -p %{buildroot}%{_localstatedir}/log
|
|
mv %{buildroot}/usr%{_localstatedir}/lib/* %{buildroot}%{_localstatedir}/lib
|
|
mv %{buildroot}/usr%{_localstatedir}/log/* %{buildroot}%{_localstatedir}/log
|
|
rm -rf %{buildroot}/usr%{_localstatedir}
|
|
|
|
# /usr/etc -> /etc
|
|
mkdir -p %{buildroot}%{_sysconfdir}/%{name}
|
|
mv %{buildroot}/usr%{_sysconfdir}/%{name}/* %{buildroot}%{_sysconfdir}/%{name}
|
|
rm -rf %{buildroot}/usr%{_sysconfdir}/%{name}
|
|
|
|
# remove licences and READMEs in /usr/share/doc/arangodb3, use %doc and %license instead.
|
|
rm -rf %{buildroot}%{_datadir}/doc/%{name}
|
|
|
|
mkdir -p %{buildroot}%{_localstatedir}/run/%{name}
|
|
|
|
|
|
%files
|
|
%defattr(-,root,root,0755)
|
|
%doc README
|
|
%doc README.md
|
|
%license LICENSE
|
|
%license LICENSES-OTHER-COMPONENTS.md
|
|
|
|
%attr(0755,arangodb,arangodb) %{_localstatedir}/lib/%{name}
|
|
%attr(0755,arangodb,arangodb) %{_localstatedir}/lib/%{name}-apps
|
|
%attr(0755,arangodb,arangodb) %{_localstatedir}/log/%{name}
|
|
%ghost %attr(0755,arangodb,arangodb) %{_localstatedir}/run/%{name}
|
|
|
|
%config(noreplace) %attr(-,arangodb,arangodb) %{_sysconfdir}/%{name}
|
|
%{_bindir}/*
|
|
%{_sbindir}/*
|
|
%{_mandir}/*/*
|
|
%{_datadir}/%{name}
|
|
|
|
%{_unitdir}/%{name}.service
|
|
%{_sysconfdir}/logrotate.d/%{name}
|
|
|
|
%files client
|
|
%defattr(-,root,root,0755)
|
|
%config(noreplace) %attr(-,arangodb,arangodb) %{_sysconfdir}/%{name}/arangosh.conf
|
|
%config(noreplace) %attr(-,arangodb,arangodb) %{_sysconfdir}/%{name}/arangoimport.conf
|
|
%config(noreplace) %attr(-,arangodb,arangodb) %{_sysconfdir}/%{name}/arangodump.conf
|
|
%config(noreplace) %attr(-,arangodb,arangodb) %{_sysconfdir}/%{name}/arangorestore.conf
|
|
%config(noreplace) %attr(-,arangodb,arangodb) %{_sysconfdir}/%{name}/arangobench.conf
|
|
%config(noreplace) %attr(-,arangodb,arangodb) %{_sysconfdir}/%{name}/foxx-manager.conf
|
|
|
|
%{_bindir}/arangosh
|
|
%{_bindir}/arangoimport
|
|
%{_bindir}/arangodump
|
|
%{_bindir}/arangorestore
|
|
%{_bindir}/arangobench
|
|
%{_bindir}/foxx-manager
|
|
%{_mandir}/*/arangosh*
|
|
%{_mandir}/*/arangorestore*
|
|
%{_mandir}/*/arangobench*
|
|
%{_mandir}/*/arangodump*
|
|
%{_mandir}/*/arangoimport*
|
|
%{_datadir}/%{name}/js/common
|
|
%{_datadir}/%{name}/js/client
|
|
%{_datadir}/%{name}/js/node
|
|
|
|
|
|
%pre
|
|
# create arangodb group only if it doesn't already exist
|
|
if ! getent group arangodb >/dev/null 2>&1; then
|
|
/usr/sbin/groupadd -r arangodb
|
|
fi
|
|
|
|
# create arangodb user only if it doesn't already exist
|
|
if ! getent passwd arangodb >/dev/null 2>&1; then
|
|
/usr/sbin/useradd -r -g arangodb --home %{_localstatedir}/arangodb arangodb
|
|
/usr/sbin/usermod -c "Arango Server" arangodb
|
|
fi
|
|
|
|
|
|
%post
|
|
%systemd_post %{name}.service
|
|
|
|
|
|
%preun
|
|
%systemd_preun %{name}.service
|
|
|
|
|
|
%postun
|
|
exit 0
|
|
|
|
|
|
%changelog
|
|
* Thu Aug 4 2022 algorithmofdish <hexiujun1@huawei.com> - 3.8.7-1
|
|
- downgraded to version 3.8.7 for cpu architecture compatibility
|
|
|
|
* Thu Jul 28 2022 algorithmofdish <hexiujun1@huawei.com> - 3.9.2-1
|
|
- Package init
|