Package: src:borgbackup Version: 1.4.4-3 Severity: serious Tags: ftbfs forky sid
Dear maintainer: During a rebuild of all packages in unstable, this package failed to build. Below you will find the last part of the build log (probably the most relevant part, but not necessarily). If required, the full build log is available here: https://people.debian.org/~sanvila/build-logs/202605/ About the archive rebuild: The build was made on virtual machines from AWS, using sbuild and a reduced chroot with only build-essential packages. If you cannot reproduce the bug please contact me privately, as I am willing to provide ssh access to a virtual machine where the bug is fully reproducible. If this is really a bug in one of the build-depends, please use reassign and add an affects on src:borgbackup, so that this is still visible in the BTS web page for this package. Thanks. -------------------------------------------------------------------------------- [...] debian/rules clean dh clean --with python3,sphinxdoc --buildsystem=pybuild dh_auto_clean -O--buildsystem=pybuild dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary dh binary --with python3,sphinxdoc --buildsystem=pybuild dh_update_autotools_config -O--buildsystem=pybuild dh_autoreconf -O--buildsystem=pybuild dh_auto_configure -O--buildsystem=pybuild dh_auto_build -O--buildsystem=pybuild I: pybuild plugin_pyproject:142: Building wheel for python3.13 with "build" module I: pybuild base:385: python3.13 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13 * Building wheel... Detected and preferring libcrypto [via pkg-config] [... snipped ...] adding 'borg/version.py' adding 'borg/xattr.py' adding 'borg/algorithms/__init__.py' adding 'borg/algorithms/checksums.cpython-313-x86_64-linux-gnu.so' adding 'borg/crypto/__init__.py' adding 'borg/crypto/file_integrity.py' adding 'borg/crypto/key.py' adding 'borg/crypto/keymanager.py' adding 'borg/crypto/low_level.cpython-313-x86_64-linux-gnu.so' adding 'borg/crypto/nonces.py' adding 'borg/helpers/__init__.py' adding 'borg/helpers/checks.py' adding 'borg/helpers/datastruct.py' adding 'borg/helpers/errors.py' adding 'borg/helpers/fs.py' adding 'borg/helpers/manifest.py' adding 'borg/helpers/misc.py' adding 'borg/helpers/msgpack.py' adding 'borg/helpers/parseformat.py' adding 'borg/helpers/process.py' adding 'borg/helpers/progress.py' adding 'borg/helpers/time.py' adding 'borg/helpers/yes.py' adding 'borg/platform/__init__.py' adding 'borg/platform/base.py' adding 'borg/platform/linux.cpython-313-x86_64-linux-gnu.so' adding 'borg/platform/posix.cpython-313-x86_64-linux-gnu.so' adding 'borg/platform/syncfilerange.cpython-313-x86_64-linux-gnu.so' adding 'borg/platform/xattr.py' adding 'borg/testsuite/__init__.py' adding 'borg/testsuite/archive.py' adding 'borg/testsuite/archiver.py' adding 'borg/testsuite/attic.tar.gz' adding 'borg/testsuite/benchmark.py' adding 'borg/testsuite/cache.py' adding 'borg/testsuite/checksums.py' adding 'borg/testsuite/chunker.py' adding 'borg/testsuite/chunker_pytest.py' adding 'borg/testsuite/chunker_slow.py' adding 'borg/testsuite/compress.py' adding 'borg/testsuite/conftest.py' adding 'borg/testsuite/crypto.py' adding 'borg/testsuite/efficient_collection_queue.py' adding 'borg/testsuite/file_integrity.py' adding 'borg/testsuite/hashindex.py' adding 'borg/testsuite/hashindex_pytest.py' adding 'borg/testsuite/helpers.py' adding 'borg/testsuite/issue_8535.py' adding 'borg/testsuite/item.py' adding 'borg/testsuite/key.py' adding 'borg/testsuite/locking.py' adding 'borg/testsuite/logger.py' adding 'borg/testsuite/lrucache.py' adding 'borg/testsuite/nanorst.py' adding 'borg/testsuite/nonces.py' adding 'borg/testsuite/patterns.py' adding 'borg/testsuite/platform.py' adding 'borg/testsuite/remote.py' adding 'borg/testsuite/repository.py' adding 'borg/testsuite/shellpattern.py' adding 'borg/testsuite/upgrader.py' adding 'borg/testsuite/version.py' adding 'borg/testsuite/xattr.py' adding 'borgbackup-1.4.4.dist-info/licenses/AUTHORS' adding 'borgbackup-1.4.4.dist-info/licenses/LICENSE' adding 'borgbackup-1.4.4.dist-info/METADATA' adding 'borgbackup-1.4.4.dist-info/WHEEL' adding 'borgbackup-1.4.4.dist-info/entry_points.txt' adding 'borgbackup-1.4.4.dist-info/top_level.txt' adding 'borgbackup-1.4.4.dist-info/RECORD' removing build/bdist.linux-x86_64/wheel Successfully built borgbackup-1.4.4-cp313-cp313-linux_x86_64.whl I: pybuild plugin_pyproject:168: Unpacking wheel built for python3.13 with "installer" module debian/rules override_dh_auto_test make[1]: Entering directory '/<<PKGBUILDDIR>>' # fakeroot introduces race conditions to e.g. locking tests. dh_auto_test -- --test-args "--pyargs borg.testsuite -k 'benchmark.py or cache.py or checks.py or key.py or locking.py or patterns.py or remote.py or repository.py or shellpattern.py'" I: pybuild base:385: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build; python3.13 -m pytest --pyargs borg.testsuite -k 'benchmark.py or cache.py or checks.py or key.py or locking.py or patterns.py or remote.py or repository.py or shellpattern.py' ============================= test session starts ============================== platform linux -- Python 3.13.12, pytest-9.0.3, pluggy-1.6.0 benchmark: 5.2.3 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000) rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build configfile: pyproject.toml plugins: benchmark-5.2.3, cov-5.0.0, typeguard-4.4.4 collected 1650 items / 1111 deselected / 539 selected borg/testsuite/benchmark.py ............................................ [ 8%] ..... [ 9%] borg/testsuite/cache.py ................................................ [ 17%] ............................ [ 23%] borg/testsuite/key.py .................................................. [ 32%] ............ [ 34%] borg/testsuite/locking.py ..................... [ 38%] borg/testsuite/lrucache.py .. [ 38%] borg/testsuite/patterns.py ............................................. [ 47%] ........................................................................ [ 60%] ......................... [ 65%] borg/testsuite/remote.py ......................................... [ 72%] borg/testsuite/repository.py ........................................... [ 80%] ......................................... [ 88%] borg/testsuite/shellpattern.py ......................................... [ 96%] ..................... [100%] --------------------------------------------------------------------------------------------- benchmark: 49 tests ---------------------------------------------------------------------------------------------- Name (time in ms) Min Max Mean StdDev Median IQR Outliers OPS Rounds Iterations ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- test_help[python] 256.0810 (1.0) 274.3479 (1.03) 261.3944 (1.0) 7.4395 (inf) 258.3721 (1.0) 7.0683 (inf) 1;0 3.8256 (1.0) 5 1 test_list[random-python-none-none] 256.3977 (1.00) 268.7127 (1.01) 264.2872 (1.01) 5.2289 (inf) 266.6202 (1.03) 7.9916 (inf) 1;0 3.7838 (0.99) 5 1 test_list[zeros-python-lz4-none] 256.5527 (1.00) 265.9014 (1.0) 262.2731 (1.00) 3.9983 (inf) 263.6760 (1.02) 6.5602 (inf) 1;0 3.8128 (1.00) 5 1 test_list[zeros-python-none-none] 258.0578 (1.01) 269.4100 (1.01) 262.9493 (1.01) 4.7192 (inf) 260.8921 (1.01) 7.4692 (inf) 2;0 3.8030 (0.99) 5 1 test_info[zeros-python-none-none] 260.7955 (1.02) 273.0241 (1.03) 267.0319 (1.02) 4.9681 (inf) 268.9368 (1.04) 7.6707 (inf) 2;0 3.7449 (0.98) 5 1 test_info[random-python-lz4-none] 263.6345 (1.03) 279.6380 (1.05) 270.2832 (1.03) 7.3017 (inf) 266.0061 (1.03) 12.3536 (inf) 1;0 3.6998 (0.97) 5 1 test_list[random-python-lz4-none] 264.1484 (1.03) 273.8036 (1.03) 269.7123 (1.03) 3.4798 (inf) 270.2200 (1.05) 2.5576 (inf) 2;1 3.7077 (0.97) 5 1 test_info[zeros-python-lz4-none] 264.9464 (1.03) 273.3279 (1.03) 269.9353 (1.03) 3.4580 (inf) 270.7731 (1.05) 5.5232 (inf) 1;0 3.7046 (0.97) 5 1 test_info[random-python-none-none] 267.9275 (1.05) 275.4103 (1.04) 272.4648 (1.04) 2.8544 (inf) 273.3567 (1.06) 3.4744 (inf) 2;0 3.6702 (0.96) 5 1 test_list[zeros-python-none-repokey] 272.7758 (1.07) 282.7870 (1.06) 276.9702 (1.06) 4.2392 (inf) 275.9297 (1.07) 7.1507 (inf) 1;0 3.6105 (0.94) 5 1 test_list[random-python-none-repokey] 273.4997 (1.07) 280.5504 (1.06) 277.1933 (1.06) 2.8743 (inf) 278.2477 (1.08) 4.5211 (inf) 2;0 3.6076 (0.94) 5 1 test_list[random-python-lz4-repokey] 274.4364 (1.07) 285.7542 (1.07) 280.0916 (1.07) 4.4625 (inf) 281.6165 (1.09) 6.5206 (inf) 2;0 3.5703 (0.93) 5 1 test_info[zeros-python-lz4-repokey] 275.8521 (1.08) 291.5731 (1.10) 284.4541 (1.09) 6.2343 (inf) 287.0398 (1.11) 9.0718 (inf) 2;0 3.5155 (0.92) 5 1 test_info[random-python-lz4-repokey] 279.5664 (1.09) 284.3047 (1.07) 280.8993 (1.07) 1.9654 (inf) 280.0329 (1.08) 2.0065 (inf) 1;0 3.5600 (0.93) 5 1 test_info[zeros-python-none-repokey] 280.4928 (1.10) 285.6601 (1.07) 283.5116 (1.08) 2.0997 (inf) 284.1498 (1.10) 3.2680 (inf) 2;0 3.5272 (0.92) 5 1 test_info[random-python-none-repokey] 281.1222 (1.10) 287.4842 (1.08) 284.5004 (1.09) 2.6502 (inf) 284.4556 (1.10) 4.5301 (inf) 2;0 3.5149 (0.92) 5 1 test_list[zeros-python-lz4-repokey] 282.0028 (1.10) 285.9159 (1.08) 283.8229 (1.09) 1.6882 (inf) 283.4729 (1.10) 2.9854 (inf) 2;0 3.5233 (0.92) 5 1 test_check[zeros-python-none-none] 286.0653 (1.12) 299.0686 (1.12) 291.5098 (1.12) 5.6371 (inf) 289.3527 (1.12) 9.5863 (inf) 1;0 3.4304 (0.90) 5 1 test_extract[zeros-python-none-none] 286.3675 (1.12) 286.3675 (1.08) 286.3675 (1.10) 0.0000 (1.0) 286.3675 (1.11) 0.0000 (1.0) 0;0 3.4920 (0.91) 1 1 test_delete[zeros-python-none-none] 288.2126 (1.13) 288.2126 (1.08) 288.2126 (1.10) 0.0000 (1.0) 288.2126 (1.12) 0.0000 (1.0) 0;0 3.4697 (0.91) 1 1 test_check[zeros-python-lz4-none] 289.8023 (1.13) 303.5635 (1.14) 294.6701 (1.13) 5.4346 (inf) 293.2860 (1.14) 6.7852 (inf) 1;0 3.3936 (0.89) 5 1 test_extract[random-python-none-none] 291.7222 (1.14) 291.7222 (1.10) 291.7222 (1.12) 0.0000 (1.0) 291.7222 (1.13) 0.0000 (1.0) 0;0 3.4279 (0.90) 1 1 test_check[random-python-lz4-none] 296.3169 (1.16) 318.9684 (1.20) 309.9832 (1.19) 9.8518 (inf) 313.8859 (1.21) 16.5415 (inf) 1;0 3.2260 (0.84) 5 1 test_extract[zeros-python-lz4-none] 297.7533 (1.16) 297.7533 (1.12) 297.7533 (1.14) 0.0000 (1.0) 297.7533 (1.15) 0.0000 (1.0) 0;0 3.3585 (0.88) 1 1 test_extract[zeros-python-lz4-repokey] 303.8566 (1.19) 303.8566 (1.14) 303.8566 (1.16) 0.0000 (1.0) 303.8566 (1.18) 0.0000 (1.0) 0;0 3.2910 (0.86) 1 1 test_extract[zeros-python-none-repokey] 306.8913 (1.20) 306.8913 (1.15) 306.8913 (1.17) 0.0000 (1.0) 306.8913 (1.19) 0.0000 (1.0) 0;0 3.2585 (0.85) 1 1 test_extract[random-python-lz4-none] 308.2041 (1.20) 308.2041 (1.16) 308.2041 (1.18) 0.0000 (1.0) 308.2041 (1.19) 0.0000 (1.0) 0;0 3.2446 (0.85) 1 1 test_check[random-python-none-none] 312.7794 (1.22) 320.2108 (1.20) 316.8474 (1.21) 3.5169 (inf) 318.5678 (1.23) 6.3750 (inf) 2;0 3.1561 (0.82) 5 1 test_check[zeros-python-lz4-repokey] 312.8282 (1.22) 332.8164 (1.25) 322.6097 (1.23) 9.3905 (inf) 319.8356 (1.24) 17.6550 (inf) 3;0 3.0997 (0.81) 5 1 test_check[zeros-python-none-repokey] 318.0458 (1.24) 326.2239 (1.23) 322.3474 (1.23) 3.5245 (inf) 322.8778 (1.25) 6.2701 (inf) 2;0 3.1022 (0.81) 5 1 test_extract[random-python-none-repokey] 322.8062 (1.26) 322.8062 (1.21) 322.8062 (1.23) 0.0000 (1.0) 322.8062 (1.25) 0.0000 (1.0) 0;0 3.0978 (0.81) 1 1 test_delete[random-python-none-none] 325.3197 (1.27) 325.3197 (1.22) 325.3197 (1.24) 0.0000 (1.0) 325.3197 (1.26) 0.0000 (1.0) 0;0 3.0739 (0.80) 1 1 test_delete[random-python-none-repokey] 325.7845 (1.27) 325.7845 (1.23) 325.7845 (1.25) 0.0000 (1.0) 325.7845 (1.26) 0.0000 (1.0) 0;0 3.0695 (0.80) 1 1 test_delete[zeros-python-lz4-none] 327.0570 (1.28) 327.0570 (1.23) 327.0570 (1.25) 0.0000 (1.0) 327.0570 (1.27) 0.0000 (1.0) 0;0 3.0576 (0.80) 1 1 test_create_none[random-python-none] 327.7910 (1.28) 327.7910 (1.23) 327.7910 (1.25) 0.0000 (1.0) 327.7910 (1.27) 0.0000 (1.0) 0;0 3.0507 (0.80) 1 1 test_extract[random-python-lz4-repokey] 332.6058 (1.30) 332.6058 (1.25) 332.6058 (1.27) 0.0000 (1.0) 332.6058 (1.29) 0.0000 (1.0) 0;0 3.0066 (0.79) 1 1 test_delete[random-python-lz4-none] 333.4497 (1.30) 333.4497 (1.25) 333.4497 (1.28) 0.0000 (1.0) 333.4497 (1.29) 0.0000 (1.0) 0;0 2.9990 (0.78) 1 1 test_check[random-python-none-repokey] 340.0017 (1.33) 349.1394 (1.31) 344.8811 (1.32) 3.8686 (inf) 346.5479 (1.34) 6.3368 (inf) 2;0 2.8996 (0.76) 5 1 test_check[random-python-lz4-repokey] 340.2122 (1.33) 351.6464 (1.32) 345.0994 (1.32) 5.5161 (inf) 342.2427 (1.32) 10.0589 (inf) 1;0 2.8977 (0.76) 5 1 test_create_none[zeros-python-none] 340.7504 (1.33) 340.7504 (1.28) 340.7504 (1.30) 0.0000 (1.0) 340.7504 (1.32) 0.0000 (1.0) 0;0 2.9347 (0.77) 1 1 test_delete[zeros-python-none-repokey] 341.5461 (1.33) 341.5461 (1.28) 341.5461 (1.31) 0.0000 (1.0) 341.5461 (1.32) 0.0000 (1.0) 0;0 2.9279 (0.77) 1 1 test_delete[random-python-lz4-repokey] 344.8596 (1.35) 344.8596 (1.30) 344.8596 (1.32) 0.0000 (1.0) 344.8596 (1.33) 0.0000 (1.0) 0;0 2.8997 (0.76) 1 1 test_delete[zeros-python-lz4-repokey] 348.4732 (1.36) 348.4732 (1.31) 348.4732 (1.33) 0.0000 (1.0) 348.4732 (1.35) 0.0000 (1.0) 0;0 2.8697 (0.75) 1 1 test_create_none[random-python-repokey] 360.6219 (1.41) 360.6219 (1.36) 360.6219 (1.38) 0.0000 (1.0) 360.6219 (1.40) 0.0000 (1.0) 0;0 2.7730 (0.72) 1 1 test_create_none[zeros-python-repokey] 369.3029 (1.44) 369.3029 (1.39) 369.3029 (1.41) 0.0000 (1.0) 369.3029 (1.43) 0.0000 (1.0) 0;0 2.7078 (0.71) 1 1 test_create_lz4[zeros-python-none] 379.2209 (1.48) 379.2209 (1.43) 379.2209 (1.45) 0.0000 (1.0) 379.2209 (1.47) 0.0000 (1.0) 0;0 2.6370 (0.69) 1 1 test_create_lz4[random-python-none] 380.0234 (1.48) 380.0234 (1.43) 380.0234 (1.45) 0.0000 (1.0) 380.0234 (1.47) 0.0000 (1.0) 0;0 2.6314 (0.69) 1 1 test_create_lz4[random-python-repokey] 406.6056 (1.59) 406.6056 (1.53) 406.6056 (1.56) 0.0000 (1.0) 406.6056 (1.57) 0.0000 (1.0) 0;0 2.4594 (0.64) 1 1 test_create_lz4[zeros-python-repokey] 414.4092 (1.62) 414.4092 (1.56) 414.4092 (1.59) 0.0000 (1.0) 414.4092 (1.60) 0.0000 (1.0) 0;0 2.4131 (0.63) 1 1 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Legend: Outliers: 1 Standard Deviation from Mean; 1.5 IQR (InterQuartile Range) from 1st Quartile and 3rd Quartile. OPS: Operations Per Second, computed as 1 / Mean =============== 539 passed, 1111 deselected in 112.31s (0:01:52) =============== # We cannot rely on the buildds allowing fuse to be # used, so we disable the fuse-mount tests. fakeroot dh_auto_test -- --test-args "--pyargs borg.testsuite -k 'not fuse_mount and not test_fuse and not test_readonly_mount and not test_migrate_lock_alive and not benchmark.py and not cache.py and not checks.py and not key.py and not locking.py and not patterns.py and not remote.py and not repository.py and not shellpattern.py'" I: pybuild base:385: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build; python3.13 -m pytest --pyargs borg.testsuite -k 'not fuse_mount and not test_fuse and not test_readonly_mount and not test_migrate_lock_alive and not benchmark.py and not cache.py and not checks.py and not key.py and not locking.py and not patterns.py and not remote.py and not repository.py and not shellpattern.py' ============================= test session starts ============================== platform linux -- Python 3.13.12, pytest-9.0.3, pluggy-1.6.0 benchmark: 5.2.3 (defaults: timer=time.perf_counter disable_gc=False min_rounds=5 min_time=0.000005 max_time=1.0 calibration_precision=10 warmup=False warmup_iterations=100000) rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build configfile: pyproject.toml plugins: benchmark-5.2.3, cov-5.0.0, typeguard-4.4.4 collected 1650 items / 560 deselected / 1090 selected borg/testsuite/archive.py ...................................... [ 3%] borg/testsuite/archiver.py .s......s.................................... [ 7%] ......................................F..........s..s................... [ 14%] ......................s............ssssss............................... [ 20%] .............sssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 27%] ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 34%] sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss... [ 40%] .......................s..................s............................. [ 47%] ..s.......................F..........s..s............................... [ 53%] ..........s............ssssss........................................... [ 60%] ........................................................................ [ 67%] .. [ 67%] borg/testsuite/checksums.py .... [ 67%] borg/testsuite/chunker.py ......... [ 68%] borg/testsuite/chunker_pytest.py .....................ss [ 70%] borg/testsuite/chunker_slow.py . [ 70%] borg/testsuite/compress.py ........................ [ 72%] borg/testsuite/crypto.py .......... [ 73%] borg/testsuite/efficient_collection_queue.py ... [ 74%] borg/testsuite/file_integrity.py ................... [ 75%] borg/testsuite/hashindex.py ..................................... [ 79%] borg/testsuite/hashindex_pytest.py ..s [ 79%] borg/testsuite/helpers.py .............................................. [ 83%] ........................................................................ [ 90%] .................... [ 92%] borg/testsuite/issue_8535.py .. [ 92%] borg/testsuite/item.py ............. [ 93%] borg/testsuite/logger.py .... [ 93%] borg/testsuite/nanorst.py ........ [ 94%] borg/testsuite/nonces.py ......... [ 95%] borg/testsuite/platform.py sssssss..... [ 96%] borg/testsuite/upgrader.py ....... [ 97%] borg/testsuite/version.py ........................ [ 99%] borg/testsuite/xattr.py ....... [100%] =================================== FAILURES =================================== __________________ ArchiverTestCase.test_extract_capabilities __________________ self = <borg.testsuite.archiver.ArchiverTestCase testMethod=test_extract_capabilities> @pytest.mark.skipif(not xattr.XATTR_FAKEROOT, reason='Linux capabilities test, requires fakeroot >= 1.20.2') def test_extract_capabilities(self): fchown = os.fchown # We need to manually patch chown to get the behaviour Linux has, since fakeroot does not # accurately model the interaction of chown(2) and Linux capabilities, i.e. it does not remove them. def patched_fchown(fd, uid, gid): xattr.setxattr(fd, b'security.capability', b'', follow_symlinks=False) fchown(fd, uid, gid) # The capability descriptor used here is valid and taken from a /usr/bin/ping capabilities = b'\x01\x00\x00\x02\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' self.create_regular_file('file') xattr.setxattr(b'input/file', b'security.capability', capabilities) self.cmd('init', '--encryption=repokey', self.repository_location) self.cmd('create', self.repository_location + '::test', 'input') with changedir('output'): with patch.object(os, 'fchown', patched_fchown): self.cmd('extract', self.repository_location + '::test') > assert xattr.getxattr(b'input/file', b'security.capability') == > capabilities E AssertionError: assert b'' == b'\x01\x00\x0...0\x00\x00\x00' E E Use -v to get more diff borg/testsuite/archiver.py:1482: AssertionError _______________ RemoteArchiverTestCase.test_extract_capabilities _______________ self = <borg.testsuite.archiver.RemoteArchiverTestCase testMethod=test_extract_capabilities> @pytest.mark.skipif(not xattr.XATTR_FAKEROOT, reason='Linux capabilities test, requires fakeroot >= 1.20.2') def test_extract_capabilities(self): fchown = os.fchown # We need to manually patch chown to get the behaviour Linux has, since fakeroot does not # accurately model the interaction of chown(2) and Linux capabilities, i.e. it does not remove them. def patched_fchown(fd, uid, gid): xattr.setxattr(fd, b'security.capability', b'', follow_symlinks=False) fchown(fd, uid, gid) # The capability descriptor used here is valid and taken from a /usr/bin/ping capabilities = b'\x01\x00\x00\x02\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00' self.create_regular_file('file') xattr.setxattr(b'input/file', b'security.capability', capabilities) self.cmd('init', '--encryption=repokey', self.repository_location) self.cmd('create', self.repository_location + '::test', 'input') with changedir('output'): with patch.object(os, 'fchown', patched_fchown): self.cmd('extract', self.repository_location + '::test') > assert xattr.getxattr(b'input/file', b'security.capability') == > capabilities E AssertionError: assert b'' == b'\x01\x00\x0...0\x00\x00\x00' E E Use -v to get more diff borg/testsuite/archiver.py:1482: AssertionError =========================== short test summary info ============================ FAILED borg/testsuite/archiver.py::ArchiverTestCase::test_extract_capabilities FAILED borg/testsuite/archiver.py::RemoteArchiverTestCase::test_extract_capabilities ==== 2 failed, 855 passed, 233 skipped, 560 deselected in 436.56s (0:07:16) ==== E: pybuild pybuild:485: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build; python3.13 -m pytest --pyargs borg.testsuite -k 'not fuse_mount and not test_fuse and not test_readonly_mount and not test_migrate_lock_alive and not benchmark.py and not cache.py and not checks.py and not key.py and not locking.py and not patterns.py and not remote.py and not repository.py and not shellpattern.py' dh_auto_test: error: pybuild --test -i python{version} -p 3.13 --test-args "--pyargs borg.testsuite -k 'not fuse_mount and not test_fuse and not test_readonly_mount and not test_migrate_lock_alive and not benchmark.py and not cache.py and not checks.py and not key.py and not locking.py and not patterns.py and not remote.py and not repository.py and not shellpattern.py'" --parallel=2 returned exit code 13 make[1]: *** [debian/rules:52: override_dh_auto_test] Error 25 make[1]: Leaving directory '/<<PKGBUILDDIR>>' make: *** [debian/rules:30: binary] Error 2 dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2 --------------------------------------------------------------------------------

