# # spec file for package pgbackrest # # Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2019 Ioda-Net Sàrl, Charmoille, Switzerland. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %if ! %{defined make_build} # Temporary fix for Leap 42.3 %define make_build %{_bindir}/make %{?_smp_mflags} %endif Name: pgbackrest Version: 2.16 Release: 0 Summary: Reliable PostgreSQL Backup & Restore License: MIT Group: Productivity/Databases/Tools URL: http://www.pgbackrest.org Source: https://github.com/pgbackrest/pgbackrest/archive/release/%{version}.tar.gz Source1: pgbackrest-conf.patch Patch0: libpq-fe.h_localisation.patch BuildRequires: libxml2-devel BuildRequires: openssl-devel BuildRequires: perl BuildRequires: perl-libxml-perl BuildRequires: perl(DBD::Pg) BuildRequires: perl(Digest::SHA) BuildRequires: perl(IO::Socket::SSL) BuildRequires: perl(JSON::PP) BuildRequires: pkgconfig(libpq) Requires: perl-libxml-perl Requires: perl(DBD::Pg) Requires: perl(Digest::SHA) Requires: perl(IO::Socket::SSL) Requires: perl(JSON::PP) %{perl_requires} %if %{_arch} == "i586" ExclusiveArch: do_not_build %endif %description pgBackRest aims to be a simple, reliable backup and restore system for PostgreSQL that can seamlessly scale up to the largest databases and workloads. The following features are available: - Parallel backup & restore - Local or remote operation - Full, incremental, differential backups - Backup rotation & archive expiration - Backup integrity - Page checksums - Backup resume - Streaming compression & checksums - Delta restore - Parallel, asynchronous WAL push & get - Tablespace & link support - Amazon S3 support - Encryption - Compatibility with PostgreSQL >= 8.3 %prep %setup -q -n %{name}-release-%{version} %patch0 -p1 pushd src %configure popd %build # TODO upstream doesn't care about RPM_OPT_FLAGS export CFLAGS="%optflags" pushd src %make_build popd %install install -D -d -m 0700 %{buildroot}/%{_localstatedir}/lib/%{name} install -D -d -m 0700 %{buildroot}%{_localstatedir}/log/%{name} install -D -d -m 0700 %{buildroot}%{_localstatedir}/spool/%{name} install -D -d -m 0755 %{buildroot}%{_sysconfdir} install %{SOURCE1} %{buildroot}/%{_sysconfdir}/%{name}.conf make install -C src DESTDIR=%{buildroot} %check # Tests are only available with Vagrant # We just test that the binary works. %{buildroot}/%{_bindir}/%{name} version || exit 1 %files %defattr(-,root,root) %doc README.md %license LICENSE %config(noreplace) %attr (644,root,root) %{_sysconfdir}/%{name}.conf # We still can do that as postgres user is system fixed %attr(-,postgres,postgres) %{_localstatedir}/log/%{name} %attr(-,postgres,postgres) %{_localstatedir}/lib/%{name} %attr(-,postgres,postgres) %{_localstatedir}/spool/%{name} %{_bindir}/%{name} %changelog