#1151393 dh-python: several packages FTBFS with error "XXX includes a common build directory name 'tests' as a module."

Package:
src:busco
Source:
src:busco
Submitter:
Santiago Vila
Date:
2026-10-21 11:21:01 UTC
Severity:
normal
Tags:
#1151393#5
Date:
2026-10-20 10:33:14 UTC
From:
To:
Dear maintainer:

The packages in the affects line all fail to build in a similar way:

E: dh_python3 fs:312: python3-sorted-nearest includes a common build directory name 'tests' as a module. Likely due to a mis-configured build system installing things it shouldn't.

(That's how src:sorted-nearest fails, as an example).

If this is not a bug in dh-python, please clone and reassign to each of the affected packages, possibly
with a brief explanation of what maintainers are supposed to do.

Thanks.

#1151393#12
Date:
2026-10-20 13:33:09 UTC
From:
To:
Control: clone -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18
Control: reassign -1 src:appdata
Control: reassign -2 src:busco
Control: reassign -3 src:dissononce
Control: reassign -4 src:django-distill
Control: reassign -5 src:dogtail2
Control: reassign -6 src:gitsome
Control: reassign -7 src:mkdocs-macros-plugin
Control: reassign -8 src:palettable
Control: reassign -9 src:pkb-client
Control: reassign -10 src:pocsuite3
Control: reassign -11 src:python-jira
Control: reassign -12 src:python-multidict
Control: reassign -13 src:python-pantomime
Control: reassign -14 src:python-serializable
Control: reassign -15 src:python-sparkpost
Control: reassign -16 src:python-threadloop
Control: reassign -17 src:sbws
Control: reassign -18 src:sorted-nearest

Hi Santiago (2026.10.20_10:33:14_+0000)

This is a new feature in dh-python, detecting likely build
misconfiguration (as the message states).

building sorted-nearest attempts to install:

sorted-nearest-0.0.41+dfsg/debian/python3-sorted-nearest/usr/lib/python3/dist-packages/tests
sorted-nearest-0.0.41+dfsg/debian/python3-sorted-nearest/usr/lib/python3/dist-packages/tests/test_ties.py
sorted-nearest-0.0.41+dfsg/debian/python3-sorted-nearest/usr/lib/python3/dist-packages/tests/conftest.py

That's clearly wrong, and inappropriate.
I note that the version in unstable doesn't include these files, and it
isn't immediately obvious to me where the regression is. Probably in
setuptools.

But the package includes in pyproject:

[tool.setuptools.packages.find]
where = ["."]

That should really have some includes or excludes.

I checked appdata and busco, both have the same issue. Let's assume that
all of these packages are affected.

Stefano

#1151393#27
Date:
2026-10-21 11:03:06 UTC
From:
To:
Hello,

Bug #1151393 in busco reported by you has been fixed in the
Git repository and is awaiting an upload. You can see the commit
message below and you can check the diff of the fix at:

https://salsa.debian.org/med-team/busco/-/commit/539d867296030ac4095bee206654bce3475c94e8

(this message was generated automatically)
-- 
Greetings

https://bugs.debian.org/1151393

#1151393#34
Date:
2026-10-21 11:19:22 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
busco, 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 1151393@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Andreas Tille <tille@debian.org> (supplier of updated busco 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 ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Wed, 21 Oct 2026 12:57:01 +0200
Source: busco
Architecture: source
Version: 6.1.0-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Med Packaging Team <debian-med-packaging@lists.alioth.debian.org>
Changed-By: Andreas Tille <tille@debian.org>
Closes: 1151393
Changes:
 busco (6.1.0-1) unstable; urgency=medium
 .
   * New upstream version
   * Adapt patches to new upstream version.
   * Do not leave a tests symlink in the pybuild build directory, fixing
     the dh-python FTBFS.
     Closes: #1151393
   * Remove unused entry from debian/source/include-binaries.
Checksums-Sha1:
 86df25b0dd3cb9d898fca04cedfa0e1cf970a7ea 2122 busco_6.1.0-1.dsc
 9d40df54bb631be2d87f411773ca894bdba40d59 362990 busco_6.1.0.orig.tar.bz2
 278e99d292b83398099ffbc973dade5309c2f3e0 7836 busco_6.1.0-1.debian.tar.xz
 912694d5a419631333a5d5f261ae5706bb29d902 8516 busco_6.1.0-1_amd64.buildinfo
Checksums-Sha256:
 1469148aa32a36813443d6ff5f4b00adb0cc8323bc4634f587d791b5f34d8f87 2122 busco_6.1.0-1.dsc
 c24cda21152d5fffc78f0e417579cc94fb2ac0ee714228cfc9bd3c0652289026 362990 busco_6.1.0.orig.tar.bz2
 22a08bc8ea9a96b1d23535e65b5cdb3f728a57502eb0e1c60ca310b4cbd4a6e9 7836 busco_6.1.0-1.debian.tar.xz
 b59358fe12063fb6272928b1d6ce525367a5caaa1eb39c309a06e93b435da532 8516 busco_6.1.0-1_amd64.buildinfo
Files:
 4f9e8863adb2e0a1083060486821e35c 2122 science optional busco_6.1.0-1.dsc
 d339bf7eba0683b0e3ece2deec1ab715 362990 science optional busco_6.1.0.orig.tar.bz2
 9f5f678a261cd3a8f91517183ca5959f 7836 science optional busco_6.1.0-1.debian.tar.xz
 039b1f7607ee11ce73284a74ec7a2763 8516 science optional busco_6.1.0-1_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----

iQJFBAEBCgAvFiEE8fAHMgoDVUHwpmPKV4oElNHGRtEFAmrYnCcRHHRpbGxlQGRl
Ymlhbi5vcmcACgkQV4oElNHGRtF73A//aUOOKiUjO/cQpFwU4GCpO1z5hKkK4is+
yC2Jv+zUnPoUr2urBrmBm9DaStLFH1oMERoYTstyAzAZGbZRhFDcEmqCcfQd/9P6
QfdRjZ0xtvlHbXpOdNaIWfu0iaIwxesl7V+PPN1v61SRqE0K6O01cahtdg6RACOX
tJF0NF4n0XXCmuI+z0ikL6u7141wIpTwyx5vBwRvsH0eOgy+fDkBaNnP4lqAZsP1
VLvp4i/bkweasY3LqdCa5UpTJLiGcTA1dhtkjxnztKE5s6aEz9kxLqLOIddRApuY
5VeCr+/T2hpb8U2KD+SR/lLCTJYYZPso4eYjsFec7SHWV2DyioJ8sz8wn79pWLAb
71irAk7xNrNZVvmwQ/yfis9Xi149Ld1vc0YyqdpwIrIxiQ/CIqrKSNy8cEDA/p3z
wNAQhR9j4sftNyIRXQnaKy1kpWQ23GWANIF93pCQCDKm9ys7kdvAXF67JT0PGL2H
cFQUxUnS70xm1m7EyFo2qs1n1FBNRNTNGxNINOwd9D+oV8BJGB0VlSC/iSaMr7Ll
ZO6KILxOq/SlY66ULjxvUrfVLGJmcpqFkJU8Udbdgj7axSCy1kKYRIa7QQtofztp
Wc/u7r0AUSseCj2dWkcgmm+vxHaaMsKYtHJi2i7d57XF2Oh8/6e9jAEEOtIbT9UC
tJrnDvdroNE=
=8Ora
-----END PGP SIGNATURE-----