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%3Ba=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%3Ba=summary
boot-architecture@lists.linaro.org