Package: libdpkg-perl
Version: 1.19.4
User: [email protected]
Usertags: breaks regression
Hi. I finally investigated the dgit autopkgtest regression.
The error message is:
Can't locate object method "new" via package "Dpkg::Source::Format" (perhaps
you forgot to load "Dpkg::Source::Format"?) at
/usr/share/perl5/Dpkg/Source/Package.pm line 214.
I had mistakenly grokked that as indicating that it was my code which
depended on Dpkg::Source::Format but failed to load it. However, that
isn't the case.
See transcripts below, where a minimal test program for
Dpkg::Source::Package fails with this error, but only with recent
dpkg.
I haven't dug into the dpkg history to see what change caused this. I
guess it will be obvious to you. I think you may just be missing a
`require'.
I thought you would like information report as a bug report. I
haven't made it `serious' since that doesn't seem necessary as it is
blocking the dpkg testing migration already.
Regards,
Ian.
$ dpkg-query -f'${Version}\n' -W libdpkg-perl
1.19.4
$ cat t.pl
#!/usr/bin/perl -w
use strict;
use Dpkg::Source::Package;
my $dp = new Dpkg::Source::Package filename => $ARGV[0];
print "ok\n";
$ ./t.pl ../bpd/dgit_8.3.dsc
Can't locate object method "new" via package "Dpkg::Source::Format" (perhaps
you forgot to load "Dpkg::Source::Format"?) at
/usr/share/perl5/Dpkg/Source/Package.pm line 214.
$
Whereas with stretch:
$ dpkg-query -f'${Version}\n' -W libdpkg-perl
1.18.25
$ ./t.pl ../bpd/dgit_8.3.dsc
ok
$
--
Ian Jackson <[email protected]> These opinions are my own.
If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.