Your message dated Wed, 20 May 2026 08:57:51 +0200
with message-id <[email protected]>
and subject line fixed
has caused the Debian Bug report #1137041,
regarding python-handy-archives: FTBFS in trixie
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1137041: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1137041
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: src:python-handy-archives
Version: 0.2.0-5
Severity: serious
Control: fixed -1 0.2.0-7
Tags: ftbfs trixie

Dear maintainer:

During a rebuild of all packages in trixie, this package failed to build.

[ Note: The bug is marked as fixed with the version in forky/sid, but
  packages in trixie must still build in trixie ].

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

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:python-handy-archives, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
tests/test_zipfile.py::TestStoredTestZip64InSmallFiles::test_absolute_arcnames 
PASSED [ 52%]
tests/test_zipfile.py::TestStoredTestZip64InSmallFiles::test_append 
PASSED [ 52%]
tests/test_zipfile.py::TestStoredTestZip64InSmallFiles::test_bad_zip64_extra 
FAILED [ 53%]
tests/test_zipfile.py::TestStoredTestZip64InSmallFiles::test_generated_valid_zip64_extra
 FAILED [ 53%]
tests/test_zipfile.py::TestDeflateTestZip64InSmallFiles::test_basic 
PASSED [ 54%]
tests/test_zipfile.py::TestDeflateTestZip64InSmallFiles::test_too_many_files 
PASSED [ 54%]
tests/test_zipfile.py::TestDeflateTestZip64InSmallFiles::test_too_many_files_append
 PASSED [ 55%]
tests/test_zipfile.py::TestBzip2TestZip64InSmallFiles::test_basic 
PASSED [ 55%]
tests/test_zipfile.py::TestBzip2TestZip64InSmallFiles::test_too_many_files 
PASSED [ 55%]
tests/test_zipfile.py::TestBzip2TestZip64InSmallFiles::test_too_many_files_append
 PASSED [ 56%]
tests/test_zipfile.py::TestLzmaTestZip64InSmallFiles::test_basic 
PASSED  [ 56%]
tests/test_zipfile.py::TestLzmaTestZip64InSmallFiles::test_too_many_files 
PASSED [ 57%]
tests/test_zipfile.py::TestLzmaTestZip64InSmallFiles::test_too_many_files_append
 PASSED [ 57%]
tests/test_zipfile.py::TestStoredWriter::test_close_after_close 
PASSED   [ 58%]
tests/test_zipfile.py::TestStoredWriter::test_write_after_close 
PASSED   [ 58%]
tests/test_zipfile.py::TestDeflateWriter::test_close_after_close 
PASSED  [ 59%]
tests/test_zipfile.py::TestDeflateWriter::test_write_after_close 
PASSED  [ 59%]
tests/test_zipfile.py::TestBzip2Writer::test_close_after_close 
PASSED    [ 60%]
tests/test_zipfile.py::TestBzip2Writer::test_write_after_close 
PASSED    [ 60%]
tests/test_zipfile.py::TestLzmaWriter::test_close_after_close 
PASSED     [ 61%]
tests/test_zipfile.py::TestLzmaWriter::test_write_after_close 
PASSED     [ 61%]
tests/test_zipfile.py::TestExtract::test_extract PASSED           
       [ 62%]
tests/test_zipfile.py::TestExtract::test_extract_with_target 
PASSED      [ 62%]
tests/test_zipfile.py::TestExtract::test_extract_with_target_pathlike 
PASSED [ 63%]
tests/test_zipfile.py::TestExtract::test_extract_all PASSED       
       [ 63%]
tests/test_zipfile.py::TestExtract::test_extract_all_with_target 
PASSED  [ 64%]
tests/test_zipfile.py::TestExtract::test_extract_all_with_target_pathlike 
PASSED [ 64%]
tests/test_zipfile.py::TestExtract::test_sanitize_windows_name 
PASSED    [ 65%]
tests/test_zipfile.py::TestExtract::test_extract_hackers_arcnames_common_cases 
PASSED [ 65%]
tests/test_zipfile.py::TestExtract::test_extract_hackers_arcnames_windows_only 
SKIPPED [ 66%]
tests/test_zipfile.py::TestExtract::test_extract_hackers_arcnames_posix_only 
PASSED [ 66%]
tests/test_zipfile.py::TestsOther::test_open_via_zip_info PASSED  
       [ 66%]
tests/test_zipfile.py::TestsOther::test_writestr_extended_local_header_issue1202
 PASSED [ 67%]
tests/test_zipfile.py::TestsOther::test_close PASSED              
       [ 67%]
