forked from pool/pgbackrest
Bruno Friedmann
d2514b404b
+ Bug Fixes: - Fix missing files corrupting the manifest. If a file was removed by PostgreSQL during the backup (or was missing from the standby) then the next file might not be copied and updated in the manifest. If this happened then the backup would error when restored. + Improvements: - Use pkg-config instead of xml2-config for libxml2 build options. - Validate checksums are set in the manifest on backup/restore. - Introduce upstream_wrongly_bring_back_pg_config.patch to fix upstream code (using pg_config in client code) Upstream issue #920 OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/pgbackrest?expand=0&rev=29
106 lines
3.2 KiB
RPMSpec
106 lines
3.2 KiB
RPMSpec
#
|
|
# spec file for package pgbackrest
|
|
#
|
|
# Copyright (c) 2020 SUSE LLC
|
|
# Copyright (c) 2019-2020 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.23
|
|
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
|
|
# Upstream issue #920
|
|
Patch1: upstream_wrongly_bring_back_pg_config.patch
|
|
BuildRequires: openssl-devel
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: pkgconfig(libxml-2.0)
|
|
BuildRequires: pkgconfig(libpq)
|
|
%{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
|
|
%patch1 -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
|