I am currently using Gentoo due to lack of time but would love to return to building my own installs.
In the meantime, I am toying with smarter versions of the distpoint/tarlist code which would be encapsulated in a freshmeat like website. Those parts have always sidetracked me from actual building—nothing new there.
OakHeart is a document containing build commands and documentation for building Linux installations from source. It also includes tools for running the commands and automating several other tasks. A full description, including "screenshots", is available in the instructions of which the single file HTML rendering can be read online.
Other similar projects are nALFS, which is closer to the LFS project, and Amin. The advantages of OakHeart are that the main developers use the same format that the build tools use, in contrast to LFS/nALFS, and that it is very simple, in contrast to Amin.
We ask that you first read the documentation section of the above and the things referenced there. We try to keep it short and to the point. After that, we welcome questions because they point to areas where the documentation could be improved.
Current OakHeart releases are development previews. Instead of a version number, they're tagged by the revision number in the OakHeart Subversion repository. The current revision of OakHeart is oakheart-r659.tar.bz2.
Note that this file does not currently mention package additions or upgrades
except for security fixes. The ChangeLog does, however.
Revision: 659 (2004-09-19)
* Elements "for" and "file" and attributes "package" and "name" are now
obsolete and have been removed. They are replaced by elements "selector"
(and children) and "name". There is spec type documentation for this
but the only current examples are the code.
* The deprecated "Normal" section has been merged into "Locations" and
it in turn has been moved into the "Out of Date" section of "World".
* index.xml has been renamed to instructions.xml, data/ to instructions/,
and index.onefile.html to instructions.html.
* --html-onefile has been renamed to --html
Revision: 490 (2004-03-27)
* httpd (apache) security fixes
* ./oakheart automatically records the location of its directory in a
config file so it is no longer necessary to run it from the current
directory after the first time.
* ./oakheart --download and --commands now output to stdout instead of a
file. There's a need for --exec and and --output-file, methinks.
* ./oakheart --clean removed
Revision: 455 (2004-03-18)
* openssl security fix
Revision: 448 (2004-03-16)
* Tag "all" added so "./oakheart --download all" works.
* Some commands for Linux kernel building and upgrading. Check 'em out
and send comments.
* The beginnings of md5sum support.
Revision: 400 (2004-01-31)
* gaim security fix. Everyone should upgrade.
* Caching of tarlist data. As much as a 3x speedup in "./oakheart --hot".
Revision: 382 (2004-01-16)
* xchat security fix. Everyone should upgrade.
* Name changed to OakHeart.
Revision: 338 (2003-12-12)
* Many software updates; see ChangeLog file.
* The --tarlist option is no longer needed.
* There's a hacking section in the docs now.
Revision: 291 (2003-11-09)
* commands.sh no longer runs "sudo -v" during init. If you care, run it
before starting commands.sh.
* Default --tarlist action is --diff and tarlists are created as unmarked.
Revision: 266 (2003-10-24)
* Refactoring is pretty much done. Now for new progress. There is some
documentation in index.onefile.html.
Revision: 228 (2003-08-30)
* This in an interim release to show progress during refactoring. The
list of things that are working again is in index.onefile.html so
there's no sense reproducing it here.
Revision: 180 (2003-06-28)
* ./xlfs is totally changed--you'll have to check the docs for the new
usage. Search is in pretty good shape but create is only just enough
there to be used.
* Search filters are in sed now but no XML macro's yet. It's sloooooow.
* Package lists in files are supported and used internally now. If you
watch what ./xlfs does, you'll see how it's done. Future releases should
document that and probably provide a neat interface for naming such
files on the command line.
Revision: 137 (2003-06-07)
* "make -f download.mk glibc" now works. Those tags are hand specified
using download/for elements.
* Stuff from README moved into the data. index.txt, among other things,
contains a formatted version.
* html-onefile.html is now html.onefile.html (to ease autocomplete.)
Revision: 100 (2003-05-30)
* config.sh+mk is replaced by config.xml
* WARNING: SEARCH_DATA is now set in search.sh. if you had changed it....
* xlfs run is gone, scripts are standalone now
* xlfs download is gone, download.mk is going to be handled like the
scripts are
Revision: 79 (2003-05-23)
* Package upgrades.
Revision: 67 (2003-05-17)
* "xlfs create" now takes a comma seperated list of what to include
* the older normal build data is somewhat cleaned up
Revision: 62 (2003-05-04)
* index.txt is now generated, using groff and stuff.
Revision: 52 (2003-04-25)
* Package upgrades.
Revision: 45 (2003-04-21)
* index-onefile.html is now generated.
Revision: 38 (2003-04-17)
* "make newcheck" is now "make search"
* the default search data directory moved from ~/.xlfs/check/data
to ~/.xlfs/search
* internally, everything that was called check is now called search
OakHeart (then named XLFS) was started in early April, 2003. It consisted
of a script I was using at the time but with the data loading module ported
from Awk to XSLT and the database converted from a line and field format
to XML. That script was the outgrowth of my experience with build tools and
processes, including those of the Linux From Scratch project, going back
as far as mid 1999.
-- Seth W. Klein