On a daily basis, I must suffer using archaic operating systems like AIX, HP-UX, and OSF1 to just name a few. These OS’s and supporters of them would have you believe that they are on the bleeding edge of the curve, but I would say the curve left them decades ago.
So in order to stay sane at work ( sanity being determined by being able to use `ls’ with colors among other common things found on linux these days ), I use Gentoo Portage Prefix to compile all the “sane” tools for myself to use across architectures.
To give some background, at work we have nfs mounted home directories with way too much quota just begging to be used. Before I discovered the Gentoo Prefix project, I compiled bash, coreutils, and other things by hand so that I didn’t die using /bin/sh from the 70′s. Now my environment at work is much more complex and simple, all at the same time. I have created ~/portage directory which houses my global configuration ( make.conf ) in a directory (~/portage/globals) and also houses machine specific directories for my executables (~/portage/{linux-32,linux-64,hppa-*,aix-*…}).
This is all well and good until you need to constantly log into machines and are always required to type startprefix.sh. So Jeremy Olexa and I came up with a solution. We would create a script that would auto-negoiate all of the machine specific’s along with `exec ${your_fav_shell}’ upon login. Awesome enough, it also serves as a great way to switch to a different shell when whoever owns the system’s won’t let you.
The problem is, `bash’ is path specific for each machine you log in to. Not to mention, what about if you don’t have bash compiled for that host, or if you want to use that same environment reliably in scripts? A script I wrote, prefix.sh, addresses all of these concerns. If you’re interested in seeing the script, please feel free to comment and maybe I’ll post it somewhere.
Also, Jeremy Olexa has done some interesting work with prefix portage that could be of use if you’re looking for a setup like ours.