/[gentoo]/xml/htdocs/proj/en/glep/glep-0055.txt
Gentoo

Diff of /xml/htdocs/proj/en/glep/glep-0055.txt

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.3 Revision 1.4
1GLEP: 55 1GLEP: 55
2Title: Use EAPI-suffixed ebuilds (.ebuild-EAPI) 2Title: Use EAPI-suffixed ebuilds (.ebuild-EAPI)
3Version: $Revision: 1.3 $ 3Version: $Revision: 1.4 $
4Last-Modified: $Date: 2009/05/17 15:50:27 $ 4Last-Modified: $Date: 2009/05/17 17:00:30 $
5Author: Piotr Jaroszyński <peper@gentoo.org> 5Author: Piotr Jaroszyński <peper@gentoo.org>
6Status: Draft 6Status: Draft
7Type: Standards Track 7Type: Standards Track
8Content-Type: text/x-rst 8Content-Type: text/x-rst
9Created: 17-Dec-2007 9Created: 17-Dec-2007
36 * Add new global scope functions in any sane way. 36 * Add new global scope functions in any sane way.
37 37
38 * Extend versioning rules in an EAPI - for example, addition of the scm 38 * Extend versioning rules in an EAPI - for example, addition of the scm
39 suffix - GLEP54 [#GLEP54]_ or allowing more sensible version formats like 39 suffix - GLEP54 [#GLEP54]_ or allowing more sensible version formats like
40 ``1-rc1``, ``1-alpha`` etc. to match upstream more closely. 40 ``1-rc1``, ``1-alpha`` etc. to match upstream more closely.
41
42 * Use newer bash features.
41 43
42 44
43Current behaviour 45Current behaviour
44================= 46=================
45 47
120 122
121 emerge: there are no ebuilds to satisfy "sys-apps/foo" 123 emerge: there are no ebuilds to satisfy "sys-apps/foo"
122 124
123Not the best error message, especially if there are lots of them. 125Not the best error message, especially if there are lots of them.
124 126
127Use newer bash features
128-----------------------
129
130``|&`` is a new type of redirection added in bash-4. It cannot be used even in
131local scope as bash still parses the whole ebuild.
132
133``sys-apps/foo-1.ebuild``::
134
135 EAPI="5"
136
137 foo() {
138 echo "foo" |& cat
139 }
140
141Result::
142
143 /var/lib/gentoo/repositories/peper/sys-apps/foo/foo-1.ebuild: line 8: syntax error near unexpected token `&'
144 /var/lib/gentoo/repositories/peper/sys-apps/foo/foo-1.ebuild: line 8: ` echo "foo" |& cat'
145 *
146 * ERROR: sys-apps/foo-1 failed.
147 * Call stack:
148 * ebuild.sh, line 1879: Called _source_ebuild
149 * ebuild.sh, line 1818: Called die
150 * The specific snippet of code:
151 * source "${EBUILD}" || die "error sourcing ebuild"
152 * The die message:
153 * error sourcing ebuild
154 *
155 * If you need support, post the topmost build error, and the call stack if relevant.
156 * This ebuild is from an overlay: '/var/lib/gentoo/repositories/peper/'
157 * ... done!
158
159 !!! All ebuilds that could satisfy "sys-apps/foo" have been masked.
160 !!! One of the following masked packages is required to complete your request:
161 - sys-apps/foo-1 (masked by: corruption)
162
163Again, not the best error.
164
125Abstract solution 165Abstract solution
126================= 166=================
127 167
128A solution to this problem has to lift those limitations and the only way to do 168A solution to this problem has to lift those limitations and the only way to do
129it is to make the EAPI of an ebuild available to the package managers in a way 169it is to make the EAPI of an ebuild available to the package managers in a way

Legend:
Removed from v.1.3  
changed lines
  Added in v.1.4

  ViewVC Help
Powered by ViewVC 1.1.20