Package: libc6
Version: 2.3.6-7
Severity: normal
Hi,
Currently the libc6 package on amd64 ships a symlink from /lib64 to
/lib (and /usr/lib64). While the symlink is needed for things to work
shipping it in the data.tar.gz makes it impossible for any package to
put files into /lib64 or /usr/lib64 (as specified by FHS):
If any package does so the next time libc6 gets updated you get an
error similar to:
dpkg: error processing foo1-1.0.deb (--install):
trying to overwrite `/foo', which is also in package foo2
Instead of shipping the symlinks I suggest creating them in the
preinst (if they don't exist) and shipping at least one file
(/lib64/ld-2.3.2.so comes to mind) in /lib64 and /usr/lib64 to prevent
dpkg from removing the links on updates.
Why would we want this?
With that change packages can be patched (or un-patched) to use the
FHS compliant lib64 dirs. Libraries and plugins are then in a
different directory than on i386 alowing for automatic conversion of
amd64 packages to an i386 based bi-arch system.
Also if enough packages get changed to /lib64 the symlinks could be
droped and bugs filed against the remaining packages. Updating to a
non symlinks way might be tricky but at least new installs would get
the right dirs.