1
0
Fork 0
mirror of https://github.com/borgbackup/borg.git synced 2024-12-21 15:23:11 +00:00
Commit graph

8907 commits

Author SHA1 Message Date
TW
690ffd1454
Merge pull request #8586 from in0rdr/fix/libffi-dev
doc(installation): add libffi-dev dependency
2024-12-16 19:57:40 +01:00
Andreas Gruhler
9e0023c218 doc(installation): libffi required for argon2-cffi-bindings 2024-12-15 21:36:52 +01:00
Andreas Gruhler
ca25453e10 doc(installation): add libffi-dev dependency 2024-12-15 16:08:27 +01:00
TW
84744ac1a4
Merge pull request #8561 from ThomasWaldmann/speedup-compact
compact: add --stats option
2024-11-25 01:17:08 +01:00
Thomas Waldmann
a46131bec5
compact: add --stats option
with --stats it will be as slow as before, listing all repo objs.

without --stats, it will be faster by using the cached chunks index.
2024-11-24 19:36:16 +01:00
TW
4c1e2bc4b0
Merge pull request #8565 from ThomasWaldmann/pkgconf
macos: fix broken brew pkg-config -> pkgconf transition
2024-11-24 19:35:03 +01:00
TW
b8fe10da84
Merge pull request #8557 from bket/openbsd_openssl_version
borg2 - Support other OpenSSL versions on OpenBSD (#8553)
2024-11-24 18:20:12 +01:00
Thomas Waldmann
41f150ff7f
macos: fix broken brew pkg-config upgrade
it looks like in brew they removed pkg-config formula and added
an alias to the pkgconf formula (which also provides a pkg-config
cli command).

the transition was not seamless:

on github actions CI:

Installing pkg-config
==> Downloading https://ghcr.io/v2/homebrew/core/pkgconf/manifests/2.3.0_1
==> Fetching pkgconf
==> Downloading https://ghcr.io/v2/homebrew/core/pkgconf/blobs/sha256:5f83615f295e78e593c767d84f3eddf61bfb0b849a1e6a5ea343506b30b2c620
==> Pouring pkgconf--2.3.0_1.arm64_sonoma.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /opt/homebrew
Could not symlink bin/pkg-config
Target /opt/homebrew/bin/pkg-config
is a symlink belonging to pkg-config@0.29.2. You can unlink it:
  brew unlink pkg-config@0.29.2

To force the link and overwrite all conflicting files:
  brew link --overwrite pkgconf

To list all files that would be deleted:
  brew link --overwrite pkgconf --dry-run

Possible conflicting files are:
/opt/homebrew/bin/pkg-config -> /opt/homebrew/Cellar/pkg-config@0.29.2/0.29.2_3/bin/pkg-config
/opt/homebrew/share/aclocal/pkg.m4 -> /opt/homebrew/Cellar/pkg-config@0.29.2/0.29.2_3/share/aclocal/pkg.m4
/opt/homebrew/share/man/man1/pkg-config.1 -> /opt/homebrew/Cellar/pkg-config@0.29.2/0.29.2_3/share/man/man1/pkg-config.1
==> Summary
🍺  /opt/homebrew/Cellar/pkgconf/2.3.0_1: 27 files, 474KB
Installing pkg-config has failed!
2024-11-24 18:11:39 +01:00
Björn Ketelaars
cf6a324afa borg2 - Support other OpenSSL versions on OpenBSD
`setup.py` hardcoded crypto library paths for OpenBSD, causing build
issue when OpenBSD drops specific OpenSSL version. Solution is to make
paths configurable.

Addresses #8553.
2024-11-23 23:01:44 +01:00
TW
d1b2884204
Merge pull request #8554 from bket/openbsd_vagrant
Fix issues seen with the OpenBSD vagrant box
2024-11-20 11:31:26 +01:00
Björn Ketelaars
33834c419f Filter test output with LibreSSL related warnings on OpenBSD
We do not want that urllib spoils test output with LibreSSL related
warnings on OpenBSD.

`NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently
the 'ssl' module is compiled with 'LibreSSL 3.8.2'`.
2024-11-20 06:01:12 +01:00
Björn Ketelaars
9c88e2a4e8 Fix OpenBSD Vagrant
This should address #8506. Unfortunately I'm unable to test.

#8506 is likely caused by the Vagrant box having a mirror in its
`etc/installurl`, which does not offer 7.4 packages. There are other
mirrors out there who do, e.g., https://ftp.eu.openbsd.org/pub/OpenBSD/.

Proposed 'fix' is to replace the mirror in `/etc/installurl`.
2024-11-20 06:01:12 +01:00
TW
43fe3590d0
Merge pull request #8549 from ThomasWaldmann/borghash010
adapt to and require borghash 0.1.0
2024-11-18 09:31:01 +01:00
Thomas Waldmann
ebfd581049
add undelete command to index 2024-11-18 02:30:58 +01:00
Thomas Waldmann
0323c2f987
adapt to and require borghash 0.1.0 2024-11-18 01:48:01 +01:00
TW
0551150322
Merge pull request #8547 from ThomasWaldmann/rel200b14
Release 2.0.0 beta 14
2024-11-17 01:20:43 +01:00
Thomas Waldmann
37077a55e7
build_usage build_man 2024-11-16 20:14:16 +01:00
Thomas Waldmann
e8a6421ebf
b14 release date 2024-11-16 20:08:19 +01:00
TW
10c25414f4
Merge pull request #8546 from ThomasWaldmann/files-cache-upgrade-notes
upgrade notes about files cache settings when NOT using archive series
2024-11-16 18:52:33 +01:00
Thomas Waldmann
5f605d6642
upgrade notes about files cache settings when NOT using archive series 2024-11-16 18:47:16 +01:00
TW
b65cfeff51
Merge pull request #8545 from ThomasWaldmann/update-changes
update CHANGES
2024-11-16 18:08:41 +01:00
Thomas Waldmann
b007b99394
update CHANGES 2024-11-16 15:20:51 +01:00
TW
c92d528c82
Merge pull request #8543 from ThomasWaldmann/repo-compress-use-flags
repo-compress: reduce memory consumption
2024-11-15 12:08:49 +01:00
Thomas Waldmann
f7dea6e93f
repo-compress: reduce memory consumption
Worst (but frequent) case here is that all or most of the chunks
in the repo need to get recompressed, thus storing all chunk ids
in a python list would need significant amounts of memory for
large repositories.

We already have all chunk ids stored in cache.chunks, so we now just
flag the ones needing re-compression by setting the F_COMPRESS flag
(that does not need any additional memory).
2024-11-15 10:42:07 +01:00
TW
b6ae924f30
Merge pull request #8541 from ThomasWaldmann/incremental-chunkindex-cache-updates
enable partial/incremental ChunkIndex cache updates
2024-11-15 09:57:19 +01:00
Thomas Waldmann
295f4e3114
update ChunkIndex cache in repo every 10mins 2024-11-14 21:44:56 +01:00
Thomas Waldmann
d5d49e8a15
ChunkIndex: enable partial index updates
- ChunkIndex: implement system flags
- ChunkIndex: F_NEW flag as 1st system flag for newly added chunks
- incrementally write only NEW chunks to repo/cache/chunks.*
- merge all chunks.* when loading the ChunkIndex from the repo

Also: the cached ChunkIndex only has the chunk IDs. All values are just dummies.
The ChunkIndexEntry value can be used to set flags and track size, but we
intentionally do not persist flags and size to the cache.

The size information gets set when borg loads the files cache and "compresses"
the chunks lists in the files cache entries. After that, all chunks referenced
by the files cache will have a valid size as long as the ChunkIndex is in memory.
This is needed so that "uncompress" can work.
2024-11-14 20:28:04 +01:00
TW
4ed03c17e6
Merge pull request #8536 from ThomasWaldmann/vagrant-debian32
vagrant: add bookworm32 box for 32bit platform testing
2024-11-12 01:01:22 +01:00
TW
d266b2fd2d
Merge pull request #8531 from ThomasWaldmann/chunkindex
chunk index cache: use cache/chunks.<HASH>, see #8503
2024-11-11 23:02:50 +01:00
Thomas Waldmann
6a1aa438f8
vagrant: add bookworm32 box for 32bit platform testing 2024-11-10 02:11:24 +01:00
Thomas Waldmann
56493fc62b
chunk index cache: fix "upgrade" code
nice try, but due to other changes after b13, the cache is invalid anyway.
2024-11-08 22:10:39 +01:00
Thomas Waldmann
43a27f294d
caching a merged chunk index: only delete what we merged 2024-11-08 22:03:32 +01:00
Thomas Waldmann
00f8cdc9a7
when building the chunk index, merge all we have in the cache 2024-11-08 22:03:29 +01:00
Thomas Waldmann
4a6fcc26d7
use stable chunkindex list order 2024-11-08 22:03:28 +01:00
Thomas Waldmann
d4310dd4cf
chunk index cache: use cache/chunks.<HASH>, see #8503
- doesn't need a separate file for the hash
- we can later write multiple partial chunkindexes to the cache

also:

add upgrade code that renames the cache from previous borg versions.
2024-11-08 22:03:26 +01:00
TW
35c83dfd66
Merge pull request #8525 from PhrozenByte/docs-undelete
Update docs to better incorporate new undelete command
2024-11-08 20:43:34 +01:00
Daniel Rudolf
38ba3d8c4d Update docs to better incorporate new undelete command
Follow-up to #8515

Refer to https://github.com/borgbackup/borg/pull/8515#pullrequestreview-2417746853 for details.
2024-11-08 01:50:45 +01:00
TW
e9ace2df78
Merge pull request #8530 from ThomasWaldmann/mount-fixes
mount: fix check_pending_archive to give correct root dir, fixes #8528
2024-11-07 23:22:43 +01:00
Thomas Waldmann
f515160bb0
mount: fix check_pending_archive to give correct root dir, fixes #8528
for archive series (duplicate names!), it is not just
the archive name, but NAME-ARCHIVEID.
2024-11-07 21:15:58 +01:00
TW
2dffc60507
Merge pull request #8515 from ThomasWaldmann/soft-delete
soft delete / undelete
2024-11-06 15:44:50 +01:00
Thomas Waldmann
142a739105
check: improve docs 2024-11-05 22:15:16 +01:00
Thomas Waldmann
7cd048f53a
compact: explain more 2024-11-05 21:25:24 +01:00
Thomas Waldmann
72b1a8ea04
delete/prune: add hint about undelete 2024-11-05 21:02:52 +01:00
Thomas Waldmann
a48a8d2bea
check --find-lost-archives (was: --undelete-archives)
Consider soft-deleted archives/ directory entries, but only create a new
archives/ directory entry if:
- there is no entry for that archive ID
- there is no soft-deleted entry for that archive ID either

Support running with or without --repair.

Without --repair, it can be used to detect such inconsistencies and return with rc != 0.

--repository-only contradicts --find-lost-archives.
2024-11-05 21:02:50 +01:00
Thomas Waldmann
c35cbc9028
rebuild_archives_directory: accelerate by only reading metadata
We are only interested in archive metadata objects here, thus for most repo objects
it is enough to read the repoobj's metadata and determine the object's type.

Only if it is the right type of object, we need to read the full object (metadata
and data).
2024-11-05 21:02:49 +01:00
Thomas Waldmann
299c05287f
compact: remove soft-deleted archives/* entries, docs 2024-11-05 21:02:24 +01:00
Thomas Waldmann
9fabc19e6b
undelete: undelete soft-deleted archives, fixes #8500 2024-11-05 20:56:32 +01:00
Thomas Waldmann
7ed8ed56d2
repo-list: --deleted lists deleted archives 2024-11-05 20:03:07 +01:00
Thomas Waldmann
088d59d814
repository: store_list: add deleted param 2024-11-05 20:03:06 +01:00
Thomas Waldmann
c8bce0329d
archive deletion: use store soft-deletion
This keeps the object, just renames it to "*.del".
2024-11-05 20:03:04 +01:00