tests/test_zipfile.py::TestsOther::test_close_on_exception PASSED 
       [ 68%]
tests/test_zipfile.py::TestsOther::test_unsupported_version 
PASSED       [ 68%]
tests/test_zipfile.py::TestsOther::test_read_unicode_filenames 
SKIPPED   [ 69%]
tests/test_zipfile.py::TestsOther::test_write_unicode_filenames 
PASSED   [ 69%]
tests/test_zipfile.py::TestsOther::test_read_after_write_unicode_filenames 
PASSED [ 70%]
tests/test_zipfile.py::TestsOther::test_exclusive_create_zip_file 
PASSED [ 70%]
tests/test_zipfile.py::TestsOther::test_create_non_existent_file_for_append 
PASSED [ 71%]
tests/test_zipfile.py::TestsOther::test_close_erroneous_file 
PASSED      [ 71%]
tests/test_zipfile.py::TestsOther::test_is_zip_erroneous_file 
PASSED     [ 72%]
tests/test_zipfile.py::TestsOther::test_damaged_zipfile PASSED    
       [ 72%]
tests/test_zipfile.py::TestsOther::test_is_zip_valid_file PASSED  
       [ 73%]
tests/test_zipfile.py::TestsOther::test_non_existent_file_raises_OSError 
PASSED [ 73%]
tests/test_zipfile.py::TestsOther::test_empty_file_raises_BadZipFile 
PASSED [ 74%]
tests/test_zipfile.py::TestsOther::test_closed_zip_raises_ValueError 
PASSED [ 74%]
tests/test_zipfile.py::TestsOther::test_bad_constructor_mode 
PASSED      [ 75%]
tests/test_zipfile.py::TestsOther::test_bad_open_mode PASSED      
       [ 75%]
tests/test_zipfile.py::TestsOther::test_read0 PASSED              
       [ 76%]
tests/test_zipfile.py::TestsOther::test_open_non_existent_item 
PASSED    [ 76%]
tests/test_zipfile.py::TestsOther::test_bad_compression_mode 
PASSED      [ 77%]
tests/test_zipfile.py::TestsOther::test_unsupported_compression 
PASSED   [ 77%]
tests/test_zipfile.py::TestsOther::test_null_byte_in_filename 
PASSED     [ 77%]
tests/test_zipfile.py::TestsOther::test_comments PASSED           
       [ 78%]
tests/test_zipfile.py::TestsOther::test_unicode_comment PASSED    
       [ 78%]
tests/test_zipfile.py::TestsOther::test_change_comment_in_empty_archive 
PASSED [ 79%]
tests/test_zipfile.py::TestsOther::test_change_comment_in_nonempty_archive 
PASSED [ 79%]
tests/test_zipfile.py::TestsOther::test_empty_zipfile PASSED      
       [ 80%]
tests/test_zipfile.py::TestsOther::test_open_empty_file PASSED    
       [ 80%]
tests/test_zipfile.py::TestsOther::test_zipfile_with_short_extra_field 
PASSED [ 81%]
tests/test_zipfile.py::TestsOther::test_open_conflicting_handles 
PASSED  [ 81%]
tests/test_zipfile.py::TestsOther::test_seek_tell PASSED          
       [ 82%]
tests/test_zipfile.py::TestsOther::test_decompress_without_3rd_party_library 
PASSED [ 82%]
tests/test_zipfile.py::TestStoredBadCrc::test_testzip_with_bad_crc 
PASSED [ 83%]
tests/test_zipfile.py::TestStoredBadCrc::test_read_with_bad_crc 
PASSED   [ 83%]
tests/test_zipfile.py::TestDeflateBadCrcTests::test_testzip_with_bad_crc 
PASSED [ 84%]
tests/test_zipfile.py::TestDeflateBadCrcTests::test_read_with_bad_crc 
PASSED [ 84%]
tests/test_zipfile.py::TestBzip2BadCrc::test_testzip_with_bad_crc 
PASSED [ 85%]
tests/test_zipfile.py::TestBzip2BadCrc::test_read_with_bad_crc 
PASSED    [ 85%]
tests/test_zipfile.py::TestLzmaBadCrc::test_testzip_with_bad_crc 
PASSED  [ 86%]
tests/test_zipfile.py::TestLzmaBadCrc::test_read_with_bad_crc 
PASSED     [ 86%]
tests/test_zipfile.py::TestDecryption::test_no_password PASSED    
       [ 87%]
tests/test_zipfile.py::TestDecryption::test_bad_password PASSED   
       [ 87%]
tests/test_zipfile.py::TestDecryption::test_good_password PASSED  
       [ 88%]
