Puritan: Difference between revisions
Line 35: | Line 35: | ||
/usr/bin/python2.5 ui/puritan/main.py ./compilation HEAD ./results build |
/usr/bin/python2.5 ui/puritan/main.py ./compilation HEAD ./results build |
||
''Note: the last step fails because /etc/mock/fedora-9-i386.cfg is not present in Debian's mock package 0.9.7-2'' |
''Note: the last step fails because /etc/mock/fedora-9-i386.cfg is not present in Debian's mock package 0.9.7-2, workaround is to create it from http://teach.laptop.org/~mstone/fedora-9-i386.cfg '' |
||
==== Help Out ==== |
==== Help Out ==== |
Revision as of 23:25, 13 December 2008
Puritan
Source code. README. Latest version: 0.4.
Puritan is a disk-image compiler which converts source material including packages, activities, and hacks into installable disk images. It consists of two pieces: a UI and a family of compilations (example). The compilations are simple Python programs which populate a filesystem with the materials you supply, then format it for distribution. The UI runs the compilations in a controlled environment created by Mock and configured according to the compilation's bootstrap and dependencies files.
Fedora Instructions
NB: These instructions refer to out-of-date code; for the newest code, check out the 'ui', '767', and 'dev' branches of puritan (anon. clone)
The Puritan UI is invoked by yum-installing puritan, then by checking out a 'puritan compilation' to be run by /usr/bin/puritan
$(git clone git://dev.laptop.org/users/mstone/puritan compilation; cd compilation; git checkout origin/devel_jffs2) puritan # read help sudo puritan -v ./compilation HEAD ./results build
Some puritan compilations now feature both 'download' operations:
sudo puritan -v ./compilation HEAD ./results download
and 'interactive' error-handling:
sudo puritan -v ./compilation HEAD ./results build -- -i
Debian Instructions
Note: yum seems to be broken on Debian at the moment, which is preventing this recipe from working. :( --Michael Stone 03:02, 7 March 2008 (EST)
sudo apt-get install mock git-core sudo usermod -a -G mock $USERNAME git clone git://dev.laptop.org/users/mstone/puritan ui (git clone git://dev.laptop.org/users/mstone/puritan compilation; cd compilation; git checkout origin/devel_jffs2) /usr/bin/python2.5 ui/puritan/main.py ./compilation HEAD ./results build
Note: the last step fails because /etc/mock/fedora-9-i386.cfg is not present in Debian's mock package 0.9.7-2, workaround is to create it from http://teach.laptop.org/~mstone/fedora-9-i386.cfg
Help Out
Finally, please help improve puritan by:
- Making puritan work on your platform - it's only dependencies are python2.5, git-core, and mock!
- Maintaining the devel_ext3 compilation
- Adding some reasonable package or buildroot caching system so that it runs faster without impairing build repeatability
- Improving the UI with commands for manipulating compilations, or for diffing builds, or for profiling compilations, or ...