Relocatable source packages (Re: What do you wish for in an package manager? Here you are!)
On Sat, Jan 06, 2001 at 07:37:21PM +0100, Goswin Brederlow wrote:
> Apart from that, anyone who cares what version to use must use the
> full path to the binary or a versioned name, like /bin/bash-2.04-1.
> I would like binaries to be compiled to reside in versioned
> directories but I also see a lot of problems with it as
> well. Especially with the /etc /usr /usr/share and so on. Every
> directory would have to have a subdir for every package that has files
> there. What a chaos.
> Of cause in spezial cases you can install all packages to
> /usr/share/software/package-version/ and symlinc, but thats not a
> general solution to the problem. For stuff like /bin/sh a network
> filesystem doesn't work.
It would be very useful to have relocatable source packages. For instance, if
DEB_ROOT is set at compile time, the package should prepend its contents to
pathnames when trying to find its auxiliary files. For packages which use
autoconf, this is as easy as using --prefix. For others, it will probably
involve patching the source, but trivially so. The DEB_ROOT used when building
should probably go into a control field, so that dpkg can warn if the package
is installed somewhere else. dpkg would, of course, also need to include
support for unpacking under a different root.
This way, packages could be installed to, say,
/usr/local/packages/package-version or some such, for situations like the one
that started this thread. It would also be a big step toward providing for all
the people who seem to want to install .deb's under their home directories and
other strange places.
Of course, this all turns to shit when you start trying to deal with maintainer
scripts (I suppose these could have DEB_ROOT substituted, but probably not
without a fair bit of rewriting), daemon programs, and other such nastiness.