Bug#648954: [patch] doc-base Conflicts are insufficient

Dominic Hargreaves dom at earth.li
Sun Dec 18 18:03:00 UTC 2011


On Fri, Dec 16, 2011 at 04:31:51PM +0200, Niko Tyni wrote:
> On Fri, Dec 16, 2011 at 12:35:49PM +0100, Martin Pitt wrote:
> 
> > we still got quite a lot of upgrade failures with -6
> > (https://launchpad.net/bugs/902553).
> > 
> > -6 adds a Conflicts: doc-base (<< 0.10.3) to perl-base. This correctly
> > prevents unpacking of perl-base 5.14 and breaking the doc-base
> > trigger. However, in above LP bug we see
> 
> > Processing triggers for doc-base ...
> > /usr/bin/perl: symbol lookup error: /usr/lib/perl5/auto/UUID/UUID.so: undefined symbol: Perl_xs_apiversion_bootcheck
> > dpkg: error processing doc-base (--unpack):
> >  subprocess installed post-installation script returned error exit status 127
> > 
> > At this point neither doc-base nor perl-base was unpacked (which is
> > what -5 and -6 fixed). Full logs are in the LP bug and its duplicates,
> > but above is the gist of it.
> 
> > debian/control: Add doc-base conflict also to perl, perl-modules, and
> >                 libperl5.14.
> 
> I don't think that guarantees a fix? The above error happens when
> libuuid-perl is upgraded before perl-base and doc-base. The perl and
> perl-modules packages don't necessarily come into it at all. This can
> be reproduced in a minimal squeeze chroot with just
> 
>  apt-get install doc-base libyaml-tiny-perl
>  dpkg -i doc-base_0.10.2_all.deb # from snapshot.debian.org or Ubuntu Oneiric
>  dpkg --unpack libuuid-perl_0.02-4+b2_amd64.deb # the 5.14 build from wheezy/sid
>  dpkg --unpack recode-doc_3.6-17_all.deb # or anything with data in /usr/share/doc-base
> 
> No conflicts in perl-modules and perl can definitely prevent that,
> althought it's possible that they would make higher level package managers
> pick the right upgrade order as a side effect.
> 
> As a matter of fact, unpacking the 5.14 versions of perl and perl-modules
> alone doesn't break the trigger because the incompatible binary Perl
> modules are in a versioned path (/usr/lib/perl/5.1*).
> 
> It therefore seems to me that this should to be "fixed" in libuuid-perl
> rather than in perl. Fortunately it looks like that's the only XS module
> affected: tracing an 'install-docs --install-all' run shows it only uses
> Locale::Gettext and UUID from /usr/lib/perl5, and liblocale-gettext-perl
> already Pre-Depends: perl-base (>= 5.14.2-3) so it can't be upgraded
> before perl-base.
> 
> BTW, I don't think this qualifies as release critical for Debian, as the
> problematic trigger was only introduced in doc-base 0.10.0, and squeeze
> has 0.9.5.
> 
> I'm not sure if the "right" change for libuuid-perl is a conflict or a
> pre-dependency, and I'm not quite sure it even needs to go in Debian
> (as opposed to being a Ubuntu specific fix.) Will need to think about
> that a bit.
> 
> Cc'ing the libuuid-perl maintainers. If others agree with the above
> analysis, this should probably be cloned there and the original perl
> bug should be closed again.

This seems sane to me.

-- 
Dominic Hargreaves | http://www.larted.org.uk/~dom/
PGP key 5178E2A5 from the.earth.li (keyserver,web,email)



More information about the pkg-perl-maintainers mailing list