tests/test_zipfile.py::TestDecryption::test_unicode_password 
PASSED      [ 88%]
tests/test_zipfile.py::TestDecryption::test_seek_tell PASSED      
       [ 88%]
tests/test_zipfile.py::TestStoredTestsWithRandomBinaryFiles::test_read 
PASSED [ 89%]
tests/test_zipfile.py::TestStoredTestsWithRandomBinaryFiles::test_open 
PASSED [ 89%]
tests/test_zipfile.py::TestStoredTestsWithRandomBinaryFiles::test_random_open 
PASSED [ 90%]
tests/test_zipfile.py::TesteflateTestsWithRandomBinaryFiles::test_read 
PASSED [ 90%]
tests/test_zipfile.py::TesteflateTestsWithRandomBinaryFiles::test_open 
PASSED [ 91%]
tests/test_zipfile.py::TesteflateTestsWithRandomBinaryFiles::test_random_open 
PASSED [ 91%]
tests/test_zipfile.py::TestBzip2TestsWithRandomBinaryFiles::test_read 
PASSED [ 92%]
tests/test_zipfile.py::TestBzip2TestsWithRandomBinaryFiles::test_open 
PASSED [ 92%]
tests/test_zipfile.py::TestBzip2TestsWithRandomBinaryFiles::test_random_open 
PASSED [ 93%]
tests/test_zipfile.py::TestLzmaTestsWithRandomBinaryFiles::test_read 
PASSED [ 93%]
tests/test_zipfile.py::TestLzmaTestsWithRandomBinaryFiles::test_open 
PASSED [ 94%]
tests/test_zipfile.py::TestLzmaTestsWithRandomBinaryFiles::test_random_open 
PASSED [ 94%]
tests/test_zipfile.py::TestsWithMultipleOpens::test_same_file 
PASSED     [ 95%]
tests/test_zipfile.py::TestsWithMultipleOpens::test_different_file 
PASSED [ 95%]
tests/test_zipfile.py::TestsWithMultipleOpens::test_interleaved 
PASSED   [ 96%]
tests/test_zipfile.py::TestsWithMultipleOpens::test_read_after_close 
PASSED [ 96%]
tests/test_zipfile.py::TestsWithMultipleOpens::test_read_after_write 
PASSED [ 97%]
tests/test_zipfile.py::TestsWithMultipleOpens::test_write_after_read 
PASSED [ 97%]
tests/test_zipfile.py::TestsWithMultipleOpens::test_write_while_reading 
PASSED [ 98%]
tests/test_zipfile.py::TestWithDirectory::test_extract_dir SKIPPED 
(...) [ 98%]
tests/test_zipfile.py::TestWithDirectory::test_bug_6050 SKIPPED 
(unk...) [ 99%]
tests/test_zipfile.py::TestWithDirectory::test_write_dir PASSED   
       [ 99%]
tests/test_zipfile.py::TestWithDirectory::test_writestr_dir 
PASSED       [100%]

=================================== FAILURES ===================================
_____________ TestStoredTestZip64InSmallFiles.test_bad_zip64_extra 
_____________

self = <tests.test_zipfile.TestStoredTestZip64InSmallFiles object at 
0x7f440dcf1f30>
zip64_smallfiles = 
PosixPathPlus('/tmp/pytest-of-sbuild/pytest-0/test_bad_zip64_extra0/@test_88_tmp')

    @min_version(3.7)
    def test_bad_zip64_extra(self, zip64_smallfiles):
        # zip64 file size present, no fields in extra, expecting one, equals
        # missing file size.
        missing_file_size_extra = self.make_zip64_file(file_size_64_set=True)
        with pytest.raises(zipfile.BadZipFile) as e:
                ZipFile(io.BytesIO(missing_file_size_extra))
        assert "file size" in str(e.value).lower()
    
        # zip64 file size present, zip64 compress size present, one field in
        # extra, expecting two, equals missing compress size.
        missing_compress_size_extra = self.make_zip64_file(
                        file_size_64_set=True,
                        file_size_extra=True,
                        compress_size_64_set=True,
                        )
        with pytest.raises(zipfile.BadZipFile) as e:
                ZipFile(io.BytesIO(missing_compress_size_extra))
