pgbackrest/pgbackrest.spec
Martin Pluskal 9f582f5832 Accepting request 606763 from home:bruno_friedmann:branches:server:database:postgresql
- Update to bugfix & improvement 2.02 version
  Parallel Asynchronous Archive Get and Configuration Includes
  Released May 6, 2018
- Changes of previous 2.01 version from March 6th 2018
- Packaging : 
  + Use make install (now fixed upstream) for bin

old: server:database:postgresql/pgbackrest
new: home:bruno_friedmann:branches:server:database:postgresql/pgbackrest rev None
Index: pgbackrest.changes
===================================================================
--- pgbackrest.changes (revision 10)
+++ pgbackrest.changes (revision 3)
@@ -1,4 +1,91 @@
 -------------------------------------------------------------------
+Thu May 10 10:12:23 UTC 2018 - bruno@ioda-net.ch
+
+- Update to bugfix & improvement 2.02 version
+  Parallel Asynchronous Archive Get and Configuration Includes
+  Released May 6, 2018
+  + Bug Fixes:
+    - Fix directory syncs running recursively when only the 
+      specified directory should be synced.
+    - Fix archive-copy throwing "path not found" error for incr/diff
+      backups.
+    - Fix failure in manifest build when two or more files in PGDATA
+      are linked to the same directory.
+    - Fix delta restore failing when a linked file is missing.
+    - Fix rendering of key/value and list options in help.
+  + Features:
+    - Add asynchronous, parallel archive-get. This feature maintains 
+      a queue of WAL segments to help reduce latency when PostgreSQL
+      requests a WAL segment with restore_command.
+    - Add support for additional pgBackRest configuration files in the
+      directory specified by the --config-include-path option. 
+      Add --config-path option for overriding the default base path 
+      of the --config and --config-include-path option.
+    - Add repo-s3-token option to allow temporary credentials tokens
+      to be configured. pgBackRest currently has no way to request new
+      credentials so the entire command (e.g. backup, restore) must 
+      complete before the credentials expire.
+  + Improvements:
+    - Update the archive-push-queue-max, manifest-save-threshold,
+      and buffer-size options to accept values in KB, MB, GB, TB, PB
+      where the multiplier is a power of 1024.
+    - Make backup/restore path sync more efficient. Scanning the 
+      entire directory can be very expensive if there are a lot of 
+      small tables. The backup manifest contains the path list so use
+      it to perform syncs instead of scanning the backup/restore path
+    - Show command parameters as well as command options in initial 
+      info log message.
+    - Rename archive-queue-max option to archive-push-queue-max to 
+      avoid confusion with the new archive-get-queue-max option. 
+      The old option name will continue to be accepted.
+  + Documentation Bug Fixes:
+    - Update docs with 32-bit support and caveats. 
+      32-bit support was added in v1.26.
+  + Documentation Improvements:
+    - Add monitoring examples using PostgreSQL and jq.
+    - Add example of command section usage to archiving configuration.
+    - Remove documentation info --output=json as experimental.
+    - Update out-of-date description for the spool-path option.
+  + Test Suite Features:
+    - Use lcov for C unit test coverage reporting. Switch from 
+      Devel::Cover because it would not report on branch coverage 
+      for reports converted from gcov. Incomplete branch coverage
+      for a module now generates an error. Coverage of unit tests 
+      is not displayed in the report unless they are incomplete for
+      either statement or branch coverage. 
+- Changes of previous 2.01 version from March 6th 2018
+  + Bug Fixes:
+   - Fix --target-action and --recovery-option options being reported
+     as invalid when restoring with --type=immediate.
+   - Immediately error when a secure option (e.g. repo1-s3-key) is 
+     passed on the command line. Since pgBackRest would not pass 
+     secure options on to sub-processes an obscure error was thrown.
+     The new error is much clearer and provides hints about how to fix
+     the problem. Update command documentation to omit secure options 
+     that cannot be specified on the command-line.
+   - Fix issue passing --no-config to embedded Perl.
+   - Fix issue where specifying log-level-stderr > warn would cause a 
+     local/remote process to error on exit due to output found on 
+     stderr when none was expected. The max value for a local/remote
+     process is now error.
+   - Fix manifest test in the check command when tablespaces are 
+     present.
+  + Improvements:
+   - Error when multiple arguments are set in the config file for an
+     option that does not accept multiple arguments.
+   - Remove extraneous sudo commands from src/Makefile.
+  + Documentation Improvements:
+   - Show index in examples for indexed options, i.e. repo-*, pg-*.
+   - Simplify table of contents on command page by only listing
+     commands.
+   - Remove references to the C library being optional.
+  + Test Suite Features:
+   - Add CentOS/RHEL package builds.
+   - Use clang for static code analysis. Nothing found initially 
+     except for some functions that should have been marked
+     __noreturn__.
+
+-------------------------------------------------------------------
 Fri Mar  9 15:16:24 UTC 2018 - bruno@ioda-net.ch
 
 - Packaging : 
