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@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@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@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@sid:~# touch /usr/share/man/man1/corelist.1.gz
root@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@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@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@sid:~# rm /usr/share/man/man1/corelist.1.gz
root@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@sid:~# zgrep 2012 /usr/share/man/man1/corelist.*.gz
.TH CORELIST 1 "2012-09-07" "perl v5.14.2" "Perl Programmers Reference Guide"
root@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

Attachment: signature.asc
Description: Digital signature

Reply via email to