]> git.ipfire.org Git - ipfire-2.x.git/commit
borgbackup: Update to version 1.2.7
authorAdolf Belka <adolf.belka@ipfire.org>
Mon, 29 Jan 2024 13:41:06 +0000 (14:41 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 29 Jan 2024 16:03:31 +0000 (16:03 +0000)
commitd06c224ed64e95f1cbe5779ef807e39a6d531947
tree3e32fd32516047b56d8ad89cc42fa50575ab0249
parent91e28f1813a9feb1c9324b39d667ea7ae49780b8
borgbackup: Update to version 1.2.7

- Update from version 1.2.3 to 1.2.7
- Update of rootfile
- Patch set put together to also update the dependency packages where they have been
   updated.
- Changelog
    1.2.7
Fixes:
- docs: CVE-2023-36811 upgrade steps: consider checkpoint archives, #7802
- check/compact: fix spurious reappearance of orphan chunks since borg
   1.2, #6687 -
  this consists of 2 fixes:
  - for existing chunks: check --repair: recreate shadow index, #6687
  - for newly created chunks: update shadow index when doing a
     double-put, #5661
- LockRoster.modify: no KeyError if element was already gone, #7937
- create --X-from-command: run subcommands with a clean environment, #7916
- list --sort-by: support "archive" as alias of "name", #7873
- fix rc and msg if arg parsing throws an exception, #7885
Other changes:
- support and test on Python 3.12
- include unistd.h in _chunker.c (fix for Python 3.13)
- allow msgpack 1.0.6 and 1.0.7
- TAM issues: show tracebacks, improve borg check logging, #7797
- replace "datetime.utcfromtimestamp" with custom helper to avoid
  deprecation warnings when using Python 3.12
- vagrant:
  - use generic/debian9 box, fixes #7579
  - add VM with debian bookworm / test on OpenSSL 3.0.x.
- docs:
  - not only attack/unsafe, can also be a fs issue, #7853
  - point to CVE-2023-36811 upgrade steps from borg 1.1 to 1.2 upgrade
     steps, #7899
  - upgrade steps needed for all kinds of repos (including "none"
     encryption mode), #7813
  - upgrade steps: talk about consequences of borg check, #7816
  - upgrade steps: remove period that could be interpreted as part of
     the command
  - automated-local.rst: use GPT UUID for consistent udev rule
  - create disk/partition sector backup by disk serial number, #7934
  - update macOS hint about full disk access
  - clarify borg prune -a option description, #7871
  - readthedocs: also build offline docs (HTMLzip), #7835
  - frontends: add "check.rebuild_refcounts" message
    1.2.6
Fixes:
- The upgrade procedure docs as published with borg 1.2.5 did not work,
   if the repository had archives resulting from a borg rename or borg
   recreate operation.
  The updated docs now use BORG_WORKAROUNDS=ignore_invalid_archive_tam
   at some places to avoid that issue, #7791.
  See: fix pre-1.2.5 archives spoofing vulnerability (CVE-2023-36811),
   details and necessary upgrade procedure described above.
Other changes:
- updated 1.2.5 changelog entry: 1.2.5 already has the fix for
   rename/recreate.
- remove cython restrictions. recommended is to build with
   cython 0.29.latest, because borg 1.2.x uses this since years and it
   is very stable. You can also try to build with cython 3.0.x, there is
   a good chance that it works. As a 3rd option, we also bundle the
   `*.c` files cython outputs in the release pypi package, so you can
   also just use these and not need cython at all.
    1.2.5
Fixes:
- Security: fix pre-1.2.5 archives spoofing vulnerability (CVE-2023-36811),
  see details and necessary upgrade procedure described above.
- rename/recreate: correctly update resulting archive's TAM, see #7791
- create: do not try to read parent dir of recursion root, #7746
- extract: fix false warning about pattern never matching, #4110
- diff: remove surrogates before output, #7535
- compact: clear empty directories at end of compact process, #6823
- create --files-cache=size: fix crash, #7658
- keyfiles: improve key sanity check, #7561
- only warn about "invalid" chunker params, #7590
- ProgressIndicatorPercent: fix space computation for wide chars, #3027
- improve argparse validator error messages
New features:
- mount: make up volname if not given (macOS), #7690.
  macFUSE supports a volname mount option to give what finder displays on
  the desktop / in the directory view. if the user did not specify it,
  we make something up, because otherwise it would be "macFUSE Volume 0
  (Python)" and hide the mountpoint directory name.
- BORG_WORKAROUNDS=authenticated_no_key to extract from authenticated repos
  without key, #7700
Other changes:
- add `utcnow()` helper function to avoid deprecated `datetime.utcnow()`
- stay on latest Cython 0.29 (0.29.36) for borg 1.2.x (do not use
  Cython 3.0 yet)
- docs:
  - move upgrade notes to own section, see #7546
  - mount -olocal: how to show mount in finder's sidebar, #5321
  - list: fix --pattern examples, #7611
  - improve patterns help
  - incl./excl. options, path-from-stdin exclusiveness
  - obfuscation docs: markup fix, note about MAX_DATA_SIZE
  - --one-file-system: add macOS apfs notes, #4876
  - improve --one-file-system help string, #5618
  - rewrite borg check docs
  - improve the docs for --keep-within, #7687
  - fix borg init command in environment.rst.inc
  - 1.1.x upgrade notes: more precise borg upgrade instructions, #3396
 -tests:
  - fix repo reopen
  - avoid long ids in pytest output
  - check buzhash chunksize distribution, see #7586
    1.2.4
New features:
- import-tar: add --ignore-zeros to process concatenated tars, #7432.
- debug id-hash: computes file/chunk content id-hash, #7406
- diff: --content-only does not show mode/ctime/mtime changes, #7248
- diff: JSON strings in diff output are now sorted alphabetically
Bug fixes:
- xattrs: fix namespace processing on FreeBSD, #6997
- diff: fix path related bug seen when addressing deferred items.
- debug get-obj/put-obj: always give chunkid as cli param, see #7290
  (this is an incompatible change, see also borg debug id-hash)
- extract: fix mtime when ResourceFork xattr is set (macOS specific), #7234
- recreate: without --chunker-params, do not re-chunk, #7337
- recreate: when --target is given, do not detect "nothing to do".
  use case: borg recreate -a src --target dst can be used to make a copy
  of an archive inside the same repository, #7254.
- set .hardlink_master for ALL hardlinkable items, #7175
- locking: fix host, pid, tid order.
  tid (thread id) must be parsed as hex from lock file name.
- update development.lock.txt, including a setuptools security fix, #7227
Other changes:
- requirements: allow msgpack 1.0.5 also
- upgrade Cython to 0.29.33
- hashindex minor fixes, refactor, tweaks, tests
- use os.replace not os.rename
- remove BORG_LIBB2_PREFIX (not used any more)
- docs:
  - BORG_KEY_FILE: clarify docs, #7444
  - update FAQ about locale/unicode issues, #6999
  - improve mount options rendering, #7359
  - make timestamps in manual pages reproducible
  - installation: update Fedora in distribution list, #7357
- tests:
  - fix test_size_on_disk_accurate for large st_blksize, #7250
  - add same_ts_ns function and use it for relaxed timestamp comparisons
  - "auto" compressor tests: don't assume a specific size,
    do not assume zlib is better than lz4, #7363
  - add test for extracted directory mtime
- vagrant:
  - upgrade local freebsd 12.1 box -> generic/freebsd13 box (13.1)
  - use pythons > 3.8 which work on freebsd 13.1
  - pyenv: also install python 3.11.1 for testing
  - pyenv: use python 3.10.1, 3.10.0 build is broken on freebsd

Tested-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
config/rootfiles/packages/borgbackup
lfs/borgbackup