Hi Lucas
Thanks for the analysis.
WHEEL is only produced for packages built as wheels. A package installed via
setup.py install (like python_debian-1.1.1) has METADATA but no WHEEL - your
dist-info contains INSTALLER, METADATA, top_level.txt, and nothing else.
Earlier package versions (1.0.1, 1.1.0) happened to ship a WHEEL file, so the
screen worked for them. The METADATA file is the real, definitive marker of a
dist-info directory (PEP 427/376), so requiring WHEEL is too strict.
(That assertion that python_debian-1.1.1 used `setup.py install` is
incorrect, but that's tangential to the analysis.)
The actual change is in dh-python 7.20260606 which is about improving
support for multi-arch with Python modules (#1137616) by deleting the
WHEEL file at the end of the build. That leaves the lintian check
generating the false-positives and so lintian needs to catch up.
Required change: drop the WHEEL check so a .dist-info/ directory is recognized
by METADATA alone (keep the egg-info/PKG-INFO branch as-is):
return 1
if $item->dirname =~ m{ [^/] [.] dist-info / $}x
&& defined $item->parent_dir->child('METADATA');
The included solution sounds right (I've not looked at the code, and the
included code is the sort of perl that reminds me that it's a long time
since I wrote any serious perl.
2. The exclusion filename list never actually takes effect.
I had also observed dist-info/top_level.txt being flagged today, so yes,
that is also happening.
thanks
Stuart
--
Stuart Prescott http://www.nanonanonano.net/ [email protected]
Debian Developer http://www.debian.org/ [email protected]
GPG fingerprint 90E2 D2C1 AD14 6A1B 7EBB 891D BBC1 7EBB 1396 F2F7