Bug#657940: perl: upgrade problem if defoma-app is called from a maintainer-script in the middle of the perl upgrade

Andreas Beckmann debian at abeckmann.de
Mon Jan 30 02:35:51 UTC 2012


Package: perl
Version: 5.14.2-6
Severity: normal
User: debian-qa at lists.debian.org
Usertags: piuparts

Hi,

piuparts found a perl related upgrade issue while testing upgrades from
squeeze to wheezy, package: libgraphics-magick-perl.

The problem happens during the upgrade of libwmf0.2-7, the old prerm
calls defoma app which fails:

  Preparing to replace libwmf0.2-7 0.2.8.4-6.1+b1 (using .../libwmf0.2-7_0.2.8.4-10_amd64.deb) ...
  Can't locate File/Copy.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /usr/bin/defoma-app line 7.
  BEGIN failed--compilation aborted at /usr/bin/defoma-app line 7.
  dpkg: warning: subprocess old pre-removal script returned error exit status 2
  dpkg - trying script from the new package instead ...
  dpkg: error processing /var/cache/apt/archives/libwmf0.2-7_0.2.8.4-10_amd64.deb (--unpack):
   there is no script in the new version of the package - giving up

The (probably) relevant part of the upgrade sequence is

  [...]
  Selecting previously unselected package libswitch-perl.
  (Reading database ... 9256 files and directories currently installed.)
  Unpacking libswitch-perl (from .../libswitch-perl_2.16-2_all.deb) ...
  Selecting previously unselected package libclass-isa-perl.
  Unpacking libclass-isa-perl (from .../libclass-isa-perl_0.36-3_all.deb) ...
  Preparing to replace perl-modules 5.10.1-17squeeze3 (using .../perl-modules_5.14.2-6_all.deb) ...
  Unpacking replacement perl-modules ...
  [...]
  Preparing to replace perl 5.10.1-17squeeze3 (using .../perl_5.14.2-6_amd64.deb) ...
  Unpacking replacement perl ...
  [...]
  Preparing to replace libwmf0.2-7 0.2.8.4-6.1+b1 (using .../libwmf0.2-7_0.2.8.4-10_amd64.deb) ...
  Can't locate File/Copy.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .) at /usr/bin/defoma-app line 7.
  [...]
  Preparing to replace libgraphicsmagick3 1.3.12-1+b1 (using .../libgraphicsmagick3_1.3.12-1.1+b1_amd64.deb) ...
  Unpacking replacement libgraphicsmagick3 ...
  Preparing to replace libgraphics-magick-perl 1.3.12-1+b1 (using .../libgraphics-magick-perl_1.3.12-1.1+b1_amd64.deb) ...
  Unpacking replacement libgraphics-magick-perl ...
  Preparing to replace libtext-charwidth-perl 0.04-6 (using .../libtext-charwidth-perl_0.04-7+b1_amd64.deb) ...
  Unpacking replacement libtext-charwidth-perl ...
  Preparing to replace libtext-iconv-perl 1.7-2 (using .../libtext-iconv-perl_1.7-5_amd64.deb) ...
  Unpacking replacement libtext-iconv-perl ...
  Preparing to replace perl-base 5.10.1-17squeeze3 (using .../perl-base_5.14.2-6_amd64.deb) ...
  Unpacking replacement perl-base ...
  [... thereafter distupgrade terminates without even trying to update
       the defoma package ...]
  Errors were encountered while processing:
   /var/cache/apt/archives/libwmf0.2-7_0.2.8.4-10_amd64.deb
  E: Sub-process /usr/bin/dpkg returned an error code (1)

File::Copy gets moved while perl-modules is updated, but the new
location is not used before perl-base is updated. Inbetween defoma-app
may not be used.

While this could be worked around libwmf0.2-7 by adding a dummy postrm,
jchristau thinks it's better to fix this in perl and/or defoma:

    <jcristau> anbe: if we can find a fix in perl or defoma instead i think
        that'd be better
    <jcristau> rather than finding all packages that might possibly call
        defoma-app in the middle of the perl upgrade

So I try assigning this to perl first, perhaps an appropriate
  Breaks: defoma (<< $squeeze+1)
or other fix can be added to one of the perl packages.
OTOH, defoma-app from squeeze works again fine with perl-5.14 once this
is installed completely.

The full piuparts log is attached, the command used was:
  Executing: sudo /org/piuparts.debian.org/sbin/piuparts
  --warn-on-others --warn-on-leftovers-after-purge
  --skip-logrotatefiles-test --no-eatmydata --scriptsdir
  /etc/piuparts/scripts/ --tmpdir /org/piuparts.debian.org/tmp -ab
  squeeze.tar.gz -d squeeze -d wheezy --mirror
  http://piatti.debian.org/debian/  libgraphics-magick-perl

Andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: libgraphics-magick-perl_1.3.12-1.1+b1.log.gz
Type: application/x-gzip
Size: 26324 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/perl-maintainers/attachments/20120130/e620cd68/attachment-0001.bin>


More information about the Perl-maintainers mailing list