Commit Graph

27 Commits

Author SHA1 Message Date
Thomas Waldmann 8db8fd601b
docs: OS X -> macOS 2023-07-04 23:59:44 +02:00
TW 68e43911f5 Merge pull request #6990 from ThomasWaldmann/more-fine-grained-extended-stat-1.2
xattrs / extended stat: improve exception handling (1.2-maint)
2022-09-07 09:34:52 +02:00
Thomas Waldmann 7957af562d blacken all the code
https://black.readthedocs.io/
2022-07-06 16:34:38 +02:00
Thomas Waldmann 64cc16a9f4 Item: fix xattr processing
Item.xattrs is now always a StableDict mapping bytes keys -> bytes values.

The special casing of empty values (b'') getting replaced by None was removed.
2022-06-09 17:57:28 +02:00
Thomas Waldmann cbeef56454 pyupgrade --py38-plus ./**/*.py 2022-02-27 20:11:56 +01:00
Andrey Bienkowski d9e923e66f Forward port #6064: avoid expanding path into LHS of formatting operation 2021-11-30 20:51:47 +03:00
Thomas Waldmann 9832559f30 remove unused libc_name
this was a remainder from 1.1-maint, but is not used any more.
2021-07-03 22:49:18 +02:00
Thomas Waldmann 65ea375968 get rid of distutils, use packaging 2021-05-01 20:40:48 +02:00
Thomas Waldmann 227dccdfdc use strerror(e.errno) to get verbose error msg
otherwise it is just like: [Errno NN] Exxxxx
2020-12-25 19:36:37 +01:00
Thomas Waldmann d986114e5e refactor/dedup xattr exception handler 2020-12-25 19:30:05 +01:00
Thomas Waldmann ecae0841b1 extract: add generic exception handler when setting xattrs, fixes #5092
emit a warning message giving the path, xattr key and error message.

also: continue trying to restore other xattrs and bsdflags afterwards
(it did not continue with this before this fix).
2020-12-25 19:24:49 +01:00
Thomas Waldmann dbe92b7ace xattr.is_enabled: first listxattr before trying getxattr, see #4403
this is needed for the xattr dummy implementation (used e.g.
on openbsd):
- it returns [] for listxattr
- it fails with ENOATTR when trying getxattr for any name

also: reduce code duplication
2019-02-26 21:41:50 +01:00
Thomas Waldmann 12a18b955e re-add the code that checks if we run under fakeroot, fixes #4291
code taken from 1.1-maint.

running as a user, with or without fakeroot does not have the test
fails in test_extract_capabilities any more.
2019-02-12 05:08:06 +01:00
Thomas Waldmann 389e806b68 xattr: refactor/fix exception handling in get_all
if there is EPERM just for a single attr, it now still collects the
other attrs (previous behaviour: just return empty xattrs dict).
2018-07-07 15:47:56 +02:00
Thomas Waldmann 394d59e6d8 xattr: implement set_all to complement get_all
also: follow_symlinks param defaults to False (we do never use True)

fix tests, xattrs are set via FD now.
2018-07-07 15:47:56 +02:00
Thomas Waldmann c29c3063b0 xattr: use bytes typed path for listxattr, getxattr, setxattr 2018-07-07 15:47:56 +02:00
Thomas Waldmann 9deb90db71 xattr: use bytes typed names for listxattr, getxattr, setxattr 2018-07-07 15:47:56 +02:00
Thomas Waldmann b5a9ac5682 xattr: use bytes typed values for listattr, getxattr, setxattr
- getxattr should only return bytes, not None
- setxattr should not get a None value, just bytes
- remove unneeded tmp vars
2018-07-07 15:47:56 +02:00
Thomas Waldmann 99149684bf xattr: move to platform package, use cython, fixes #2495
this code used to live in borg.xattr and used ctypes
(and was the only ctypes-using code in borg).

the low level code now was converted to cython and
the platform code moved to platform package.

got rid of the code that tried to find the libc.
2018-07-07 15:47:56 +02:00
Thomas Waldmann a57e23fdb3 use prepared env for xattr module's fakeroot version check 2017-09-25 04:36:07 +02:00
Marian Beermann 58edbe15f4 xattr: document API 2017-05-20 18:50:10 +02:00
Marian Beermann ecad0ed53a Merge branch '1.0-maint' into merge/1.0-maint
# Conflicts: ... everywhere ...
#	.travis.yml
#	Vagrantfile
#	borg/testsuite/key.py
#	docs/changes.rst
#	docs/quickstart.rst
#	docs/usage.rst
#	docs/usage/upgrade.rst.inc
#	src/borg/archive.py
#	src/borg/archiver.py
#	src/borg/crypto.pyx
#	src/borg/helpers.py
#	src/borg/key.py
#	src/borg/remote.py
#	src/borg/repository.py
#	src/borg/testsuite/archive.py
#	src/borg/testsuite/archiver.py
#	src/borg/testsuite/crypto.py
#	src/borg/testsuite/helpers.py
#	src/borg/testsuite/repository.py
#	src/borg/upgrader.py
#	tox.ini
2017-01-12 15:01:41 +01:00
Marian Beermann 0d2b76fa7d Merge branch '1.0-maint' into merge/1.0-maint 2016-11-13 15:58:42 +01:00
Thomas Waldmann 8be6761c26 Merge commit 'feb7e2517ef7ec07cc638953a86c726aada7d37e' 2016-08-14 15:05:11 +02:00
Marian Beermann 2e6eb63174
Merge branch '1.0-maint' into master 2016-07-14 01:28:26 +02:00
James Clarke d4f5172771 Correctly handle multiple LD_PRELOAD entries; fixes #1111 2016-06-19 22:04:03 +01:00
Thomas Waldmann d1ea925a5b move borg package to src/ 2016-05-05 20:19:50 +02:00
Renamed from borg/xattr.py (Browse further)