Package: dpkg
Version: 1.16.9
Severity: important

Hi,

On my amd64 system I installed libc6-amd64:i386, to see how that
behaves.

libc6:amd64 has a:
Replaces: libc6-amd64

The file they have in common is the dynamic linker:
/lib64/ld-linux-x86-64.so.2

It's the only file they have in common, and they really need
to have that in common.  But obviously we want to get rid of
libc6-amd64 so it makes sense for libc6:amd64 to replace it.

In both packages it's a symlink, but to a different file:
libc6:amd64 has: /lib64/ld-linux-x86-64.so.2 -> /lib/x86_64-linux-gnu/ld-2.13.so
libc6-amd64:i386 has: /lib64/ld-linux-x86-64.so.2 -> ld-2.13.so

Both point to a file in their own package.
There is no /lib64/ld-2.13.so in libc6:amd64, only in
libc6-amd64:i386.

When installing libc6-amd64:i386 I got:
Unpacking libc6-amd64 (from .../libc6-amd64_2.13-37_i386.deb) ...
Replaced by files in installed package libc6:amd64 ...
Setting up libc6-amd64 (2.13-37) ...

However trying to remove libc6-amd64:i386 again, I got:
Removing libc6-amd64 ...
dpkg (subprocess): unable to execute installed post-removal script 
(/var/lib/dpkg/info/libc6-amd64.postrm): No such file or directory

The problem being that /lib64/ld-linux-x86-64.so.2 was a dangling
symlink pointing to ld-2.13.so which was removed.

It looks to me like that Replace wasn't taking into account,
and the symlink was just overwritten.

I know that symlinks have always been special, and I wonder
if that's what causing the problems.  I didn't expect the
symlink to be overwritten when there is a Replaces.


Kurt


-- 
To UNSUBSCRIBE, email to debian-dpkg-bugs-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to