Commit graph

9408 commits

Author SHA1 Message Date
Thomas Waldmann
8f40baa34b
refactor: use |= operator for dictionary updates (py39) 2025-11-03 22:18:26 +01:00
TW
3bad2de41f
Merge pull request #9139 from ThomasWaldmann/dynamic-code-analysis-master
Some checks are pending
Lint / lint (push) Waiting to run
CI / lint (push) Waiting to run
CI / security (push) Waiting to run
CI / asan_ubsan (push) Blocked by required conditions
CI / posix_tests (push) Blocked by required conditions
CI / windows_tests (push) Blocked by required conditions
CodeQL / Analyze (push) Waiting to run
CI: do dynamic code analysis, #6819
2025-11-03 21:19:48 +01:00
Thomas Waldmann
68590e35f0
tests: use context manager when opening files in patterns_test 2025-11-03 20:54:09 +01:00
Thomas Waldmann
add19da678
CI: do dynamic code analysis, #6819
Use:
- AddressSanitizer ASan
- UndefinedBehaviorSanitizer UBSan
2025-11-03 20:42:13 +01:00
TW
d15e8ca6c5
Merge pull request #9138 from ThomasWaldmann/update-changes
update CHANGES
2025-11-03 17:42:30 +01:00
Thomas Waldmann
352cf7bdcc
update CHANGES 2025-11-03 17:33:19 +01:00
TW
30fb8266a0
Merge pull request #9136 from ThomasWaldmann/issue-9134-attestations2
Some checks are pending
Lint / lint (push) Waiting to run
CI / lint (push) Waiting to run
CI / security (push) Waiting to run
CI / posix_tests (push) Blocked by required conditions
CI / windows_tests (push) Blocked by required conditions
CodeQL / Analyze (push) Waiting to run
do binary build and gh attestation based on a tag push
2025-11-02 19:27:12 +01:00
Thomas Waldmann
eba3f8cfb0
docs: update attestation instructions in binary readme 2025-11-02 18:48:08 +01:00
Thomas Waldmann
4be4609445
CI: run also for tag pushes
Simplifies tag-based binary building and attestation.
2025-11-02 18:45:35 +01:00
TW
f24adf5484
Merge pull request #9135 from ThomasWaldmann/issue-9134-attestations
CI: add GitHub artifact attestations for release binaries, fixes #9134 (master)
2025-11-02 17:27:25 +01:00
Thomas Waldmann
a5c8aed7cf
CI: add GitHub artifact attestations for release binaries (fixes #9134)
- grant id-token and attestations permissions to posix_tests job
- add actions/attest-build-provenance@v1 step for built artifacts

This publishes SLSA-style provenance for our tag builds (only when binaries
are produced) so users can verify the origin of downloaded borg binaries.
2025-11-02 17:17:23 +01:00
TW
b9508a8f55
Merge pull request #9133 from f-froehlich/master
Bugfix: local path regex should not match s3 and b2 urls
2025-11-02 15:52:43 +01:00
Fabian Fröhlich
9a5d2bc3ce Bugfix: local path regex should not match s3 and b2 urls 2025-11-02 14:40:46 +01:00
TW
4cffced692
Merge pull request #9131 from ThomasWaldmann/port-9122-to-master-openindiana-doclinks-3.10
Some checks are pending
Lint / lint (push) Waiting to run
CI / lint (push) Waiting to run
CI / security (push) Waiting to run
CI / posix_tests (push) Blocked by required conditions
CI / windows_tests (push) Blocked by required conditions
CodeQL / Analyze (push) Waiting to run
drop python 3.9, more work was needed
2025-11-01 20:49:14 +01:00
Thomas Waldmann
c41d1b1fe2
drop python 3.9, more work was needed 2025-11-01 20:32:59 +01:00
TW
bcbff56bde
Merge pull request #9130 from ThomasWaldmann/port-9121-to-master
Release process updates (master)
2025-11-01 20:11:54 +01:00
Thomas Waldmann
3fe9102b29
update binary readme 2025-11-01 20:02:22 +01:00
Thomas Waldmann
943e68b20e
docs: release binaries are built on GitHub now
bad:
- no *BSD testing and FreeBSD binary building on gh
- binaries not signed by me, because they are built on gh

good:
- for linux intel/amd64 and arm64, built on ubuntu
- for macOS intel and arm64, built on a relatively recent macOS
- I can get rid of that ancient macOS VM I used for building.
- the source code distribution (sdist) is still made locally on
  my machine and thus signed with my signature (*.asc).
2025-11-01 20:02:20 +01:00
Thomas Waldmann
471e302024
upload-pypi: use borg-specific repository names
so it finds the right api token in .pypirc
2025-11-01 19:57:26 +01:00
TW
df17837a58
Merge pull request #9129 from ThomasWaldmann/vagrant-updates-master-port-9117
Vagrant updates (master port of #9117)
2025-11-01 19:44:56 +01:00
TW
47b3611bcb
Merge pull request #9128 from ThomasWaldmann/port/9116-to-master
extract: fs flags: use get/set to influence only specific flags, #9039, FreeBSD only (master)
2025-11-01 19:37:19 +01:00
Thomas Waldmann
da724102c1
vagrant: fix openindiana box
- working nameserver
- run pkg update and reboot, otherwise it does not let us
  install gcc-13 and git.
2025-11-01 19:35:49 +01:00
Thomas Waldmann
17d7a0a110
vagrant: add a OpenBSD 7.7 box
The base box has an invalid hostname and no comp package installed,
so we need to fix that.
2025-11-01 19:35:36 +01:00
Thomas Waldmann
ecfdc76eee
extract: fs flags: use get/set to influence only specific flags, #9039, FreeBSD only. 2025-11-01 19:09:36 +01:00
TW
c3506c3063
Merge pull request #9127 from ThomasWaldmann/port/9115-to-master
extract: fs flags: use get/set to influence only specific flags, #9039, macOS only (master)
2025-11-01 18:44:07 +01:00
Thomas Waldmann
44ac21ff29
extract: fs flags: use get/set to influence only specific flags, #9039, macOS only.
preserve UF_COMPRESSED and SF_DATALESS when restoring flags,
get-modify-set in macOS set_flags, keeping system-managed read-only flags.

(cherry picked from commit 83571aa00d)
2025-11-01 18:11:42 +01:00
TW
ad89feb0ce
Merge pull request #9125 from ThomasWaldmann/port-9111-to-master
BORG_MSGPACK_VERSION_CHECK=no to disable the version check, fixes #9109
2025-11-01 17:30:00 +01:00
Thomas Waldmann
7e6dea9408
BORG_MSGPACK_VERSION_CHECK=no to disable the version check, fixes #9109
(cherry picked from commit 2d63dc9a4f)
2025-11-01 16:48:00 +01:00
TW
2a57c90109
Merge pull request #9113 from borgbackup/dependabot/pip/requirements.d/pip-25.3
Some checks failed
Lint / lint (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / security (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
CI / posix_tests (push) Has been cancelled
CI / windows_tests (push) Has been cancelled
build(deps-dev): bump pip from 25.2 to 25.3 in /requirements.d
2025-10-30 11:19:50 +01:00
dependabot[bot]
a4b576914c
build(deps-dev): bump pip from 25.2 to 25.3 in /requirements.d
Bumps [pip](https://github.com/pypa/pip) from 25.2 to 25.3.
- [Changelog](https://github.com/pypa/pip/blob/main/NEWS.rst)
- [Commits](https://github.com/pypa/pip/compare/25.2...25.3)

---
updated-dependencies:
- dependency-name: pip
  dependency-version: '25.3'
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-30 09:53:42 +00:00
TW
50b50e4ba4
Merge pull request #9107 from ThomasWaldmann/port-9096-to-master
Some checks failed
Lint / lint (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / security (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
CI / posix_tests (push) Has been cancelled
CI / windows_tests (push) Has been cancelled
json: include archive keys in JSON lines when requested via --format, fixes #9095
2025-10-28 00:16:56 +01:00
Thomas Waldmann
5fef3f0118
json: include archive keys in JSON lines when requested via --format, fixes #9095
Add a test to ensure correct behavior.

(cherry picked from commit 0c27bd3047)
2025-10-27 23:48:48 +01:00
TW
736f2bf4ca
Merge pull request #9108 from ThomasWaldmann/fix-src-formatting-master
cosmetic fix: black format src
2025-10-27 23:47:38 +01:00
Thomas Waldmann
9e2d8492e1
cosmetic fix: black format src 2025-10-27 23:08:21 +01:00
TW
8c1d919095
Merge pull request #9097 from valtron/fix-win-fileurl
Fix windows file URLs
2025-10-27 21:18:36 +01:00
valtron
1f76b6a21e linter 2025-10-26 23:20:49 -06:00
valtron
fcc5a5beff ensure valid file urls are created from windows paths 2025-10-25 12:24:30 -06:00
TW
ca706652d4
Merge pull request #9093 from ThomasWaldmann/port/master-9089-set_flags
Some checks failed
Lint / lint (push) Has been cancelled
CI / lint (push) Has been cancelled
CI / security (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
CI / posix_tests (push) Has been cancelled
CI / windows_tests (push) Has been cancelled
extract: misc. fixes for restoring linux fs flags, port to master
2025-10-25 03:32:56 +02:00
valtron
cea7744276 add missing guards around preexec_fn=ignore_sigint 2025-10-23 20:28:28 -06:00
Thomas Waldmann
aea883b700
set_flags: remove compression flag
This flag needs to be set BEFORE writing to the file.
But "borg extract" sets the flags last (to support IMMUTABLE),
thus the compression flag would not work as expected.

(cherry picked from commit 56dda84162)
2025-10-21 03:02:35 +02:00
Thomas Waldmann
a6b6d35b30
set_flags: use get/set to only influence specific flags, fixes #9039
Linux platform only.

(cherry picked from commit 9214197a2c)

set_flags: if getting the flags fails, better give up than
corrupting them.

Thanks to Earnestly for the feedback on IRC.

(cherry picked from commit 9c600a9571)
2025-10-21 03:01:10 +02:00
TW
d0dabe69a8
Merge pull request #9087 from ThomasWaldmann/update-changes-master
Some checks failed
Lint / lint (push) Has been cancelled
CodeQL / Analyze (push) Has been cancelled
update CHANGES
2025-10-16 17:46:29 +02:00
Thomas Waldmann
73e2543b53
update CHANGES 2025-10-16 13:34:27 +02:00
TW
0277d8b635
Merge pull request #9086 from ThomasWaldmann/patterns-style-master
Some checks failed
Lint / lint (push) Waiting to run
CodeQL / Analyze (push) Waiting to run
CI / lint (push) Has been cancelled
CI / security (push) Has been cancelled
CI / posix_tests (push) Has been cancelled
CI / windows_tests (push) Has been cancelled
patterns: clarify scope of default pattern style, fixes #9004
2025-10-16 11:17:50 +02:00
TW
5df6021bc2
Merge pull request #9084 from ThomasWaldmann/non-tty-progress-master
Some checks are pending
Lint / lint (push) Waiting to run
CI / lint (push) Waiting to run
CI / security (push) Waiting to run
CI / posix_tests (push) Blocked by required conditions
CI / windows_tests (push) Blocked by required conditions
CodeQL / Analyze (push) Waiting to run
improved tty-less progress reporting (master)
2025-10-16 03:21:17 +02:00
TW
140ff56135
Merge pull request #9085 from ThomasWaldmann/mount-show-rc-master
mount --show-rc: display main process rc, fixes #8308
2025-10-16 03:20:37 +02:00
Thomas Waldmann
a32989071b
do_show_rc: suppress bandit warning
see the comment in line 201.
2025-10-16 02:46:08 +02:00
Thomas Waldmann
3a9088f501
patterns: clarify scope of default pattern style, fixes #9004 2025-10-16 02:39:42 +02:00
Thomas Waldmann
a775517f08
mount --show-rc: display main process rc, fixes #8308
when borg mount is used without -f/--foreground (so that the FUSE
borg process was started daemonized in the background), it did not
display the rc of the main process, even when --show-rc was used.

now it does display the rc of the main process.

note that this is rather a consistency fix than being super useful,
because the main "action" happens in the background daemon process,
not in the main process.
2025-10-16 02:26:06 +02:00
Thomas Waldmann
8cbe4b8d48
improved tty-less progress reporting
Previously when running borg in a systemd service (and similar when piping to
a file and co.), these problems occurred:

- The carriage return both made it so that journald interpreted the output as
  binary, therefore not printing the text, while also not buffering
  correctly, so that log output was only available every once in a while
  in the form [40k blob data]. This can partially be worked around by
  using `journalctl -a` to view the logs, which at least prints the text,
  though only sporadically.

- The path was getting truncated to a short length, since the default
  get_terminal_size returns a column width of 80, which isn't relevant
  when printing to e.g. journald.

This commit fixes this by introducing a new code path for when stream is
not a tty, which always prints the full paths and ends lines with a linefeed.

This is based on unfinished PR #8939 by @infinisil, thanks for your suggestion!

Forward port of PR #9055 to master.
2025-10-16 01:59:43 +02:00