Hello all,
This month's Linaro UEFI release is special: it's the first release
from the new tree, using the new process.
The whole thing is documented here; including submission guidelines,
release dates, tree locations, build instructions, ...:
https://wiki.linaro.org/LEG/Engineering/Kernel/UEFI/
The tree can be found here:
http://git.linaro.org/gitweb?p=arm/uefi/uefi-next.git;a=summary
The main points about the new tree:
- The "master" branch is "long lived", it never gets rebased.
- it contains the latest edk2 code from Tianocore
- this is taken directly from the Tianocore GIT, so the SHAs match
- it contains the latest FatDriver2 from Tianocore
- Tianocore does not run a GIT repo for this project
- this is taken from the Linaro GIT mirror of the Tianocore SVN
- it contains the latest BaseTools from Tianocore
- ie. not the version in the edk2 repo but the latest devel code
- this is taken directly from the Tianocore GIT, so the SHAs match
- branches exist for each sub-tree:
- "tianocore-edk2"
- "tianocore-edk2-fatdriver2"
- "tianocore-edk2-basetools"
- The "linaro-tracking" branch is "long lived", it never gets rebased.
- it contains the all latest development work from Linaro
- currently linaro-uefi-2013.01
- The "linaro-release" branch is "long lived", it never gets rebased.
- it contains the latest release from Linaro
- currently linaro-uefi-2013.01
- Monthly tracking branches are created
- At the start of each month, I will update the master branch from
the Tianocore upstreams
- It gets tagged as "linaro-base-YYYY.MM"
- I will then take a branch from this: the monthly tracking branch
- The monthly tracking branch is "long lived", it never gets rebased.
- "linaro-tracking-2013.01" is the most recent branch
- it is now frozen and the release has been cut
- I am about to create the "linaro-tracking-2013.02" branch
- Topic branches are rebased each month
- All branches for specific topics, e.g., Arndale BSP, get rebased to
the monthly tracking branch
- Any upstreamed patches are dropped
- The patch set is tidied up; any "fix" patches are squashed, etc.
- The branch is then merged to the monthly tracking branch
- Release Candidates
- Once all the topic branches are merged to the monthly tracking
branch, tracking gets tagged as a release candidate
- "linaro-tracking" is updated to each RC
- Patches are accepted via the Boot Architecture mailing list
- During the cycle, patches are merged into the relevant topics
- When a complete series of patches is merged, a new RC is created.
- This is currently ad-hoc and not on a time-table
- Each time the tree is updated, a snapshot build is triggered in
Linaro's Continuous Integration system, Jenkins.
- Builds can be found on snapshots.linaro.org [1]
- Release
- At the end of the cycle, the monthly tracking branch is frozen
- Dated follow linux-linaro
- Freeze is the 2nd last Thursday of the month, eg. 21st Feb 2013
- Only urgent fixes can be accepted
- Release Candidate builds are made on the following Monday,
eg. 25th Feb 2013
- The release happens the last Thursday of the month,
eg, 28th Feb 2013
- Release binaries are copied to releases.linaro.org [2]
- The released code is copied to the uefi.git tree [3]
- some users may find a problem using a tree where some branches
are rebased
- uefi.git has only 1 branch and is never rebased
- the SHA ids do not match uefi-next.git
I see this process as "in progress" and open to suggestions and change.
Regards,
Ryan.
[1] https://snapshots.linaro.org/components/kernel/uefi-next
[2] http://releases.linaro.org/13.01/components/kernel/uefi-linaro
[3] http://git.linaro.org/gitweb?p=arm/uefi/uefi.git;a=summary