From c4556777d99fd9d491ff6e1669f680f15d5b4bcd Mon Sep 17 00:00:00 2001 From: Tobias Geerinckx-Rice Date: Sat, 30 Dec 2017 15:37:36 +0000 Subject: gnu: borg: Update to 1.1.4. * gnu/packages/backup.scm (borg): Update to 1.1.4. [source]: Remove obsolete patch. Remove bundled lz4 and zstd. [inputs]: Add zstd. [arguments]: Build with input versions of lz4 and zstd. * gnu/packages/patches/borg-fix-archive-corruption-bug.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- .../patches/borg-fix-archive-corruption-bug.patch | 68 ---------------------- 1 file changed, 68 deletions(-) delete mode 100644 gnu/packages/patches/borg-fix-archive-corruption-bug.patch (limited to 'gnu/packages/patches') diff --git a/gnu/packages/patches/borg-fix-archive-corruption-bug.patch b/gnu/packages/patches/borg-fix-archive-corruption-bug.patch deleted file mode 100644 index 0debf119be..0000000000 --- a/gnu/packages/patches/borg-fix-archive-corruption-bug.patch +++ /dev/null @@ -1,68 +0,0 @@ -Fix a bug in `borg check --repair` that corrupts existing archives: - -https://github.com/borgbackup/borg/issues/3444 - -Patches copied from upstream source repository: - -https://github.com/borgbackup/borg/commit/e09892caec8a63d59e909518c4e9c230dbd69774 -https://github.com/borgbackup/borg/commit/a68d28bfa4db30561150c83eb6a0dca5efa4d9e8 - -From a68d28bfa4db30561150c83eb6a0dca5efa4d9e8 Mon Sep 17 00:00:00 2001 -From: Thomas Waldmann -Date: Sat, 16 Dec 2017 01:11:40 +0100 -Subject: [PATCH 1/2] modify borg check unit test so it "hangs", see #3444 - -it doesn't infinitely hang, but slows down considerably. ---- - src/borg/testsuite/archiver.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/borg/testsuite/archiver.py b/src/borg/testsuite/archiver.py -index c7def2c7..b3383e97 100644 ---- a/src/borg/testsuite/archiver.py -+++ b/src/borg/testsuite/archiver.py -@@ -3006,7 +3006,7 @@ def test_missing_file_chunk(self): - def test_missing_archive_item_chunk(self): - archive, repository = self.open_archive('archive1') - with repository: -- repository.delete(archive.metadata.items[-5]) -+ repository.delete(archive.metadata.items[0]) - repository.commit() - self.cmd('check', self.repository_location, exit_code=1) - self.cmd('check', '--repair', self.repository_location, exit_code=0) --- -2.15.1 - - -From e09892caec8a63d59e909518c4e9c230dbd69774 Mon Sep 17 00:00:00 2001 -From: Thomas Waldmann -Date: Sat, 16 Dec 2017 01:16:05 +0100 -Subject: [PATCH 2/2] check --repair: fix malfunctioning validator, fixes #3444 - -the major problem was the ('path' in item) expression. -the dict has bytes-typed keys there, so it never succeeded as it -looked for a str key. this is a 1.1 regression, 1.0 was fine. - -the dict -> StableDict change is just for being more specific, -the check triggered correctly as StableDict subclasses dict, -it was just a bit too general. ---- - src/borg/archive.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/borg/archive.py b/src/borg/archive.py -index 239d00b7..be086800 100644 ---- a/src/borg/archive.py -+++ b/src/borg/archive.py -@@ -1457,7 +1457,7 @@ def robust_iterator(archive): - """ - item_keys = frozenset(key.encode() for key in self.manifest.item_keys) - required_item_keys = frozenset(key.encode() for key in REQUIRED_ITEM_KEYS) -- unpacker = RobustUnpacker(lambda item: isinstance(item, dict) and 'path' in item, -+ unpacker = RobustUnpacker(lambda item: isinstance(item, StableDict) and b'path' in item, - self.manifest.item_keys) - _state = 0 - --- -2.15.1 - -- cgit v1.2.3