Pilgrim: Difference between revisions

From OLPC
Jump to navigation Jump to search
(questions added in need of answers)
No edit summary
Line 2: Line 2:
{{Build system}}
{{Build system}}


== Overview ==
=== Pilgrim ===


Please add text to answer the following questions:
Please add text to answer the following questions:
Line 11: Line 11:
* What are the typical use cases for Pilgrim?
* What are the typical use cases for Pilgrim?


== Details ==
==== Details ====


[http://dev.laptop.org/git/users/cscott/pilgrim Source code]
[http://dev.laptop.org/git/users/cscott/pilgrim Source code]

Revision as of 20:05, 16 March 2008

Template:Build system

Pilgrim

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?