@@ -36,6 +123,8 @@
     improve consistency. repo-* options are now indexed although 
     currently only one is allowed.
     ** This imply you need to revisit your pgbackrest.conf **
+- Packaging : 
+  + Use make install (now fixed upstream) for bin
  
 -------------------------------------------------------------------
 Sun Feb  4 17:14:16 UTC 2018 - bruno@ioda-net.ch
Index: pgbackrest.spec
===================================================================
--- pgbackrest.spec (revision 10)
+++ pgbackrest.spec (revision 3)
@@ -18,7 +18,7 @@
 
 Name:           pgbackrest
 # Nobody can stop upstream to be too creative !
-Version:        2.00
+Version:        2.02
 Release:        0
 Summary:        Reliable PostgreSQL Backup & Restore
 License:        MIT
@@ -53,6 +53,7 @@
 %setup -q -n %{name}-release-%{version}
 
 %build
+#TODO upstream doesn't care about RPM_OPT_FLAGS
 pushd src
 make V=1 %{?_smp_mflags}
 popd
@@ -70,9 +71,7 @@
 install -D -d -m 0755 %{buildroot}%{_sysconfdir}
 install %{SOURCE1} %{buildroot}/%{_sysconfdir}/%{name}.conf
 cp -a lib/* %{buildroot}%{perl_vendorlib}/
-# Upstream makefile is nonsense sudo so use install
-# make install -C src DESTDIR=%%{buildroot}
-install -m 0755 src/%{name} %{buildroot}%{_bindir}/%{name}
+make install -C src DESTDIR=%{buildroot}
 make pure_vendor_install -C libc DESTDIR=%{buildroot}
 %perl_process_packlist
 %perl_gen_filelist
Index: 2.02.tar.gz
===================================================================
Binary file 2.02.tar.gz (revision 3) added
Index: 2.00.tar.gz
===================================================================
Binary file 2.00.tar.gz (revision 10) deleted

OBS-URL: https://build.opensuse.org/request/show/606763
OBS-URL: https://build.opensuse.org/package/show/server:database:postgresql/pgbackrest?expand=0&rev=11
2018-05-13 12:39:04 +00:00

99 lines
3.2 KiB
RPMSpec

#
# spec file for package pgbackrest
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# 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 http://bugs.opensuse.org/
#
Name: pgbackrest
# Nobody can stop upstream to be too creative !
Version: 2.02
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
BuildRequires: openssl-devel
BuildRequires: perl-libxml-perl
BuildRequires: perl(DBD::Pg)
BuildRequires: perl(IO::Socket::SSL)
Requires: perl-libxml-perl
Requires: perl(DBD::Pg)
Requires: perl(IO::Socket::SSL)
%{perl_requires}
%if %{_arch} == "i586"
ExclusiveArch: do_not_build
%endif
%description
pgBackRest aims to be a simple, reliable backup and restore system that can
seamlessly scale up to the largest databases and workloads.
Instead of relying on traditional backup tools like tar and rsync, pgBackRest
implements all backup features internally and uses a custom protocol for
communicating with remote systems. Removing reliance on tar and rsync allows
for better solutions to database-specific backup challenges. The custom remote
protocol allows for more flexibility and limits the types of connections that
are required to perform a backup which increases security.
%prep
%setup -q -n %{name}-release-%{version}
%build
#TODO upstream doesn't care about RPM_OPT_FLAGS
pushd src
make V=1 %{?_smp_mflags}
popd
pushd libc
perl Makefile.PL
make V=1 %{?_smp_mflags}
popd
%install
install -D -d -m 0755 %{buildroot}%{perl_vendorlib} %{buildroot}%{_bindir}
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
cp -a lib/* %{buildroot}%{perl_vendorlib}/
make install -C src DESTDIR=%{buildroot}
make pure_vendor_install -C libc DESTDIR=%{buildroot}
%perl_process_packlist
%perl_gen_filelist
%check
pushd libc
make test
popd
%files -f %{name}.files
%defattr(-,root,root)
%doc README.md
%if 0%{?leap_version} >= 420200 || 0%{?suse_version} > 1320
%license LICENSE
%else
%license LICENSE
%endif
%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}
%changelog