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. -- Niko Tyni nt...@debian.org -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org