forked from pool/pgbackrest
Bruno Friedmann
f47fc09661
+ Bug Fixes: - Fix issue checking if file links are contained in path links. - Allow pg-path1 to be optional for synchronous archive-push. - The expire command now checks if a stop file is present. - Handle missing reason phrase in HTTP response. - Increase buffer size for lz4 compression flush. - Ignore pg-host* and repo-host* options for the remote command. - Fix possibly missing pg1-* options for the remote command. + Features: - Time-based retention for full backups. The --repo-retention-full-type option allows retention of full backups based on a time period, specified in days. - Ad hoc backup expiration. Allow the user to remove a specified backup regardless of retention settings. - Zstandard compression support. Note that setting compress-type=zst will make new backups and archive incompatible (unrestorable) with prior versions of pgBackRest. - bzip2 compression support. Note that setting compress-type=bz2 will make new backups and archive incompatible (unrestorable) with prior versions of pgBackRest. - Add backup/expire running status to the info command. + Improvements: - Expire WAL archive only when repo-retention-archive threshold is met. WAL prior to the first full backup was previously expired after the first full backup. Now it is preserved according to retention settings. - Add local MD5 implementation so S3 works when FIPS is enabled. - PostgreSQL 13 beta1 support. Changes to the control/catalog/WAL versions in subsequent betas may break compatibility but OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/pgbackrest?expand=0&rev=32
105 lines
3.2 KiB
RPMSpec
105 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.27
|
|
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}/%{name}-%{version}.tar.gz
|
|
Source1: pgbackrest-conf.patch
|
|
Patch0: libpq-fe.h_localisation.patch
|
|
BuildRequires: openssl-devel
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: pkgconfig(bzip2)
|
|
BuildRequires: pkgconfig(libpq)
|
|
BuildRequires: pkgconfig(liblz4)
|
|
BuildRequires: pkgconfig(libxml-2.0)
|
|
%{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}
|
|
%autopatch -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
|