Puritan

From OLPC
Revision as of 02:27, 9 February 2008 by Mstone (talk | contribs)
Jump to navigation Jump to search

Template:Build system

This article is a stub. You can help the OLPC project by expanding it.

Source code. README.

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.