Marcus Brinkmann <[EMAIL PROTECTED]> writes:

> Eventually, we should do the right thing and put each package in its
> own directory, /package/foo/ Then /bin would be the union of all
> /package/*/bin etc.

One scheme that sysadms I know have used with success is as follows:

1. Packages are installed in /i/$package/$version, e.g. gcc-3.0.3 would
   be installed with --prefix=/i/gcc/3.0.3/.

2. There's a symlink /i/$package/default that points to the
   "default" version of a package on the system. E.g. /i/gcc/default
   -> 3.0.3.

3. There are some scripts that populates directories under /usr/local
   with symlinks pointing to various files and directories under
   /i/$package/default, so that ordinary users don't need to know
   about the package system (on the Hurd, shadowfs should replace
   those scripts).

What this system does *not* address is user preferences, if different
users want different versions of a package, they have to use modules.
On the hurd they'd also have to either use something like modules, or
maintain a personal shadowfs.

You also get some ugliness with packages that already use package name
or version numbers, but for directory names further down in the tree,
like

  /i/emacs/21.1/share/emacs/21.1/lisp/abbrev.el
     ^^^^^^^^^^       ^^^^^^^^^^
  /i/guile/1.3.4/share/guile/1.3.4/ice-9/format.scm
     ^^^^^^^^^^^       ^^^^^^^^^^^
  /i/gcc/3.0.4/lib/gcc-lib/sparc-unknown-linux-gnu/3.0.4/cc1
     ^^^^^^^^^     ^^^                             ^^^^^

/Niels

_______________________________________________
Help-hurd mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/help-hurd

Reply via email to