I've managed to patch both dpkg and glibc. However the resulting system does not work because some things like KDE use absolute paths so they would too need to be fixed.
Furthermore, we have the problem of C++ library packages including non-C++ files. This can only be handled by heavily modifying dpkg to use a database for files and have a usage count for files in multiple packages. dpkg would also need to extract the archive in two passes so that all files in /usr/lib can be moved. But if we do this, libraries that use hardcoded paths won't work. Filenames could be remapped by replacing open, etc. but that would cause odd problems due to different applications differently viewing the filesystem. So there isn't a clean solution and even a "good enough" one would require too much time, so I'll not fix this. We could still use the dynamic loader patch without the dpkg one but if the user has to install things of his own, he can solve this without the modified loader. If anyone is interested, I can make the current patches and programs (dpkg, ld.so, c++abi and library mover) available on the web under the GNU GPL.
signature.asc
Description: This is a digitally signed message part