Source: python-hacking
Version: 4.1.0-2
Severity: minor
Tags: trixie sid ftbfs
User: [email protected]
Usertags: ftbfs-binary-20230816 ftbfs-binary-after-build
User: [email protected]
Usertags: qa-doublebuild

Hi,

This package fails to do build a binary-only build (not source) after a
successful build (dpkg-buildpackage ; dpkg-buildpackage -b).

This is probably a clear violation of Debian Policy section 4.9 (clean target),
but this is filed as severity:minor for now, because a discussion on
debian-devel showed that we might want to revisit the requirement of a working
'clean' target.

More information about this class of issues, included common problems and
solutions, is available at
https://wiki.debian.org/qa.debian.org/FTBFS/DoubleBuild

Relevant part of the build log:
> cd /<<PKGBUILDDIR>> && runuser -u user42 -- dpkg-buildpackage --sanitize-env 
> -us -uc -rfakeroot -b
> -----------------------------------------------------------------------------------------------------------------------------------
> 
> dpkg-buildpackage: info: source package python-hacking
> dpkg-buildpackage: info: source version 4.1.0-2
> dpkg-buildpackage: info: source distribution unstable
> dpkg-buildpackage: info: source changed by Thomas Goirand <[email protected]>
>  dpkg-source --before-build .
> dpkg-buildpackage: info: host architecture amd64
> dpkg-source: info: using options from 
> python-hacking-4.1.0/debian/source/options: 
> --extend-diff-ignore=^[.]gitreview$
>  fakeroot debian/rules clean
> make: pyversions: No such file or directory
> py3versions: no X-Python3-Version in control file, using supported versions
> dh clean --buildsystem=python_distutils --with python3,sphinxdoc
>    debian/rules override_dh_auto_clean
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> make[1]: pyversions: No such file or directory
> py3versions: no X-Python3-Version in control file, using supported versions
> rm -rf .testrepository
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>    dh_autoreconf_clean -O--buildsystem=python_distutils
>    dh_clean -O--buildsystem=python_distutils
>  debian/rules build
> make: pyversions: No such file or directory
> py3versions: no X-Python3-Version in control file, using supported versions
> make: 'build' is up to date.
>  fakeroot debian/rules binary
> make: pyversions: No such file or directory
> py3versions: no X-Python3-Version in control file, using supported versions
> dh binary --buildsystem=python_distutils --with python3,sphinxdoc
>    dh_update_autotools_config -O--buildsystem=python_distutils
>    dh_autoreconf -O--buildsystem=python_distutils
>    dh_auto_configure -O--buildsystem=python_distutils
> dh_auto_configure: warning: Please use the third-party "pybuild" build system 
> instead of python-distutils
> dh_auto_configure: warning: This feature will be removed in compat 12.
>    debian/rules override_dh_auto_build
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> make[1]: pyversions: No such file or directory
> py3versions: no X-Python3-Version in control file, using supported versions
> echo "Do nothing..."
> Do nothing...
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
>    debian/rules override_dh_auto_test
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> make[1]: pyversions: No such file or directory
> py3versions: no X-Python3-Version in control file, using supported versions
> pkgos-dh_auto_test --no-py2 
> 'hacking\.tests\.(?!.*test_doctest\.HackingTestCase\.test_flake8.*)'
> + PKGOS_TEST_PARALLEL=yes
> + PKGOS_TEST_SERIAL=no
> + PYTHONS=disabled
> + PYTHON3S=disabled
> + TEST_PARALLEL_OPT=--parallel
> + TEST_SERIAL_OPT=
> + echo WARNING: --no-py2 is deprecated, and always on.
> WARNING: --no-py2 is deprecated, and always on.
> + shift
> + py3versions -vr
> + PYTHON3S=3.11
> + [ yes = no ]
> + [ no = yes ]
> + [ 3.11 = disabled ]
> + echo 3.11
> + cut -d. -f1
> + PYMAJOR=3
> + echo ===> Testing with python (python3)
> ===> Testing with python (python3)
> + pwd
> + [ -d /<<PKGBUILDDIR>>/debian/tmp/usr/lib/python3/dist-packages ]
> + [ -e .stestr.conf ]
> + [ -x /usr/bin/python3-stestr ]
> + STESTR=stestr
> + rm -rf .stestr
> + subunit2pyunit+ 
> PYTHON=python3.11 stestr run --parallel --subunit 
> hacking\.tests\.(?!.*test_doctest\.HackingTestCase\.test_flake8.*)
> 
> =========================
> Failures during discovery
> =========================
> --- import errors ---
> Failed to call load_tests:
> Traceback (most recent call last):
>   File "/usr/lib/python3.11/unittest/loader.py", line 130, in 
> loadTestsFromModule
>     return load_tests(self, tests, pattern)
>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/<<PKGBUILDDIR>>/hacking/tests/test_doctest.py", line 76, in 
> load_tests
>     check = entry.load()
>             ^^^^^^^^^^^^
>   File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2517, 
> in load
>     self.require(*args, **kwargs)
>   File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2540, 
> in require
>     items = working_set.resolve(reqs, env, installer, extras=self.extras)
>             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 829, 
> in resolve
>     dist = self._resolve_dist(
>            ^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 875, 
> in _resolve_dist
>     raise VersionConflict(dist, req).with_context(dependent_req)
> pkg_resources.VersionConflict: (flake8 5.0.4 
> (/usr/lib/python3/dist-packages), Requirement.parse('flake8<3.9.0,>=3.8.0'))
> 
> ================================================================================
> The above traceback was encountered during test discovery which imports all 
> the found test modules in the specified test_path.
> 
> ----------------------------------------------------------------------
> Ran 0 tests in 0.962s
> 
> OK
> + stestr slowest
> make[1]: *** [debian/rules:32: override_dh_auto_test] Error 3
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
> make: *** [debian/rules:10: binary] Error 2
> dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned 
> exit status 2
> 
> E: Command 'cd /<<PKGBUILDDIR>> && runuser -u user42 -- dpkg-buildpackage 
> --sanitize-env -us -uc -rfakeroot -b' failed to run.


The full build log is available from:
http://qa-logs.debian.net/2023/08/16/python-hacking_4.1.0-2_unstable.log

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

Reply via email to