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 Maintainer sends pending changes to mailing list, original
115 authors, etc., for time-limited review and testing
118 Fix might not be needed in a stable branch, or might not
119 work due to missing dependencies
122 Fix might have been found to introduce a regression in
123 mainline, so must wait until second fix available
128 Maintainer drops/adds changes based on review, then applies
129 to stable branch and tags release
132 Greg pushes tag to kernel.org (possibly after pulling from
133 another maintainer) which generates tarballs, updates the front
137 Maintainer announces the release, shortly followed by LWN
144 <h1>Distributions and stable updates</h1>
147 Package maintainers want to get bug fixes without waiting for
148 the next release - particularly for security
151 Maintainers report bugs upstream, find and sometimes write
152 fixes, and stable updates are a way to share these fixes across
156 Are you doing this? If not, what's stopping you?
161 Distribution stable releases have a much longer support period
162 than kernel release cycle, but updating to every new Linus
166 So the longterm stable branches are very important for most
167 distributions with stable releases
173 <h1>Coordinating longterm branches</h1>
176 Linux 2.6.32 was chosen as the basis for RHEL 6, and other
177 distributions preparing a stable release in 2010 opted to do
181 The 2.6.32.<var>y</var> longterm branch is the basis for kernel
182 packages in Debian 6.0, SLE11 SP1 and Ubuntu 10.04 LTS and
183 has over 3,500 changes
186 Other longterm branches have not been quite as widely used or as
187 active - maybe because release schedules didn't align as well
190 Do package maintainers expect/want there to be a longterm stable
191 branch for the kernel version in a stable release?
194 Should we be coordinating more explicitly to ensure that this
198 Would you be prepared to maintain such a branch at kernel.org?
207 <a href="http://www.kernel.org/doc/Documentation/stable_kernel_rules.txt"><tt>Documentation/stable_kernel_rules.txt</tt></a>
215 Linux 'Tux' logo © Larry Ewing, Simon Budig.
217 Redistribution is free but has to include this notice.