%global garage_version 2.0.0 %if "%{getenv:JENKINS_URL}" != "" %global debug_package %{nil} %endif Name: garage Version: %{garage_version}%{?garage_prerelease:~%{garage_prerelease}} Release: %autorelease Summary: S3-compatible object store for small self-hosted geo-distributed deployments License: AGPL-3.0 URL: https://git.deuxfleurs.fr/Deuxfleurs/garage Source0: https://git.deuxfleurs.fr/Deuxfleurs/garage/archive/v%{garage_version}%{?garage_prerelease:-%{garage_prerelease}}.tar.gz Source1: %{name}.service Source2: %{name}.env Source3: %{name}-service.preset Source4: %{name}-tmpfiles.conf Source5: %{name}.example.toml ExclusiveArch: x86_64 aarch64 BuildRequires: cargo BuildRequires: rust-srpm-macros %description %{summary}. %package server Summary: garage server BuildRequires: systemd-rpm-macros Requires: garage = %{version} %{?systemd_requires} %{?sysusers_requires_compat} %description server %{summary}. %prep %setup -q -n garage %build if [ -n "$JENKINS_URL" ]; then RUSTFLAGS="" cargo build --release --package garage --bins --jobs 1 else cargo build --release --package garage --bins --jobs '%{?_smp_build_ncpus}' fi %install install -D --mode=0755 target/release/garage %{buildroot}%{_bindir}/garage install -D --mode=0644 "%{SOURCE1}" %{buildroot}%{_unitdir}/garage.service install -D --mode=0640 "%{SOURCE2}" %{buildroot}%{_sysconfdir}/default/garage install -D --mode=0644 "%{SOURCE3}" %{buildroot}%{_prefix}/lib/systemd/system-preset/90-garage.preset install -D --mode=0644 "%{SOURCE4}" %{buildroot}%{_exec_prefix}/lib/tmpfiles.d/garage.conf install -D --mode=0640 "%{SOURCE5}" %{buildroot}%{_sysconfdir}/garage.example.toml %files %license LICENSE %{_bindir}/garage %files server %{_unitdir}/garage.service %config(noreplace) %{_sysconfdir}/default/garage %{_prefix}/lib/systemd/system-preset/90-garage.preset %{_exec_prefix}/lib/tmpfiles.d/garage.conf %attr(640, root, garage) %{_sysconfdir}/garage.example.toml %pre server getent group garage > /dev/null || groupadd --system garage getent passwd garage > /dev/null || \ useradd --system --create-home --home-dir %{_sharedstatedir}/garage --gid garage \ -s /sbin/nologin -c "garage daemon" garage exit 0 %post server if [ ! -e %{_sysconfdir}/garage.toml ] ; then printf '\ngarage: Use "%s" to create configuration at "%s"\nDocumentation: https://garagehq.deuxfleurs.fr/documentation\n' %{_sysconfdir}/garage.example.toml %{_sysconfdir}/garage.toml fi %systemd_post garage.service %preun server %systemd_preun garage.service %postun server %systemd_postun garage.service %changelog %autochangelog