[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1082612: lintian: Argument "v0.902.0" isn't numeric in numeric lt (<) at /usr/share/lintian/lib/Lintian/Check/Debian/Upstream/Metadata.pm line 106



On Mon, 23 Sep 2024 11:47:30 +0300, Andrius Merkys wrote:

> When running lintian on wannier90_3.1.0+ds-9.dsc which I have just uploaded,
> I got the following warning:
> 
> Warning in processable ./wannier90_3.1.0+ds-9.dsc: Argument "v0.902.0" isn't
> numeric in numeric lt (<) at
> /usr/share/lintian/lib/Lintian/Check/Debian/Upstream/Metadata.pm line 106.

Ha, I just wanted to report the same bug :)
 
> Looking at Metadata.pm line 106, it seems that the version string in
> $YAML::XS::VERSION is not parsed before comparing with $HAS_LOAD_BLESSED. It
> might be that YAML::XS has recently switched to SemVer instead of Perl's
> floating point version type.

Indeed, YAML::XS switched from 0.90 to v0.902.0:
https://metacpan.org/dist/YAML-LibYAML/changes

> A simple fix would be to parse both versions
> using Perl version package from libversion-perl and then compare.

Ack.
An example can be seen at
https://salsa.debian.org/perl-team/modules/packages/libdebian-dep12-perl/-/blob/master/debian/patches/yaml-xs-version.patch?ref_type=heads
 
> I am not sure about the severity of this. AFAIR, Perl converts strings to 0,
> thus the remaining YAML processing is now always skipped for safety reasons
> to avoid loading blessed YAMLs.

At runtime we just see the warning quoted above; but it breaks the
testsuite:
https://ci.debian.net/packages/l/lintian/testing/amd64/52019879/

(That's "just" the autopktests, but I guess the same happens during
build which makes lintian FTBFS.)


Cheers,
gregor

-- 
 .''`.  https://info.comodo.priv.at -- Debian Developer https://www.debian.org
 : :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D  85FA BB3A 6801 8649 AA06
 `. `'  Member VIBE!AT & SPI Inc. -- Supporter Free Software Foundation Europe
   `-   

Attachment: signature.asc
Description: Digital Signature


Reply to: