RelocatablePackages
Status
Created: 2005-07-17 by KennethArnold
Status: DevelopmentProposal
Details
- Scenario 1: Most of the system uses KDE 3.3 (testing) but you want to test out the brand-new KDE 3.4 without affecting anyone else.
- Scenario 2: You don't have root on a Debian system, but it would really be nice to install a copy of 'file' to identify a strange file you found.
- Scenario 3: You're on a non-Debian system and not root, but you just like Debian and want to use its packages.
All 3 of these (and probably more) usage scenarios would be theade much easier if Debian packages could be relocatable. For example, the contents of the 'file' package might look like this:
conf/magic bin/file man/man1/file.1.gz bug/presubj doc/ChangeLog.gz doc/copyright doc/changelog.Debian.gz
During package install, each subdirectory would map to a configurable part of the real directory tree. For a full-system install, for example, 'conf' maps to '/etc', 'bin' maps to '/usr/bin', 'doc' maps to '/usr/share/doc/file', etc. But for a single-user install, perhaps 'conf' maps to '~/.file', 'bin' maps to '~/bin', doc maps to '~/doc/file', etc.
For this to work properly, a number of things would need to be in place:
- Each user could have a local dpkg status.
- The environment would have to be such that programs and libraries are found first in the user's home directory.
- Programs that depend on finding their files in certain places would have to be patched to look in the user's home directory, or perhaps a run-time interception of the 'open' call would suffice (LD_PRELOAD).
- others?
Pluggable handlers could be set up to process other directories.