localfix - manages packages in /usr/local

I haven't documented this yet. It's like GNU Stow, but even simpler.

Credit for this idea has to go to Harris Gilliam, who wrote the original version, I know not when. I completely re-wrote it and added some features a while back. It needs to be re-written again; the code is somewhat ugly.


# This script builds a link farm for /usr/local into all the package
# directories listed in the file 'srcdirs'.  Directories of interest
# are listed in the file destdirs.  If a line in srcdirs is commented
# out with a '#' then links to that directory will be deleted.  Broken
# links will also be cleaned up when the script is run.

# If a real file (or directory) already exists where the link would
# go, it is skipped, and the real file is left in place.

# The point of the script is to allow the software package 'foo' to be
# installed in /usr/local/foo. (I.e. /usr/local/foo/bin/foo,
# /usr/local/foo/lib/libfoo.so, /usr/local/foo/include/foo.h) With
# many packages this is easily done by using the
# --prefix=/usr/local/foo flag at configure-time.  Then, this script
# creates links to make is seem like it's installed in /usr/local.
# Only /usr/local/bin needs to be in the users path, and most software
# checks /usr/local/lib for shared libraries, etc.

# To add a package, configure it with --prefix=/usr/local/foo, add
# "foo" to the file 'srcdirs' and re-run this script.

# To temporarily remove a package, just comment out it's entry in
# 'srcdirs', and re-run this script.  

# To permanently delete a package, just delete it's directory and
# remove the line in 'srcdirs', and run the script.  

Projects page, Dan Risacher