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
--------------------------------------------------------------------------------

Reply via email to