TopicBranches
IconsPage/iconCircle48.png
information.png
IconsPage/IconBug.png
testing.png
todo.png
Ubuntu Topic Branches
What is a Topic Branch?
Topic Branches is a term used in git to describe a development branch that addresses a specific topic. For example, exploratory or experimental code is usually developed in a topic branch, which may then be rebased onto the master branch at some later time.
With respect to Ubuntu, we use Topic Branches in the core kernel git repository to represent a branch of the kernel that is specific to a platform that has an asynchronous release cycle from the rest of the distribution. The chief advantage of a Topic Branch is the ability to divorce the release version in debian/changelog from the distribution kernel by branching the contents of the debian directory. These are implemented using the abstracted debian.
e.g. We've merged the imx51 ARM flavour into the core kernel git repository. Eventually, when we need to start supporting contracts based on this flavour, we'll create a topic branch in the core kernel git repository for every platform. This topic branch would have it's own ABI control since it would get uploaded on a different schedule.
When do we create Topic Branches?
Topic Branches are created for a platform when the OEM business signs a contract for said development. This implies that support for the ARCH upon which this platform is based previously existed in the distribution kernel. If the platform was originally part of the distribution, then it will be removed in favor of the Topic Branch.
How do we keep Topic Branches up to date?
The primary reason that we create a Topic Branch as opposed to a separate repository is that any relevant changes to the distribution kernel can be easily reflected onto the Topic Branch, be rebasing the topic branch onto the latest distribution kernel. Good examples for commits that would be rebased onto a Topic Branch are stable updates and CVE patches. Given that the contents of the debian directory are unique to the Topic Branch, the OEM kernel developers can develop a source release at their leisure, knowing that their package also contains all of the important updates from the distribution kernel.
Current Branches
We have a number of branches currently. This section aims to list all branches we currently have and their purpose. Note that -9xx is reserved for c-o-d kernels, allocations in this range are recorded in Crack Allocations below. Each branch produces one or more flavours, documentation on those flavours can be found on the Kernel/Dev/Flavours page.
Precise
Repository
Branch
ABI Base
Purpose
Notes
ubuntu-precise
master
3.2.0-0
Primary Distro Kernels
ubuntu-precise
ti-omap4
3.2.0-1400
Texas Instruments OMAP4
ubuntu-precise
armadaxp
3.2.0-1600
Marvell Armada XP
Oneiric
Repository
Branch
ABI Base
Purpose
Notes
ubuntu-oneiric
master
3.0-0
Primary Distro Kernels
ubuntu-oneiric
ti-omap4
2.6.38-1300
Texas Instruments OMAP4
ubuntu-oneiric
linaro
2.6.39-1000
Linaro Kernels
ubuntu-oneiric
linaro
2.6.3x-1400
Linaro TI Landing Team Kernels
ubuntu-oneiric
linaro
2.6.3x-1800
Linaro ARM Landing Team Kernels
Natty
Repository
Branch
ABI Base
Purpose
Notes
ubuntu-natty
master
2.6.38-0
Primary Distro Kernels
ubuntu-natty
ti-omap4
2.6.38-1200
Texas Instruments OMAP4
ubuntu-natty
linaro
2.6.38-1000
Linaro Kernels
Maverick
Repository
Branch
ABI Base
Purpose
Notes
ubuntu-maverick
master
2.6.35-0
Primary Distro Kernels
ubuntu-maverick
ti-omap4
2.6.35-900
Texas Instruments OMAP4
ubuntu-maverick
mvl-dove
2.6.32-400
Marvel Dove SOC support (from Lucid)
ubuntu-maverick
linaro
2.6.35-1000
Linaro Kernels
Lucid
Repository
Branch
ABI Base
Purpose
Notes
ubuntu-lucid
master
2.6.32-0
Primary Distro Kernels
ubuntu-lucid
-
2.6.32-100
Freescale IMX51 SOC support
2
ubuntu-lucid
mvl-dove
2.6.32-200
Marvel DOVE SOC support
ubuntu-lucid
ec2
2.6.32-300
Amazon EC2 Xen 3.02 support
ubuntu-lucid
-
2.6.32-400
netbook related patches
2
ubuntu-lucid
ti-omap
2.6.33-500
Texas Instruments OMAP
ubuntu-lucid
fsl-imx51
2.6.31-600
Freescale IMX51 SOC support (2.6.31)
1
ubuntu-lucid
-
2.6.31-700
Marvel DOVE SOC support (2.6.31)
1,3
ubuntu-lucid
qcm-msm
2.6.31-800
Qualcomm MSM (Snapdragon)
5
ubuntu-lucid
ti-omap4
2.6.33-900
Texas Instruments OMAP4
4
NOTES:
- the ABIs for these branches must be always be greater than those of the previous release as they are based on the karmic version and we require them to upgrade from karmic to lucid, they are also necessarily in the Karmic ABI namespace.
- reserved for a future kernel, no branch associated.
- now deprecated as we have moved forward onto a native kernel version.
- proposed new branch, not yet official in the repository
- has been retired for lack of projects, users
Karmic
Repository
Branch
ABI Base
Purpose
ubuntu-karmic
master
2.6.31-0
Primary Distro Kernels
ubuntu-karmic
fsl-imx51
2.6.31-100
Freescale IMX51 SOC support
1
ubuntu-karmic
mvl-dove
2.6.31-200
Marvel DOVE SOC support
ubuntu-karmic
ec2
2.6.31-300
Amazon EC2 Xen 3.02 support
ubuntu-karmic
netbook
2.6.31-400
netbook related patches
1
2.6.31-600
see Lucid
2.6.31-700
see Lucid
NOTES:
- has been retired for lack of projects, users
Jaunty
Repository
Branch
Purpose
ubuntu-jaunty
hardy
x86 LTS server backport
ubuntu-jaunty
fsl-imx51
Freescale IMX51 SOC support
ubuntu-jaunty
netbook
netbook related patches
ubuntu-jaunty-lbm
netbook
netbook related patches
Intrepid
None.
Hardy
Repository
Branch
Purpose
ubuntu-hardy
netbook-lpia
netbook related patches
ubuntu-hardy-lbm
netbook-lpia
netbook related patches
Crack Allocations
ABI
Description
-999
Linus Mainline c-o-d (apw)
-997
drm-intel-next c-o-d (apw)
-996
drm-next c-o-d (apw)
-995
Wayland (sconklin)
Kernel/Dev/TopicBranches (last edited 2012年04月17日 07:06:32 by ikepanhc )