[OE stablebranch] [RFC] Commit and review policy

Koen Kooi k.kooi at student.utwente.nl
Sat Mar 29 11:44:56 CET 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

[copied from the wiki]

The current procedures of backporting fixes from the dev branch to the  
stable branch is based on RFC from the angstrom-distro-devel mailing  
list. These are subject to assessment/change and open for proposals of  
improvements. The philosophy of Angstrom backport is minimalistic  
(i.e., only fix broken things and important bugs) instead of keeping  
it as much in sync as possible with dev branch.

0. Commits to contrib/ and your distro config files (e.g. conf/distro/ 
angstrom*) don't require review, but be carefull anyway.

1. Please first send email with subject [Review] to the openembedded-stablebranch at openembedded.org 
  list with cumulative diff between the head revisions of stable and  
dev, and the revision numbers it entails. You can do this with the  
following example monotone commands.

e.g.

stable="org.openembedded.stable"

dev="org.openembedded.dev"

# prints out cumulative diff

mtn diff $stable/packages/<target> -r $(mtn head -b $stable | tail -n1  
| awk '{print $1}') -r $(mtn head -b $dev | tail -n1 | awk '{print $1}')

# prints out the revision numbers it entails in the dev branch

a. for untouched stable revisions since branching in the stable  
branch, get stablerevision with mtn status <target> | awk '/parent/  
{print $4}',

b. for things that have already been backported before, use human  
intelligence to find out the corresponding $stablerevision in the dev  
branch then in the dev branch mtn --no-graph --brief --to  
$stablerevision <target>

2. Once approved by two developers (with at least one OE stable branch  
maintainer), update the BACKPORTS.txt in the stable branch. This file  
holds all the revision from dev we want in this stable branch. The  
syntax of editing on the top of the file. To quickly lookup any  
backported revision within the file, use http://amethyst.openembedded.net/oe/viewmtn/viewmtn.py/revision/info/ 
<rev>

To easily generate lines in the format in BACKPORTS.txt, in the dev  
branch run

mtn --no-graph --no-files --to $stablerevison log <target> | /path/to/ 
mtnlog2backports

mtnlog2backports is a simple awk script to help with formatting. You  
can copy it into a convenient location. You should replace the  
<Approved by> by the names of the developers approving the backport  
before running the above command each time.

Then in the stable branch

mtn pluck -r <rev> <target>

one by one, from the oldest,

[committing in between. mtn gives default commit message, you should  
remove first line as it suggest. Each commit should still include  
revision which is being merged and changelog subject for it, I suggest  
just pasting line from BACKPORTS.txt, leaving mtn's default text where  
it is, at the top, and paste such a line after it. That might help  
with automated parsing of ever will be required. But thus such merges  
do not follow commit message policy of "normal" commits.] COMMENT  
[committing in between is just not practical for large changes.  
recommend to commit with the BACKPORTS.txt after a logical unit  
backport]

One final note is that mtn pluck fail for the following case: a rev  
adds a new files, next rev patches it. In this case, you can just copy  
changed files from dev, and commit reminder of revs together, pasting  
few BACKPORTS.txt lines. Of course, you should be careful to not pull  
more changes than needed in such case.

3. To add/modify packages to be autobuilt and appear in the angstrom  
feeds.

	∙ If you have commit rights: edit org.openembedded.stable/contrib/ 
angstrom/build-release.sh
	∙ If you don't have commit rights: send a clear email to angstrom- 
distro-devel stating which recipenames you want to have added.
4 To add/modify machine/images to be autobuilt and appear in the  
unstable/autobuild/images

	∙ If you have commit rights: edit org.openembedded.angstrom-2007.12- 
stable/contrib/angstrom/build-images.sh .
	∙ If you don't have commit rights: send a clear email to angstrom- 
distro-devel stating which images you want to have built for certain  
machines.
5. Frequency of changes propagating to the user visible area (i.e.,  
feeds and image download dir)

	∙ The frequency of refreshing the feed is "when the stable branch has  
changed", either with backports or edits to build-feed.sh
	∙ The autobuilder builds machine/image at least weekly, but uploading  
to unstable/autobuild/images is generally only done when -rX -> -rX+1.  
Moving tested images from unstable/autobuild/images to unstable/images  
depends on machine mentors availability.

- -------

Thought, comments, additions?

regards,

Koen




-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (Darwin)

iD8DBQFH7h2vMkyGM64RGpERAra4AKC4b7y5eI0Imu5QXUtJ3UCo/TKUugCfe+vP
MMY0MS7/eHD36xv5vnlOB+g=
=Ew3M
-----END PGP SIGNATURE-----



More information about the Openembedded-stablebranch mailing list