Bug#899110: perl: Provides entries in old versions of perl-modules-5.xx and libperl5.xx erroneously satisfy dependencies

Niko Tyni ntyni at debian.org
Sat May 19 10:43:11 BST 2018


Package: perl
Version: 5.26.2-4
Severity: important
User: debian-perl at lists.debian.org
Usertags: hh2018

We currently have Provides entries for dual life module packages in
perl-modules-5.26 and libperl5.26, because the corresponding modules
are shipped in those packages. These packages are versioned and
coinstallable between major versions: a system upgraded to Perl 5.26
can still have perl-modules-5.24 and libperl5.24 installed in addition
to perl-modules-5.26 and libperl5.26.

This can be a problem when these Provides differ between the versioned
packages, as the old package lying around still satisfies dependencies
even though /usr/bin/perl doesn't see the modules.

We will be hitting this with Perl 5.28: B::Debug has been deprecated after
5.26, so perl-modules-5.26 Provides libb-debug-perl but perl-modules-5.28
will not. This made libdevel-cover-perl_1.29-2 fail to build in our
rebuild tests because perl-modules-5.26 was still lying around in the
build chroot so the separate libb-debug-perl did not get installed.

The fix is probably to move the Provides (and probably Replaces and
Breaks too?) to the perl binary package, which pulls in libperl5.xx
and perl-modules-5.xx. I'm slightly worried about upgrades from stretch,
but assuming there are no other dual life module changes than B::Debug
for buster, the effect is probably minor.
-- 
Niko Tyni   ntyni at debian.org




More information about the Perl-maintainers mailing list