Your message dated Sun, 09 Nov 2025 19:21:06 +0000
with message-id <[email protected]>
and subject line Bug#1120228: fixed in twine 6.2.0-2
has caused the Debian Bug report #1120228,
regarding twine: FTBFS: dh_auto_test: error: pybuild --test --test-pytest -i
python{version} -p 3.13 --test-pytest --test-args "--ignore
tests/test_integration.py" returned exit code 13
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.)
--
1120228: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1120228
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: src:twine
Version: 6.2.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/202511/
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:twine, so that this is still
visible in the BTS web page for this package.
Thanks.
--------------------------------------------------------------------------------
[...]
debian/rules clean
dh clean --buildsystem=pybuild
dh_auto_clean -O--buildsystem=pybuild
dh_autoreconf_clean -O--buildsystem=pybuild
dh_clean -O--buildsystem=pybuild
debian/rules binary
dh binary --buildsystem=pybuild
dh_update_autotools_config -O--buildsystem=pybuild
dh_autoreconf -O--buildsystem=pybuild
dh_auto_configure -O--buildsystem=pybuild
debian/rules override_dh_auto_build
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_auto_build --buildsystem=pybuild
I: pybuild plugin_pyproject:129: Building wheel for python3.13 with "build"
module
I: pybuild base:311: python3.13 -m build --skip-dependency-check --no-isolation
--wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_twine
* Building wheel...
running bdist_wheel
running build
running build_py
creating build/lib/twine
copying twine/distribution.py -> build/lib/twine
copying twine/__init__.py -> build/lib/twine
copying twine/auth.py -> build/lib/twine
copying twine/sdist.py -> build/lib/twine
copying twine/__main__.py -> build/lib/twine
copying twine/settings.py -> build/lib/twine
copying twine/cli.py -> build/lib/twine
copying twine/package.py -> build/lib/twine
copying twine/wheel.py -> build/lib/twine
copying twine/repository.py -> build/lib/twine
copying twine/utils.py -> build/lib/twine
copying twine/exceptions.py -> build/lib/twine
creating build/lib/twine/commands
copying twine/commands/__init__.py -> build/lib/twine/commands
copying twine/commands/check.py -> build/lib/twine/commands
copying twine/commands/register.py -> build/lib/twine/commands
copying twine/commands/upload.py -> build/lib/twine/commands
running egg_info
writing twine.egg-info/PKG-INFO
writing dependency_links to twine.egg-info/dependency_links.txt
writing entry points to twine.egg-info/entry_points.txt
writing requirements to twine.egg-info/requires.txt
writing top-level names to twine.egg-info/top_level.txt
reading manifest file 'twine.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'debian'
adding license file 'LICENSE'
writing manifest file 'twine.egg-info/SOURCES.txt'
copying twine/py.typed -> build/lib/twine
installing to build/bdist.linux-x86_64/wheel
running install
running install_lib
creating build/bdist.linux-x86_64/wheel
creating build/bdist.linux-x86_64/wheel/twine
copying build/lib/twine/distribution.py ->
build/bdist.linux-x86_64/wheel/./twine
copying build/lib/twine/__init__.py -> build/bdist.linux-x86_64/wheel/./twine
copying build/lib/twine/auth.py -> build/bdist.linux-x86_64/wheel/./twine
copying build/lib/twine/sdist.py -> build/bdist.linux-x86_64/wheel/./twine
copying build/lib/twine/__main__.py -> build/bdist.linux-x86_64/wheel/./twine
copying build/lib/twine/settings.py -> build/bdist.linux-x86_64/wheel/./twine
copying build/lib/twine/cli.py -> build/bdist.linux-x86_64/wheel/./twine
copying build/lib/twine/py.typed -> build/bdist.linux-x86_64/wheel/./twine
copying build/lib/twine/package.py -> build/bdist.linux-x86_64/wheel/./twine
creating build/bdist.linux-x86_64/wheel/twine/commands
copying build/lib/twine/commands/__init__.py ->
build/bdist.linux-x86_64/wheel/./twine/commands
copying build/lib/twine/commands/check.py ->
build/bdist.linux-x86_64/wheel/./twine/commands
copying build/lib/twine/commands/register.py ->
build/bdist.linux-x86_64/wheel/./twine/commands
copying build/lib/twine/commands/upload.py ->
build/bdist.linux-x86_64/wheel/./twine/commands
copying build/lib/twine/wheel.py -> build/bdist.linux-x86_64/wheel/./twine
copying build/lib/twine/repository.py -> build/bdist.linux-x86_64/wheel/./twine
copying build/lib/twine/utils.py -> build/bdist.linux-x86_64/wheel/./twine
copying build/lib/twine/exceptions.py -> build/bdist.linux-x86_64/wheel/./twine
running install_egg_info
Copying twine.egg-info to build/bdist.linux-x86_64/wheel/./twine-6.2.0.egg-info
running install_scripts
creating build/bdist.linux-x86_64/wheel/twine-6.2.0.dist-info/WHEEL
creating
'/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_twine/.tmp-0_93y1ay/twine-6.2.0-py3-none-any.whl'
and adding 'build/bdist.linux-x86_64/wheel' to it
adding 'twine/__init__.py'
adding 'twine/__main__.py'
adding 'twine/auth.py'
adding 'twine/cli.py'
adding 'twine/distribution.py'
adding 'twine/exceptions.py'
adding 'twine/package.py'
adding 'twine/py.typed'
adding 'twine/repository.py'
adding 'twine/sdist.py'
adding 'twine/settings.py'
adding 'twine/utils.py'
adding 'twine/wheel.py'
adding 'twine/commands/__init__.py'
adding 'twine/commands/check.py'
adding 'twine/commands/register.py'
adding 'twine/commands/upload.py'
adding 'twine-6.2.0.dist-info/licenses/LICENSE'
adding 'twine-6.2.0.dist-info/METADATA'
adding 'twine-6.2.0.dist-info/WHEEL'
adding 'twine-6.2.0.dist-info/entry_points.txt'
adding 'twine-6.2.0.dist-info/top_level.txt'
adding 'twine-6.2.0.dist-info/RECORD'
removing build/bdist.linux-x86_64/wheel
Successfully built twine-6.2.0-py3-none-any.whl
I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.13 with
"installer" module
# For sphinxcontrib.programoutput:
mkdir .pybuild/bin
printf '#!/bin/sh\nset -euf\nPYTHONPATH=/<<PKGBUILDDIR>> exec python3 -m twine
"$@"\n' > .pybuild/bin/twine
chmod +x .pybuild/bin/twine
PATH=/<<PKGBUILDDIR>>/.pybuild/bin:$PATH twine --help # Sanity chcek
usage: twine [-h] [--version] [--no-color] {register,upload,check}
positional arguments:
{register,upload,check}
options:
-h, --help show this help message and exit
--version show program's version number and exit
--no-color disable colored output
PATH=/<<PKGBUILDDIR>>/.pybuild/bin:$PATH python3 -m sphinx -b html docs
docs/_build/html
Running Sphinx v8.2.3
loading translations [en]... done
making output directory... done
Converting `source_suffix = '.rst'` to `source_suffix = {'.rst':
'restructuredtext'}`.
loading intersphinx inventory 'python' from
/usr/share/doc/python3.13/html/objects.inv ...
loading intersphinx inventory 'requests' from
/usr/share/doc/python-requests-doc/html/objects.inv ...
loading intersphinx inventory 'packaging' from
https://packaging.pypa.io/en/latest/objects.inv ...
WARNING: failed to reach any of the inventories with the following issues:
intersphinx inventory 'https://packaging.pypa.io/en/latest/objects.inv' not
fetchable due to <class 'requests.exceptions.ConnectionError'>:
HTTPSConnectionPool(host='packaging.pypa.io', port=443): Max retries exceeded
with url: /en/latest/objects.inv (Caused by
NameResolutionError("<urllib3.connection.HTTPSConnection object at
0x7fc6817fd7f0>: Failed to resolve 'packaging.pypa.io' ([Errno -3] Temporary
failure in name resolution)"))
building [mo]: targets for 0 po files that are out of date
writing output...
building [html]: targets for 16 source files that are out of date
updating environment: [new config] 16 added, 0 changed, 0 removed
reading sources... [ 6%] changelog
reading sources... [ 12%] contributing
reading sources... [ 19%] index
reading sources... [ 25%] internal/twine
reading sources... [ 31%] internal/twine.auth
reading sources... [ 38%] internal/twine.cli
reading sources... [ 44%] internal/twine.commands
reading sources... [ 50%] internal/twine.commands.check
reading sources... [ 56%] internal/twine.commands.register
reading sources... [ 62%] internal/twine.commands.upload
reading sources... [ 69%] internal/twine.exceptions
reading sources... [ 75%] internal/twine.package
reading sources... [ 81%] internal/twine.repository
reading sources... [ 88%] internal/twine.settings
reading sources... [ 94%] internal/twine.utils
reading sources... [100%] internal/twine.wheel
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
copying assets...
copying static files...
Writing evaluated template result to
/<<PKGBUILDDIR>>/docs/_build/html/_static/basic.css
Writing evaluated template result to
/<<PKGBUILDDIR>>/docs/_build/html/_static/language_data.js
Writing evaluated template result to
/<<PKGBUILDDIR>>/docs/_build/html/_static/documentation_options.js
copying static files: done
copying extra files...
copying extra files: done
copying assets: done
writing output... [ 6%] changelog
writing output... [ 12%] contributing
writing output... [ 19%] index
writing output... [ 25%] internal/twine
writing output... [ 31%] internal/twine.auth
writing output... [ 38%] internal/twine.cli
writing output... [ 44%] internal/twine.commands
writing output... [ 50%] internal/twine.commands.check
writing output... [ 56%] internal/twine.commands.register
writing output... [ 62%] internal/twine.commands.upload
writing output... [ 69%] internal/twine.exceptions
writing output... [ 75%] internal/twine.package
writing output... [ 81%] internal/twine.repository
writing output... [ 88%] internal/twine.settings
writing output... [ 94%] internal/twine.utils
writing output... [100%] internal/twine.wheel
/<<PKGBUILDDIR>>/twine/package.py:docstring of
twine.package.PackageFile.__init__:1: WARNING: py:class reference target not
found: packaging.metadata.RawMetadata [ref.class]
generating indices... genindex py-modindex done
highlighting module code... [ 8%] namedtuple_Hexdigest
highlighting module code... [ 17%] twine.auth
highlighting module code... [ 25%] twine.cli
highlighting module code... [ 33%] twine.commands.check
highlighting module code... [ 42%] twine.commands.register
highlighting module code... [ 50%] twine.commands.upload
highlighting module code... [ 58%] twine.exceptions
highlighting module code... [ 67%] twine.package
highlighting module code... [ 75%] twine.repository
highlighting module code... [ 83%] twine.settings
highlighting module code... [ 92%] twine.utils
highlighting module code... [100%] twine.wheel
writing additional pages... search done
dumping search index in English (code: en)... done
dumping object inventory... done
build succeeded, 2 warnings.
The HTML pages are in docs/_build/html.
PATH=/<<PKGBUILDDIR>>/.pybuild/bin:$PATH python3 -m sphinx -b man docs
docs/_build/man
Running Sphinx v8.2.3
loading translations [en]... done
making output directory... done
Converting `source_suffix = '.rst'` to `source_suffix = {'.rst':
'restructuredtext'}`.
loading intersphinx inventory 'python' from
/usr/share/doc/python3.13/html/objects.inv ...
loading intersphinx inventory 'requests' from
/usr/share/doc/python-requests-doc/html/objects.inv ...
loading intersphinx inventory 'packaging' from
https://packaging.pypa.io/en/latest/objects.inv ...
WARNING: failed to reach any of the inventories with the following issues:
intersphinx inventory 'https://packaging.pypa.io/en/latest/objects.inv' not
fetchable due to <class 'requests.exceptions.ConnectionError'>:
HTTPSConnectionPool(host='packaging.pypa.io', port=443): Max retries exceeded
with url: /en/latest/objects.inv (Caused by
NameResolutionError("<urllib3.connection.HTTPSConnection object at
0x7fb85b5f46e0>: Failed to resolve 'packaging.pypa.io' ([Errno -3] Temporary
failure in name resolution)"))
building [mo]: targets for 0 po files that are out of date
writing output...
building [man]: all manpages
updating environment: [new config] 16 added, 0 changed, 0 removed
reading sources... [ 6%] changelog
reading sources... [ 12%] contributing
reading sources... [ 19%] index
reading sources... [ 25%] internal/twine
reading sources... [ 31%] internal/twine.auth
reading sources... [ 38%] internal/twine.cli
reading sources... [ 44%] internal/twine.commands
reading sources... [ 50%] internal/twine.commands.check
reading sources... [ 56%] internal/twine.commands.register
reading sources... [ 62%] internal/twine.commands.upload
reading sources... [ 69%] internal/twine.exceptions
reading sources... [ 75%] internal/twine.package
reading sources... [ 81%] internal/twine.repository
reading sources... [ 88%] internal/twine.settings
reading sources... [ 94%] internal/twine.utils
reading sources... [100%] internal/twine.wheel
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
copying assets...
copying assets: done
writing... twine.1 {
changelog
contributing
internal/twine
internal/twine.commands
internal/twine.commands.check
internal/twine.commands.register
internal/twine.commands.upload
internal/twine.auth
internal/twine.cli
internal/twine.exceptions
internal/twine.package
internal/twine.repository
internal/twine.settings
internal/twine.utils
internal/twine.wheel
} /<<PKGBUILDDIR>>/twine/package.py:docstring of
twine.package.PackageFile.__init__:1: WARNING: py:class reference target not
found: packaging.metadata.RawMetadata [ref.class]
done
build succeeded, 2 warnings.
The manual pages are in docs/_build/man.
sed 's/.TH "TWINE" "1" /.TH "TWINE" "3" /g' < docs/_build/man/twine.1 >
docs/_build/man/twine.3 # Set the file to section3
rm docs/_build/man/twine.1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
debian/rules override_dh_auto_test
make[1]: Entering directory '/<<PKGBUILDDIR>>'
TERM= dh_auto_test -- \
--test-pytest \
--test-args '--ignore tests/test_integration.py'
I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_twine/build;
python3.13 -m pytest --ignore tests/test_integration.py
============================= test session starts ==============================
platform linux -- Python 3.13.9, pytest-8.4.2, pluggy-1.6.0
rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_twine/build
configfile: pytest.ini
plugins: socket-0.7.0, typeguard-4.4.4
collected 229 items
tests/test_auth.py ............................ [ 12%]
tests/test_check.py ......F...... [ 17%]
tests/test_cli.py .. [ 18%]
tests/test_commands.py ...... [ 21%]
tests/test_main.py ... [ 22%]
tests/test_package.py ..................................... [ 38%]
tests/test_register.py ...... [ 41%]
tests/test_repository.py ......................... [ 52%]
tests/test_sdist.py ................. [ 59%]
tests/test_settings.py ................. [ 67%]
tests/test_upload.py ..........................sss. [ 80%]
tests/test_utils.py ...................................... [ 96%]
tests/test_wheel.py ....... [100%]
=================================== FAILURES ===================================
_________________________ test_fails_rst_syntax_error __________________________
tmp_path =
PosixPath('/tmp/pytest-of-sbuild/pytest-0/test_fails_rst_syntax_error0')
capsys = <_pytest.capture.CaptureFixture object at 0x7fcb5ad565d0>
caplog = <_pytest.logging.LogCaptureFixture object at 0x7fcb5ac10050>
def test_fails_rst_syntax_error(tmp_path, capsys, caplog):
sdist = build_sdist_with_metadata(
tmp_path,
"""\
Metadata-Version: 2.1
Name: test-package
Version: 1.2.3
Description-Content-Type: text/x-rst
============
""",
)
assert check.check([sdist])
assert capsys.readouterr().out == f"Checking {sdist}: FAILED\n"
> assert caplog.record_tuples == [
(
"twine.commands.check",
logging.ERROR,
"`long_description` has syntax errors in markup "
"and would not be rendered on PyPI.\n"
"line 2: Error: Document or section may not begin with a
transition.",
),
]
E AssertionError: assert [('twine.comm...transition.')] ==
[('twine.comm...transition.')]
E
E At index 0 diff: ('twine.commands.check', 40, '`long_description` has
syntax errors in markup and would not be rendered on PyPI.\nline 2: Warning:
Document or section may not begin with a transition.') !=
('twine.commands.check', 40, '`long_description` has syntax errors in markup
and would not be rendered on PyPI.\nline 2: Error: Document or section may not
begin with a transition.')
E Use -v to get more diff
tests/test_check.py:116: AssertionError
----------------------------- Captured stderr call -----------------------------
`long_description` has syntax errors in markup and would not be rendered on
PyPI.
line 2: Warning: Document or section may not begin with a transition.
------------------------------ Captured log call -------------------------------
ERROR twine.commands.check:check.py:147 `long_description` has syntax errors
in markup and would not be rendered on PyPI.
line 2: Warning: Document or section may not begin with a transition.
=========================== short test summary info ============================
FAILED tests/test_check.py::test_fails_rst_syntax_error - AssertionError: ass...
=================== 1 failed, 225 passed, 3 skipped in 0.54s ===================
E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_twine/build; python3.13 -m pytest
--ignore tests/test_integration.py
dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13
--test-pytest --test-args "--ignore tests/test_integration.py" returned exit
code 13
make[1]: *** [debian/rules:22: override_dh_auto_test] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:5: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
--- End Message ---
--- Begin Message ---
Source: twine
Source-Version: 6.2.0-2
Done: Colin Watson <[email protected]>
We believe that the bug you reported is fixed in the latest version of
twine, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Colin Watson <[email protected]> (supplier of updated twine package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Sun, 09 Nov 2025 19:05:01 +0000
Source: twine
Architecture: source
Version: 6.2.0-2
Distribution: unstable
Urgency: medium
Maintainer: Debian Python Team <[email protected]>
Changed-By: Colin Watson <[email protected]>
Closes: 1120228
Changes:
twine (6.2.0-2) unstable; urgency=medium
.
* Team upload.
* Restore upstream test change for docutils 0.22 (closes: #1120228).
Checksums-Sha1:
1a2a924f7020463a3b37a1b5be37ea9d777fda58 2951 twine_6.2.0-2.dsc
f64a5768561d89030d6dc9f13e6809e2d6710f61 10236 twine_6.2.0-2.debian.tar.xz
bcc49f8c3b8b0aa46bca2336d1dcc27122d6da2b 307324 twine_6.2.0-2.git.tar.xz
83be2321847c64ca59fb6fcbc512b4b02a81594f 18210 twine_6.2.0-2_source.buildinfo
Checksums-Sha256:
368e0b9b0be47934e3241ce5cec3d54ab29d4d435f3f20178c445a5717131efb 2951
twine_6.2.0-2.dsc
b2aaea178a22bd0514891d3570f916ffa63f43d332b81316619acaaf8f125bcf 10236
twine_6.2.0-2.debian.tar.xz
65dcaa9530d194c3cfa7bd0cd8e52194836d0742c65c29645532d5eda6f9ac4c 307324
twine_6.2.0-2.git.tar.xz
87519d3ee097aa256cfe3e2a73888ae2d1637b3e2a32170c4b9be8cdf4c979b8 18210
twine_6.2.0-2_source.buildinfo
Files:
0d1745d79a47aa0aee49027ddc58bd2c 2951 utils optional twine_6.2.0-2.dsc
4ae2fed547b3f16ddea01622a5091300 10236 utils optional
twine_6.2.0-2.debian.tar.xz
1a1faddf2580b82d7bf8a019a638605a 307324 utils optional twine_6.2.0-2.git.tar.xz
eca9c1da0ede04fa9d94f639b4d75c0d 18210 utils optional
twine_6.2.0-2_source.buildinfo
Git-Tag-Info: tag=c18916ab04e4b65990505b8fe460754bd8ea4192
fp=ac0a4ff12611b6fccf01c111393587d97d86500b
Git-Tag-Tagger: Colin Watson <[email protected]>
-----BEGIN PGP SIGNATURE-----
iQIyBAEBCgAdFiEEN02M5NuW6cvUwJcqYG0ITkaDwHkFAmkQ5kgACgkQYG0ITkaD
wHlK8A/47t6mEcrAx/tgy9fy+riPNdmrrv8lD68eZzFDS+2w7oztEzkq7pB6949s
q3xdhnTW3Vqvb2K/RxeCwaLXDa7oLrV4+gf6cOg5Mx+CDDqXbq5PcwAEbJlG4t5d
mAFDku4oaRdArvQgjJhXN/lbG3SsWPAruj/sSsNQZGEqdCbsiUlf5GyB/MQkbrbN
XT3lTblX7a9GaitgNXI+tGRuNh6YMxcAEHTcZW642CWo59BdfuTDR/hWNi7jp6rw
Cx5SLzeJP/FHhs/zkGFGErlqtn/8RWD4MXC5ueRWhk8m8+jxodhCM4aBwz63vdtO
cjWQgRx0GJc78ZiPC6tpgCjZktL8cOBNusnOU2cvlaxtqA1ElT9sZ6mtpj97P0nz
WnOGtO/egcIin9JgmUYWkubMA3UwnmzvqR82P6I14g0m0gkNIM2O8GkjLXJorkdb
mMjaIGKgzwxA4dw5hz0UXR/uMrfGe23nCz2YL5CUa4g55KCPod7cfCPMxhqfpXAj
5IAyb5dvE95l/AQrDLUyB2j20guy6uTI59Q1zvlS4ywBp5aOwSBTyJsbsNu8KZTj
3y8l9SrRSSoBC8QbQWZWir8gvlo6+KdyABle+3O6GDJ9z1Yd8dYm0QDKGNGkKygH
Paq9bKt2M8R2jaogXkICyi36wgBcw6/VXOXQMHI3lmz+gIYo6g==
=gspY
-----END PGP SIGNATURE-----
pgp1wUWBTLwp6.pgp
Description: PGP signature
--- End Message ---