Commit graph

9260 commits

Author SHA1 Message Date
Thomas Waldmann
0324395baf
pyinstaller spec: avoid pkg_resources warning 2025-06-18 22:35:38 +02:00
Thomas Waldmann
eefbee7667
update development.lock.txt
some stuff did not fit together.
2025-06-18 20:27:20 +02:00
Thomas Waldmann
9b26b1011a
build_usage build_man 2025-06-18 17:35:37 +02:00
Thomas Waldmann
840c0c4788
update CHANGES 2025-06-18 17:31:57 +02:00
TW
9485fc05c6
Merge pull request #8930 from ThomasWaldmann/buzhash-optimizations-cleanups
setup.py: cosmetic updates for chunkers
2025-06-18 16:47:47 +02:00
Thomas Waldmann
c9cc5c4c19
setup.py: cosmetic updates for chunkers
- remove outdated comment
- remove undef'ing of NDEBUG for chunks
2025-06-18 15:34:20 +02:00
TW
963fc6b869
Merge pull request #8929 from ThomasWaldmann/issue-8928
compact: fix cleaning archives directory
2025-06-17 17:01:30 +02:00
Thomas Waldmann
4359c41d9b
compact: fix cleaning archives directory
- catch correct exception: ObjectNotFound
- use logger.warning, improve error msg
2025-06-16 23:14:10 +02:00
TW
ba7dbd52f4
Merge pull request #8924 from ThomasWaldmann/bh64-balanced-bit-distribution
buzhash64: deterministically create a balanced bh table
2025-06-16 22:33:03 +02:00
Thomas Waldmann
3617b63336
buzhash64: use own CSPRNG 2025-06-16 19:28:01 +02:00
Thomas Waldmann
bb7a4647ea
add own CSPRNG based on AES256-CTR and a 256bit key/seed.
the stuff in Python stdlib "random.Random" is not cryptographically strong
and the stuff in Python stdlib "secrets" can't be seeded and does not
offer shuffle.
2025-06-16 19:27:59 +02:00
TW
ffe55d2697
Merge pull request #8923 from ThomasWaldmann/coverage-pyproject-master
coverage: use pyproject.toml (master)
2025-06-16 19:06:54 +02:00
Thomas Waldmann
91c8054215
require coverage[toml] to support pyproject.toml on Python < 3.11 2025-06-16 17:45:49 +02:00
Thomas Waldmann
e1510f0c73
coverage: move settings from .coveragerc to pyproject.toml 2025-06-16 17:45:45 +02:00
Thomas Waldmann
17a5326c35
chunker benchmarks: do not measure chunker creation time
Chunker creation can be slow (e.g. for buzhash64), but is only done once.
2025-06-15 12:22:50 +02:00
Thomas Waldmann
d48c9643e8
buzhash64: deterministically create a balanced bh table
the previous approach had cryptographic strength randomness, but a precise
50:50 0/1 bit distribution per bit position in the table was not assured.

