1. I use
pkgutils from
CRUX Linux.
- It is designed for a source based distro, so it's very simple to use in such system.
- The packages are normal tarballs, so they can be installed without the package manager if necessary. The system survives accidents like "rm -rf /usr" without rescue cd.
- It doesn't have extra dependencies (wget is needed to fetch the source tarballs, but you probably need it anyway). Most other package management systems require big things like BerkeleyDB.
- Updating packages is usually very easy: change the version number in the Pkgfile and run "pkgmk -d -u".
- Command "pkginfo -o file" displays the owner package of the file. If a file is in wrong place or has wrong permissions, I can easily find which package put it there and fix the package. Other package managers typically don't have this feature at all or it requires a kilometer long command line.
- The build program (pkgmk) is a shell script, so it's easy to add your own extensions to it.
2. Make a live-cd (the makefile
here is a good starting point). Write an installation script and put it and the package tarballs on the cd. For updates I think setting up a cvs repository is the best way, especially if you want your friends to maintain some of the packages.
3. I think it's best to use latest stable releases of all packages, but note that gcc 4.0.0 is not a stable release. Having always up-to-date system is one of the big advantages of LFS.