Pilgrim

From OLPC
Revision as of 11:14, 4 March 2008 by Ggoebel (talk | contribs) (questions added in need of answers)
Jump to: navigation, search

Template:Build system

Overview

Please add text to answer the following questions:

  • what is Pilgrim?
  • is it already on XO laptops or do you need to install it?
  • What problem does it solve?
  • Who is expected to use it?
  • What are the typical use cases for Pilgrim?

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?