diff --git a/arangodb-3.8.7.tar.gz b/arangodb-3.8.7.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..318f1ff467a3c83f49e96d189cae5d298ba15481 Binary files /dev/null and b/arangodb-3.8.7.tar.gz differ diff --git a/arangodb.spec b/arangodb.spec new file mode 100644 index 0000000000000000000000000000000000000000..507e957aa0497eda042094395bd33dc02a3b6520 --- /dev/null +++ b/arangodb.spec @@ -0,0 +1,155 @@ +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 - 3.8.7-1 +- downgraded to version 3.8.7 for cpu architecture compatibility + +* Thu Jul 28 2022 algorithmofdish - 3.9.2-1 +- Package init diff --git a/arangodb.yaml b/arangodb.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f05803378cf7f8799f71a39b346ecabcc42bbd65 --- /dev/null +++ b/arangodb.yaml @@ -0,0 +1,4 @@ +version_control: github +src_repo: arangodb/arangodb +tag_prefix: "^v" +separator: "."