ExtendedStable

Differences between revisions 31 and 43 (spanning 12 versions)
Revision 31 as of 2013-12-05 16:26:29
Size: 7491
Editor: bl20-223-32
Comment: Added 3.11 extended stable kernel
Revision 43 as of 2016-07-13 18:58:46
Size: 6334
Editor: kamalmostafa
Comment: 4.2.y-ckt EOL
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
= Stable Kernel Updates = = Extended Stable (the -ckt kernel series) =
Line 4: Line 4:
The Ubuntu Kernel Team provides git branches available to the greater Linux community which provides stable patches for certain versions of the Linux kernel, when upstream stable support drops off. It forks the latest upstream stable release (with the exception of 2.6.32+drm33 releases, which are a special case). The Canonical Kernel Team ("-ckt") provides extended stable support for certain versions of the Linux kernel, in the form of git branches available to the greater Linux community. These versions start from the last upstream stable release after upstream support ends.
Line 8: Line 8:
The repository with stable linux branches is available at git://kernel.ubuntu.com/ubuntu/linux.git (web interface: http://kernel.ubuntu.com/git?p=ubuntu/linux.git). These are the relevant branches: The repository with stable linux branches is available at git://git.launchpad.net/~canonical-kernel/linux/+git/linux-stable-ckt (web interface: https://git.launchpad.net/~canonical-kernel/linux/+git/linux-stable-ckt). These are the relevant branches:
Line 15: Line 15:
<version> is the linux stable series the Ubuntu Kernel Team provides stable patches for. See the [[#VersionMatrix|Version Matrix]] section for more information. <version> is the linux stable series for which the Canonical Kernel Team provides stable patches. See the [[#VersionMatrix|Version Matrix]] section for more information.
Line 28: Line 28:
All patches for the stable releases maintained by the Ubuntu kernel team should be submitted upstream, following the stable upstream acceptance rules (see Documentation/stable_kernel_rules.txt in the upstream kernel source tree for more information). All patches for the -ckt stable releases should be submitted upstream, following the stable upstream acceptance rules (see Documentation/stable_kernel_rules.txt in the upstream kernel source tree for more information).
Line 30: Line 30:
The Ubuntu Kernel Team should monitor and pick the relevant stable patches automatically once they are released with upstream stable. In case that not happens, or the change/patch is only applicable to one of the maintained versions by the Ubuntu kernel team (in the case the patch isn't relevant to any of the current stable kernel versions being maintained by upstream, for example when a Cc: stable@kernel.org isn't applicable anymore), you can contact the Ubuntu kernel team at kernel-team@lists.ubuntu.com requesting the patch to be applied. Of course the patch must conform to the stable upstream acceptance rules in the second case. The Canonical Kernel Team should monitor and pick the relevant stable patches automatically once they are released with upstream stable. In case that not happens, or the change/patch is only applicable to one of the -ckt stable versions (in the case the patch isn't relevant to any of the current stable kernel versions being maintained by upstream, for example when a Cc: stable@kernel.org isn't applicable anymore), you can contact the team at kernel-team@lists.ubuntu.com requesting the patch to be applied. Of course the patch must conform to the stable upstream acceptance rules in the second case.
Line 35: Line 35:
This is the table with status of linux kernel versions that Ubuntu Kernel Team (UKT) provided, provides or plan to provide with stable patches support This is the table with status of linux kernel versions that Canonical Kernel Team provided, provides or plans to provide with stable patches support
Line 37: Line 37:
||<#DDDDDD>'''Linux Version'''||<#DDDDDD>'''Last Upstream Stable'''||<#DDDDDD>'''Start of UKT support'''||<#DDDDDD>'''End of UKT support'''||<#DDDDDD>'''Maintainer'''||
|| 3.11 || 3.11.10 || December 2013 || August 2014 || Luis Henriques ||
|| 3.8 || 3.8.13 || May 2013 || August 2014 || Kamal Mostafa ||
|| 3.5 || 3.5.7 || November 2012 || March 31st, 2014 || Luis Henriques ||
|| 3.2 || 3.2.? || when upstream stable drops 3.2.y series || April 2017 || - ||
|| 2.6.32+drm33* || 2.6.32.?/2.6.33.20 || when upstream stable drops 2.6.32.y series/already on lookout for drm fixes for 2.6.33 as it's unsupported upstream now || April 2015 || Stefan Bader ||

* Currently 2.6.32+drm33 is maintained as a special case and the repository and other details diverge from what is described in this page
||<#DDDDDD>'''-ckt Kernel Version'''||<#DDDDDD>'''Last Upstream Stable'''||<#DDDDDD>'''CKT support window'''||<#DDDDDD>'''Maintainer'''||
|| 4.2.y-ckt || 4.2.8 || December 2015 to July 2016 (now EOL) || Kamal Mostafa ||
|| 3.19.y-ckt || 3.19.8 || May 2015 to July 2016 (now EOL) || Kamal Mostafa ||
|| 3.16.y-ckt || 3.16.7 || October 2014 to April 2016 (now EOL) || Luis Henriques ||
|| 3.13.y-ckt || 3.13.11 || April 2014 to April 2016 (now EOL) || Kamal Mostafa ||
|| 3.11.y || 3.11.10 || December 2013 to August 2014 (now EOL) || Luis Henriques ||
|| 3.8.y || 3.8.13 || May 2013 to August 2014 (now EOL) || Kamal Mostafa ||
|| 3.5.y || 3.5.7 || November 2012 to March 2014 (now EOL) || Luis Henriques ||
|| 3.2.y || 3.2.? || after Ben Hutchings drops 3.2.y to April 2017 || - ||
|| 2.6.32, 2.6.33 || 2.6.32.?, 2.6.33.20 || 2.6.32.y to April 2015 (now EOL)|| Stefan Bader ||
Line 48: Line 50:
We provide regular debian package builds of the repository contents with the stable patches. These are the current builds being provided, from the versions maintained above:

|| http://kernel.ubuntu.com/~kernel-ppa/mainline/linux-3.11.y.z-queue || Builds of the linux-3.11.y-queue branch ||
|| http://kernel.ubuntu.com/~kernel-ppa/mainline/linux-3.11.y.z-review || Builds of the linux-3.11.y-review branch ||
|| http://kernel.ubuntu.com/~kernel-ppa/mainline/ {v3.11*-saucy} || Builds of the v3.11.y.z released tags ||
|| http://kernel.ubuntu.com/~kernel-ppa/mainline/linux-3.8.y.z-queue || Builds of the linux-3.8.y-queue branch ||
|| http://kernel.ubuntu.com/~kernel-ppa/mainline/linux-3.8.y.z-review || Builds of the linux-3.8.y-review branch ||
|| http://kernel.ubuntu.com/~kernel-ppa/mainline/ {v3.8*-raring} || Builds of the v3.8.y.z released tags ||
|| http://kernel.ubuntu.com/~kernel-ppa/mainline/linux-3.5.y.z-queue || Builds of the linux-3.5.y-queue branch ||
|| http://kernel.ubuntu.com/~kernel-ppa/mainline/linux-3.5.y.z-review || Builds of the linux-3.5.y-review branch ||
|| http://kernel.ubuntu.com/~kernel-ppa/mainline/ {v3.5*-quantal} || Builds of the v3.5.y.z released tags ||

We also provide builds for other stable releases, as can be seen at http://kernel.ubuntu.com/~kernel-ppa/mainline/.
We provide regular debian package builds of these stable releases at http://kernel.ubuntu.com/~kernel-ppa/mainline/.

Extended Stable (the -ckt kernel series)

The Canonical Kernel Team ("-ckt") provides extended stable support for certain versions of the Linux kernel, in the form of git branches available to the greater Linux community. These versions start from the last upstream stable release after upstream support ends.

Repository

The repository with stable linux branches is available at git://git.launchpad.net/~canonical-kernel/linux/+git/linux-stable-ckt (web interface: https://git.launchpad.net/~canonical-kernel/linux/+git/linux-stable-ckt). These are the relevant branches:

master

tracks the Linus master tree

linux‑<version>.y

stable tree for linux <version> release, final patches releases go to this

linux‑<version>.y‑queue

last release of stable tree for <version> release, with patches on top that are to be released with next <version> stable update

linux‑<version>.y‑review

last release of stable tree for <version> release, with patches on top ready to be released with next <version> stable update, but which are on release candidate status (waiting any complaints or potential fixes before being released)

<version> is the linux stable series for which the Canonical Kernel Team provides stable patches. See the Version Matrix section for more information.

New Releases and Announcements

New releases of stable patches will be announced at kernel-team@lists.ubuntu.com, the linux kernel mailing list (lkml) and the stable mailing lists.

We will have a cadence of 1 to 3 weeks for new releases (that is, each 1/2/3 weeks if there are patches in the queue they will be put into a release candidate status, and if nothing is wrong after 2/3 days they will be released). For the release/maintenance process, see Maintenance below for more information.

For some releases, emails being sent for notifications or announcements should have the field X-Extended-Stable, an option for people that want to do filtering on received emails.

Contributing

All patches for the -ckt stable releases should be submitted upstream, following the stable upstream acceptance rules (see Documentation/stable_kernel_rules.txt in the upstream kernel source tree for more information).

The Canonical Kernel Team should monitor and pick the relevant stable patches automatically once they are released with upstream stable. In case that not happens, or the change/patch is only applicable to one of the -ckt stable versions (in the case the patch isn't relevant to any of the current stable kernel versions being maintained by upstream, for example when a Cc: stable@kernel.org isn't applicable anymore), you can contact the team at kernel-team@lists.ubuntu.com requesting the patch to be applied. Of course the patch must conform to the stable upstream acceptance rules in the second case.

Version Matrix

This is the table with status of linux kernel versions that Canonical Kernel Team provided, provides or plans to provide with stable patches support

-ckt Kernel Version

Last Upstream Stable

CKT support window

Maintainer

4.2.y-ckt

4.2.8

December 2015 to July 2016 (now EOL)

Kamal Mostafa

3.19.y-ckt

3.19.8

May 2015 to July 2016 (now EOL)

Kamal Mostafa

3.16.y-ckt

3.16.7

October 2014 to April 2016 (now EOL)

Luis Henriques

3.13.y-ckt

3.13.11

April 2014 to April 2016 (now EOL)

Kamal Mostafa

3.11.y

3.11.10

December 2013 to August 2014 (now EOL)

Luis Henriques

3.8.y

3.8.13

May 2013 to August 2014 (now EOL)

Kamal Mostafa

3.5.y

3.5.7

November 2012 to March 2014 (now EOL)

Luis Henriques

3.2.y

3.2.?

after Ben Hutchings drops 3.2.y to April 2017

-

2.6.32, 2.6.33

2.6.32.?, 2.6.33.20

2.6.32.y to April 2015 (now EOL)

Stefan Bader

Builds

We provide regular debian package builds of these stable releases at http://kernel.ubuntu.com/~kernel-ppa/mainline/.

Also, some builds usually are tested using our automated testing infrastructure, the results of the tests can be seen at http://kernel.ubuntu.com/testing/index.html

Maintenance

The maintenance process is more of interest for the person currently maintaining an stable tree, so it's not detailed here. If you are a maintainer, go to Stable Kernel Updates Maintenance. Generically, the process should be like this:

  1. Patches not yet included on stable version and marked for stable* are picked up from master Linus tree, and we try to apply them to the linux‑<version>.y‑queue branch:

    • Patches which apply cleanly, should be reviewed. If something shouldn't have been applied/added, discard/remove from the branch.
    • Patches which fails to apply, should be reviewed. If they are applicable to stable linux‑<version>.y, it must be fixed or a request sent out for help with backporting/fixing. The fixed version should be applied to the branch

    • Patches marked for stable but with a restriction for a specific kernel version, should only be applied if they are intended for stable linux‑<version>.y being maintained, in case the patch isn't applicable for it should be discarded.

  2. After the cadence period, push the patches from the linux‑<version>.y‑queue to the linux‑<version>.y‑review branch, and announce a review cycle on the mailing lists.

  3. After the review period, and with any problems found in review process fixed, push the patches from review to to linux‑<version>.y branch, close and tag the new release with simlar versioning as upstream (as close as possible, depending on the case), and rebase/sync both queue/review branches. Then announce the new release.

* marked for stable means the patch has Cc to stable, or was requested/should be included following the rules on the Contributing section. The same upstream stable rules apply.

Kernel/Dev/ExtendedStable (last edited 2016-07-13 18:58:46 by kamalmostafa)