now this is always the case due to the way how the table is constructed.
2025-06-15 11:33:40 +02:00
TW
d04f41b886
Merge pull request #8922 from ThomasWaldmann/update-changes
update CHANGES
2025-06-14 19:52:03 +02:00
Thomas Waldmann
1e40d74f88
update CHANGES 2025-06-14 17:20:53 +02:00
TW
7b9fe15b5d
Merge pull request #8919 from ThomasWaldmann/py314
support Python 3.14
2025-06-12 21:55:56 +02:00
Thomas Waldmann
2924fc51df
skip test_debug_profile for python 3.14.0* 2025-06-12 18:45:00 +02:00
Thomas Waldmann
47664ed8cd
disable no-ctracer in .coveragerc 2025-06-12 17:02:59 +02:00
Thomas Waldmann
fef9bba1b4
fix deprecated argparse.FileType
the related warning output also disturbs some tests.
2025-06-12 15:47:57 +02:00
Thomas Waldmann
eaca4a6c4a
tests: fix ZeroDivisionError msg test for py314, fixes #8913 2025-06-12 15:47:56 +02:00
Thomas Waldmann
9530f31e5f
update requirements.d/development.lock.txt 2025-06-12 15:47:54 +02:00
Thomas Waldmann
74689d6ea9
support python 3.14 2025-06-12 12:06:45 +02:00
TW
cd07d84c1d
Merge pull request #8918 from ThomasWaldmann/modularize-tests
Modularize tests
2025-06-12 11:59:14 +02:00
Thomas Waldmann
394cec653b
move some tests to testsuite.helpers package 2025-06-11 23:42:17 +02:00
Thomas Waldmann
7329efba14
refactor crypto tests into a package 2025-06-11 23:41:54 +02:00
Thomas Waldmann
78679f8912
refactor platform tests into a package 2025-06-11 23:41:52 +02:00
TW
a44e259b89
Merge pull request #8914 from ThomasWaldmann/pathlib
refactor: use pathlib.Path
2025-06-11 16:30:13 +02:00
Thomas Waldmann
6a565c8006
pathlib refactor key 2025-06-11 09:01:50 +02:00
Thomas Waldmann
aea3d6aefe
pathlib refactor compact_cmd 2025-06-11 09:01:48 +02:00
Thomas Waldmann
4866d49e77
pathlib refactor shell_completions_test 2025-06-11 09:01:47 +02:00
Thomas Waldmann
afb47cd940
pathlib refactor - remove unused imports 2025-06-11 09:01:45 +02:00
Thomas Waldmann
4dbec57716
pathlib refactor logger 2025-06-11 09:01:44 +02:00
Thomas Waldmann
c48918edc9
pathlib refactor file_integrity 2025-06-11 09:01:43 +02:00
Thomas Waldmann
baecf9cccb
pathlib refactor cache 2025-06-11 09:01:42 +02:00
Thomas Waldmann
3c8cfd0e29
pathlib refactor fslocking 2025-06-11 09:01:38 +02:00
Thomas Waldmann
4ff49a6e91
pathlib refactor platform.base 2025-06-11 08:42:42 +02:00
Thomas Waldmann
a0f73d7a61
pathlib refactor fs 2025-06-11 08:42:40 +02:00
TW
9a65d5245d
Merge pull request #8903 from ThomasWaldmann/buzhash64
buzhash64 chunker
2025-06-11 08:31:27 +02:00
Thomas Waldmann
d23704e112
buzhash64: docs 2025-06-10 23:42:22 +02:00
Thomas Waldmann
b9646f236e
buzhash64: init table using a 256bit key derived from ID key
That way we can feed lots of entropy into the table creation.

The bh64_key is derived from the id_key (NOT the crypt_key), thus
it will create the same key for related repositories (even if they
use different encryption/authentication keys). Due to that, it will
also create the same buzhash64 table, will cut chunks at the same
points and deduplication will work amongst the related repositories.
2025-06-10 22:44:54 +02:00
Thomas Waldmann
544b3f41a9
get_chunker: give it the key instead of the seed
the buzhash seed only has 32bits, but we rather
want 64bits for buzhash64.

just take them from crypt_key for now.
2025-06-10 22:44:52 +02:00
Thomas Waldmann
6f55cba0ce
ChunkerParams: add support for buzhash64 2025-06-10 22:44:51 +02:00
Thomas Waldmann
dc2dab1535
buzhash64: integrate into borg benchmark command 2025-06-10 22:44:50 +02:00
Thomas Waldmann
63ff136dfe
buzhash64: integrate into build 2025-06-10 22:44:48 +02:00
Thomas Waldmann
6a6622f9d8
buzhash64: adapt buzhash and tests for 64bit 2025-06-10 22:44:47 +02:00
Thomas Waldmann
cbe6ba719d
chunkers: prepare for buzhash64
Added some *64*.* files that are just 1:1 copies of their
32bit counterparts, so that the changes for the 64bit
adaption will later be better visible.
2025-06-10 22:44:43 +02:00
TW
6487a9875c
Merge pull request #8912 from ThomasWaldmann/update-changes
update CHANGES
2025-06-10 11:22:43 +02:00