Puritan
Puritan is a minimal tool for constructing OLPC disk images from sources including RPM repositories and build-stream descriptions.
In the puritan framework, each and every build configuration is described by a git commit and can be authoritatively identified by a git tag pointing to that commit.
If desired, the RPM and activity sources for each build can be archived in a separate git repository and can be strongly versioned along with the puritan snapshot that combined them by including the sources as a git submodule in the puritan commit that performs the build.
It is loosely derived from a similar tool, Pilgrim, written by David Zeuthen, John Palmieri, C. Scott Ananian, Dennis Gilmore, and Michael Stone.
The dependencies of puritan vary from branch to branch; however,
git-core python-2.5 python-msutils mtd-utils e2fsprogs rpm yum coreutils findutils util-linux wget gzip bzip2 cpio tar
should cover you.
Puritan is invoked as follows:
git clone git://dev.laptop.org/users/mstone/puritan cd puritan/puritan git checkout devel_jffs2 sudo python main.py
Results are currently produced in puritan/puritan/jobdir. This is one of several options that are controlled by the per-branch puritan configuration file.