From patchwork Tue Aug 27 11:54:12 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adolf Belka X-Patchwork-Id: 8059 Return-Path: Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mail01.haj.ipfire.org", Issuer "R11" (verified OK)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4WtQv63Wzsz3wwl for ; Tue, 27 Aug 2024 11:54:26 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) client-signature ECDSA (secp384r1)) (Client CN "mail02.haj.ipfire.org", Issuer "E5" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4WtQv33lc7z2MC; Tue, 27 Aug 2024 11:54:23 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4WtQv32P3fz345F; Tue, 27 Aug 2024 11:54:23 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) client-signature RSA-PSS (4096 bits)) (Client CN "mail01.haj.ipfire.org", Issuer "R11" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4WtQv04MGxz33pm for ; Tue, 27 Aug 2024 11:54:20 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4WtQtz6p2wz1Z8; Tue, 27 Aug 2024 11:54:19 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1724759660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=h0I4xZZLB8A2WJGfxi4iLcqsHMxWaoVfAOx9SXREFj8=; b=INkSZ31xF2ZCLIg/FfqwuZgqN/Rm7wd97g2P6nsN3MPBj0gs0gLTOBsAHG9jBW0HLDEbzc m79MynuwNFRW5LDQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1724759660; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=h0I4xZZLB8A2WJGfxi4iLcqsHMxWaoVfAOx9SXREFj8=; b=DkxOwPRo/mw+t2/YAXaHKeYGL2+5fT22Zv+qy/+8izsKQ2shSh73I+RGmoY8peWXvufHG/ vzFj5Y4BqPfOcpxxaaHLhoiR17wTw7Zujqk7VqupM4RgVanMqD9W+5vcw2hS9l8WKyoLjI cFH9JG5KvWWdxhysTV8sqtbLC3cdbVWK0rn78EOjw1ZDztc+r0i3YjHXHqMgH9c9AxgJjj e4umOU9FV+WgcTvDZ6bPhwmzOb780gaPO52AgNG6Pv33EvwLX0tfhsvAIhdCswftaZtzMe HupbgzHSvpe7kPFLeYvd2ZbXlyv4oqYfKgXeoK258Lnmhqn74+q/dN3m6jj2GQ== From: Adolf Belka To: development@lists.ipfire.org Subject: [PATCH 1/3] borgbackup: Update to version 1.4.0 Date: Tue, 27 Aug 2024 13:54:12 +0200 Message-ID: <20240827115414.3428157-1-adolf.belka@ipfire.org> MIME-Version: 1.0 Message-ID-Hash: TXGVYK5BIPH5R4J6BAYCCTYNR4U65VAJ X-Message-ID-Hash: TXGVYK5BIPH5R4J6BAYCCTYNR4U65VAJ X-MailFrom: adolf.belka@ipfire.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.8 Precedence: list List-Id: IPFire development talk Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: - Update from version 1.2.7 to 1.4.0 - Update of rootfile - This version now requires libxxhash and can now work with python3-msgpack at version 1.0.8 so additional patch submissions combined with this one for implementation of libxxhash and for update og python3-msgpack. - Tested out changes on my vm testbed system and was able to access old repo info and fusemount the repo successfully and write a new backup. So everything I normally test is functioning. - Changelog 1.4.0 Compatibility notes: By default, borg 1.4 will behave quite similar to borg 1.2 (it was forked off from 1.2-maint branch at 1.2.7). - the slashdot hack: be careful not to accidentally give paths containing /./ to "borg create" if you do not want to trigger this feature (which strips the left part of the path from archived items). - BORG_EXIT_CODES=modern is a feature that borg script, wrapper and GUI authors may want to use to get more specific error and warning return codes from borg. In that case, of course they will need to make sure to correctly deal with these new codes, see the internals/frontends docs. Other changes: - vagrant: revive the buster64 box, RHEL8 has same glibc - tests: fix pytest_report_header, #8232 - docs: - mount: add examples using :: positional argument, #8255 - Installation: update Arch Linux repo name - update standalone binary section 1.4.0rc1 Fixes: - setup.py: fix import error reporting for cythonize import, #8208 - setup.py: detect noexec build fs issue, #8208 Other changes: - changed insufficiently reserved length for log message, #8152 - use Python 3.11.9, Cython 3.0.10 and PyInstaller 6.7.0 for binary builds - docs: - use python 3.9 in cygwin install docs, fixes #8196 - recreate: remove experimental status - github CI: fix PKG_CONFIG_PATH for openssl 3.0 - vagrant: - add a ubuntu noble (24.04) VM - drop buster VM, fixes #8171 1.4.0b2 Fixes: - check: fix return code for index entry value discrepancies - benchmark: inherit options --rsh --remote-path, #8099 - sdist: dynamically compute readme (long_description) - create: deal with EBUSY, #8123 - No need to use OpenSSL 3.0 on OpenBSD, use LibreSSL. - fix Ctrl-C / SIGINT behaviour for pyinstaller-made binaries, #8155 New features: - create: add the slashdot hack, update docs, #4685 - upgrade --check-tam: check manifest TAM auth, exit with rc=1 if there are issues. - upgrade --check-archives-tam: check archives TAM auth, exit with rc=1 if there are issues. Other changes: - improve acl_get / acl_set error handling, improved/added tests, #8125 - remove bundled lz4/zstd/xxhash code (require the respective libs/headers), simplify setup.py, remove support for all BORG_USE_BUNDLED_*=YES, #8094 - require Cython 3.0.3 at least (fixes py312 memory leak), #8133 - allow msgpack 1.0.8, #8133 - init: better borg key export instructions - init: remove compatibility warning for borg <=1.0.8 The warning refers to a compatibility issue not relevant any more since borg 1.0.9 (released 2016-12). - locate libacl via pkgconfig - scripts/make.py: move clean, build_man, build_usage to there, so we do not need to invoke setup.py directly, update docs - docs: - how to run the testsuite using the dist package - add non-root deployment strategy (systemd / capabilities) - simplify TAM-related upgrade docs using the new commands - vagrant: - use python 3.11.8 - use pyinstaller 6.5.0 - add xxhash for macOS, add libxxhash-dev for debianoid systems - use openindiana/hipster box 1.4.0b1 Fixes: - fix CommandError args, #8029 New features: - implement "borg version" (shows client and server version), #7829 Other changes: - better error msg for corrupted key data, #8016 - repository: give clean error msg for invalid nonce file, #7967 - check_can_create_repository: deal with PermissionErrors, #7016 - add ConnectionBrokenWithHint for BrokenPipeErrors and similar, #7016 - with-lock: catch exception, print error msg, #8022 - use cython 3.0.8 - modernize msgpack wrapper - docs: - add brew bundle instructions (macOS) - improve docs for borg with-lock, #8022 1.4.0a1 New features: - BORG_EXIT_CODES=modern: optional more specific return codes (for errors and warnings). The default value of this new environment variable is "legacy", which should result in a behaviour similar to borg 1.2 and older (only using rc 0, 1 and 2). "modern" exit codes are much more specific (see the internals/frontends docs). Fixes: - PATH: do not accept empty strings, #4221. This affects the cli interface of misc. commands (create, extract, diff, mount, ...) and they now will reject "" (empty string) given as a path. Other changes: - Python: require Python >= 3.9, drop support for 3.8, #6383 - Cython: require Cython >= 3.0, drop support for Cython 0.29.x, use 3str language level (default in cython3), #7978 - use pyinstaller 6.3.0 and python 3.11 for binary build, #7987 - msgpack: require >= 1.0.3, <= 1.0.7 - replace flake8 by ruff style/issue checker - tests: remove python-dateutil dependency - tests: move conftest.py to src/borg/testsuite, #6386 - move misc. config/metadata to pyproject.toml - vagrant: - use a freebsd 14 box, #6871 - use generic/openbsd7 box - use openssl 3 on macOS, FreeBSD, OpenBSD - remove ubuntu 20.04 "focal" box - remove debian 9 "stretch" box (remove stretch-based binary builds) - require recent setuptools and setuptools_scm - crypto: get rid of deprecated HMAC_* functions to avoid warnings. Instead, use hmac.digest from Python stdlib. Tested-by: Adolf Belka Signed-off-by: Adolf Belka --- config/rootfiles/packages/borgbackup | 16 ++++++++-------- lfs/borgbackup | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/config/rootfiles/packages/borgbackup b/config/rootfiles/packages/borgbackup index eb08045c2..1f62a2d66 100644 --- a/config/rootfiles/packages/borgbackup +++ b/config/rootfiles/packages/borgbackup @@ -68,6 +68,7 @@ usr/lib/python3.10/site-packages/borg/testsuite/chunker.py usr/lib/python3.10/site-packages/borg/testsuite/chunker_pytest.py usr/lib/python3.10/site-packages/borg/testsuite/chunker_slow.py usr/lib/python3.10/site-packages/borg/testsuite/compress.py +usr/lib/python3.10/site-packages/borg/testsuite/conftest.py usr/lib/python3.10/site-packages/borg/testsuite/crypto.py usr/lib/python3.10/site-packages/borg/testsuite/efficient_collection_queue.py usr/lib/python3.10/site-packages/borg/testsuite/file_integrity.py @@ -92,11 +93,10 @@ usr/lib/python3.10/site-packages/borg/testsuite/xattr.py usr/lib/python3.10/site-packages/borg/upgrader.py usr/lib/python3.10/site-packages/borg/version.py usr/lib/python3.10/site-packages/borg/xattr.py -usr/lib/python3.10/site-packages/borgbackup-1.2.7-py3.10.egg-info -usr/lib/python3.10/site-packages/borgbackup-1.2.7-py3.10.egg-info/PKG-INFO -usr/lib/python3.10/site-packages/borgbackup-1.2.7-py3.10.egg-info/SOURCES.txt -usr/lib/python3.10/site-packages/borgbackup-1.2.7-py3.10.egg-info/dependency_links.txt -usr/lib/python3.10/site-packages/borgbackup-1.2.7-py3.10.egg-info/entry_points.txt -usr/lib/python3.10/site-packages/borgbackup-1.2.7-py3.10.egg-info/not-zip-safe -usr/lib/python3.10/site-packages/borgbackup-1.2.7-py3.10.egg-info/requires.txt -usr/lib/python3.10/site-packages/borgbackup-1.2.7-py3.10.egg-info/top_level.txt +usr/lib/python3.10/site-packages/borgbackup-1.4.0-py3.10.egg-info +usr/lib/python3.10/site-packages/borgbackup-1.4.0-py3.10.egg-info/PKG-INFO +usr/lib/python3.10/site-packages/borgbackup-1.4.0-py3.10.egg-info/SOURCES.txt +usr/lib/python3.10/site-packages/borgbackup-1.4.0-py3.10.egg-info/dependency_links.txt +usr/lib/python3.10/site-packages/borgbackup-1.4.0-py3.10.egg-info/entry_points.txt +usr/lib/python3.10/site-packages/borgbackup-1.4.0-py3.10.egg-info/requires.txt +usr/lib/python3.10/site-packages/borgbackup-1.4.0-py3.10.egg-info/top_level.txt diff --git a/lfs/borgbackup b/lfs/borgbackup index 7b77fd4bb..107e852a6 100644 --- a/lfs/borgbackup +++ b/lfs/borgbackup @@ -24,7 +24,7 @@ include Config -VER = 1.2.7 +VER = 1.4.0 SUMMARY = Deduplicating backup program with compression and authenticated encryption THISAPP = borgbackup-$(VER) @@ -33,7 +33,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = borgbackup -PAK_VER = 16 +PAK_VER = 17 DEPS = python3-msgpack python3-packaging python3-pyfuse3 # borgbackup only works with specific versions of python3-msgpack @@ -48,7 +48,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_BLAKE2 = 8d69f3e7890ee117e1fe2cdf6b92c548bc40b337de09850948150034fc4724bf05c51c852a268df2294e3657676920a1c663a421331fd6dba5fffa558429f11e +$(DL_FILE)_BLAKE2 = 06d4d67e211a3ab1bc6d7155cbce8205fb7408a1149e44c77b500af02c25e62a569e3eaf50c11916a2ff9adea47c5791febfb7d0c657d0b195e5c5bbbd33a7d7 install : $(TARGET)