On Wed, Sep 17, 2008 at 9:34 PM, Michael Homer <[EMAIL PROTECTED]> wrote: > Me again, > A couple of days ago I committed two new tools that Jonas and I had > kicked around on #gobolinux on and off for while now: > VersionExecutables and UnversionExecutables. VersionExecutables > creates hard links to the executables within a program, named with the > version of the program they belong to. > > For each executable foo in a program's (say, Qt 3.3.7's) bin and sbin > directories, the script creates a hardlink for each level of the > version: foo-3.3.7, foo-3.3, foo-3. They are hardlinks because > symlinks won't work - they would be evaluated relative to /S/L/E, so > the links would all end up pointing to the current version. The links > are all created within the /P/Qt/3.3.7/(bin|sbin), and their names are > listed in Resources/VersionedExecutables, which is used by > UnversionExecutables to reverse the process. Existing links in that > format (like zsh has) will not be overwritten or listed in R/VE. > > This is useful particularly for cases like Qt, where the executables > are incompatible between 3- and 4-series releases, and problems arise > when you have the wrong one as Current when you try to compile > something. Other programs end up in similar positions. Gobo lets you > install multiple versions in parallel, but sometimes they're hard to > access when the program doesn't provide versioned names of its own. > > I would like to enable this by default, and possibly even make it > mandatory so that recipes can rely upon the behaviour. The only > downside is that tab completion won't insert the space at the end any > more (and /Programs/foo has to be on a filesystem that supports hard > links, but I think all the ones we care about do). I think the > benefits outweigh the cost, especially as far as allowing recipes to > be clear about the version they're getting goes.
I think this would make /S/L/E too polluted. Perhaps enabling it for some packages (eg, in the Qt recipe) would be fine, but not for every package. I'm also not sure about the behavior of hardlinks when you pack a tarball for a binary package (I'm guessing they duplicate by default, keep that in mind). -- Hisham _______________________________________________ gobolinux-devel mailing list gobolinux-devel@lists.gobolinux.org http://lists.gobolinux.org/mailman/listinfo/gobolinux-devel