LWN.net Logo

GoboLinux

GoboLinux

Posted Jan 10, 2008 20:57 UTC (Thu) by cdmiller (subscriber, #2813)
Parent article: GoboLinux

The base idea is not unlike a common old time practice for organizing software under
/usr/local.  One installs the software in it's own directory under /usr/local/,
/usr/local/apache for example.  Then one creates symbolic links to the executables and needed
libraries, /usr/local/bin/httpd -> /usr/local/apache/bin/httpd.


(Log in to post comments)

GoboLinux

Posted Jan 11, 2008 3:09 UTC (Fri) by madscientist (subscriber, #16861) [Link]

There's even software to manage this for you.  See http://www.gnu.org/software/stow/ for
example.

GoboLinux

Posted Jan 12, 2008 1:16 UTC (Sat) by nix (subscriber, #2304) [Link]

I have a substantial pile of patches for this (speedups, optionally 
trading speed against unstow accuracy, that sort of thing) and it seems to 
be unmaintained. I'll probably put them up somewhere soon.

GNU Stow

Posted Jan 12, 2008 17:00 UTC (Sat) by madscientist (subscriber, #16861) [Link]

Have you tried contacting the FSF?  If no one is maintaining it they're probably looking for
volunteers...

GNU Stow

Posted Jan 13, 2008 18:28 UTC (Sun) by nix (subscriber, #2304) [Link]

I may well do that, but I have to switch jobs first, to one whose lawyers 
don't just *sit* on the FSF's legal paperwork and then deny they ever 
received it when contacted.

Bah.

epkg

Posted Jan 14, 2008 1:24 UTC (Mon) by patha (subscriber, #6986) [Link]

I tested GNU Stow many years ago, but found epkg (http://encap.org/epkg/) to be better. I
still find epkg to be an indispensable tool for "local" software.

epkg

Posted Jan 14, 2008 20:32 UTC (Mon) by nix (subscriber, #2304) [Link]

It seems good at first, but it's a classic example of bundling too much 
into one package. Many of its features would better be placed in a build 
system wrapped around encap; e.g. downloading and running autoconf have 
*no* place in a symlink-creator. Transaction logging is also completely 
out of place there.

I have something better (the only feature it's missing is the 
autodownloading and it has *many* features above and beyond encap) and (to 
quote corbet) as soon as I've cleaned it up I'll be releasing it. :)

(However, there'll be a public git repo in a matter of weeks, not years!)

GoboLinux

Posted Jan 12, 2008 11:49 UTC (Sat) by dh (subscriber, #153) [Link]

Hi,

I remember that I did software management like this back in 1995 when I 
was student administrator at the university's computer science institute. 
My colleague Thomas Esser (the guy who did teTeX) even wrote a perl 
script "lntool" which did the links from /usr/local/{bin,lib,etc,...} into 
the specific subdirectories.

I do this even today for software I install additionally to the 
distribution's packages. As this is usually only a small number of 
programs, I do the links by hand today. And unfortunately, since some 
version of the basic tools, softlinked libraries are not found and used 
any more, so for /usr/local/lib, this does not work any more. :-(

Best regards,
Dirk

GoboLinux

Posted Jan 12, 2008 13:05 UTC (Sat) by nix (subscriber, #2304) [Link]

Symlinks to shared libraries are picked up by /sbin/ldconfig just fine 
(and thus used by ld-linux.so.2). Back in the glibc 2.2.x days, they 
weren't, so you had to add heaps of entries to /etc/ld.so.conf instead: 
but this was fixed long ago:

2001-05-07  H.J. Lu  <hjl@gnu.org>

        * elf/ldconfig.c (dir_entry): Add ino and dev.
        (add_single_dir): Compare ino and dev to check if 2 directory
        paths are the same or not.  Free entry->path for duplicates.
        (add_dir): Initialize ino and dev for entry.
        (search_dir): Handle symlink to directory.

2003-07-21  HJ Lu  <hongjiu.lu@intel.com>

        * elf/ldconfig.c (search_dir): Treat symlink as regular file
        if it won't point to itself.

2003-08-25  Jakub Jelinek  <jakub@redhat.com>

        * elf/ldconfig.c (search_dir): Treat symlink as regular file
        if it won't point to itself unless it is .so symlink for the 
linker.

GoboLinux

Posted Jan 14, 2008 21:23 UTC (Mon) by dh (subscriber, #153) [Link]

Hi,

thanks for clarification. Could be that I was wrong about the lib 
problems. Perhaps I remember the switch from a.out to elf or from Irix to 
Linux (which was long before 2001...). I do not install much software this 
way any more as most simply comes with the distributions. And if, I 
usually just make the link in /usr/local/bin by hand.

Best regards,
Dirk

Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds