- Add borgmatic.rpmlintrc
- Rebase skip-tests.patch
- Remove unneeded support-python3.6.patch
- Update to 1.8.8:
* For the PostgreSQL hook, pass the "PGSSLMODE" environment
variable through to Borg when the database's configuration
omits the "ssl_mode" option.
* Allow the "--repository" flag to match across multiple
configuration files.
* Fix broken repository detection in the "rcreate" action with
Borg 1.4. The issue did not occur with other versions of Borg.
* Fix broken escaping logic in the PostgreSQL hook's
"pg_dump_command" option.
* SECURITY: Prevent additional shell injection attacks within the
PostgreSQL hook.
- Updates from 1.8.7:
* Store included configuration files within each backup archive
in support of the "config bootstrap" action. Previously, only
top-level configuration files were stored.
* Elevate specific Borg warnings to errors or squash errors to
warnings.
* SECURITY: Prevent shell injection attacks within the PostgreSQL
hook, the MongoDB hook, the SQLite hook, the "borgmatic borg"
action, and command hook variable/constant interpolation.
* Fix a traceback when providing an invalid "--override" value
for a list option.
- Updates from 1.8.6:
* Add an "--ssh-command" flag to the "config bootstrap"
action for setting a custom SSH command, as no configuration
is available (including the "ssh_command" option) until
bootstrapping completes.
* Fix a traceback when the "repositories" option contains both
strings and key/value pairs.
* Add configured repository labels to the JSON output for all
actions.
* The "check --force" flag now runs checks even if "check" is
in "skip_actions".
* Validate the configured action names in the "skip_actions"
option.
* Stream SQLite databases directly to Borg instead of dumping
to an intermediate file. When logging commands that borgmatic
executes, log the environment variables that borgmatic sets for
those commands. (But don't log their values, since they often
contain passwords.)
- Updates from 1.8.5:
* Add a "skip_actions" option to skip running particular actions,
handy for append-only or checkless configurations.
* Deprecate the "disabled" value for the "checks" option in favor
of the new "skip_actions" option.
* Constants now apply to included configuration, not just the
file doing the includes. As a side effect of this change,
constants no longer apply to option names and only substitute
into configuration values.
* Add a "--match-archives" flag to the "check" action for
selecting the archives to check, overriding the existing
"archive_name_format" and "match_archives" options in
configuration.
* Only parse "--override" values as complex data types when
they're for options of those types.
* Fix environment variable interpolation within configured
repository paths.
* Add configuration constant overriding via the existing
"--override" flag.
* Upgrade ruamel.yaml dependency to support version 0.18.x.
* Drop support for Python 3.7, which has been end-of-lifed.
- Updates from 1.8.4:
* Add a monitoring hook for sending backup status to a variety of
monitoring services via the Apprise library.
* When an archive filter causes no matching archives for the
"rlist" or "info" actions, warn the user and suggest how to
remove the filter.
* Fix a traceback when an invalid command-line flag or action
is used.
* Fix normalization of deprecated sections ("location:",
"storage:", "hooks:", etc.) to support empty sections without
erroring.
* Disallow the "--dry-run" flag with the "borg" action, as
borgmatic can't guarantee the Borg command won't have side
effects.
- Updates from 1.8.3:
* BREAKING: Simplify logging logic as follows: Syslog
verbosity is now disabled by default, but setting the
"--syslog-verbosity" flag enables it regardless of
whether you're at an interactive console. Additionally,
"--log-file-verbosity" and "--monitoring-verbosity" now
default to 1 (info about steps borgmatic is taking) instead
of 0. And both syslog logging and file logging can be enabled
simultaneously.
* Add a monitoring hook for sending backup status and logs to
Grafana Loki.
* When "archive_name_format" is not set, filter archives using
the default archive name format.
* Fix error handling to log command output as one record per line
instead of truncating too-long output and swallowing the end of
some Borg error messages.
* Fix for borgmatic not stopping Borg immediately when the user
presses ctrl-C.
OBS-URL: https://build.opensuse.org/request/show/1147075
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgmatic?expand=0&rev=86
- update to 1.8.2:
* Add "key export" action to export a copy of the repository key for safekeeping in case the original
goes missing or gets damaged.
* Add a MariaDB database hook that uses native MariaDB commands instead of the deprecated
MySQL ones. Be aware though that any existing backups made with the "mysql_databases:" hook are
only restorable with a "mysql_databases:" configuration.
* Fix for potential data loss (data not getting restored) in which the database "restore"
action didn't actually restore anything and indicated success anyway.
* Remove the deprecated use of the MongoDB hook's "--db" flag for database restoration.
* Add source code reference documentation for getting oriented with the borgmatic code as a
developer: https://torsion.org/borgmatic/docs/reference/source-code/
OBS-URL: https://build.opensuse.org/request/show/1114258
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgmatic?expand=0&rev=84
- update to 1.8.0:
* BREAKING: For the "borgmatic borg" action, instead of
implicitly injecting repository/archive into the resulting Borg
command-line, pass repository to Borg via an environment
variable and make archive available for explicit use in your
commands.
* Fix an error when running "borg key export" through borgmatic.
* Fix an error when dumping a database and the "exclude_nodump"
option is set.
* Add "check_i_know_what_i_am_doing" option to bypass Borg
confirmation prompt when running "check --repair".
* When merging two configuration files, error gracefully if the
two files do not adhere to the same format.
* Remove configuration sections ("location:", "storage:",
"hooks:" etc.), while still keeping deprecated support for
them. Now, all options are at the same level, and you don't
need to worry about commenting/uncommenting section headers
when you change an option (if you remove your sections first).
* BREAKING: The retention prefix and the consistency prefix
can no longer have different values (unless one is not set).
* BREAKING: The storage umask and the hooks umask can no longer
have different values (unless one is not set).
* BREAKING: Flags like "--config" that previously took multiple
values now need to be given once per value, e.g.
"--config first.yaml --config second.yaml" instead of
"--config first.yaml second.yaml". This prevents argument
parsing errors on ambiguous commands.
* BREAKING: Remove the deprecated (and silently ignored)
"--successful" flag on the "list" action, as newer versions
of Borg list successful (non-checkpoint) archives by default.
* All deprecated configuration option values now generate
warning logs.
* Remove the deprecated (and non-functional) "--excludes"
flag in favor of excludes within configuration.
* Fix an error when logging too-long command output during
error handling. Now, long command output is truncated
before logging.
OBS-URL: https://build.opensuse.org/request/show/1099848
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgmatic?expand=0&rev=82
- update to 1.7.13:
* Restore particular PostgreSQL schemas from a database
dump via "borgmatic restore --schema"
flag.
* Fix error from PostgreSQL when dumping a database with
a "format" of "plain".
* : Fix PostgreSQL hook to support "psql_command" and
"pg_restore_command" options containing
commands with arguments.
* Fix calls to psql in PostgreSQL hook to ignore
"~/.psqlrc", whose settings can break
database dumping.
* Add support for logging each log line as a JSON object
via global "--log-json" flag.
* Fix "source_directories_must_exist" option to expand
globs and tildes in source directories.
* Add fish shell completion script so you can tab-
complete on the borgmatic command-line.
* Fix borgmatic error when not finding the configuration
schema for certain "pip install --editable" development
installs.
* Fix archive checks being skipped even when particular
archives haven't been checked
recently. This occurred when using multiple borgmatic
configuration files with different
"archive_name_format"s, for instance.
* Fix error in "borgmatic restore" action when the
configured repository path is relative
instead of absolute.
* Run "borgmatic borg" action without capturing output so
OBS-URL: https://build.opensuse.org/request/show/1090580
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgmatic?expand=0&rev=78
- update to 1.7.10:
* #396: When a database command errors, display and log the error message instead of swallowing it.
* #501: Optionally error if a source directory does not exist via "source_directories_must_exist"
option in borgmatic's location configuration.
* #576: Add support for "file://" paths within "repositories" option.
* #612: Define and use custom constants in borgmatic configuration files. See the documentation for
more information:
https://torsion.org/borgmatic/docs/how-to/make-per-application-backups/#constant-interpolation
* #618: Add support for BORG_FILES_CACHE_TTL environment variable via "borg_files_cache_ttl" option
in borgmatic's storage configuration.
* #623: Fix confusing message when an error occurs running actions for a configuration file.
* #635: Add optional repository labels so you can select a repository via "--repository yourlabel"
at the command-line. See the configuration reference for more information:
https://torsion.org/borgmatic/docs/reference/configuration/
* #649: Add documentation on backing up a database running in a container:
https://torsion.org/borgmatic/docs/how-to/backup-your-databases/#containers
* #655: Fix error when databases are configured and a source directory doesn't exist.
* Add code style plugins to enforce use of Python f-strings and prevent single-letter variables.
To join in the pedantry, refresh your test environment with "tox --recreate".
* Rename scripts/run-full-dev-tests to scripts/run-end-to-end-dev-tests and make it run end-to-end
tests only. Continue using tox to run unit and integration tests.
OBS-URL: https://build.opensuse.org/request/show/1075573
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgmatic?expand=0&rev=76
- update to 1.7.8:
* #620: With the "create" action and the "--list" ("--files")
flag, only show excluded files at verbosity 2.
* #621: Add optional authentication to the ntfy monitoring
hook.
* With the "create" action, only one of "--list" ("--files")
and "--progress" flags can be used.
* This lines up with the new behavior in Borg 2.0.0b5.
* Internally support new Borg 2.0.0b5 "--filter" status
characters / item flags for the "create" action.
* Fix the "create" action with the "--dry-run" flag querying
for databases when a PostgreSQL/MySQL "all" database is
configured. Now, these queries are skipped due to the dry run.
* Add "--repository" flag to the "rcreate" action to optionally
select one configured repository to create.
* Add "--progress" flag to the "transfer" action, new in Borg
2.0.0b5.
* Add "checkpoint_volume" configuration option to creates
checkpoints every specified number of bytes during a
long-running backup, new in Borg 2.0.0b5.
OBS-URL: https://build.opensuse.org/request/show/1070028
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgmatic?expand=0&rev=74
- Update to 1.7.7:
* #642: Add MySQL database hook "add_drop_database" configuration option to control whether dumped
MySQL databases get dropped right before restore.
* #643: Fix for potential data loss (data not getting backed up) when dumping large "directory"
format PostgreSQL/MongoDB databases. Prior to the fix, these dumps would not finish writing to
disk before Borg consumed them. Now, the dumping process completes before Borg starts. This only
applies to "directory" format databases; other formats still stream to Borg without using
temporary disk space.
* Fix MongoDB "directory" format to work with mongodump/mongorestore without error. Prior to this
fix, only the "archive" format worked.
* #393, #438, #560: Optionally dump "all" PostgreSQL/MySQL databases to separate files instead of one
combined dump file, allowing more convenient restores of individual databases. You can enable
this by specifying the database dump "format" option when the database is named "all".
* #602: Fix logs that interfere with JSON output by making warnings go to stderr instead of stdout.
* #622: Fix traceback when include merging configuration files on ARM64.
* #629: Skip warning about excluded special files when no special files have been excluded.
* #630: Add configuration options for database command customization: "list_options",
"restore_options", and "analyze_options" for PostgreSQL, "restore_options" for MySQL, and
"restore_options" for MongoDB.
OBS-URL: https://build.opensuse.org/request/show/1066930
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgmatic?expand=0&rev=72
- Update to 1.7.5:
* #463: Add "before_actions" and "after_actions" command hooks that run before/after all the
actions for each repository. These new hooks are a good place to run per-repository steps like
mounting/unmounting a remote filesystem.
* #463: Update documentation to cover per-repository configurations:
https://torsion.org/borgmatic/docs/how-to/make-per-application-backups/
* #557: Support for Borg 2 while still working with Borg 1. This includes new borgmatic actions
like "rcreate" (replaces "init"), "rlist" (list archives in repository), "rinfo" (show repository
info), and "transfer" (for upgrading Borg repositories). For the most part, borgmatic tries to
smooth over differences between Borg 1 and 2 to make your upgrade process easier. However, there
are still a few cases where Borg made breaking changes. See the Borg 2.0 changelog for more
information: https://www.borgbackup.org/releases/borg-2.0.html
* #557: If you install Borg 2, you'll need to manually upgrade your existing Borg 1 repositories
before use. Note that Borg 2 stable is not yet released as of this borgmatic release, so don't
use Borg 2 for production until it is! See the documentation for more information:
https://torsion.org/borgmatic/docs/how-to/upgrade/#upgrading-borg
* #557: Rename several configuration options to match Borg 2: "remote_rate_limit" is now
"upload_rate_limit", "numeric_owner" is "numeric_ids", and "bsd_flags" is "flags". borgmatic
still works with the old options.
* #557: Remote repository paths without the "ssh://" syntax are deprecated but still supported for
now. Remote repository paths containing "~" are deprecated in borgmatic and no longer work in
Borg 2.
* #557: Omitting the "--archive" flag on the "list" action is deprecated when using Borg 2. Use
the new "rlist" action instead.
* #557: The "--dry-run" flag can now be used with the "rcreate"/"init" action.
* #565: Fix handling of "repository" and "data" consistency checks to prevent invalid Borg flags.
* #566: Modify "mount" and "extract" actions to require the "--repository" flag when multiple
repositories are configured.
* #571: BREAKING: Remove old-style command-line action flags like "--create, "--list", etc. If
you're already using actions like "create" and "list" instead, this change should not affect you.
OBS-URL: https://build.opensuse.org/request/show/1038617
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgmatic?expand=0&rev=68
- update to 1.5.24:
* #431: Add "working_directory" option to support source directories with relative paths.
* #444: When loading a configuration file that is unreadable due to file permissions, warn instead
of erroring. This supports running borgmatic as a non-root user with configuration in ~/.config
even if there is an unreadable global configuration file in /etc.
* #469: Add "repositories" context to "before_" and "after_" command action hooks. See the
documentation for more information:
https://torsion.org/borgmatic/docs/how-to/add-preparation-and-cleanup-steps-to-backups/
* #486: Fix handling of "patterns_from" and "exclude_from" options to error instead of warning when
referencing unreadable files and "create" action is run.
* #507: Fix Borg usage error in the "compact" action when running "borgmatic --dry-run". Now, skip
"compact" entirely during a dry run.
* #394: Compact repository segments and free space with new "borgmatic compact" action. Borg 1.2+
only. Also run "compact" by default when no actions are specified, as "prune" in Borg 1.2 no
longer frees up space unless "compact" is run.
* #394: When using the "atime", "bsd_flags", "numeric_owner", or "remote_rate_limit" options,
tailor the flags passed to Borg depending on the Borg version.
* #480, #482: Fix traceback when a YAML validation error occurs.
* #288: Add database dump hook for MongoDB.
* #470: Move mysqldump options to the beginning of the command due to MySQL bug 30994.
* #471: When command-line configuration override produces a parse error, error cleanly instead of
tracebacking.
* #476: Fix unicode error when restoring particular MySQL databases.
Drop support for Python 3.6, which has been end-of-lifed.
Add support for Python 3.10.
- avoid bashism in post scripts (bsc#1195391)
- light modernization of spec file
OBS-URL: https://build.opensuse.org/request/show/995232
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgmatic?expand=0&rev=64
- Update 1.5.21 which is last that supports Python 3.6
* #28: Optionally retry failing backups via "retries" and "retry_wait" configuration options.
* #306: Add "list_options" MySQL configuration option for passing additional arguments to MySQL
list command.
* #459: Add support for old version (2.x) of jsonschema library.
* #387: Fix error when configured source directories are not present on the filesystem at the time
of backup. Now, Borg will complain, but the backup will still continue.
* #455: Mention changing borgmatic path in cron documentation.
Update sample systemd service file with more granular read-only filesystem settings.
* Move Gitea and GitHub hosting from a personal namespace to an organization for better
collaboration with related projects.
* #389: Fix "message too long" error when logging to rsyslog.
* #440: Fix traceback that can occur when dumping a database.
OBS-URL: https://build.opensuse.org/request/show/962060
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgmatic?expand=0&rev=62
- Update to 1.5.17
* Fix error when configuration file contains "umask" option.
* Remove test dependency on vim and /dev/urandom.
- Update to 1.5.16
* Suppress console output in sample crontab and
systemd service files.
* Fix syslog logging on FreeBSD.
* Fix hang when restoring a PostgreSQL "tar" format database dump.
* Better error messages! Switch the library used
for validating configuration files
* Link borgmatic Ansible role from installation documentation:
OBS-URL: https://build.opensuse.org/request/show/909097
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgmatic?expand=0&rev=60
- Update to 1.5.14:
* Add link to Hetzner storage offering from the documentation.
* Clarify canonical home of borgmatic in documentation.
* Clarify that spaces in path names should not be backslashed
in path names.
* Fix error handling to error loudly when Borg gets killed due to
running out of memory!
* Fix build so as not to attempt to build and push documentation
for a non-master branch.
OBS-URL: https://build.opensuse.org/request/show/898780
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgmatic?expand=0&rev=57
- Update to 1.5.13:
* #373: Document that passphrase is used for Borg keyfile encryption,
not just repokey encryption.
* #404: Add support for ruamel.yaml 0.17.x YAML parsing library.
* Update systemd service example to return a permission error when
a system call isn't permitted
(instead of terminating borgmatic outright).
* Drop support for Python 3.5, which has been end-of-lifed.
* Add support for Python 3.9.
* Only support black code formatter on Python 3.8+.
- Drop 0001-Update-versions-of-test-dependencies.patch
- Rebase skip-tests.patch
OBS-URL: https://build.opensuse.org/request/show/882325
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgmatic?expand=0&rev=55
- Update to 1.5.12
* Fix for previous release with incorrect version suffix in
setup.py. No other changes.
- Update to 1.5.11
* #341: Add "temporary_directory" option for changing Borg's
temporary directory.
* #352: Lock down systemd security settings in sample systemd
service file.
* #355: Fix traceback when a database hook value is null in
a configuration file.
* #361: Merge override values when specifying the "--override"
flag multiple times. The previous behavior was to take the
value of the last "--override" flag only.
* #367: Fix traceback when upgrading old INI-style configuration
with upgrade-borgmatic-config.
* #368: Fix signal forwarding from borgmatic to Borg resulting
in recursion traceback.
* #369: Document support for Borg placeholders in repository
names.
- Replace patch:
* remove-invalid-test.patch
with patch from upstream that fixes tests:
* 0001-Update-versions-of-test-dependencies.patch
OBS-URL: https://build.opensuse.org/request/show/870669
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgmatic?expand=0&rev=53
- Update to 1.5.8
* #336: Fix for traceback when running Cronitor, Cronhub, and
PagerDuty monitor hooks.
- Update to 1.5.7
* #327: Fix broken pass-through of BORG_* environment variables
to Borg.
* #328: Fix duplicate logging to Healthchecks and send "after_*"
hooks output to Healthchecks.
* #331: Add SSL support to PostgreSQL database configuration.
* #333: Fix for potential data loss (data not getting backed up)
when borgmatic omitted configured source directories in certain
situations. Specifically, this occurred when two source
directories on different filesystems were related by parentage
(e.g. "/foo" and "/foo/bar/baz") and the one_file_system option
was enabled.
* Update documentation code fragments theme to better match the
rest of the page.
* Improve configuration reference documentation readability via
more aggressive word-wrapping in configuration schema
descriptions.
OBS-URL: https://build.opensuse.org/request/show/819174
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgmatic?expand=0&rev=47
- Update to 1.5.6
* #292: Allow before_backup and similiar hooks to exit with a
soft failure without altering the monitoring status on
Healthchecks or other providers. Support this by waiting to
ping monitoring services with a "start" status until after
before_* hooks finish. Failures in before_* hooks still trigger
a monitoring "fail" status.
* #316: Fix hang when a stale database dump named pipe from an
aborted borgmatic run remains on disk.
* #323: Fix for certain configuration options like ssh_command
impacting Borg invocations for separate configuration files.
* #324: Add "borgmatic extract --strip-components" flag to remove
leading path components when extracting an archive.
* Tweak comment indentation in generated configuration file for
clarity.
* Link to Borgmacator GNOME AppIndicator from monitoring
documentation.
OBS-URL: https://build.opensuse.org/request/show/814774
OBS-URL: https://build.opensuse.org/package/show/Archiving:Backup/borgmatic?expand=0&rev=45