Bug#1078093: libautobox-dump-perl: autopkgtest regression with Perl 5.40: Attempt to call undefined import method with arguments
Niko Tyni
ntyni at debian.org
Sat Aug 24 13:26:07 BST 2024
Control: tag -1 patch
On Tue, Aug 06, 2024 at 11:10:45PM +0300, Niko Tyni wrote:
> Package: libautobox-dump-perl
> Version: 20090426.1746-5
> Severity: important
> User: debian-perl at lists.debian.org
> Usertags: perl-5.40-transition
>
> This package warns on usage with Perl 5.40 (currently in experimental),
> making its autopkgtest checks fail.
>
> https://ci.debian.net/packages/liba/libautobox-dump-perl/unstable/amd64/50041973/
>
> $ perl -e 'use autobox::dump'
> Attempt to call undefined import method with arguments ("SCALAR" ...) via package "autobox::dump" (Perhaps you forgot to load the package?) at /usr/share/perl5/autobox/dump.pm line 24.
I think this is because of a missing runtime dependency on
libautobox-perl. It's a build dependency so the build time test suite
doesn't warn, and it goes away when I install the other package.
The module does
package autobox::dump;
use base 'autobox';
which somewhat surprisingly doesn't fail when autobox is missing.
Apparently the package declaration populates the "parent stash" just
enough to make it look nonempty. Consider:
$ perl -e 'package foo; use base "bar"'
Base class package "bar" is empty.
(Perhaps you need to 'use' the module which defines that package first,
[...]
$ perl -e 'package bar::foo; use base "bar";'
$
However, the $class->SUPER::import() call later does generates a warning
with Perl 5.40 because the superclass is really empty.
Not sure if this should be severity:serious but at least it's easy to
fix by adding a Depends: libautobox-perl.
Hope this helps,
--
Niko
More information about the pkg-perl-maintainers
mailing list