1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml">
7 <title>Stable kernel maintenance for distributions - FOSDEM 2013</title>
9 <meta name="generator" content="S5" />
10 <meta name="author" content="Ben Hutchings" />
11 <!-- configuration parameters -->
12 <meta name="defaultView" content="slideshow" />
13 <meta name="controlVis" content="hidden" />
14 <!-- style sheet links -->
15 <link rel="stylesheet" href="s5-blank/ui/default/slides.css" type="text/css" media="projection" id="slideProj" />
16 <link rel="stylesheet" href="s5-blank/ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" />
17 <link rel="stylesheet" href="s5-blank/ui/default/print.css" type="text/css" media="print" id="slidePrint" />
18 <link rel="stylesheet" href="s5-blank/ui/default/opera.css" type="text/css" media="projection" id="operaFix" />
19 <style type="text/css">
20 .logo { position: absolute; right: 0; top: 0; height: 100% }
21 table { border-collapse: collapse }
22 th { border-bottom: 2pt solid black }
23 th, td { padding: 0 6pt }
24 .package { font-family: monospace }
25 var { font-family: sans }
27 <style type="text/css" media="print">
28 .slide { page-break-after: always }
31 <script src="s5-blank/ui/default/slides.js" type="text/javascript"></script>
36 <div id="controls"><!-- DO NOT EDIT --></div>
37 <div id="currentSlide"><!-- DO NOT EDIT --></div>
38 <div id="header"></div>
41 <h2>Stable kernel maintenance for distributions</h2>
46 <div class="presentation">
49 <h1>Stable kernel maintenance for distributions</h1>
50 <object data="tux.svg" width="35%" align="right"></object>
51 <h3>Ben Hutchings</h3>
56 <h1>Linux stable releases</h1>
59 Linus releases a stable 3.<var>x</var> every 2-3 months after
60 a series of release candidates
63 Greg K-H maintains a <dfn>stable branch</dfn> for each Linus
64 release, with <dfn>stable update</dfn> releases numbered
65 3.<var>x</var>.<var>y</var>
68 Branch includes cherry-picked or backported changes to fix
69 serious bugs and add support for new devices
72 Updates released roughly every 1-2 weeks, at least until
73 3.<var>x</var>+1 is available
76 A <dfn>longterm</dfn> stable branch may be maintained by Greg or
77 another developer beyond this period (I look after 3.2)
83 <h1>The stable update process (1)</h1>
86 All changes go to mailing
87 list <a href="mailto:stable@vger.kernel.org">stable@vger.kernel.org</a>
90 A commit with a <tt>Cc:</tt> pseudo-header for this address will
91 be picked up by stable maintainers once Linus pulls the commit
94 If it doesn't apply to a stable branch, the author is usually
95 notified and may provide a backported version
98 Any commit in Linus's tree can be nominated by mail to this list, if it
99 meets the criteria - see
100 <a href="http://www.kernel.org/doc/Documentation/stable_kernel_rules.txt"><tt>Documentation/stable_kernel_rules.txt</tt></a>
103 Occasional regression fix in stable without a corresponding
104 commit in Linus's tree, because the change that regressed was
111 <h1>The stable update process (2)</h1>
114 Stable branch maintainer sends pending changes to the mailing
115 list, the original authors, etc., for a time-limited period of
119 Although the changes have been accepted by Linus, some might
120 not be needed in a stable branch or might not work due to
124 A fix might have been found to introduce a regression in
125 mainline, so should only be applied to the stable branch
126 along with a second fix for the regression
131 All changes that passed review (and maybe some that were
132 added) are applied to the stable branch and the release is
136 Greg pushes the tag to kernel.org (possibly after pulling
137 from the other maintainer) which generates tarballs,
138 updates the front page, etc.
141 Maintainer announces the release, shortly followed by LWN
148 <h1>Distributions and stable updates</h1>
151 Package maintainers want to get bug fixes without waiting for
152 the next release - particularly for security
155 Maintainers report bugs upstream, find and sometimes write
156 fixes, and stable updates are a way to share these fixes across
160 Are you doing this? If not, what's stopping you?
165 Distribution stable releases have a much longer support period
166 than kernel release cycle, but updating to every new Linus
170 So the longterm stable branches are very important for most
171 distributions with stable releases
177 <h1>Coordinating longterm branches</h1>
180 Linux 2.6.32 was chosen as the basis for RHEL 6, and other
181 distributions preparing a stable release in 2010 opted to do
185 The 2.6.32.<var>y</var> longterm branch is the basis for kernel
186 packages in Debian 6.0, SLE11 SP1 and Ubuntu 10.04 LTS and
187 has over 3,500 changes
190 Other longterm branches have not been quite as widely used or as
191 active - maybe because release schedules didn't align as well
194 Do package maintainers expect/want there to be a longterm stable
195 branch for the kernel version in a stable release?
198 Should we be coordinating more explicitly to ensure that this
202 Would you be prepared to maintain such a branch at kernel.org?
211 Linux 'Tux' logo © Larry Ewing, Simon Budig.
213 Redistribution is free but has to include this notice.