Bug#1078101: libdancer-plugin-database-core-perl: autopkgtest regression with Perl 5.40: syntax.t failure

Niko Tyni ntyni at debian.org
Tue Aug 6 22:52:12 BST 2024


Package: libdancer-plugin-database-core-perl
Version: 0.20-3
Severity: important
Tags: trixie sid
User: debian-perl at lists.debian.org
Usertags: perl-5.40-transition

This package fails its autopkgtest checks with Perl 5.40 (currently
in experimental.)

  https://ci.debian.net/packages/libd/libdancer-plugin-database-core-perl/unstable/amd64/50042624/

   81s # Subtest: all modules in libdancer-plugin-database-core-perl pass the syntax check
   81s     1..2
   81s     ok 1 - /usr/bin/perl -wc /usr/share/perl5/Dancer/Plugin/Database/Core/Handle.pm exited successfully
   81s     # Name "DBI::errstr" used only once: possible typo at /usr/share/perl5/Dancer/Plugin/Database/Core.pm line 284.
   81s     not ok 2 - /usr/bin/perl -wc /usr/share/perl5/Dancer/Plugin/Database/Core.pm exited successfully
   81s not ok 4 - all modules in libdancer-plugin-database-core-perl pass the syntax check

This is because of an intentional behaviour change in Perl 5.40:

  https://metacpan.org/dist/perl/view/pod/perldelta.pod#Changes-to-Existing-Diagnostics

    Name "%s::%s" used only once: possible typo

    This warning now honors being marked as fatal. [GH #13814]

  See https://github.com/Perl/perl5/issues/13814 for more information.

Now, /usr/share/perl5/Dancer/Plugin/Database/Core.pm has

  use warnings FATAL => 'all';

so the warning now correctly causes the check to exit with an error code.

The best fix is presumably to add "no warnings 'once';" to the block
where $DBI::errstr is used.

-- 
Niko Tyni   ntyni at debian.org



More information about the pkg-perl-maintainers mailing list