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

Reply via email to