Re: /usr/lib64 or /usr/lib
On 2011-06-11 09:22 +0200, Goswin von Brederlow wrote:
> Except for how dpkg behaves. If your package has a file in /usr/lib64/
> and gets installed then dpkg records that that directory belongs to your
> package. Then the next time libc6 gets updated dpkg will try to unpack
> the /usr/lib64 symlink and fail because you can not replace a directory
> of another package with a symlink.
Er no, this is not how dpkg behaves. It never converts symlinks to
directories or vice versa, so the actual outcome is¹ that your file gets
actually installed into /usr/lib through the symlink. This means that
if another package starts shipping a file with the same name in
/usr/lib, dpkg will not notice the file conflict which is bad.
It's much worse if you ship files in /lib64, because if your package is
installed into a chroot and unpacked by the host dpkg with the --root=…
option, the files end up in the host system².
¹ Unless your package is unpacked before libc6 while bootstrapping a
system, but that's highly unlikely.