- 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 adolf.belka@ipfire.org Signed-off-by: Adolf Belka adolf.belka@ipfire.org --- 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)
- Update from version 1.0.7 to 1.0.8 - Update of rootfile - borgbackup now works with version 1.0.8 of msgpack - Changelog 1.0.8 exclude C/Cython files from wheel by @methane in #577 Build pure Python wheel for minor architectures. update Cython to 3.0.8 by @methane in #581 This fixes memory leak when iterating over Unpacker on Python 3.12.
Signed-off-by: Adolf Belka adolf.belka@ipfire.org --- config/rootfiles/packages/python3-msgpack | 21 +++++---------------- lfs/python3-msgpack | 6 +++--- 2 files changed, 8 insertions(+), 19 deletions(-)
diff --git a/config/rootfiles/packages/python3-msgpack b/config/rootfiles/packages/python3-msgpack index e5742ddb9..4859b8a71 100644 --- a/config/rootfiles/packages/python3-msgpack +++ b/config/rootfiles/packages/python3-msgpack @@ -1,22 +1,11 @@ usr/lib/python3.10/site-packages/msgpack -#usr/lib/python3.10/site-packages/msgpack-1.0.7-py3.10.egg-info -#usr/lib/python3.10/site-packages/msgpack-1.0.7-py3.10.egg-info/PKG-INFO -#usr/lib/python3.10/site-packages/msgpack-1.0.7-py3.10.egg-info/SOURCES.txt -#usr/lib/python3.10/site-packages/msgpack-1.0.7-py3.10.egg-info/dependency_links.txt -#usr/lib/python3.10/site-packages/msgpack-1.0.7-py3.10.egg-info/top_level.txt +#usr/lib/python3.10/site-packages/msgpack-1.0.8-py3.10.egg-info +#usr/lib/python3.10/site-packages/msgpack-1.0.8-py3.10.egg-info/PKG-INFO +#usr/lib/python3.10/site-packages/msgpack-1.0.8-py3.10.egg-info/SOURCES.txt +#usr/lib/python3.10/site-packages/msgpack-1.0.8-py3.10.egg-info/dependency_links.txt +#usr/lib/python3.10/site-packages/msgpack-1.0.8-py3.10.egg-info/top_level.txt usr/lib/python3.10/site-packages/msgpack/__init__.py -usr/lib/python3.10/site-packages/msgpack/_cmsgpack.cpp usr/lib/python3.10/site-packages/msgpack/_cmsgpack.cpython-310-xxxMACHINExxx-linux-gnu.so -usr/lib/python3.10/site-packages/msgpack/_cmsgpack.pyx -usr/lib/python3.10/site-packages/msgpack/_packer.pyx -usr/lib/python3.10/site-packages/msgpack/_unpacker.pyx -#usr/lib/python3.10/site-packages/msgpack/buff_converter.h usr/lib/python3.10/site-packages/msgpack/exceptions.py usr/lib/python3.10/site-packages/msgpack/ext.py usr/lib/python3.10/site-packages/msgpack/fallback.py -#usr/lib/python3.10/site-packages/msgpack/pack.h -#usr/lib/python3.10/site-packages/msgpack/pack_template.h -#usr/lib/python3.10/site-packages/msgpack/sysdep.h -#usr/lib/python3.10/site-packages/msgpack/unpack.h -#usr/lib/python3.10/site-packages/msgpack/unpack_define.h -#usr/lib/python3.10/site-packages/msgpack/unpack_template.h diff --git a/lfs/python3-msgpack b/lfs/python3-msgpack index f09edd3e8..d8edd89e0 100644 --- a/lfs/python3-msgpack +++ b/lfs/python3-msgpack @@ -24,7 +24,7 @@
include Config
-VER = 1.0.7 +VER = 1.0.8 SUMMARY = Python module for reading and writing MessagePack data
THISAPP = msgpack-$(VER) @@ -33,7 +33,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = python3-msgpack -PAK_VER = 4 +PAK_VER = 5
DEPS = # borgbackup only works with specific versions of python3-msgpack - check when updating @@ -48,7 +48,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = 8ddf2acf6bf81498d981c3ec83cbdffde1b1611f8ac23d3377f3f1541e679eda288b40b949bd586ca24a7059da3a0f73fa797a661375135ec092f408521c8527 +$(DL_FILE)_BLAKE2 = 714b0355941104e791c5a3b8ee2bd4f40b11484631a3bde63e7c0bdbb925a603c4704b037ab437c2330dc0d2e466d41ccfd50c6a45ef798e5cd34a87e4e3863f
install : $(TARGET)
Signed-off-by: Adolf Belka adolf.belka@ipfire.org --- config/rootfiles/packages/libxxhash | 15 +++++ lfs/libxxhash | 86 +++++++++++++++++++++++++++++ make.sh | 1 + 3 files changed, 102 insertions(+) create mode 100644 config/rootfiles/packages/libxxhash create mode 100644 lfs/libxxhash
diff --git a/config/rootfiles/packages/libxxhash b/config/rootfiles/packages/libxxhash new file mode 100644 index 000000000..d49d52154 --- /dev/null +++ b/config/rootfiles/packages/libxxhash @@ -0,0 +1,15 @@ +usr/bin/xxh128sum +usr/bin/xxh32sum +usr/bin/xxh64sum +usr/bin/xxhsum +#usr/include/xxh3.h +#usr/include/xxhash.h +#usr/lib/libxxhash.a +#usr/lib/libxxhash.so +usr/lib/libxxhash.so.0 +usr/lib/libxxhash.so.0.8.2 +#usr/lib/pkgconfig/libxxhash.pc +#usr/share/man/man1/xxh128sum.1 +#usr/share/man/man1/xxh32sum.1 +#usr/share/man/man1/xxh64sum.1 +#usr/share/man/man1/xxhsum.1 diff --git a/lfs/libxxhash b/lfs/libxxhash new file mode 100644 index 000000000..40aeb2e98 --- /dev/null +++ b/lfs/libxxhash @@ -0,0 +1,86 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2024 IPFire Team info@ipfire.org # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see http://www.gnu.org/licenses/. # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 0.8.2 +SUMMARY = Extremely fast non-cryptographic hash algorithm, working at RAM speed limit + +THISAPP = xxHash-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PROG = libxxhash +PAK_VER = 1 + +DEPS = + +SERVICES = + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_BLAKE2 = 735408256240760778fa516e01bed428f04837eb4e059c512e924f13e4a96db6cacbbefb04dea65a37b0f25b52cf13c4927a6e7870dc8c0d45b1b955d4ba3da1 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +b2 : $(subst %,%_BLAKE2,$(objects)) + +dist: + @$(PAK) + +############################################################################### +# Downloading, checking, b2sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_BLAKE2,$(objects)) : + @$(B2SUM) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && make $(MAKETUNING) + cd $(DIR_APP) && PREFIX=$(PREFIX) make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index a0ea4a99d..7c5849bea 100755 --- a/make.sh +++ b/make.sh @@ -2065,6 +2065,7 @@ build_system() { lfsmake2 libplist lfsmake2 nqptp lfsmake2 shairport-sync + lfsmake2 libxxhash lfsmake2 borgbackup lfsmake2 lmdb lfsmake2 knot