pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/databases/py-barman
Module Name: pkgsrc
Committed By: adam
Date: Thu Nov 20 15:14:51 UTC 2025
Modified Files:
pkgsrc/databases/py-barman: Makefile distinfo
Log Message:
py-barman: updated to 3.16.2
3.16.2 (2025-11-04)
Bugfixes
- Improve barman-cloud delete workaround to inspect error message content
Some S3-compatible storages return an "InvalidRequest" error instead of
"MissingContentMD5" during delete operations. Since we cannot rely on the error code
alone, this updates the logic to also inspect the error message text to detect
MissingContentMD5-like issues and apply the appropriate fallback.
References: BAR-947.
3.16.1 (2025-10-14)
Notable changes
- Automatic bucket creation added to barman-cloud-check-wal-archive
The `barman-cloud-check-wal-archive` command now verifies whether the target bucket
exists in the configured cloud storage (e.g., AWS S3) and automatically creates it
if it does not.
Previously, automatic bucket creation was handled by `barman-cloud-backup`. This
change restores compatibility with CloudNativePG (CNPG) automations that depend on
this behavior, which were affected after the release of Barman 3.16.0.
In collaboration with the CloudNativePG team, we have reintroduced this
functionality specifically in `barman-cloud-check-wal-archive` to ensure seamless
operation of CNPG workflows and internal tests — all while preserving the intended
behavior and simplicity for regular Barman users.
References: BAR-931.
3.16.0 (2025-10-02)
Notable changes
- The `restore_command` for local restores no longer includes `sudo`
When using `barman restore --get-wal` for a local restore (i.e. without
`--remote-ssh-command`), the generated `restore_command` no longer includes a
`sudo -u $USER` prefix. This simplifies the process for the common case where the
locally restored Postgres cluster is run by the `barman` user, whom already owns the
files by the end of the `barman restore` operation.
**Action Required:** If you intend to run the restored cluster as a different
user (e.g., `postgres`), you must now manually add the appropriate
`sudo -u postgres` prefix to the `restore_command` in the recovery configuration and
ensure file ownership is correct.
References: BAR-675.
- Deprecate `pygzip` and `pybzip2` compression options
The `pygzip` and `pybzip2` compression options are now deprecated and will be
removed in a future release. Users should migrate to the `gzip` and `bzip2` options,
which now use Python's internal libraries.
This change was made to improve performance and code consistency. Previously, the
`gzip` and `bzip2` options relied on external subprocesses, while their `py`
counterparts used native Python libraries. The core compression logic for `gzip` and
`bzip2` has been updated to also use Python's built-in libraries, making the
`pygzip` and `pybzip2` options redundant.
References: BAR-878.
- Add delta-restore flag and recovery option to barman restore
Introduces the --delta-restore flag for barman restore, enabling delta
restore mode. This mode restores a backup by reusing identical data already present
in the destination directory, which drastically reduces restore time and network
traffic.
This feature is also configurable per-server via 'recovery_options' as a new field
called delta-restore in the server configuration file.
References: BAR-788.
- S3 Object Deletion Fallback for Object Stores non-compliant with boto3 >=1.36
When using `delete_objects()` with some non-compliant S3-compatible object
stores, users could encounter a `MissingContentMD5` `ClientError` due to a breaking
change in boto3 1.36 that Botocore will no longer automatically compute and populate
the `Content-MD5` header.
To address this, Barman now implements a fallback mechanism:
- Bulk deletion via `delete_objects()` is still attempted first.
- If `delete_objects()` fails with `MissingContentMD5`, Barman automatically falls back
to deleting objects individually using `delete_object()`, which does not require a
`Content-MD5` header.
- Other errors continue to raise exceptions as before.
This change ensures Barman remains compatible with non-compliant object
stores without requiring changes on the user's side.
Users with older S3-compatible storage can continue performing backup cleanups
without failures, while newer object stores are unaffected.
References: BAR-909.
- Cloud connectivity checks are now only performed with the `-t`/`--test` flag.
Previously, Barman always tested cloud connectivity and bucket existence
for most of the commands, raising errors if connectivity failed or if the bucket
did not exist. Both checks are now executed only when the `-t`/`--test` flag is
specified. The only exception was `barman-cloud-check-wal-archive`, which still
checks connectivity and the existence of the bucket.
Additionally, buckets are no longer created automatically — Barman assumes the
target bucket already exists, making it the user's responsibility to provision
the bucket in advance.
References: BAR-895, BAR-908, BAR-918.
Minor changes
- Add `combine-mode` option to `barman restore` command
Added a `--combine-mode` option to the `barman restore` command, which can be used
to specify a copy mode for `pg_combinebackup` when combining incremental backups
during a restore. Available modes are `copy`, `link`, `clone`, and `copy-file-range`
which are equivalent to the `pg_combinebackup` options `--copy`, `--link`,
`--clone`, and `--copy-file-range`, respectively. An equivalent `combine_mode`
configuration option can be specified in the configuration file.
This feature allows for greater optimization of the restore process
based on the underlying filesystem capabilities.
References: BAR-870.
- Reorganize fields in barman diagnose JSON
In the barman diagnose JSON, some fields appeared under the server's "config"
section even though they were not actual configuration fields.
The fields "barman_lock_directory", "lock_directory_cleanup", and
"config_changes_queue" were relocated under the "global" key, since they represent
global configurations. The "name" field was removed since the server name is already
used as the key. Additionally, "msg_list" is now stored under the server's name key.
References: BAR-134.
- Add '-p JOBS' to barman-wal-restore command when `--get-wal` is `True`
Adds '-p JOBS' to barman-wal-restore command when `--get-wal` or `get_wal`
configuration option is ``True``, `JOBS` being the number of jobs chosen by the user
via `-p` flag or `parallel_jobs` configuration option.
References: BAR-857.
- The `barman show-backup`` command now displays the backup compression method
The output of the `barman show-backup` command has been enhanced to include a new
`Backup Compression` field. If a backup was taken with compression enabled, this
field will now display the compression algorithm that was used (e.g., `zstd`). This
makes it easier to quickly verify the compression status of a backup.
References: BAR-901.
Bugfixes
- Fix parallelism (--parallel option) in barman-wal-restore
There has been a regression in `barman-wal-restore` when introducing the
`--keep-compression` option in Barman 3.12.0, which made the `--parallel` option
not invoke processes as expected. This issue has now been fixed.
References: BAR-865.
- Fix `pg_combinebackup` not being found in `PATH` when `staging_location` is `remote`
When recovering an incremental backup to a remote server with `staging_location`
set to `remote`, Barman checks if `pg_combinebackup` is available in the remote `PATH`.
However, a previous issue was making it incorrectly check the local `PATH` as well,
leading to errors if `pg_combinebackup` was not installed locally.
The problem has been fixed by ensuring that the check is only performed on the
server where `pg_combinebackup` is actually executed.
References: BAR-903.
To generate a diff of this commit:
cvs rdiff -u -r1.29 -r1.30 pkgsrc/databases/py-barman/Makefile
cvs rdiff -u -r1.23 -r1.24 pkgsrc/databases/py-barman/distinfo
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/databases/py-barman/Makefile
diff -u pkgsrc/databases/py-barman/Makefile:1.29 pkgsrc/databases/py-barman/Makefile:1.30
--- pkgsrc/databases/py-barman/Makefile:1.29 Fri Oct 3 09:18:07 2025
+++ pkgsrc/databases/py-barman/Makefile Thu Nov 20 15:14:51 2025
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.29 2025/10/03 09:18:07 adam Exp $
+# $NetBSD: Makefile,v 1.30 2025/11/20 15:14:51 adam Exp $
-DISTNAME= barman-3.15.0
+DISTNAME= barman-3.16.2
PKGNAME= ${PYPKGPREFIX}-${DISTNAME}
CATEGORIES= databases python
MASTER_SITES= ${MASTER_SITE_PYPI:=b/barman/}
@@ -10,11 +10,12 @@ HOMEPAGE= https://pgbarman.org/
COMMENT= Backup and Recovery Manager for PostgreSQL
LICENSE= gnu-gpl-v3
-TOOL_DEPENDS+= ${PYPKGPREFIX}-setuptools>=78:../../devel/py-setuptools
-DEPENDS+= ${PYPKGPREFIX}-argcomplete-[0-9]*:../../devel/py-argcomplete
DEPENDS+= ${PYPKGPREFIX}-dateutil-[0-9]*:../../time/py-dateutil
DEPENDS+= ${PYPKGPREFIX}-psycopg2>=2.4.2:../../databases/py-psycopg2
+DEPENDS+= ${PYPKGPREFIX}-setuptools>=78:../../devel/py-setuptools
DEPENDS+= rsync-[0-9]*:../../net/rsync
+# argcomplete
+DEPENDS+= ${PYPKGPREFIX}-argcomplete-[0-9]*:../../devel/py-argcomplete
USE_LANGUAGES= # none
Index: pkgsrc/databases/py-barman/distinfo
diff -u pkgsrc/databases/py-barman/distinfo:1.23 pkgsrc/databases/py-barman/distinfo:1.24
--- pkgsrc/databases/py-barman/distinfo:1.23 Fri Oct 3 09:18:07 2025
+++ pkgsrc/databases/py-barman/distinfo Thu Nov 20 15:14:51 2025
@@ -1,6 +1,6 @@
-$NetBSD: distinfo,v 1.23 2025/10/03 09:18:07 adam Exp $
+$NetBSD: distinfo,v 1.24 2025/11/20 15:14:51 adam Exp $
-BLAKE2s (barman-3.15.0.tar.gz) = 08f988743aa8388d9b5d1bddaa9d91507bc6e7e952e563ade32ee5d4c9ed6283
-SHA512 (barman-3.15.0.tar.gz) = 4bbb86b6dcadfacaacf9e4dbb1cea3e33b155cb73be7752d58602fb2aa0b4145f7bf7aa96d3d687158e4035ece9aef5f47f2170c71ac405946573993b94262ca
-Size (barman-3.15.0.tar.gz) = 458105 bytes
+BLAKE2s (barman-3.16.2.tar.gz) = 42d67de752c774c5f8c8c4c401d3a4d02ec429a842b182ac76dbdeda378e1b08
+SHA512 (barman-3.16.2.tar.gz) = 3e3d2df8eb7c5bf0a3a1be940f3d3b70c11a2e22fb159e9253046ba2367936d2e895b659be0e328bb5f3df79e91d6fc47c255e968a086c4f76f653b0cedf9ed4
+Size (barman-3.16.2.tar.gz) = 467037 bytes
SHA1 (patch-barman_utils.py) = 0f93835a814bdd41c999dcebb34719312a74bd94
Home |
Main Index |
Thread Index |
Old Index