Pilgrim

From OLPC
Revision as of 04:24, 22 August 2008 by Mstone (talk | contribs)
Jump to navigation Jump to search

Pilgrim is a disk-image compiler. This means that it produces flashable disk images for OLPC XOs from a collection of RPMs and dirty tricks. It is run by OLPC on servers like xs-dev.l.o and pilgrim.l.o.

More information on pilgrim is at Building custom images.

Details

Source code

Pilgrim is composed of two large and two small scripts and many configuration files.

 pilgrim              # user-interface
 pilgrim-autobuild    # implementation
 build-one            # build the current branch
 make-repos           # touch up yum repositories

The most important branch is "autobuild". This is where changes deemed suitable for all build branches should be merged. See Pilgrim Commit Policy.

The other branches - joyride, meshtest, xtest, and rainbow store branch-specific data like which yum repositories to compose into the image, which packages to pull, which activities to include, and so on.

These data are mostly recorded in

 streams.d/olpc-branch.conf                    # a few important config variables
 streams.d/olpc-development-yum-install.conf   # yum repositories to compose, package exclusions
 streams.d/olpc-development.stream             # lists of packages and activities to install

Questions:

  • How do you enumerate the available branches? I.e. if you don't want to rely on the documentation being kept up to date...
  • Where can one find the streams.d directory?