| … | |
… | |
| 2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| 3 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
3 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> |
| 4 | |
4 | |
| 5 | <head> |
5 | <head> |
| 6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
6 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> |
| 7 | <meta name="generator" content="Docutils 0.6: http://docutils.sourceforge.net/" /> |
7 | <meta name="generator" content="Docutils 0.8.1: http://docutils.sourceforge.net/" /> |
| 8 | <title>GLEP 55 -- Use EAPI-suffixed ebuilds (.ebuild-EAPI)</title> |
8 | <title>GLEP 55 -- Use EAPI-suffixed ebuilds (.ebuild-EAPI)</title> |
| 9 | <link rel="stylesheet" href="tools/glep.css" type="text/css" /></head> |
9 | <link rel="stylesheet" href="tools/glep.css" type="text/css" /></head> |
| 10 | <body bgcolor="white"> |
10 | <body bgcolor="white"> |
| 11 | <table class="navigation" cellpadding="0" cellspacing="0" |
11 | <table class="navigation" cellpadding="0" cellspacing="0" |
| 12 | width="100%" border="0"> |
12 | width="100%" border="0"> |
| … | |
… | |
| 31 | </tr> |
31 | </tr> |
| 32 | <tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference external" href="http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/proj/en/glep/glep-0055.txt?cvsroot=gentoo">2009/05/17 20:56:53</a></td> |
32 | <tr class="field"><th class="field-name">Last-Modified:</th><td class="field-body"><a class="reference external" href="http://www.gentoo.org/cgi-bin/viewcvs.cgi/xml/htdocs/proj/en/glep/glep-0055.txt?cvsroot=gentoo">2009/05/17 20:56:53</a></td> |
| 33 | </tr> |
33 | </tr> |
| 34 | <tr class="field"><th class="field-name">Author:</th><td class="field-body">Piotr Jaroszyński <peper at gentoo.org></td> |
34 | <tr class="field"><th class="field-name">Author:</th><td class="field-body">Piotr Jaroszyński <peper at gentoo.org></td> |
| 35 | </tr> |
35 | </tr> |
| 36 | <tr class="field"><th class="field-name">Status:</th><td class="field-body">Draft</td> |
36 | <tr class="field"><th class="field-name">Status:</th><td class="field-body">Rejected</td> |
| 37 | </tr> |
37 | </tr> |
| 38 | <tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td> |
38 | <tr class="field"><th class="field-name">Type:</th><td class="field-body">Standards Track</td> |
| 39 | </tr> |
39 | </tr> |
| 40 | <tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference external" href="glep-0002.html">text/x-rst</a></td> |
40 | <tr class="field"><th class="field-name">Content-Type:</th><td class="field-body"><a class="reference external" href="glep-0002.html">text/x-rst</a></td> |
| 41 | </tr> |
41 | </tr> |
| … | |
… | |
| 47 | </table> |
47 | </table> |
| 48 | <hr /> |
48 | <hr /> |
| 49 | <div class="contents topic" id="contents"> |
49 | <div class="contents topic" id="contents"> |
| 50 | <p class="topic-title first">Contents</p> |
50 | <p class="topic-title first">Contents</p> |
| 51 | <ul class="simple"> |
51 | <ul class="simple"> |
|
|
52 | <li><a class="reference internal" href="#status" id="id3">Status</a></li> |
| 52 | <li><a class="reference internal" href="#abstract" id="id3">Abstract</a></li> |
53 | <li><a class="reference internal" href="#abstract" id="id4">Abstract</a></li> |
| 53 | <li><a class="reference internal" href="#problem" id="id4">Problem</a></li> |
54 | <li><a class="reference internal" href="#problem" id="id5">Problem</a></li> |
| 54 | <li><a class="reference internal" href="#current-behaviour" id="id5">Current behaviour</a><ul> |
55 | <li><a class="reference internal" href="#current-behaviour" id="id6">Current behaviour</a><ul> |
| 55 | <li><a class="reference internal" href="#incompatible-change-of-inherit-e-g-make-it-look-in-the-package-dir-too" id="id6">Incompatible change of inherit (e.g. make it look in the package dir too)</a></li> |
56 | <li><a class="reference internal" href="#incompatible-change-of-inherit-e-g-make-it-look-in-the-package-dir-too" id="id7">Incompatible change of inherit (e.g. make it look in the package dir too)</a></li> |
| 56 | <li><a class="reference internal" href="#new-global-scope-function" id="id7">New global scope function</a></li> |
57 | <li><a class="reference internal" href="#new-global-scope-function" id="id8">New global scope function</a></li> |
| 57 | <li><a class="reference internal" href="#new-version-format" id="id8">New version format</a></li> |
58 | <li><a class="reference internal" href="#new-version-format" id="id9">New version format</a></li> |
| 58 | <li><a class="reference internal" href="#use-newer-bash-features" id="id9">Use newer bash features</a></li> |
59 | <li><a class="reference internal" href="#use-newer-bash-features" id="id10">Use newer bash features</a></li> |
| 59 | </ul> |
|
|
| 60 | </li> |
60 | </ul> |
|
|
61 | </li> |
| 61 | <li><a class="reference internal" href="#abstract-solution" id="id10">Abstract solution</a></li> |
62 | <li><a class="reference internal" href="#abstract-solution" id="id11">Abstract solution</a></li> |
| 62 | <li><a class="reference internal" href="#proposed-solution" id="id11">Proposed solution</a></li> |
63 | <li><a class="reference internal" href="#proposed-solution" id="id12">Proposed solution</a></li> |
| 63 | <li><a class="reference internal" href="#specification" id="id12">Specification</a></li> |
64 | <li><a class="reference internal" href="#specification" id="id13">Specification</a></li> |
| 64 | <li><a class="reference internal" href="#summary-of-ideas" id="id13">Summary of ideas</a><ul> |
65 | <li><a class="reference internal" href="#summary-of-ideas" id="id14">Summary of ideas</a><ul> |
| 65 | <li><a class="reference internal" href="#eapi-suffixed-ebuilds-proposed-solution" id="id14">EAPI-suffixed ebuilds (proposed solution)</a></li> |
66 | <li><a class="reference internal" href="#eapi-suffixed-ebuilds-proposed-solution" id="id15">EAPI-suffixed ebuilds (proposed solution)</a></li> |
| 66 | <li><a class="reference internal" href="#eapi-in-the-filename-with-one-time-extension-change" id="id15">EAPI in the filename with one-time extension change</a></li> |
67 | <li><a class="reference internal" href="#eapi-in-the-filename-with-one-time-extension-change" id="id16">EAPI in the filename with one-time extension change</a></li> |
| 67 | <li><a class="reference internal" href="#easily-fetchable-eapi-inside-the-ebuild" id="id16">Easily fetchable EAPI inside the ebuild</a></li> |
68 | <li><a class="reference internal" href="#easily-fetchable-eapi-inside-the-ebuild" id="id17">Easily fetchable EAPI inside the ebuild</a></li> |
| 68 | <li><a class="reference internal" href="#easily-fetchable-eapi-inside-the-ebuild-and-one-time-extension-change" id="id17">Easily fetchable EAPI inside the ebuild and one-time extension change</a></li> |
69 | <li><a class="reference internal" href="#easily-fetchable-eapi-inside-the-ebuild-and-one-time-extension-change" id="id18">Easily fetchable EAPI inside the ebuild and one-time extension change</a></li> |
| 69 | <li><a class="reference internal" href="#use-different-subdirectories-for-different-eapis-i-e-cat-pkg-eapix" id="id18">Use different subdirectories for different EAPIs, i.e. cat/pkg/eapiX/</a></li> |
70 | <li><a class="reference internal" href="#use-different-subdirectories-for-different-eapis-i-e-cat-pkg-eapix" id="id19">Use different subdirectories for different EAPIs, i.e. cat/pkg/eapiX/</a></li> |
| 70 | </ul> |
|
|
| 71 | </li> |
71 | </ul> |
|
|
72 | </li> |
| 72 | <li><a class="reference internal" href="#references" id="id19">References</a></li> |
73 | <li><a class="reference internal" href="#references" id="id20">References</a></li> |
| 73 | <li><a class="reference internal" href="#copyright" id="id20">Copyright</a></li> |
74 | <li><a class="reference internal" href="#copyright" id="id21">Copyright</a></li> |
| 74 | </ul> |
75 | </ul> |
| 75 | </div> |
76 | </div> |
| 76 | <blockquote> |
77 | <blockquote> |
| 77 | <p>"A little learning is a dangerous thing; drink deep, or taste not the Pierian |
78 | <p>"A little learning is a dangerous thing; drink deep, or taste not the Pierian |
| 78 | spring: there shallow draughts intoxicate the brain, and drinking largely |
79 | spring: there shallow draughts intoxicate the brain, and drinking largely |
| 79 | sobers us again."</p> |
80 | sobers us again."</p> |
| 80 | <p class="attribution">—Alexander Pope, An Essay on Criticism</p> |
81 | <p class="attribution">—Alexander Pope, An Essay on Criticism</p> |
| 81 | </blockquote> |
82 | </blockquote> |
|
|
83 | <div class="section" id="status"> |
|
|
84 | <h1><a class="toc-backref" href="#id3">Status</a></h1> |
|
|
85 | <p>This GLEP was voted down by the Council in its meeting on 2010-08-23. |
|
|
86 | The Council rejected it again in its meeting on 2012-05-08, in favour |
|
|
87 | of parsing the EAPI from the bash assignment statement in ebuilds.</p> |
|
|
88 | </div> |
| 82 | <div class="section" id="abstract"> |
89 | <div class="section" id="abstract"> |
| 83 | <h1><a class="toc-backref" href="#id3">Abstract</a></h1> |
90 | <h1><a class="toc-backref" href="#id4">Abstract</a></h1> |
| 84 | <p>This GLEP proposes usage of EAPI-suffixed file extensions for ebuilds (for |
91 | <p>This GLEP proposes usage of EAPI-suffixed file extensions for ebuilds (for |
| 85 | example, foo-1.2.3.ebuild-1).</p> |
92 | example, foo-1.2.3.ebuild-1).</p> |
| 86 | </div> |
93 | </div> |
| 87 | <div class="section" id="problem"> |
94 | <div class="section" id="problem"> |
| 88 | <h1><a class="toc-backref" href="#id4">Problem</a></h1> |
95 | <h1><a class="toc-backref" href="#id5">Problem</a></h1> |
| 89 | <p>The current way of specifying the EAPI in ebuilds is flawed. In order to get the |
96 | <p>The current way of specifying the EAPI in ebuilds is flawed. In order to get the |
| 90 | EAPI the package manager needs to source the ebuild, which itself needs the EAPI |
97 | EAPI the package manager needs to source the ebuild, which itself needs the EAPI |
| 91 | in the first place. Otherwise it imposes a serious limitation, namely every ebuild, |
98 | in the first place. Otherwise it imposes a serious limitation, namely every ebuild, |
| 92 | using any of the future EAPIs, will have to be source'able by old package |
99 | using any of the future EAPIs, will have to be source'able by old package |
| 93 | managers and hence there is no way to do any of the following:</p> |
100 | managers and hence there is no way to do any of the following:</p> |
| … | |
… | |
| 102 | <li>Use newer bash features.</li> |
109 | <li>Use newer bash features.</li> |
| 103 | </ul> |
110 | </ul> |
| 104 | </blockquote> |
111 | </blockquote> |
| 105 | </div> |
112 | </div> |
| 106 | <div class="section" id="current-behaviour"> |
113 | <div class="section" id="current-behaviour"> |
| 107 | <h1><a class="toc-backref" href="#id5">Current behaviour</a></h1> |
114 | <h1><a class="toc-backref" href="#id6">Current behaviour</a></h1> |
| 108 | <p>Following subsections show what happens if you introduce any of the mentioned |
115 | <p>Following subsections show what happens if you introduce any of the mentioned |
| 109 | changes in an ebuild and try to install it with portage 2.1.6.13.</p> |
116 | changes in an ebuild and try to install it with portage 2.1.6.13.</p> |
| 110 | <div class="section" id="incompatible-change-of-inherit-e-g-make-it-look-in-the-package-dir-too"> |
117 | <div class="section" id="incompatible-change-of-inherit-e-g-make-it-look-in-the-package-dir-too"> |
| 111 | <h2><a class="toc-backref" href="#id6">Incompatible change of inherit (e.g. make it look in the package dir too)</a></h2> |
118 | <h2><a class="toc-backref" href="#id7">Incompatible change of inherit (e.g. make it look in the package dir too)</a></h2> |
| 112 | <p><tt class="docutils literal"><span class="pre">sys-apps/foo-1.ebuild</span></tt>:</p> |
119 | <p><tt class="docutils literal"><span class="pre">sys-apps/foo-1.ebuild</span></tt>:</p> |
| 113 | <pre class="literal-block"> |
120 | <pre class="literal-block"> |
| 114 | EAPI="5" |
121 | EAPI="5" |
| 115 | inherit "foo" |
122 | inherit "foo" |
| 116 | |
123 | |
| … | |
… | |
| 144 | <p>Current portage looks for eclasses only in the <tt class="docutils literal">eclass</tt> directory of a |
151 | <p>Current portage looks for eclasses only in the <tt class="docutils literal">eclass</tt> directory of a |
| 145 | repository. This results in a fatal error and ebuild being masked by corruption |
152 | repository. This results in a fatal error and ebuild being masked by corruption |
| 146 | - might be pretty confusing to users.</p> |
153 | - might be pretty confusing to users.</p> |
| 147 | </div> |
154 | </div> |
| 148 | <div class="section" id="new-global-scope-function"> |
155 | <div class="section" id="new-global-scope-function"> |
| 149 | <h2><a class="toc-backref" href="#id7">New global scope function</a></h2> |
156 | <h2><a class="toc-backref" href="#id8">New global scope function</a></h2> |
| 150 | <p><tt class="docutils literal"><span class="pre">sys-apps/foo-1.ebuild</span></tt>:</p> |
157 | <p><tt class="docutils literal"><span class="pre">sys-apps/foo-1.ebuild</span></tt>:</p> |
| 151 | <pre class="literal-block"> |
158 | <pre class="literal-block"> |
| 152 | EAPI="5" |
159 | EAPI="5" |
| 153 | new_global_scope_function "foo" |
160 | new_global_scope_function "foo" |
| 154 | |
161 | |
| … | |
… | |
| 169 | newer version of portage before EAPI masked packages can be installed. |
176 | newer version of portage before EAPI masked packages can be installed. |
| 170 | </pre> |
177 | </pre> |
| 171 | <p>Not that bad as user is advised to upgrade portage.</p> |
178 | <p>Not that bad as user is advised to upgrade portage.</p> |
| 172 | </div> |
179 | </div> |
| 173 | <div class="section" id="new-version-format"> |
180 | <div class="section" id="new-version-format"> |
| 174 | <h2><a class="toc-backref" href="#id8">New version format</a></h2> |
181 | <h2><a class="toc-backref" href="#id9">New version format</a></h2> |
| 175 | <p><tt class="docutils literal"><span class="pre">sys-apps/foo-2-rc1.ebuild</span></tt>:</p> |
182 | <p><tt class="docutils literal"><span class="pre">sys-apps/foo-2-rc1.ebuild</span></tt>:</p> |
| 176 | <pre class="literal-block"> |
183 | <pre class="literal-block"> |
| 177 | Invalid ebuild name: /var/lib/gentoo/repositories/peper/sys-apps/foo/foo-2-rc1.ebuild |
184 | Invalid ebuild name: /var/lib/gentoo/repositories/peper/sys-apps/foo/foo-2-rc1.ebuild |
| 178 | |
185 | |
| 179 | emerge: there are no ebuilds to satisfy "sys-apps/foo" |
186 | emerge: there are no ebuilds to satisfy "sys-apps/foo" |
| 180 | </pre> |
187 | </pre> |
| 181 | <p>Not the best error message, especially if there are lots of them.</p> |
188 | <p>Not the best error message, especially if there are lots of them.</p> |
| 182 | </div> |
189 | </div> |
| 183 | <div class="section" id="use-newer-bash-features"> |
190 | <div class="section" id="use-newer-bash-features"> |
| 184 | <h2><a class="toc-backref" href="#id9">Use newer bash features</a></h2> |
191 | <h2><a class="toc-backref" href="#id10">Use newer bash features</a></h2> |
| 185 | <p><tt class="docutils literal">|&</tt> is a new type of redirection added in bash-4. It cannot be used even in |
192 | <p><tt class="docutils literal">|&</tt> is a new type of redirection added in bash-4. It cannot be used even in |
| 186 | local scope as bash still parses the whole ebuild.</p> |
193 | local scope as bash still parses the whole ebuild.</p> |
| 187 | <p><tt class="docutils literal"><span class="pre">sys-apps/foo-1.ebuild</span></tt>:</p> |
194 | <p><tt class="docutils literal"><span class="pre">sys-apps/foo-1.ebuild</span></tt>:</p> |
| 188 | <pre class="literal-block"> |
195 | <pre class="literal-block"> |
| 189 | EAPI="5" |
196 | EAPI="5" |
| … | |
… | |
| 216 | </pre> |
223 | </pre> |
| 217 | <p>Again, not the best error.</p> |
224 | <p>Again, not the best error.</p> |
| 218 | </div> |
225 | </div> |
| 219 | </div> |
226 | </div> |
| 220 | <div class="section" id="abstract-solution"> |
227 | <div class="section" id="abstract-solution"> |
| 221 | <h1><a class="toc-backref" href="#id10">Abstract solution</a></h1> |
228 | <h1><a class="toc-backref" href="#id11">Abstract solution</a></h1> |
| 222 | <p>A solution to this problem has to lift those limitations and the only way to do |
229 | <p>A solution to this problem has to lift those limitations and the only way to do |
| 223 | it is to make the EAPI of an ebuild available to the package managers in a way |
230 | it is to make the EAPI of an ebuild available to the package managers in a way |
| 224 | that doesn't require them to source the ebuild. Another important requirement is |
231 | that doesn't require them to source the ebuild. Another important requirement is |
| 225 | for the solution to be backward compatible, which has the pleasant side-effect |
232 | for the solution to be backward compatible, which has the pleasant side-effect |
| 226 | of making the solution applicable in the Gentoo tree right away. Opposed to |
233 | of making the solution applicable in the Gentoo tree right away. Opposed to |
| 227 | waiting an arbitrary amount of time, which is never long enough anyway, as the |
234 | waiting an arbitrary amount of time, which is never long enough anyway, as the |
| 228 | issues listed on the common portage problems page - <a class="footnote-reference" href="#portageproblems" id="id2">[2]</a> - show.</p> |
235 | issues listed on the common portage problems page - <a class="footnote-reference" href="#portageproblems" id="id2">[2]</a> - show.</p> |
| 229 | </div> |
236 | </div> |
| 230 | <div class="section" id="proposed-solution"> |
237 | <div class="section" id="proposed-solution"> |
| 231 | <h1><a class="toc-backref" href="#id11">Proposed solution</a></h1> |
238 | <h1><a class="toc-backref" href="#id12">Proposed solution</a></h1> |
| 232 | <p>The proposed solution is to use EAPI-suffixed file extensions for ebuilds. This |
239 | <p>The proposed solution is to use EAPI-suffixed file extensions for ebuilds. This |
| 233 | allows package managers to trivially read the EAPI from the ebuild filename. It |
240 | allows package managers to trivially read the EAPI from the ebuild filename. It |
| 234 | is also backwards compatible, because currently ebuilds are recognised by the |
241 | is also backwards compatible, because currently ebuilds are recognised by the |
| 235 | <tt class="docutils literal">.ebuild</tt> file extension and hence EAPI-suffixed ebuilds are simply ignored by |
242 | <tt class="docutils literal">.ebuild</tt> file extension and hence EAPI-suffixed ebuilds are simply ignored by |
| 236 | the package managers.</p> |
243 | the package managers.</p> |
| 237 | </div> |
244 | </div> |
| 238 | <div class="section" id="specification"> |
245 | <div class="section" id="specification"> |
| 239 | <h1><a class="toc-backref" href="#id12">Specification</a></h1> |
246 | <h1><a class="toc-backref" href="#id13">Specification</a></h1> |
| 240 | <p>Ebuild filename extension syntax: <tt class="docutils literal"><span class="pre">ebuild[-<EAPI>]</span></tt>, where <tt class="docutils literal">[]</tt> denotes an |
247 | <p>Ebuild filename extension syntax: <tt class="docutils literal"><span class="pre">ebuild[-<EAPI>]</span></tt>, where <tt class="docutils literal">[]</tt> denotes an |
| 241 | optional part, and <tt class="docutils literal"><EAPI></tt> is the EAPI of the ebuild.</p> |
248 | optional part, and <tt class="docutils literal"><EAPI></tt> is the EAPI of the ebuild.</p> |
| 242 | <p>The EAPI used by the ebuild is the EAPI included in the filename if it is set. |
249 | <p>The EAPI used by the ebuild is the EAPI included in the filename if it is set. |
| 243 | Otherwise the EAPI set inside the ebuild is used, which defaults to 0 (this is |
250 | Otherwise the EAPI set inside the ebuild is used, which defaults to 0 (this is |
| 244 | the current behaviour).</p> |
251 | the current behaviour).</p> |
| … | |
… | |
| 279 | have multiple versions with different EAPIs as e.g. <tt class="docutils literal">1.0 == 1.00 == <span class="pre">1.00-r0</span></tt> |
286 | have multiple versions with different EAPIs as e.g. <tt class="docutils literal">1.0 == 1.00 == <span class="pre">1.00-r0</span></tt> |
| 280 | and hence you could have <tt class="docutils literal"><span class="pre">foo-1.0.ebuild</span></tt> with EAPI X and <tt class="docutils literal"><span class="pre">foo-1.00.ebuild</span></tt> |
287 | and hence you could have <tt class="docutils literal"><span class="pre">foo-1.0.ebuild</span></tt> with EAPI X and <tt class="docutils literal"><span class="pre">foo-1.00.ebuild</span></tt> |
| 281 | with EAPI Y.</p> |
288 | with EAPI Y.</p> |
| 282 | </div> |
289 | </div> |
| 283 | <div class="section" id="summary-of-ideas"> |
290 | <div class="section" id="summary-of-ideas"> |
| 284 | <h1><a class="toc-backref" href="#id13">Summary of ideas</a></h1> |
291 | <h1><a class="toc-backref" href="#id14">Summary of ideas</a></h1> |
| 285 | <div class="section" id="eapi-suffixed-ebuilds-proposed-solution"> |
292 | <div class="section" id="eapi-suffixed-ebuilds-proposed-solution"> |
| 286 | <h2><a class="toc-backref" href="#id14">EAPI-suffixed ebuilds (proposed solution)</a></h2> |
293 | <h2><a class="toc-backref" href="#id15">EAPI-suffixed ebuilds (proposed solution)</a></h2> |
| 287 | <dl class="docutils"> |
294 | <dl class="docutils"> |
| 288 | <dt>Properties:</dt> |
295 | <dt>Properties:</dt> |
| 289 | <dd><ul class="first last simple"> |
296 | <dd><ul class="first last simple"> |
| 290 | <li>Can be used right away: yes</li> |
297 | <li>Can be used right away: yes</li> |
| 291 | <li>Hurts performance: no</li> |
298 | <li>Hurts performance: no</li> |
| … | |
… | |
| 293 | </dd> |
300 | </dd> |
| 294 | </dl> |
301 | </dl> |
| 295 | <p>Some say it is clear and simple, others that it is ugly and unintuitive.</p> |
302 | <p>Some say it is clear and simple, others that it is ugly and unintuitive.</p> |
| 296 | </div> |
303 | </div> |
| 297 | <div class="section" id="eapi-in-the-filename-with-one-time-extension-change"> |
304 | <div class="section" id="eapi-in-the-filename-with-one-time-extension-change"> |
| 298 | <h2><a class="toc-backref" href="#id15">EAPI in the filename with one-time extension change</a></h2> |
305 | <h2><a class="toc-backref" href="#id16">EAPI in the filename with one-time extension change</a></h2> |
| 299 | <p>One of the proposed filename formats: |
306 | <p>One of the proposed filename formats: |
| 300 | <tt class="docutils literal"><span class="pre"><PKG>-<VER>.eapi-<EAPI>.eb</span></tt></p> |
307 | <tt class="docutils literal"><span class="pre"><PKG>-<VER>.eapi-<EAPI>.eb</span></tt></p> |
| 301 | <dl class="docutils"> |
308 | <dl class="docutils"> |
| 302 | <dt>Properties:</dt> |
309 | <dt>Properties:</dt> |
| 303 | <dd><ul class="first last simple"> |
310 | <dd><ul class="first last simple"> |
| … | |
… | |
| 308 | </dl> |
315 | </dl> |
| 309 | <p>This is equivalent to the proposed solution.</p> |
316 | <p>This is equivalent to the proposed solution.</p> |
| 310 | <p>Some say it is better because the extension is static.</p> |
317 | <p>Some say it is better because the extension is static.</p> |
| 311 | </div> |
318 | </div> |
| 312 | <div class="section" id="easily-fetchable-eapi-inside-the-ebuild"> |
319 | <div class="section" id="easily-fetchable-eapi-inside-the-ebuild"> |
| 313 | <h2><a class="toc-backref" href="#id16">Easily fetchable EAPI inside the ebuild</a></h2> |
320 | <h2><a class="toc-backref" href="#id17">Easily fetchable EAPI inside the ebuild</a></h2> |
| 314 | <dl class="docutils"> |
321 | <dl class="docutils"> |
| 315 | <dt>Properties:</dt> |
322 | <dt>Properties:</dt> |
| 316 | <dd><ul class="first last simple"> |
323 | <dd><ul class="first last simple"> |
| 317 | <li>Can be used right away: no</li> |
324 | <li>Can be used right away: no</li> |
| 318 | <li>Hurts performance: yes</li> |
325 | <li>Hurts performance: yes</li> |
| … | |
… | |
| 362 | 6, 5 and 4. With EAPI in the ebuild it needs to load metadata for all versions.</p> |
369 | 6, 5 and 4. With EAPI in the ebuild it needs to load metadata for all versions.</p> |
| 363 | <p>It's hard to say what's the avarage case, but surely the worst case scenario |
370 | <p>It's hard to say what's the avarage case, but surely the worst case scenario |
| 364 | (when only the lowest version is visible) is uncommon.</p> |
371 | (when only the lowest version is visible) is uncommon.</p> |
| 365 | </div> |
372 | </div> |
| 366 | <div class="section" id="easily-fetchable-eapi-inside-the-ebuild-and-one-time-extension-change"> |
373 | <div class="section" id="easily-fetchable-eapi-inside-the-ebuild-and-one-time-extension-change"> |
| 367 | <h2><a class="toc-backref" href="#id17">Easily fetchable EAPI inside the ebuild and one-time extension change</a></h2> |
374 | <h2><a class="toc-backref" href="#id18">Easily fetchable EAPI inside the ebuild and one-time extension change</a></h2> |
| 368 | <dl class="docutils"> |
375 | <dl class="docutils"> |
| 369 | <dt>Properties:</dt> |
376 | <dt>Properties:</dt> |
| 370 | <dd><ul class="first last simple"> |
377 | <dd><ul class="first last simple"> |
| 371 | <li>Can be used right away: yes</li> |
378 | <li>Can be used right away: yes</li> |
| 372 | <li>Hurts performance: yes</li> |
379 | <li>Hurts performance: yes</li> |
| … | |
… | |
| 376 | <p>Performance decrease as described in the previous section.</p> |
383 | <p>Performance decrease as described in the previous section.</p> |
| 377 | <p>Some say it is clear and simple, others that it is confusing and unintuitive, |
384 | <p>Some say it is clear and simple, others that it is confusing and unintuitive, |
| 378 | because of the arbitrary format restrictions in what is a bash script otherwise.</p> |
385 | because of the arbitrary format restrictions in what is a bash script otherwise.</p> |
| 379 | </div> |
386 | </div> |
| 380 | <div class="section" id="use-different-subdirectories-for-different-eapis-i-e-cat-pkg-eapix"> |
387 | <div class="section" id="use-different-subdirectories-for-different-eapis-i-e-cat-pkg-eapix"> |
| 381 | <h2><a class="toc-backref" href="#id18">Use different subdirectories for different EAPIs, i.e. cat/pkg/eapiX/</a></h2> |
388 | <h2><a class="toc-backref" href="#id19">Use different subdirectories for different EAPIs, i.e. cat/pkg/eapiX/</a></h2> |
| 382 | <dl class="docutils"> |
389 | <dl class="docutils"> |
| 383 | <dt>Properties:</dt> |
390 | <dt>Properties:</dt> |
| 384 | <dd><ul class="first last simple"> |
391 | <dd><ul class="first last simple"> |
| 385 | <li>Can be used right away: yes</li> |
392 | <li>Can be used right away: yes</li> |
| 386 | <li>Hurts performance: yes</li> |
393 | <li>Hurts performance: yes</li> |
| … | |
… | |
| 391 | reads.</p> |
398 | reads.</p> |
| 392 | <p>Some say that it makes it much harder for maintainers to see what they have.</p> |
399 | <p>Some say that it makes it much harder for maintainers to see what they have.</p> |
| 393 | </div> |
400 | </div> |
| 394 | </div> |
401 | </div> |
| 395 | <div class="section" id="references"> |
402 | <div class="section" id="references"> |
| 396 | <h1><a class="toc-backref" href="#id19">References</a></h1> |
403 | <h1><a class="toc-backref" href="#id20">References</a></h1> |
| 397 | <table class="docutils footnote" frame="void" id="glep54" rules="none"> |
404 | <table class="docutils footnote" frame="void" id="glep54" rules="none"> |
| 398 | <colgroup><col class="label" /><col /></colgroup> |
405 | <colgroup><col class="label" /><col /></colgroup> |
| 399 | <tbody valign="top"> |
406 | <tbody valign="top"> |
| 400 | <tr><td class="label"><a class="fn-backref" href="#id1">[1]</a></td><td>GLEP 54, scm package version suffix |
407 | <tr><td class="label"><a class="fn-backref" href="#id1">[1]</a></td><td>GLEP 54, scm package version suffix |
| 401 | (<a class="reference external" href="http://glep.gentoo.org/glep-0054.html">http://glep.gentoo.org/glep-0054.html</a>)</td></tr> |
408 | (<a class="reference external" href="http://glep.gentoo.org/glep-0054.html">http://glep.gentoo.org/glep-0054.html</a>)</td></tr> |
| … | |
… | |
| 408 | (<a class="reference external" href="http://www.gentoo.org/proj/en/portage/doc/common-problems.xml">http://www.gentoo.org/proj/en/portage/doc/common-problems.xml</a>)</td></tr> |
415 | (<a class="reference external" href="http://www.gentoo.org/proj/en/portage/doc/common-problems.xml">http://www.gentoo.org/proj/en/portage/doc/common-problems.xml</a>)</td></tr> |
| 409 | </tbody> |
416 | </tbody> |
| 410 | </table> |
417 | </table> |
| 411 | </div> |
418 | </div> |
| 412 | <div class="section" id="copyright"> |
419 | <div class="section" id="copyright"> |
| 413 | <h1><a class="toc-backref" href="#id20">Copyright</a></h1> |
420 | <h1><a class="toc-backref" href="#id21">Copyright</a></h1> |
| 414 | <p>This document has been placed in the public domain.</p> |
421 | <p>This document has been placed in the public domain.</p> |
| 415 | <!-- vim: set tw=80 fileencoding=utf-8 spell spelllang=en et : --> |
422 | <!-- vim: set tw=80 fileencoding=utf-8 spell spelllang=en et : --> |
| 416 | </div> |
423 | </div> |
| 417 | |
424 | |
| 418 | </div> |
425 | </div> |
| 419 | <div class="footer"> |
426 | <div class="footer"> |
| 420 | <hr class="footer" /> |
427 | <hr class="footer" /> |
| 421 | <a class="reference external" href="glep-0055.txt">View document source</a>. |
428 | <a class="reference external" href="glep-0055.txt">View document source</a>. |
| 422 | Generated on: 2010-04-07 22:12 UTC. |
429 | Generated on: 2012-05-09 07:02 UTC. |
| 423 | Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source. |
430 | Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source. |
| 424 | |
431 | |
| 425 | </div> |
432 | </div> |
| 426 | </body> |
433 | </body> |
| 427 | </html> |
434 | </html> |