Bug#688068: libmodule-corelist-perl: error removing diversion

Salvatore Bonaccorso carnil at debian.org
Thu Sep 20 16:16:48 UTC 2012


Hi Cristian

I hope the following approach with manual intervention might help:

On Wed, Sep 19, 2012 at 07:46:07PM +0200, Cristian Ionescu-Idbohrn wrote:
> On Wed, 19 Sep 2012, gregor herrmann wrote:
> >
> > > So, restoring the perl man-page is what I want.  And I want to do it
> > > properly.
> >
> > I'd probably try to reinstall libmodule-corelist-perl to get the
> > diversions in order and then remove it;
> 
> Did that.  No joy :(
> 
> > might fail too since there's some confusion on your machine :/
> 
> Yes, it did fail.  What would I need to do to clean upp the mess?
> I just need something to get me going.  I see:
> 
> 	# dpkg-divert --list \*corelist\*
> 	diversion of /usr/share/man/man1/corelist.1.gz to /usr/share/man/man1/corelist.bundled.1.gz by libmodule-corelist-perl
> 	diversion of /usr/bin/corelist to /usr/bin/corelist.bundled by libmodule-corelist-perl
> 
> and /var/lib/dpkg/info/libmodule-corelist-perl.postrm shows:
> 
> 	dpkg-divert --remove --package libmodule-corelist-perl --rename \
> 		--divert /usr/bin/corelist.bundled /usr/bin/corelist
> 
> 	dpkg-divert --remove --package libmodule-corelist-perl --rename \
> 		--divert /usr/share/man/man1/corelist.bundled.1.gz /usr/share/man/man1/corelist.1.gz
> 
> What can I do to clean that up?

First how I reproduced it by creating a spurious
/usr/share/man/man1/corelist.1.gz:

root at sid:~# zgrep 2012 /usr/share/man/man1/corelist.1.gz 
.TH CORELIST 1 "2012-09-07" "perl v5.14.2" "Perl Programmers Reference Guide"

Checked the version from 'perl' package and then installed
libmodule-corelist-perl:

root at sid:~# apt-get install libmodule-corelist-perl
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  libmodule-corelist-perl
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/68.4 kB of archives.
After this operation, 475 kB of additional disk space will be used.
Selecting previously unselected package libmodule-corelist-perl.
(Reading database ... 30180 files and directories currently installed.)
Unpacking libmodule-corelist-perl (from .../libmodule-corelist-perl_2.73-1_all.deb) ...
Adding 'diversion of /usr/bin/corelist to /usr/bin/corelist.bundled by libmodule-corelist-perl'
Adding 'diversion of /usr/share/man/man1/corelist.1.gz to /usr/share/man/man1/corelist.bundled.1.gz by libmodule-corelist-perl'
Processing triggers for man-db ...
Setting up libmodule-corelist-perl (2.73-1) ...
root at sid:~# zgrep 2012 /usr/share/man/man1/corelist.*.gz
/usr/share/man/man1/corelist.1p.gz:.TH CORELIST 1p "2012-09-20" "perl v5.14.2" "User Contributed Perl Documentation"
/usr/share/man/man1/corelist.bundled.1.gz:.TH CORELIST 1 "2012-09-07" "perl v5.14.2" "Perl Programmers Reference Guide"

Ok so far fine, now add a spurious empty
/usr/share/man/man1/corelist.1.gz and try to remove
libmodule-corelist-perl leads to the situation you have:

root at sid:~# touch /usr/share/man/man1/corelist.1.gz
root at sid:~# apt-get --purge remove libmodule-corelist-perl
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  libmodule-corelist-perl*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 475 kB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 30193 files and directories currently installed.)
Removing libmodule-corelist-perl ...
Removing 'diversion of /usr/bin/corelist to /usr/bin/corelist.bundled by libmodule-corelist-perl'
Removing 'diversion of /usr/share/man/man1/corelist.1.gz to /usr/share/man/man1/corelist.bundled.1.gz by libmodule-corelist-perl'
dpkg-divert: error: rename involves overwriting `/usr/share/man/man1/corelist.1.gz' with
  different file `/usr/share/man/man1/corelist.bundled.1.gz', not allowed
dpkg: error processing libmodule-corelist-perl (--purge):
 subprocess installed post-removal script returned error exit status 2
Processing triggers for man-db ...
Errors were encountered while processing:
 libmodule-corelist-perl
E: Sub-process /usr/bin/dpkg returned an error code (1)

Let's check the files:

root at sid:~# zgrep 2012 /usr/share/man/man1/corelist.*.gz
/usr/share/man/man1/corelist.bundled.1.gz:.TH CORELIST 1 "2012-09-07" "perl v5.14.2" "Perl Programmers Reference Guide"
root at sid:~# ls -lah /usr/share/man/man1/corelist.*
-rw-r--r-- 1 root root    0 Sep 20 18:07 /usr/share/man/man1/corelist.1.gz
-rw-r--r-- 1 root root 3.0K Sep  7 03:16 /usr/share/man/man1/corelist.bundled.1.gz

Ah okay so my empty created /usr/share/man/man1/corelist.1.gz is still
there, the one from libmodule-corelist-perl is already gone:

root at sid:~# rm /usr/share/man/man1/corelist.1.gz
root at sid:~# apt-get --purge remove libmodule-corelist-perl
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  libmodule-corelist-perl
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 475 kB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 30181 files and directories currently installed.)
Removing libmodule-corelist-perl ...
No diversion 'diversion of /usr/bin/corelist to /usr/bin/corelist.bundled by libmodule-corelist-perl', none removed.
Removing 'diversion of /usr/share/man/man1/corelist.1.gz to /usr/share/man/man1/corelist.bundled.1.gz by libmodule-corelist-perl'
root at sid:~# zgrep 2012 /usr/share/man/man1/corelist.*.gz
.TH CORELIST 1 "2012-09-07" "perl v5.14.2" "Perl Programmers Reference Guide"
root at sid:~#

So, could you save away (for security) your
/usr/share/man/man1/corelist.1.gz and then try to purge again
libmodule-corelist-perl?

Does this manual intervention resolved your problem?

Regards,
Salvatore
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-perl-maintainers/attachments/20120920/22c3f159/attachment-0001.pgp>


More information about the pkg-perl-maintainers mailing list