Puritan: Difference between revisions

From OLPC
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 8: Line 8:
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.
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 activty 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.
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.
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 [[Msutils|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 [http://dev.laptop.org/git?p=users/mstone/puritan;f=puritan/puritan/config.py;hb=devel_jffs2; configuration file].

Revision as of 02:27, 9 February 2008

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.