Package: src:dulwich Version: 1.0.0-1 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/202601/ 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:dulwich, so that this is still visible in the BTS web page for this package. Thanks. -------------------------------------------------------------------------------- [...] debian/rules clean dh clean --with python3 --buildsystem=pybuild debian/rules override_dh_auto_clean make[1]: Entering directory '/<<PKGBUILDDIR>>' if test -f Cargo.lock.saved; then mv Cargo.lock.saved Cargo.lock; fi dh_auto_clean I: pybuild base:384: python3.14 setup.py clean /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** [... snipped ...] dist.fetch_build_eggs(dist.setup_requires) running build running build_py creating build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/bitmap.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/diff.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/maintenance.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/submodule.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/object_format.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/patch.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/fastexport.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/midx.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/annotate.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/log_utils.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/refs.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/cli.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/objectspec.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/approxidate.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/index.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/attrs.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/mbox.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/web.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/notes.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/diffstat.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/ignore.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/rerere.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/object_filters.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/__main__.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/hooks.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/signature.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/protocol.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/walk.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/lfs.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/file.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/worktree.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/merge_drivers.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/errors.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/dumb.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/bisect.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/reflog.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/commit_graph.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/config.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/graph.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/line_ending.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/stripspace.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/trailers.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/_typing.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/filters.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/mailmap.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/stash.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/credentials.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/bundle.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/rebase.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/gc.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/client.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/archive.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/filter_branch.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/objects.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/lru_cache.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/pack.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/whitespace.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/sparse_patterns.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/repo.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/reftable.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/lfs_server.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/diff_tree.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/server.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/object_store.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/__init__.py -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/merge.py -> build/lib.linux-x86_64-cpython-313/dulwich creating build/lib.linux-x86_64-cpython-313/dulwich/aiohttp copying dulwich/aiohttp/server.py -> build/lib.linux-x86_64-cpython-313/dulwich/aiohttp copying dulwich/aiohttp/__init__.py -> build/lib.linux-x86_64-cpython-313/dulwich/aiohttp creating build/lib.linux-x86_64-cpython-313/dulwich/cloud copying dulwich/cloud/gcs.py -> build/lib.linux-x86_64-cpython-313/dulwich/cloud copying dulwich/cloud/__init__.py -> build/lib.linux-x86_64-cpython-313/dulwich/cloud creating build/lib.linux-x86_64-cpython-313/dulwich/contrib copying dulwich/contrib/greenthreads.py -> build/lib.linux-x86_64-cpython-313/dulwich/contrib copying dulwich/contrib/requests_vendor.py -> build/lib.linux-x86_64-cpython-313/dulwich/contrib copying dulwich/contrib/release_robot.py -> build/lib.linux-x86_64-cpython-313/dulwich/contrib copying dulwich/contrib/paramiko_vendor.py -> build/lib.linux-x86_64-cpython-313/dulwich/contrib copying dulwich/contrib/swift.py -> build/lib.linux-x86_64-cpython-313/dulwich/contrib copying dulwich/contrib/__init__.py -> build/lib.linux-x86_64-cpython-313/dulwich/contrib creating build/lib.linux-x86_64-cpython-313/dulwich/porcelain copying dulwich/porcelain/submodule.py -> build/lib.linux-x86_64-cpython-313/dulwich/porcelain copying dulwich/porcelain/notes.py -> build/lib.linux-x86_64-cpython-313/dulwich/porcelain copying dulwich/porcelain/lfs.py -> build/lib.linux-x86_64-cpython-313/dulwich/porcelain copying dulwich/porcelain/worktree.py -> build/lib.linux-x86_64-cpython-313/dulwich/porcelain copying dulwich/porcelain/tag.py -> build/lib.linux-x86_64-cpython-313/dulwich/porcelain copying dulwich/porcelain/__init__.py -> build/lib.linux-x86_64-cpython-313/dulwich/porcelain creating build/lib.linux-x86_64-cpython-313/dulwich/tests copying dulwich/tests/utils.py -> build/lib.linux-x86_64-cpython-313/dulwich/tests copying dulwich/tests/test_object_store.py -> build/lib.linux-x86_64-cpython-313/dulwich/tests copying dulwich/tests/__init__.py -> build/lib.linux-x86_64-cpython-313/dulwich/tests running egg_info writing dulwich.egg-info/PKG-INFO writing dependency_links to dulwich.egg-info/dependency_links.txt writing entry points to dulwich.egg-info/entry_points.txt writing requirements to dulwich.egg-info/requires.txt writing top-level names to dulwich.egg-info/top_level.txt reading manifest file 'dulwich.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' warning: no files found matching 'Cargo.lock' adding license file 'COPYING' writing manifest file 'dulwich.egg-info/SOURCES.txt' copying dulwich/py.typed -> build/lib.linux-x86_64-cpython-313/dulwich copying dulwich/contrib/README.swift.rst -> build/lib.linux-x86_64-cpython-313/dulwich/contrib running build_ext running build_rust error: no matching package named `similar` found location searched: directory source `/usr/share/cargo/registry` (which is replacing registry `crates-io`) required by package `pack-py v1.0.0 (/<<PKGBUILDDIR>>/crates/pack)` error: no matching package named `similar` found location searched: directory source `/usr/share/cargo/registry` (which is replacing registry `crates-io`) required by package `pack-py v1.0.0 (/<<PKGBUILDDIR>>/crates/pack)` error: no matching package named `similar` found location searched: directory source `/usr/share/cargo/registry` (which is replacing registry `crates-io`) required by package `pack-py v1.0.0 (/<<PKGBUILDDIR>>/crates/pack)` build_rust: optional Rust extension dulwich._objects failed `cargo metadata --manifest-path crates/objects/Cargo.toml --format-version 1` failed with code 101 -- Output captured from stdout: build_rust: optional Rust extension dulwich._pack failed `cargo metadata --manifest-path crates/pack/Cargo.toml --format-version 1` failed with code 101 -- Output captured from stdout: build_rust: optional Rust extension dulwich._diff_tree failed `cargo metadata --manifest-path crates/diff-tree/Cargo.toml --format-version 1` failed with code 101 -- Output captured from stdout: running build_scripts python3 setup.py build_ext -i /usr/lib/python3/dist-packages/setuptools/__init__.py:94: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) running build_ext running build_rust error: no matching package named `similar` found location searched: directory source `/usr/share/cargo/registry` (which is replacing registry `crates-io`) required by package `pack-py v1.0.0 (/<<PKGBUILDDIR>>/crates/pack)` error: no matching package named `similar` found location searched: directory source `/usr/share/cargo/registry` (which is replacing registry `crates-io`) required by package `pack-py v1.0.0 (/<<PKGBUILDDIR>>/crates/pack)` error: no matching package named `similar` found location searched: directory source `/usr/share/cargo/registry` (which is replacing registry `crates-io`) required by package `pack-py v1.0.0 (/<<PKGBUILDDIR>>/crates/pack)` build_rust: optional Rust extension dulwich._objects failed `cargo metadata --manifest-path crates/objects/Cargo.toml --format-version 1` failed with code 101 -- Output captured from stdout: build_rust: optional Rust extension dulwich._pack failed `cargo metadata --manifest-path crates/pack/Cargo.toml --format-version 1` failed with code 101 -- Output captured from stdout: build_rust: optional Rust extension dulwich._diff_tree failed `cargo metadata --manifest-path crates/diff-tree/Cargo.toml --format-version 1` failed with code 101 -- Output captured from stdout: PYTHONHASHSEED=random PYTHONPATH=/<<PKGBUILDDIR>> python3 -m unittest tests.test_suite .......sssssss.............................................. [too-long-redacted] : '/nonexistent/path/trace.log' ............................................................ [too-long-redacted] .....counting objects: 3, done. found 0 deltas to reuse writing pack data: 0/3 .........................counting objects: 4, done. found 0 deltas to reuse writing pack data: 0/4 counting objects: 3, done. found 0 deltas to reuse writing pack data: 0/3 ...................................................................................................................................................................................s..................................................127.0.0.1 - - [29/Jan/2026 21:16:51] "GET /info/refs?service=git-upload-pack HTTP/1.1" 200 311 counting objects: 2, done. 127.0.0.1 - - [29/Jan/2026 21:16:51] "POST /git-upload-pack HTTP/1.1" 200 258 copying pack entries: 0/2 copying pack entries: 1/2 copied 1 pack entries generating index: 0/2 generating index: 1/2 .127.0.0.1 - - [29/Jan/2026 21:16:52] "GET /info/refs?service=git-receive-pack HTTP/1.1" 200 214 counting objects: 2, done. found 0 deltas to reuse 127.0.0.1 - - [29/Jan/2026 21:16:52] "POST /git-receive-pack HTTP/1.1" 200 52 Push to http://localhost:38053 successful. Ref refs/heads/master updated ....................................................counting objects: 3, done. found 0 deltas to reuse writing pack data: 0/3 .counting objects: 4, done. found 0 deltas to reuse writing pack data: 0/4 counting objects: 3, done. found 0 deltas to reuse writing pack data: 0/3 ........................................................................................counting objects: 4, done. found 0 deltas to reuse writing pack data: 0/4 .counting objects: 3, done. found 0 deltas to reuse writing pack data: 0/3 ................counting objects: 4, done. found 0 deltas to reuse writing pack data: 0/4 ................................................................................ss...sssssssssssssssssssssssssssssssssssssssssssssssssssssssss..............................................s......s...............s.............................s.............................................s.............................................s.............s......................s................./<<PKGBUILDDIR>>/dulwich/client.py:1285: ResourceWarning: DumbHTTPObjectStore <dulwich.dumb.DumbHTTPObjectStore object at 0x7f46eca8c050> was destroyed without calling close(). Temporary pack directory may not be cleaned up properly. result = self.fetch_pack( ./<<PKGBUILDDIR>>/dulwich/client.py:1285: ResourceWarning: DumbHTTPObjectStore <dulwich.dumb.DumbHTTPObjectStore object at 0x7f46ecd1a650> was destroyed without calling close(). Temporary pack directory may not be cleaned up properly. result = self.fetch_pack( ./<<PKGBUILDDIR>>/dulwich/client.py:1285: ResourceWarning: DumbHTTPObjectStore <dulwich.dumb.DumbHTTPObjectStore object at 0x7f46ecc6b4d0> was destroyed without calling close(). Temporary pack directory may not be cleaned up properly. result = self.fetch_pack( ./<<PKGBUILDDIR>>/dulwich/client.py:1285: ResourceWarning: DumbHTTPObjectStore <dulwich.dumb.DumbHTTPObjectStore object at 0x7f46eb9e79d0> was destroyed without calling close(). Temporary pack directory may not be cleaned up properly. result = self.fetch_pack( ..................Auto-merging conflict.txt CONFLICT (content): Merge conflict in conflict.txt Automatic merge failed; fix conflicts and then commit the result. .....sssssssssssssss.......s.............sssss............................................................................................ss.sss.ss..........................................sssssssssssssssss..............sssssssssssssssssssssssssssssssssssssssssssss ====================================================================== ERROR: test_get_vendor_for_ssh_signature (tests.test_signature.GetSignatureVendorForSignatureTests.test_get_vendor_for_ssh_signature) Test getting vendor for SSH signature. ---------------------------------------------------------------------- Traceback (most recent call last): File "/<<PKGBUILDDIR>>/tests/test_signature.py", line 875, in test_get_vendor_for_ssh_signature vendor = get_signature_vendor_for_signature(ssh_sig) File "/<<PKGBUILDDIR>>/dulwich/signature.py", line 1449, in get_signature_vendor_for_signature raise ValueError( "No SSH vendor available (neither sshsig package nor ssh-keygen command)" ) ValueError: No SSH vendor available (neither sshsig package nor ssh-keygen command) ====================================================================== ERROR: test_ssh_format (tests.test_signature.GetSignatureVendorTests.test_ssh_format) Test requesting SSH format. ---------------------------------------------------------------------- Traceback (most recent call last): File "/<<PKGBUILDDIR>>/tests/test_signature.py", line 425, in test_ssh_format vendor = get_signature_vendor(format="ssh") File "/<<PKGBUILDDIR>>/dulwich/signature.py", line 1365, in get_signature_vendor raise ValueError("ssh-keygen command not available for SSH signatures") ValueError: ssh-keygen command not available for SSH signatures ====================================================================== ERROR: test_ssh_format_supported (tests.test_signature.GetSignatureVendorTests.test_ssh_format_supported) Test that ssh format is now supported. ---------------------------------------------------------------------- Traceback (most recent call last): File "/<<PKGBUILDDIR>>/tests/test_signature.py", line 403, in test_ssh_format_supported vendor = get_signature_vendor(format="ssh") File "/<<PKGBUILDDIR>>/dulwich/signature.py", line 1365, in get_signature_vendor raise ValueError("ssh-keygen command not available for SSH signatures") ValueError: ssh-keygen command not available for SSH signatures ====================================================================== FAIL: test_verify_invalid_signature (tests.test_signature.GPGSignatureVendorTests.test_verify_invalid_signature) Test that verify raises an error for invalid signatures. ---------------------------------------------------------------------- Traceback (most recent call last): File "/<<PKGBUILDDIR>>/tests/test_signature.py", line 149, in test_verify_invalid_signature with self.assertRaises(gpg.errors.GPGMEError): ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ AssertionError: GPGMEError not raised ---------------------------------------------------------------------- Ran 3930 tests in 142.739s FAILED (failures=1, errors=3, skipped=217, expected failures=1) file.txt | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) self test passed make[2]: *** [Makefile:26: check] Error 1 make[2]: Leaving directory '/<<PKGBUILDDIR>>' make[1]: *** [debian/rules:16: override_dh_auto_test] Error 2 make[1]: Leaving directory '/<<PKGBUILDDIR>>' make: *** [debian/rules:12: binary] Error 2 dpkg-buildpackage: error: debian/rules binary subprocess failed with exit status 2 --------------------------------------------------------------------------------