>       assert "compress size" in str(e.value).lower()
E    AssertionError: assert 'compress size' in 'corrupt zip64 end of 
central directory record'
E     +  where 'corrupt zip64 end of central directory record' = 
<built-in method lower of str object at 0x7f440f4de0d0>()
E     +    where <built-in method lower of str object at 
0x7f440f4de0d0> = 'Corrupt zip64 end of central directory record'.lower
E     +      where 'Corrupt zip64 end of central directory record' = 
str(BadZipFile('Corrupt zip64 end of central directory record'))
E     +        where BadZipFile('Corrupt zip64 end of central 
directory record') = <ExceptionInfo BadZipFile('Corrupt zip64 end of central 
directory record') tblen=5>.value

tests/test_zipfile.py:1114: AssertionError
_______ 
TestStoredTestZip64InSmallFiles.test_generated_valid_zip64_extra _______

self = <tests.test_zipfile.TestStoredTestZip64InSmallFiles object at 
0x7f440db8e8d0>
zip64_smallfiles = 
PosixPathPlus('/tmp/pytest-of-sbuild/pytest-0/test_generated_valid_zip64_ext0/@test_88_tmp')

    def test_generated_valid_zip64_extra(self, zip64_smallfiles):
    
        # These values are what is set in the make_zip64_file method.
        expected_file_size = 8
        expected_compress_size = 8
        expected_header_offset = 0
        expected_content = b"test1234"
    
        # Loop through the various valid combinations of zip64 masks
        # present and extra fields present.
        params = (
                        {"file_size_64_set": True, "file_size_extra": True},
                        {"compress_size_64_set": True, "compress_size_extra": 
True},
                        {"header_offset_64_set": True, "header_offset_extra": 
True},
                        )
    
        for r in range(1, len(params) + 1):
                for combo in itertools.combinations(params, r):
                        kwargs = {}
                        for c in combo:
                                kwargs.update(c)
>                       with 
> ZipFile(io.BytesIO(self.make_zip64_file(**kwargs))) as zf:

tests/test_zipfile.py:1193: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/usr/lib/python3.13/zipfile/__init__.py:1401: in __init__
    self._RealGetContents()
/usr/lib/python3.13/zipfile/__init__.py:1464: in _RealGetContents
    endrec = _EndRecData(fp)
/usr/lib/python3.13/zipfile/__init__.py:342: in _EndRecData
    return _EndRecData64(fpin, filesize - sizeEndCentDir, endrec)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

fpin = <_io.BytesIO object at 0x7f440ce6bbf0>, offset = 124
endrec = [b'PK\x05\x06', 0, 0, 1, 1, 58, ...]

    def _EndRecData64(fpin, offset, endrec):
        """
        Read the ZIP64 end-of-archive records and use that to update endrec
        """
        offset -= sizeEndCentDir64Locator
        if offset < 0:
            # The file is not large enough to contain a ZIP64
            # end-of-archive record, so just return the end record we were 
given.
            return endrec
        fpin.seek(offset)
        data = fpin.read(sizeEndCentDir64Locator)
        if len(data) != sizeEndCentDir64Locator:
            raise OSError("Unknown I/O error")
        sig, diskno, reloff, disks = struct.unpack(structEndArchive64Locator, 
data)
        if sig != stringEndArchive64Locator:
            return endrec
    
        if diskno != 0 or disks > 1:
            raise BadZipFile("zipfiles that span multiple disks are not 
supported")
    
        offset -= sizeEndCentDir64
        if reloff > offset:
            raise BadZipFile("Corrupt zip64 end of central directory locator")
        # First, check the assumption that there is no prepended data.
        fpin.seek(reloff)
        extrasz = offset - reloff
        data = fpin.read(sizeEndCentDir64)
        if len(data) != sizeEndCentDir64:
            raise OSError("Unknown I/O error")
        if not data.startswith(stringEndArchive64) and reloff != offset:
            # Since we already have seen the Zip64 EOCD Locator, it's
            # possible we got here because there is prepended data.
            # Assume no 'zip64 extensible data'
            fpin.seek(offset)
            extrasz = 0
            data = fpin.read(sizeEndCentDir64)
            if len(data) != sizeEndCentDir64:
                raise OSError("Unknown I/O error")
        if not data.startswith(stringEndArchive64):
            raise BadZipFile("Zip64 end of central directory record not found")
    
        sig, sz, create_version, read_version, disk_num, disk_dir, \
            dircount, dircount2, dirsize, diroffset = \
            struct.unpack(structEndArchive64, data)
        if (diroffset + dirsize != reloff or
            sz + 12 != sizeEndCentDir64 + extrasz):
>           raise BadZipFile("Corrupt zip64 end of central directory record")
E           zipfile.BadZipFile: Corrupt zip64 end of central directory 
record

/usr/lib/python3.13/zipfile/__init__.py:298: BadZipFile
============================= slowest 25 durations =============================
0.31s call     
.pybuild/cpython3_3.13/build/tests/test_zipfile.py::TestLzmaTestsWithRandomBinaryFiles::test_read
0.31s call     
.pybuild/cpython3_3.13/build/tests/test_zipfile.py::TestLzmaTestsWithRandomBinaryFiles::test_open
0.29s call     
.pybuild/cpython3_3.13/build/tests/test_zipfile.py::TestLzmaTestsWithRandomBinaryFiles::test_random_open
0.11s call     
.pybuild/cpython3_3.13/build/tests/test_zipfile.py::TestLzmaTestsWithSourceFile::test_read1_10
0.10s call     
.pybuild/cpython3_3.13/build/tests/test_zipfile.py::TestLzmaTestsWithSourceFile::test_readline_read
0.10s call     
.pybuild/cpython3_3.13/build/tests/test_zipfile.py::TestLzmaTestsWithSourceFile::test_compresslevel_basic
0.10s call     
.pybuild/cpython3_3.13/build/tests/test_zipfile.py::TestLzmaTestsWithSourceFile::test_readlines
0.10s call     
.pybuild/cpython3_3.13/build/tests/test_zipfile.py::TestLzmaTestsWithSourceFile::test_iterlines
0.10s call     
.pybuild/cpython3_3.13/build/tests/test_zipfile.py::TestLzmaTestsWithSourceFile::test_basic
0.10s call     
.pybuild/cpython3_3.13/build/tests/test_zipfile.py::TestLzmaTestsWithSourceFile::test_readline
0.10s call     
.pybuild/cpython3_3.13/build/tests/test_zipfile.py::TestLzmaTestsWithSourceFile::test_read1
0.10s call     
.pybuild/cpython3_3.13/build/tests/test_zipfile.py::TestLzmaTestsWithSourceFile::test_random_open
0.10s call     
.pybuild/cpython3_3.13/build/tests/test_zipfile.py::TestLzmaTestsWithSourceFile::test_open
0.08s call     
.pybuild/cpython3_3.13/build/tests/test_zipfile.py::TestBzip2TestsWithRandomBinaryFiles::test_open
0.08s call     
.pybuild/cpython3_3.13/build/tests/test_zipfile.py::TestBzip2TestsWithRandomBinaryFiles::test_read
0.07s call     
.pybuild/cpython3_3.13/build/tests/test_zipfile.py::TestBzip2TestsWithRandomBinaryFiles::test_random_open
0.05s call     
.pybuild/cpython3_3.13/build/tests/test_zipfile.py::TestLzmaTestZip64InSmallFiles::test_basic
0.04s call     
.pybuild/cpython3_3.13/build/tests/test_zipfile.py::TestBzip2TestsWithSourceFile::test_basic
0.04s call     
.pybuild/cpython3_3.13/build/tests/test_zipfile.py::TestBzip2TestsWithSourceFile::test_compresslevel_basic
0.03s call     
.pybuild/cpython3_3.13/build/tests/test_zipfile.py::TestBzip2TestsWithSourceFile::test_read1_10
0.03s call     
.pybuild/cpython3_3.13/build/tests/test_zipfile.py::TestBzip2TestsWithSourceFile::test_open
0.03s call     
.pybuild/cpython3_3.13/build/tests/test_zipfile.py::TestLzmaTestsWithSourceFile::test_open_with_pathlike
0.03s call     
.pybuild/cpython3_3.13/build/tests/test_zipfile.py::TestBzip2TestsWithSourceFile::test_readline_read
0.03s call     
.pybuild/cpython3_3.13/build/tests/test_zipfile.py::TestBzip2TestsWithSourceFile::test_readlines
0.03s call     
.pybuild/cpython3_3.13/build/tests/test_zipfile.py::TestBzip2TestsWithSourceFile::test_iterlines
=========================== short test summary info 
============================
FAILED 
tests/test_zipfile.py::TestStoredTestZip64InSmallFiles::test_bad_zip64_extra
 - AssertionError: assert 'compress size' in 'corrupt zip64 end of central 
dir...
FAILED 
tests/test_zipfile.py::TestStoredTestZip64InSmallFiles::test_generated_valid_zip64_extra
 - zipfile.BadZipFile: Corrupt zip64 end of central directory record
============ 2 failed, 202 passed, 5 
skipped, 4 deselected in 3.62s ============
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13/build; python3.13 -m pytest -v 
--ignore=tests/test_tarfile.py -k 'not test_unpack_archive_xztar and not 
test_unpack_archive_gztar and not test_unpack_archive_tar and not 
test_unpack_archive_bztar'
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 
returned exit code 13
make: *** [debian/rules:8: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

--- End Message ---
--- Begin Message ---
Version: python-handy-archives/0.2.0-6

--- End Message ---

Reply via email to