Bug#367962: Please don't ship a /lib64 symlink in the package on amd64
[Ccing: amd64 and dpkg developers as they are concerned by this subject]
[Short introduction to understand the problem]
I am asking here for help to take a decision. As some of you may know,
on amd64, the main libraries are installed into (/usr)/lib, with
(/usr)/lib64 being a symlink to (/usr)/lib, the symlink being shipped by
libc6. This is necessary, because as the FHS defines (/usr)/lib64 as the
libraries for 64-bit binaries, so some tools (and the linker), may
search some file there.
The FHS is actually not very clear, as it says 64-bit libraries should
be in (/usr)/lib64, whereas system libraries should be in (/usr)/lib.
This is a contradiction for a pure 64-bit system.
The point of this thread is not to discuss about that. If you want to,
please start a *new* thread.
[Let's come back to the subject]
Currently the (/usr)/lib64 -> /lib symlink is shipped in the libc6
package. Goswin von Brederlow asked for this link to be created in the
postinst instead, so that packages could install files in both
(/usr)/lib and (/usr)/lib64 directories.
I have concerns about that:
- I don't really want to add something specific to amd64 in postinst.
But ok, that's not an argument.
- I am not sure that creating the link in postinst will work. Creating
it in preinst looks safer to me.
- If you can install files in (/usr)/lib64, the files will end up in
(/usr)/lib. And dpkg won't know anything about them. dpkg -S and other
tools won't work correctly.
- If you have two packages providing the same files in (/usr)/lib and
(/usr)/lib64, then the files will be overwritten without warning. This
is IMHO not acceptable.
Could you please give me your opinion on that, so that I can take a
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73
: :' : Debian GNU/Linux developer | Electrical Engineer
`. `' email@example.com | firstname.lastname@example.org
`- people.debian.org/~aurel32 | www.aurel32.net