| … | |
… | |
| 6 | PEP, see http://www.python.org/peps/pep-0001.html for instructions and links |
6 | PEP, see http://www.python.org/peps/pep-0001.html for instructions and links |
| 7 | to templates. DO NOT USE THIS HTML FILE AS YOUR TEMPLATE! |
7 | to templates. DO NOT USE THIS HTML FILE AS YOUR TEMPLATE! |
| 8 | --> |
8 | --> |
| 9 | <head> |
9 | <head> |
| 10 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
10 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| 11 | <meta name="generator" content="Docutils 0.3.0: http://docutils.sourceforge.net/" /> |
11 | <meta name="generator" content="Docutils 0.3.3: http://docutils.sourceforge.net/" /> |
| 12 | <title>GLEP 26 -- Handling kernels with portage</title> |
12 | <title>GLEP 26 -- Handling kernels with portage</title> |
| 13 | <link rel="stylesheet" href="tools/glep.css" type="text/css" /> |
13 | <link rel="stylesheet" href="tools/glep.css" type="text/css" /> |
| 14 | </head> |
14 | </head> |
| 15 | <body bgcolor="white"> |
15 | <body bgcolor="white"> |
| 16 | <table class="navigation" cellpadding="0" cellspacing="0" |
16 | <table class="navigation" cellpadding="0" cellspacing="0" |
| … | |
… | |
| 20 | <img src="http://www.gentoo.org/images/gentoo-new.gif" alt="[Gentoo]" |
20 | <img src="http://www.gentoo.org/images/gentoo-new.gif" alt="[Gentoo]" |
| 21 | border="0" width="150" height="35" /></a></td> |
21 | border="0" width="150" height="35" /></a></td> |
| 22 | <td class="textlinks" align="left"> |
22 | <td class="textlinks" align="left"> |
| 23 | [<b><a href="http://www.gentoo.org/">Gentoo Linux Home</a></b>] |
23 | [<b><a href="http://www.gentoo.org/">Gentoo Linux Home</a></b>] |
| 24 | [<b><a href="http://www.gentoo.org/proj/en/glep">GLEP Index</a></b>] |
24 | [<b><a href="http://www.gentoo.org/proj/en/glep">GLEP Index</a></b>] |
| 25 | [<b><a href="http://www.gentoo.org/proj/en/glep/glep-0026.txt">GLEP Source</a></b>] |
25 | [<b><a href="./glep-0026.txt">GLEP Source</a></b>] |
| 26 | </td></tr></table> |
26 | </td></tr></table> |
| 27 | <div class="document"> |
27 | <div class="document"> |
| 28 | <table class="rfc2822 field-list" frame="void" rules="none"> |
28 | <table class="rfc2822 field-list" frame="void" rules="none"> |
| 29 | <col class="field-name" /> |
29 | <col class="field-name" /> |
| 30 | <col class="field-body" /> |
30 | <col class="field-body" /> |
| 31 | <tbody valign="top"> |
31 | <tbody valign="top"> |
| 32 | <tr class="field"><th class="field-name">GLEP:</th><td class="field-body">26</td> |
32 | <tr class="field"><th class="field-name">GLEP:</th><td class="field-body">26</td> |
| 33 | </tr> |
33 | </tr> |
| 34 | <tr class="field"><th class="field-name">Title:</th><td class="field-body">Handling kernels with portage</td> |
34 | <tr class="field"><th class="field-name">Title:</th><td class="field-body">Handling kernels with portage</td> |
| 35 | </tr> |
35 | </tr> |
| 36 | <tr class="field"><th class="field-name">Version:</th><td class="field-body">1.1</td> |
36 | <tr class="field"><th class="field-name">Version:</th><td class="field-body">1.2</td> |
| 37 | </tr> |
37 | </tr> |
| 38 | <tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference" href="http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/proj/en/glep/glep-0026.txt?cvsroot=gentoo">2004/05/03 01:48:45</a></td> |
38 | <tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference" href="http://www.gentoo.org/cgi-bin/viewcvs/xml/htdocs/proj/en/glep/glep-0026.txt?cvsroot=gentoo">2004/11/11 21:32:21</a></td> |
| 39 | </tr> |
39 | </tr> |
| 40 | <tr class="field"><th class="field-name">Author:</th><td class="field-body">Nathaniel McCallum <npmccallum at gentoo.org>, Joshua Campbell <warpzero at gentoo.org></td> |
40 | <tr class="field"><th class="field-name">Author:</th><td class="field-body">Nathaniel McCallum <npmccallum at gentoo.org>, Joshua Campbell <warpzero at gentoo.org></td> |
| 41 | </tr> |
41 | </tr> |
| 42 | <tr class="field"><th class="field-name">Status:</th><td class="field-body">Draft</td> |
42 | <tr class="field"><th class="field-name">Status:</th><td class="field-body">deferred</td> |
| 43 | </tr> |
43 | </tr> |
| 44 | <tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td> |
44 | <tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td> |
| 45 | </tr> |
45 | </tr> |
| 46 | <tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference" href="glep-0002.html">text/x-rst</a></td> |
46 | <tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference" href="glep-0012.html">text/x-rst</a></td> |
| 47 | </tr> |
47 | </tr> |
| 48 | <tr class="field"><th class="field-name">Created:</th><td class="field-body">2-May-2004</td> |
48 | <tr class="field"><th class="field-name">Created:</th><td class="field-body">2-May-2004</td> |
| 49 | </tr> |
49 | </tr> |
| 50 | <tr class="field"><th class="field-name">Post-History:</th><td class="field-body">2-May-2004</td> |
50 | <tr class="field"><th class="field-name">Post-History:</th><td class="field-body">2-May-2004, 11-Nov-2004</td> |
| 51 | </tr> |
51 | </tr> |
| 52 | </tbody> |
52 | </tbody> |
| 53 | </table> |
53 | </table> |
| 54 | <hr /> |
54 | <hr /> |
| 55 | <div class="contents topic" id="contents"> |
55 | <div class="contents topic" id="contents"> |
| 56 | <p class="topic-title"><a name="contents">Contents</a></p> |
56 | <p class="topic-title first"><a name="contents">Contents</a></p> |
| 57 | <ul class="simple"> |
57 | <ul class="simple"> |
| 58 | <li><a class="reference" href="#abstract" id="id2" name="id2">Abstract</a></li> |
58 | <li><a class="reference" href="#abstract" id="id2" name="id2">Abstract</a></li> |
|
|
59 | <li><a class="reference" href="#status" id="id3" name="id3">Status</a></li> |
| 59 | <li><a class="reference" href="#motivation" id="id3" name="id3">Motivation</a></li> |
60 | <li><a class="reference" href="#motivation" id="id4" name="id4">Motivation</a></li> |
| 60 | <li><a class="reference" href="#specification" id="id4" name="id4">Specification</a></li> |
61 | <li><a class="reference" href="#specification" id="id5" name="id5">Specification</a></li> |
| 61 | <li><a class="reference" href="#rationale" id="id5" name="id5">Rationale</a></li> |
62 | <li><a class="reference" href="#rationale" id="id6" name="id6">Rationale</a></li> |
| 62 | <li><a class="reference" href="#backwards-compatibility" id="id6" name="id6">Backwards Compatibility</a></li> |
63 | <li><a class="reference" href="#backwards-compatibility" id="id7" name="id7">Backwards Compatibility</a></li> |
| 63 | <li><a class="reference" href="#reference-implementation" id="id7" name="id7">Reference Implementation</a></li> |
64 | <li><a class="reference" href="#reference-implementation" id="id8" name="id8">Reference Implementation</a></li> |
| 64 | <li><a class="reference" href="#copyright" id="id8" name="id8">Copyright</a></li> |
65 | <li><a class="reference" href="#copyright" id="id9" name="id9">Copyright</a></li> |
| 65 | </ul> |
66 | </ul> |
| 66 | </div> |
67 | </div> |
| 67 | <div class="section" id="abstract"> |
68 | <div class="section" id="abstract"> |
| 68 | <h1><a class="toc-backref" href="#id2" name="abstract">Abstract</a></h1> |
69 | <h1><a class="toc-backref" href="#id2" name="abstract">Abstract</a></h1> |
| 69 | <p>This GLEP proposes to create a more consistent handling of kernels and kernel building. |
70 | <p>This GLEP proposes to create a more consistent handling of kernels and kernel building. |
| 70 | Currently "emerge kernel-name" only installs the sources and does not build anything. |
71 | Currently "emerge kernel-name" only installs the sources and does not build anything. |
| 71 | "emerge kernel-name" should install only sources OR only a binary kernel, its modules, |
72 | "emerge kernel-name" should install only sources OR only a binary kernel, its modules, |
| 72 | and a tarballed package of kernel-headers, depending on USE flag.</p> |
73 | and a tarballed package of kernel-headers, depending on USE flag.</p> |
| 73 | </div> |
74 | </div> |
|
|
75 | <div class="section" id="status"> |
|
|
76 | <h1><a class="toc-backref" href="#id3" name="status">Status</a></h1> |
|
|
77 | <p>Timed out</p> |
|
|
78 | </div> |
| 74 | <div class="section" id="motivation"> |
79 | <div class="section" id="motivation"> |
| 75 | <h1><a class="toc-backref" href="#id3" name="motivation">Motivation</a></h1> |
80 | <h1><a class="toc-backref" href="#id4" name="motivation">Motivation</a></h1> |
| 76 | <p>Currently, the only automated kernel build proceedure that we have is genkernel. While |
81 | <p>Currently, the only automated kernel build proceedure that we have is genkernel. While |
| 77 | genkernel is a great tool, its main weakness is that it does not port well to other |
82 | genkernel is a great tool, its main weakness is that it does not port well to other |
| 78 | arches because of the initrd and the lack of good "generic" settings for other arches. |
83 | arches because of the initrd and the lack of good "generic" settings for other arches. |
| 79 | This GLEP hopes to overcome this by abstracting the various layers of genkernel and |
84 | This GLEP hopes to overcome this by abstracting the various layers of genkernel and |
| 80 | implementing the most common aspect (the build proceedure) into a portage eclass.</p> |
85 | implementing the most common aspect (the build proceedure) into a portage eclass.</p> |
| 81 | </div> |
86 | </div> |
| 82 | <div class="section" id="specification"> |
87 | <div class="section" id="specification"> |
| 83 | <h1><a class="toc-backref" href="#id4" name="specification">Specification</a></h1> |
88 | <h1><a class="toc-backref" href="#id5" name="specification">Specification</a></h1> |
| 84 | <p>There would be 3 layers to kernel building: (place of implementation)</p> |
89 | <p>There would be 3 layers to kernel building: (place of implementation)</p> |
| 85 | <blockquote> |
90 | <blockquote> |
| 86 | <ul class="simple"> |
91 | <ul class="simple"> |
| 87 | <li>Stage 1 - Configuring the kernel (optional) -- external utility</li> |
92 | <li>Stage 1 - Configuring the kernel (optional) -- external utility</li> |
| 88 | <li>Stage 2 - Building the kernel -- in an eclass</li> |
93 | <li>Stage 2 - Building the kernel -- in an eclass</li> |
| … | |
… | |
| 149 | </li> |
154 | </li> |
| 150 | </ol> |
155 | </ol> |
| 151 | </blockquote> |
156 | </blockquote> |
| 152 | </div> |
157 | </div> |
| 153 | <div class="section" id="rationale"> |
158 | <div class="section" id="rationale"> |
| 154 | <h1><a class="toc-backref" href="#id5" name="rationale">Rationale</a></h1> |
159 | <h1><a class="toc-backref" href="#id6" name="rationale">Rationale</a></h1> |
| 155 | <p>There are many advantages gained by this method:</p> |
160 | <p>There are many advantages gained by this method:</p> |
| 156 | <blockquote> |
161 | <blockquote> |
| 157 | <ol class="arabic simple"> |
162 | <ol class="arabic simple"> |
| 158 | <li>Full arch support (GentooInstaller really could use this)</li> |
163 | <li>Full arch support (GentooInstaller really could use this)</li> |
| 159 | <li>More consistent with the rest of portage (installs binaries by building from source)</li> |
164 | <li>More consistent with the rest of portage (installs binaries by building from source)</li> |
| … | |
… | |
| 167 | <p>The major problem is, however, that we currently have two different build systems, |
172 | <p>The major problem is, however, that we currently have two different build systems, |
| 168 | portage and genkernel. Having competing build systems is not a GoodThing TM. Therefore, |
173 | portage and genkernel. Having competing build systems is not a GoodThing TM. Therefore, |
| 169 | we can either make portage build kernels or we can make genkernel build everything else.</p> |
174 | we can either make portage build kernels or we can make genkernel build everything else.</p> |
| 170 | </div> |
175 | </div> |
| 171 | <div class="section" id="backwards-compatibility"> |
176 | <div class="section" id="backwards-compatibility"> |
| 172 | <h1><a class="toc-backref" href="#id6" name="backwards-compatibility">Backwards Compatibility</a></h1> |
177 | <h1><a class="toc-backref" href="#id7" name="backwards-compatibility">Backwards Compatibility</a></h1> |
| 173 | <p>If you want to emerge kernel sources the old way, just do: USE="-buildkernel" emerge kernel-name</p> |
178 | <p>If you want to emerge kernel sources the old way, just do: USE="-buildkernel" emerge kernel-name</p> |
| 174 | <p>Perhaps we could also name the new kernel-config program (from Stage 1) "genkernel" so that users |
179 | <p>Perhaps we could also name the new kernel-config program (from Stage 1) "genkernel" so that users |
| 175 | can have a seemless transition.</p> |
180 | can have a seemless transition.</p> |
| 176 | </div> |
181 | </div> |
| 177 | <div class="section" id="reference-implementation"> |
182 | <div class="section" id="reference-implementation"> |
| 178 | <h1><a class="toc-backref" href="#id7" name="reference-implementation">Reference Implementation</a></h1> |
183 | <h1><a class="toc-backref" href="#id8" name="reference-implementation">Reference Implementation</a></h1> |
| 179 | <p>not yet ..</p> |
184 | <p>not yet ..</p> |
| 180 | </div> |
185 | </div> |
| 181 | <div class="section" id="copyright"> |
186 | <div class="section" id="copyright"> |
| 182 | <h1><a class="toc-backref" href="#id8" name="copyright">Copyright</a></h1> |
187 | <h1><a class="toc-backref" href="#id9" name="copyright">Copyright</a></h1> |
| 183 | <p>This document has been placed in the public domain.</p> |
188 | <p>This document has been placed in the public domain.</p> |
| 184 | </div> |
189 | </div> |
| 185 | </div> |
190 | </div> |
| 186 | |
191 | |
| 187 | <hr class="footer"/> |
192 | <hr class="footer" /> |
| 188 | <div class="footer"> |
193 | <div class="footer"> |
| 189 | <a class="reference" href="glep-0026.txt">View document source</a>. |
194 | <a class="reference" href="glep-0026.txt">View document source</a>. |
| 190 | Generated on: 2004-05-03 01:48 UTC. |
195 | Generated on: 2004-11-11 21:25 UTC. |
| 191 | Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source. |
196 | Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source. |
| 192 | </div> |
197 | </div> |
| 193 | </body> |
198 | </body> |
| 194 | </html> |
199 | </html> |
| 195 | |
200 | |