Build system: Difference between revisions
RafaelOrtiz (talk | contribs) m (+cat) |
|||
Line 22: | Line 22: | ||
3. Update ~/public_rpms/<build>/ChangeLog to describe the changes made by the packages you are introducing. |
3. Update ~/public_rpms/<build>/ChangeLog to describe the changes made by the packages you are introducing. |
||
=== ChangeLog Format === |
|||
The format of this ChangeLog is |
|||
<pkg-lines> (containing ".xo", ".rpm") |
|||
<detail-lines> (not containing the string ".xo", ".rpm", "--") |
|||
-- <signature> (-- is the line marker) |
|||
<pkg> |
|||
<pkg>.rpm |
|||
<detail> |
|||
-- <signature> |
|||
An example: |
|||
Etoys-61.xo |
|||
etoys-2.2.1710-1.noarch.rpm |
|||
etoys-2.2.1710-1.src.rpm |
|||
* changed activity launch to match new Sugar |
|||
* words in tiles separated by spaces not camelCase |
|||
* adds "distance to" and "bearing to" tiles |
|||
* better .pot sort order |
|||
-- Bert Freudenberg <bert@freudenbergs.de> Tue, 16 Oct 2007 |
|||
squeak-vm-3.9-12olpc1.i386.rpm |
|||
squeak-vm-3.9-12olpc1.src.rpm |
|||
* big merge with trunk |
|||
* unicode key events |
|||
* fixed dbus plugin |
|||
-- Bert Freudenberg <bert@freudenbergs.de> Mon, 15 Oct 2007 |
|||
== Output from the Build System == |
== Output from the Build System == |
Revision as of 22:10, 27 October 2007
Maintainers
1. Scott Ananian (c_scott)
2. Michael Stone (m_stone)
3. Chris Ball (cjb)
Build Branches
We currently have four build branches: joyride, meshtest, xtest, and rainbow.
If you are trying to perform a delicate piece of integration for which it would be helpful to have a separate build, please contact one of the build system maintainers.
Instructions for Use
To add a completely new piece of software (either a new activity or a new package) to a build, two steps are necessary.
1. Modify streams.d/olpc-development.conf to mention the new activity or new package.
2. Include a source code package (.xo or .src.rpm) and a binary package (.xo or .rpm) in your dropbox (which is located at ~/public_rpms/<build>/ on dev.laptop.org).
3. Update ~/public_rpms/<build>/ChangeLog to describe the changes made by the packages you are introducing.
ChangeLog Format
The format of this ChangeLog is
<pkg-lines> (containing ".xo", ".rpm") <detail-lines> (not containing the string ".xo", ".rpm", "--") -- <signature> (-- is the line marker) <pkg> <pkg>.rpm <detail> -- <signature>
An example:
Etoys-61.xo etoys-2.2.1710-1.noarch.rpm etoys-2.2.1710-1.src.rpm * changed activity launch to match new Sugar * words in tiles separated by spaces not camelCase * adds "distance to" and "bearing to" tiles * better .pot sort order -- Bert Freudenberg <bert@freudenbergs.de> Tue, 16 Oct 2007 squeak-vm-3.9-12olpc1.i386.rpm squeak-vm-3.9-12olpc1.src.rpm * big merge with trunk * unicode key events * fixed dbus plugin -- Bert Freudenberg <bert@freudenbergs.de> Mon, 15 Oct 2007
Output from the Build System
The build system produces things:
1. An RPM repository, currently located under the repository root
2. The output of the build system is currently located under the streams root
Implementation Details
The build system we want to have consists of the following components:
/------\ | F7 yum |--------+ | repos | | \------/ V /--------\ +--------+ +----------+ +---------+ /------\ | upstream | | distro | | pkg build| |compose | | stable | | src |-->| SCM |-->| system |-->| tools |-->| rainbow| | repos | | (CVS) | | (Koji) | |(joyride)| | xtest | \--------/ +--------+ +----------+ +---------+ \------/ ^ ^ ^ /--------\ | | | |patches |-----+ | + - - - - - - - + | \--------/ | | dropbox | | +----->| system |----+ /--------\ | | (public_rpms) | | olpc | | + - - - - - - - + | sources |-------+ | (GIT) | \--------/ |-----------| |----------------------------| |-----------------------| sources package maintenance package composition CVS,GIT Koji, Mock, rpmbuild mash, pilgrim, ChangeLogs
The one we actually have is fairly similar but the package-construction step is done partially in Koji and partially by individual package maintainers using tools like Mock and rpmbuild.