On Wednesday, October 15, 2003, at 08:15 AM, Jeremy C. Reed wrote: > On Wed, 15 Oct 2003, Chris Gehlker wrote: > >> 1) A place for programs that Apple manages. Software Update will >> happily stomp all over this. >> 2) Another place for stuff you compile yourself. >> 3) A third place were apt-get puts programs > > Is the Debian build process good enough to allow changing the prefix of > where things are installed (including documentation)? > > Not all software understands the ./configure --prefix, so sometimes > patches are needed to make sure hard-coded paths are fixed. Apt-get is not that smart. The Fink Project folks who ported the Debian tools wisely decided to put everything in a separate tree. > >> 4) Yet another place where ordinary users are encouraged to install >> programs by drag-and-drop. >> 5) Some overlap between 1 and 4 > > Also, what about configuration directories? > > Can you have seperate /etc, /usr/pkg/etc, /usr/local/etc (however they > are > named) configuration directories and choose to consolidate if needed? > > With pkgsrc, configurations files are defined. By default they install > to > an examples directory and if don't exist are copied to the real > configuration directory. (Copying into place can be turned off too.) > If it > is not copied into place, because a file already exists, then it will > tell > you. Also, on deinstall the two files are compared and if different > then > the real (or edited) config file is not removed. The final location for > configurations can be defined pkgsrc-wide -- like you can choose to > have > all configurations installed to /home/joe/etc. The important key is > that > all the software that is built is trained to know that /home/joe/etc/. > > Some admins run pkgsrc on FreeBSD boxes and so they do have three > complete > software environments (The core FreeBSD, /usr/local for ports, and > /usr/pkg for pkgsrc installations). > > Also, I use pkgsrc on some machines as a regular (non-root) user. So I > can > have a fourth location for software installations (like > /home/reed/pkg/). IFAICT pkgsrc works exactly the same on every supported platform. That's quite a few platforms. I simply forgot it when I was enumerating Mac install locations. > >> Now that can make your head ache at first but you soon learn that with >> a few symlinks and some judicious manipulation of your PATH you get >> very fine control. You can change the personality of your machine just >> by swapping .zshrc files. >> >> Now my ideal Linux setup would follow the original Unix model and only >> put programs absolutely essential to operation of the machine in >> places >> like /bin or /sbin. Everything else would go under /usr/local/compiled >> or /usr/local/apt-gotten depending. >> >> Actual Linux is not that far from the ideal. Oops! I should have said 'Linux actually"