Hi,
On 2024-09-23 20:10, gregor herrmann wrote:
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
Thanks for proposing this patch.
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.)
You must be right. Solution seems trivial, I will look into applying it
for lintian.
Best,
Andrius