Bug#773323: perl: Wheezy->Jessie upgrade breaks wheezy pdl

Henning Glawe glaweh at debian.org
Fri Dec 19 14:34:02 UTC 2014


On Fri, Dec 19, 2014 at 11:19:17AM +0200, Niko Tyni wrote:
>   all the earlier ones, right? Also, AIUI the actual source change that
>   fixes the breakage going forward is in 1:2.007-4 so it seems using
>   that would be the most robust (think downstream distributions that
>   might be upgrading their perl versions in a different schedule.)
> 
>   So is (<< 1:2.007-4) OK with you?

Agreed.

> - which perl packages need this?
> 
>   The minimal recipe I could come up for this is
>    # wheezy base chroot
>    apt-get install libpdl-stats-perl
>    dpkg --unpack perl-modules_5.20.1-3_all.deb # from jessie
>    dpkg --remove libpdl-stats-perl
> 
>   or, alternatively,
>    # wheezy base chroot
>    apt-get install libpdl-stats-perl
>    dpkg -i libc6_2.19-13_amd64.deb
>    dpkg --unpack perl-base_5.20.1-3_amd64.deb 
>    dpkg --remove libpdl-stats-perl
> 
>   Interestingly, unpacking the new 'perl' package alone doesn't trigger the
>   failure.

the 'guilty' dpkg-trigger is called whenever files are changed within
/usr/lib/perl5/PDL, which happens on installation/update/removal of optional
PDL submodules (in the reports, it was either hdf5 or stats).

The trigger itself relies on having the pdl main distribution modules
accessible from /usr/bin/perl (which is not the case if /usr/bin/perl
has been replaced by 5.20 packages, while installed pdl modules are only in
the searchpath of 5.14.

>   So it looks like we need the Breaks in both perl-base and perl-modules.

That would be a safe choice, yes.

> - is Breaks sufficient, or do we need Conflicts?
> 
>   Dependency guarantees around 'postinst triggered' are not quite clear to me.
>   I assume 'postinst triggered' will not be called before the package is
>   configured, in which case I expect Breaks should be enough (as it will
>   guarantee that the old pdl package gets deconfigured, and the new pdl package
>   won't be configured before its dependencies are installed.)

My knowledge of triggers is also rather limited... while writing the
offending code, I assumed that the same rules would apply for triggers as for
postinst configure, i.e. they could be only called if all dependencies are
fulfilled (and configured).

>   Will test this, but any advice is appreciated.
> 
> I hope to be able to upload a fix this weekend, assuming the version number
> thing above is confirmed one way or another.

thanks a lot, this one really costed me some nerves...

-- 
c u
henning




More information about the Perl-maintainers mailing list