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

