From 227484b679bff1f9856bd54921aaea9ba8ef16e0 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Tue, 12 May 2026 18:41:34 +0200 Subject: [PATCH] remove the superfluous borg.checksums module --- scripts/make.py | 1 - setup.py | 5 ----- src/borg/archiver/benchmark_cmd.py | 2 +- src/borg/checksums.pyi | 1 - src/borg/checksums.pyx | 6 ------ src/borg/legacy/repository.py | 2 +- src/borg/testsuite/checksums_test.py | 23 ----------------------- 7 files changed, 2 insertions(+), 38 deletions(-) delete mode 100644 src/borg/checksums.pyi delete mode 100644 src/borg/checksums.pyx delete mode 100644 src/borg/testsuite/checksums_test.py diff --git a/scripts/make.py b/scripts/make.py index 3b71b01c6..d1e52613f 100644 --- a/scripts/make.py +++ b/scripts/make.py @@ -561,7 +561,6 @@ src/borg/chunkers/buzhash64.pyx src/borg/chunkers/reader.pyx src/borg/hashindex.pyx src/borg/item.pyx -src/borg/checksums.pyx src/borg/platform/posix.pyx src/borg/platform/linux.pyx src/borg/platform/syncfilerange.pyx diff --git a/setup.py b/setup.py index 07b763515..c95c09ed5 100644 --- a/setup.py +++ b/setup.py @@ -55,7 +55,6 @@ buzhash64_source = "src/borg/chunkers/buzhash64.pyx" reader_source = "src/borg/chunkers/reader.pyx" hashindex_source = "src/borg/hashindex.pyx" item_source = "src/borg/item.pyx" -checksums_source = "src/borg/checksums.pyx" platform_posix_source = "src/borg/platform/posix.pyx" platform_linux_source = "src/borg/platform/linux.pyx" platform_syncfilerange_source = "src/borg/platform/syncfilerange.pyx" @@ -72,7 +71,6 @@ cython_sources = [ reader_source, hashindex_source, item_source, - checksums_source, platform_posix_source, platform_linux_source, platform_syncfilerange_source, @@ -163,8 +161,6 @@ if not on_rtd: dict(extra_compile_args=cflags), ) - checksums_ext_kwargs = members_appended(dict(sources=[checksums_source]), dict(extra_compile_args=cflags)) - if sys.platform == "linux": linux_ext_kwargs = members_appended( dict(sources=[platform_linux_source]), @@ -184,7 +180,6 @@ if not on_rtd: Extension("borg.chunkers.buzhash", [buzhash_source], extra_compile_args=cflags), Extension("borg.chunkers.buzhash64", [buzhash64_source], extra_compile_args=cflags), Extension("borg.chunkers.reader", [reader_source], extra_compile_args=cflags), - Extension("borg.checksums", **checksums_ext_kwargs), ] posix_ext = Extension("borg.platform.posix", [platform_posix_source], extra_compile_args=cflags) diff --git a/src/borg/archiver/benchmark_cmd.py b/src/borg/archiver/benchmark_cmd.py index 1903909b8..6cf5a4f1e 100644 --- a/src/borg/archiver/benchmark_cmd.py +++ b/src/borg/archiver/benchmark_cmd.py @@ -216,7 +216,7 @@ class BenchmarkMixIn: print(f"{spec:<24} {format_file_size(size):<10} {dt:.3f}s") from xxhash import xxh64 - from ..checksums import crc32 + from zlib import crc32 if not args.json: print("Non-cryptographic checksums / hashes ===========================") diff --git a/src/borg/checksums.pyi b/src/borg/checksums.pyi deleted file mode 100644 index 35bab571f..000000000 --- a/src/borg/checksums.pyi +++ /dev/null @@ -1 +0,0 @@ -def crc32(data: bytes, value: int = 0) -> int: ... diff --git a/src/borg/checksums.pyx b/src/borg/checksums.pyx deleted file mode 100644 index ccf15f198..000000000 --- a/src/borg/checksums.pyx +++ /dev/null @@ -1,6 +0,0 @@ -import zlib - - -# Borg 2.0 repositories do not compute CRC32 over large amounts of data, -# so speed does not matter much anymore, and we can just use zlib.crc32. -crc32 = zlib.crc32 diff --git a/src/borg/legacy/repository.py b/src/borg/legacy/repository.py index 288c5a60d..60e375e3e 100644 --- a/src/borg/legacy/repository.py +++ b/src/borg/legacy/repository.py @@ -11,6 +11,7 @@ from configparser import ConfigParser from functools import partial from itertools import islice from collections.abc import Callable +from zlib import crc32 import xxhash @@ -28,7 +29,6 @@ from ..logger import create_logger from ..manifest import Manifest, NoManifestError from ..platform import SaveFile, SyncFile, sync_dir, safe_fadvise from ..repoobj import RepoObj -from ..checksums import crc32 from ..crypto.file_integrity import IntegrityCheckedFile, FileIntegrityError logger = create_logger(__name__) diff --git a/src/borg/testsuite/checksums_test.py b/src/borg/testsuite/checksums_test.py deleted file mode 100644 index a799bf6e8..000000000 --- a/src/borg/testsuite/checksums_test.py +++ /dev/null @@ -1,23 +0,0 @@ -from xxhash import xxh64 - -from ..helpers import hex_to_bin - - -def test_xxh64(): - assert xxh64(b"test", 123).hexdigest() == "2b81b9401bef86cf" - assert xxh64(b"test").hexdigest() == "4fdcca5ddb678139" - assert ( - xxh64( - hex_to_bin( - "6f663f01c118abdea553373d5eae44e7dac3b6829b46b9bbeff202b6c592c22d724" - "fb3d25a347cca6c5b8f20d567e4bb04b9cfa85d17f691590f9a9d32e8ccc9102e9d" - "cf8a7e6716280cd642ce48d03fdf114c9f57c20d9472bb0f81c147645e6fa3d331" - ) - ).hexdigest() - == "35d5d2f545d9511a" - ) - - hasher = xxh64(seed=123) - hasher.update(b"te") - hasher.update(b"st") - assert hasher.hexdigest() == "2b81b9401bef86cf"