Gentoo Archives: gentoo-commits

From: "Joshua Kinard (kumba)" <kumba@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in sys-kernel/mips-sources: mips-sources-2.6.27.21.ebuild ChangeLog mips-sources-2.6.29.ebuild metadata.xml mips-sources-2.6.28.9.ebuild mips-sources-2.6.28.8.ebuild mips-sources-2.6.27.20.ebuild
Date: Tue, 24 Mar 2009 05:33:40
Message-Id: E1LlzGb-00028f-7Y@stork.gentoo.org
1 kumba 09/03/24 05:33:37
2
3 Modified: ChangeLog metadata.xml
4 Added: mips-sources-2.6.27.21.ebuild
5 mips-sources-2.6.29.ebuild
6 mips-sources-2.6.28.9.ebuild
7 Removed: mips-sources-2.6.28.8.ebuild
8 mips-sources-2.6.27.20.ebuild
9 Log:
10 Update to 2.6.27.21, 2.6.28.9, and add the newly-released 2.6.29 ebuild, plus an updated src_unpack eblit to factor in a new local USE flag -- impactdebug. USE 'impactdebug' will apply a patch that enables a very-early, direct framebuffer device for Octane and IP28 systems that have an ImpactSR or SolidImpact graphics boardset. It is useful for debugging kernel problems that occur before the console or serial drivers are ready.
11 (Portage version: 2.1.6.10/cvs/Linux mips64)
12
13 Revision Changes Path
14 1.127 sys-kernel/mips-sources/ChangeLog
15
16 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-kernel/mips-sources/ChangeLog?rev=1.127&view=markup
17 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-kernel/mips-sources/ChangeLog?rev=1.127&content-type=text/plain
18 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-kernel/mips-sources/ChangeLog?r1=1.126&r2=1.127
19
20 Index: ChangeLog
21 ===================================================================
22 RCS file: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/ChangeLog,v
23 retrieving revision 1.126
24 retrieving revision 1.127
25 diff -u -r1.126 -r1.127
26 --- ChangeLog 22 Mar 2009 03:34:07 -0000 1.126
27 +++ ChangeLog 24 Mar 2009 05:33:37 -0000 1.127
28 @@ -1,6 +1,23 @@
29 # ChangeLog for sys-kernel/mips-sources
30 # Copyright 2002-2009 Gentoo Foundation; Distributed under the GPL v2
31 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/ChangeLog,v 1.126 2009/03/22 03:34:07 kumba Exp $
32 +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/ChangeLog,v 1.127 2009/03/24 05:33:37 kumba Exp $
33 +
34 +*mips-sources-2.6.29 (24 Mar 2009)
35 +*mips-sources-2.6.28.9 (24 Mar 2009)
36 +*mips-sources-2.6.27.21 (24 Mar 2009)
37 +
38 + 24 Mar 2009; Joshua Kinard <kumba@g.o>
39 + +files/eblits/src_unpack-v2.eblit, metadata.xml,
40 + -mips-sources-2.6.27.20.ebuild, +mips-sources-2.6.27.21.ebuild,
41 + -mips-sources-2.6.28.8.ebuild, +mips-sources-2.6.28.9.ebuild,
42 + +mips-sources-2.6.29.ebuild:
43 + Update to 2.6.27.21, 2.6.28.9, and add the newly-released 2.6.29 ebuild,
44 + plus an updated src_unpack eblit to factor in a new local USE flag --
45 + impactdebug. USE 'impactdebug' will apply a patch that enables a
46 + very-early, direct framebuffer device for Octane and IP28 systems that
47 + have an ImpactSR or SolidImpact graphics boardset. It is useful for
48 + debugging kernel problems that occur before the console or serial drivers
49 + are ready.
50
51 22 Mar 2009; Joshua Kinard <kumba@g.o>
52 -mips-sources-2.6.27.18.ebuild, +mips-sources-2.6.27.20.ebuild,
53
54
55
56 1.3 sys-kernel/mips-sources/metadata.xml
57
58 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-kernel/mips-sources/metadata.xml?rev=1.3&view=markup
59 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-kernel/mips-sources/metadata.xml?rev=1.3&content-type=text/plain
60 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-kernel/mips-sources/metadata.xml?r1=1.2&r2=1.3
61
62 Index: metadata.xml
63 ===================================================================
64 RCS file: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/metadata.xml,v
65 retrieving revision 1.2
66 retrieving revision 1.3
67 diff -u -r1.2 -r1.3
68 --- metadata.xml 22 Aug 2008 20:03:07 -0000 1.2
69 +++ metadata.xml 24 Mar 2009 05:33:37 -0000 1.3
70 @@ -20,6 +20,8 @@
71 'Speedracer')</flag>
72 <flag name='ip32r10k'>Enables experimental support for IP32 R10K kernels
73 (SGI O2, 'Moosehead')</flag>
74 + <flag name='impactdebug'>Enables use of the Impact Early Console Hack.
75 + FOR DEBUGGING ONLY!</flag>
76 </use>
77 </pkgmetadata>
78
79
80
81
82 1.1 sys-kernel/mips-sources/mips-sources-2.6.27.21.ebuild
83
84 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-kernel/mips-sources/mips-sources-2.6.27.21.ebuild?rev=1.1&view=markup
85 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-kernel/mips-sources/mips-sources-2.6.27.21.ebuild?rev=1.1&content-type=text/plain
86
87 Index: mips-sources-2.6.27.21.ebuild
88 ===================================================================
89 # Copyright 1999-2009 Gentoo Foundation
90 # Distributed under the terms of the GNU General Public License v2
91 # $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/mips-sources-2.6.27.21.ebuild,v 1.1 2009/03/24 05:33:37 kumba Exp $
92
93 # INCLUDED:
94 # 1) linux sources from kernel.org
95 # 2) linux-mips.org GIT snapshot diff
96 # 3) Generic Fixes
97 # 4) Patch for the IOC3 Metadriver (IP27, IP30)
98 # 5) Patch for IP30 Support
99 # 6) Patch for IP28 Graphics Support (SolidImpact)
100 # 7) Experimental patches (if needed)
101
102 #//------------------------------------------------------------------------------
103
104 # Version Data
105 OKV=${PV/_/-}
106 GITDATE="20090315" # Date of diff between kernel.org and lmo GIT
107 GENPATCHREV="2" # Tarball revision for patches
108
109 # Directories
110 S="${WORKDIR}/linux-${OKV}-${GITDATE}"
111 MIPS_PATCHES="${WORKDIR}/mips-patches"
112
113 # Kernel-2 Vars
114 K_SECURITY_UNSUPPORTED="1"
115 K_NOUSENAME="0"
116 K_NOUSEPR="0"
117 K_USEPV="0"
118 ETYPE="sources"
119
120 # Inherit Eclasses
121 inherit kernel-2 eutils
122 detect_version
123
124 # Version Data
125 F_KV="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
126 [[ "${EXTRAVERSION}" = -rc* ]] && KVE="${EXTRAVERSION}"
127
128 # Portage Vars
129 HOMEPAGE="http://www.linux-mips.org/ http://www.gentoo.org/"
130 SLOT="${OKV}"
131 PROVIDE="virtual/linux-sources virtual/alsa"
132 KEYWORDS="-* ~mips"
133 IUSE="cobalt ip27 ip28 ip30 ip32r10k"
134 DEPEND=">=sys-devel/gcc-4.1.1"
135 RDEPEND=""
136
137 # Machine Support Control Variables
138 DO_IP22="yes" # If "yes", enable IP22 support (SGI Indy, Indigo2 R4x00)
139 DO_IP27="yes" # IP27 support (SGI Origin)
140 DO_IP28="yes" # IP28 support (SGI Indigo2 Impact R10000)
141 DO_IP30="yes" # IP30 support (SGI Octane)
142 DO_IP32="yes" # IP32 support (SGI O2, R5000/RM5200 Only)
143 DO_CBLT="yes" # Cobalt Support (Cobalt Microsystems)
144
145 # Machine Stable Version Variables
146 SV_IP22="" # If set && DO_IP22 == "no", indicates last "good" IP22 version
147 SV_IP27="" # DO_IP27 == "no", IP27
148 SV_IP28="" # DO_IP28 == "no", IP28
149 SV_IP30="" # DO_IP30 == "no", IP30
150 SV_IP32="" # DO_IP32 == "no", IP32
151 SV_CBLT="" # DO_CBLT == "no", Cobalt
152
153
154 DESCRIPTION="Linux-Mips GIT sources for MIPS-based machines, dated ${GITDATE}"
155 SRC_URI="${KERNEL_URI}
156 mirror://gentoo/mipsgit-${F_KV}${KVE}-${GITDATE}.diff.bz2
157 mirror://gentoo/${PN}-${F_KV}-patches-v${GENPATCHREV}.tar.bz2"
158
159
160 UNIPATCH_STRICTORDER="1"
161 UNIPATCH_LIST="${DISTDIR}/mipsgit-${F_KV}${KVE}-${GITDATE}.diff.bz2"
162
163 #//------------------------------------------------------------------------------
164
165 # Eblit Handling Functions
166 #
167 # They'll likely be superseded someday by better ideas, possibly elibs.
168
169 # eblit-core
170 # Usage: <function> [version]
171 # Main eblit engine
172 eblit-core() {
173 local e v func=$1 ver=$2
174 for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do
175 e="${FILESDIR}/eblits/${func}${v}.eblit"
176 if [[ -e ${e} ]] ; then
177 . "${e}"
178 [[ ${func} == pkg_* ]] && eval "${func}() { eblit-run ${func} ${ver} ; }"
179 return 0
180 fi
181 done
182 return 1
183 }
184
185 # eblit-include
186 # Usage: [--skip] <function> [version]
187 # Includes an "eblit" -- a chunk of common code among ebuilds in a given
188 # package so that its functions can be sourced and utilized within the
189 # ebuild.
190 eblit-include() {
191 local skipable=false r=0
192 [[ $1 == "--skip" ]] && skipable=true && shift
193 [[ $1 == pkg_* ]] && skipable=true
194
195 [[ -z $1 ]] && die "Usage: eblit-include <function> [version]"
196 eblit-core $1 $2
197 r="$?"
198 ${skipable} && return 0
199 [[ "$r" -gt "0" ]] && die "Could not locate requested eblit '$1' in ${FILESDIR}/eblits/"
200 }
201
202 # eblit-run-maybe
203 # Usage: <function>
204 # Runs a function if it is defined in an eblit
205 eblit-run-maybe() {
206 [[ $(type -t "$@") == "function" ]] && "$@"
207 }
208
209 # eblit-run
210 # Usage: <function> [version]
211 # Runs a function defined in an eblit
212 eblit-run() {
213 eblit-include --skip common "${*:2}"
214 eblit-include "$@"
215 eblit-run-maybe eblit-$1-pre
216 eblit-${PN}-$1
217 eblit-run-maybe eblit-$1-post
218 }
219
220 # eblit-pkg
221 # Usage: <phase> [version]
222 # Runs the pkg_* functions AND evals them so they're included in the binpkgs
223 eblit-pkg() {
224 [[ -z $1 ]] && die "Usage: eblit-pkg <phase> [version]"
225 eblit-core pkg_$1 $2
226 }
227
228 #//------------------------------------------------------------------------------
229
230 # All are in ${FILESDIR}/eblits
231 # If a message for a given machine needs to change,
232 # then we create a new eblit and increment the
233 # version and reference it here.
234 eblit-include err_disabled_mach v1
235 eblit-include err_only_one_mach_allowed v1
236 eblit-include show_ip22_info v1
237 eblit-include show_ip27_info v1
238 eblit-include show_ip28_info v1
239 eblit-include show_ip30_info v1
240 eblit-include show_ip32_info v1
241 eblit-include show_cobalt_info v1
242
243 # This makes sure pkg_setup & pkg_postinst gets into any binpkg.
244 # Neccessary because we can't guarantee FILESDIR is around for binpkgs.
245 eblit-pkg setup v1
246 eblit-pkg postinst v1
247
248 src_unpack() { eblit-run src_unpack v1 ; }
249
250 #//------------------------------------------------------------------------------
251
252
253
254 1.1 sys-kernel/mips-sources/mips-sources-2.6.29.ebuild
255
256 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-kernel/mips-sources/mips-sources-2.6.29.ebuild?rev=1.1&view=markup
257 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-kernel/mips-sources/mips-sources-2.6.29.ebuild?rev=1.1&content-type=text/plain
258
259 Index: mips-sources-2.6.29.ebuild
260 ===================================================================
261 # Copyright 1999-2009 Gentoo Foundation
262 # Distributed under the terms of the GNU General Public License v2
263 # $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/mips-sources-2.6.29.ebuild,v 1.1 2009/03/24 05:33:37 kumba Exp $
264
265 # INCLUDED:
266 # 1) linux sources from kernel.org
267 # 2) linux-mips.org GIT snapshot diff
268 # 3) Generic Fixes
269 # 4) Patch for the IOC3 Metadriver (IP27, IP30)
270 # 5) Patch for IP30 Support
271 # 6) Patch for IP28 Graphics Support (SolidImpact)
272 # 7) Experimental patches (if needed)
273
274 #//------------------------------------------------------------------------------
275
276 # Version Data
277 OKV=${PV/_/-}
278 GITDATE="20090324" # Date of diff between kernel.org and lmo GIT
279 GENPATCHREV="1" # Tarball revision for patches
280
281 # Directories
282 S="${WORKDIR}/linux-${OKV}-${GITDATE}"
283 MIPS_PATCHES="${WORKDIR}/mips-patches"
284
285 # Kernel-2 Vars
286 K_SECURITY_UNSUPPORTED="1"
287 K_NOUSENAME="0"
288 K_NOUSEPR="0"
289 K_USEPV="0"
290 ETYPE="sources"
291
292 # Inherit Eclasses
293 inherit kernel-2 eutils
294 detect_version
295
296 # Version Data
297 F_KV="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
298 [[ "${EXTRAVERSION}" = -rc* ]] && KVE="${EXTRAVERSION}"
299
300 # Portage Vars
301 HOMEPAGE="http://www.linux-mips.org/ http://www.gentoo.org/"
302 SLOT="${OKV}"
303 PROVIDE="virtual/linux-sources virtual/alsa"
304 KEYWORDS="-* ~mips"
305 IUSE="cobalt ip27 ip28 ip30 ip32r10k impactdebug"
306 DEPEND=">=sys-devel/gcc-4.1.1"
307 RDEPEND=""
308
309 # Machine Support Control Variables
310 DO_IP22="yes" # If "yes", enable IP22 support (SGI Indy, Indigo2 R4x00)
311 DO_IP27="yes" # IP27 support (SGI Origin)
312 DO_IP28="yes" # IP28 support (SGI Indigo2 Impact R10000)
313 DO_IP30="yes" # IP30 support (SGI Octane)
314 DO_IP32="yes" # IP32 support (SGI O2, R5000/RM5200 Only)
315 DO_CBLT="yes" # Cobalt Support (Cobalt Microsystems)
316
317 # Machine Stable Version Variables
318 SV_IP22="" # If set && DO_IP22 == "no", indicates last "good" IP22 version
319 SV_IP27="" # DO_IP27 == "no", IP27
320 SV_IP28="" # DO_IP28 == "no", IP28
321 SV_IP30="" # DO_IP30 == "no", IP30
322 SV_IP32="" # DO_IP32 == "no", IP32
323 SV_CBLT="" # DO_CBLT == "no", Cobalt
324
325
326 DESCRIPTION="Linux-Mips GIT sources for MIPS-based machines, dated ${GITDATE}"
327 SRC_URI="${KERNEL_URI}
328 mirror://gentoo/mipsgit-${F_KV}${KVE}-${GITDATE}.diff.bz2
329 mirror://gentoo/${PN}-${F_KV}-patches-v${GENPATCHREV}.tar.bz2"
330
331
332 UNIPATCH_STRICTORDER="1"
333 UNIPATCH_LIST="${DISTDIR}/mipsgit-${F_KV}${KVE}-${GITDATE}.diff.bz2"
334
335 #//------------------------------------------------------------------------------
336
337 # Eblit Handling Functions
338 #
339 # They'll likely be superseded someday by better ideas, possibly elibs.
340
341 # eblit-core
342 # Usage: <function> [version]
343 # Main eblit engine
344 eblit-core() {
345 local e v func=$1 ver=$2
346 for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do
347 e="${FILESDIR}/eblits/${func}${v}.eblit"
348 if [[ -e ${e} ]] ; then
349 . "${e}"
350 [[ ${func} == pkg_* ]] && eval "${func}() { eblit-run ${func} ${ver} ; }"
351 return 0
352 fi
353 done
354 return 1
355 }
356
357 # eblit-include
358 # Usage: [--skip] <function> [version]
359 # Includes an "eblit" -- a chunk of common code among ebuilds in a given
360 # package so that its functions can be sourced and utilized within the
361 # ebuild.
362 eblit-include() {
363 local skipable=false r=0
364 [[ $1 == "--skip" ]] && skipable=true && shift
365 [[ $1 == pkg_* ]] && skipable=true
366
367 [[ -z $1 ]] && die "Usage: eblit-include <function> [version]"
368 eblit-core $1 $2
369 r="$?"
370 ${skipable} && return 0
371 [[ "$r" -gt "0" ]] && die "Could not locate requested eblit '$1' in ${FILESDIR}/eblits/"
372 }
373
374 # eblit-run-maybe
375 # Usage: <function>
376 # Runs a function if it is defined in an eblit
377 eblit-run-maybe() {
378 [[ $(type -t "$@") == "function" ]] && "$@"
379 }
380
381 # eblit-run
382 # Usage: <function> [version]
383 # Runs a function defined in an eblit
384 eblit-run() {
385 eblit-include --skip common "${*:2}"
386 eblit-include "$@"
387 eblit-run-maybe eblit-$1-pre
388 eblit-${PN}-$1
389 eblit-run-maybe eblit-$1-post
390 }
391
392 # eblit-pkg
393 # Usage: <phase> [version]
394 # Runs the pkg_* functions AND evals them so they're included in the binpkgs
395 eblit-pkg() {
396 [[ -z $1 ]] && die "Usage: eblit-pkg <phase> [version]"
397 eblit-core pkg_$1 $2
398 }
399
400 #//------------------------------------------------------------------------------
401
402 # All are in ${FILESDIR}/eblits
403 # If a message for a given machine needs to change,
404 # then we create a new eblit and increment the
405 # version and reference it here.
406 eblit-include err_disabled_mach v1
407 eblit-include err_only_one_mach_allowed v1
408 eblit-include show_ip22_info v1
409 eblit-include show_ip27_info v1
410 eblit-include show_ip28_info v1
411 eblit-include show_ip30_info v1
412 eblit-include show_ip32_info v1
413 eblit-include show_cobalt_info v1
414
415 # This makes sure pkg_setup & pkg_postinst gets into any binpkg.
416 # Neccessary because we can't guarantee FILESDIR is around for binpkgs.
417 eblit-pkg setup v1
418 eblit-pkg postinst v1
419
420 src_unpack() { eblit-run src_unpack v2 ; }
421
422 #//------------------------------------------------------------------------------
423
424
425
426 1.1 sys-kernel/mips-sources/mips-sources-2.6.28.9.ebuild
427
428 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-kernel/mips-sources/mips-sources-2.6.28.9.ebuild?rev=1.1&view=markup
429 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/sys-kernel/mips-sources/mips-sources-2.6.28.9.ebuild?rev=1.1&content-type=text/plain
430
431 Index: mips-sources-2.6.28.9.ebuild
432 ===================================================================
433 # Copyright 1999-2009 Gentoo Foundation
434 # Distributed under the terms of the GNU General Public License v2
435 # $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/mips-sources-2.6.28.9.ebuild,v 1.1 2009/03/24 05:33:37 kumba Exp $
436
437 # INCLUDED:
438 # 1) linux sources from kernel.org
439 # 2) linux-mips.org GIT snapshot diff
440 # 3) Generic Fixes
441 # 4) Patch for the IOC3 Metadriver (IP27, IP30)
442 # 5) Patch for IP30 Support
443 # 6) Patch for IP28 Graphics Support (SolidImpact)
444 # 7) Experimental patches (if needed)
445
446 #//------------------------------------------------------------------------------
447
448 # Version Data
449 OKV=${PV/_/-}
450 GITDATE="20090315" # Date of diff between kernel.org and lmo GIT
451 GENPATCHREV="2" # Tarball revision for patches
452
453 # Directories
454 S="${WORKDIR}/linux-${OKV}-${GITDATE}"
455 MIPS_PATCHES="${WORKDIR}/mips-patches"
456
457 # Kernel-2 Vars
458 K_SECURITY_UNSUPPORTED="1"
459 K_NOUSENAME="0"
460 K_NOUSEPR="0"
461 K_USEPV="0"
462 ETYPE="sources"
463
464 # Inherit Eclasses
465 inherit kernel-2 eutils
466 detect_version
467
468 # Version Data
469 F_KV="${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
470 [[ "${EXTRAVERSION}" = -rc* ]] && KVE="${EXTRAVERSION}"
471
472 # Portage Vars
473 HOMEPAGE="http://www.linux-mips.org/ http://www.gentoo.org/"
474 SLOT="${OKV}"
475 PROVIDE="virtual/linux-sources virtual/alsa"
476 KEYWORDS="-* ~mips"
477 IUSE="cobalt ip27 ip28 ip30 ip32r10k"
478 DEPEND=">=sys-devel/gcc-4.1.1"
479 RDEPEND=""
480
481 # Machine Support Control Variables
482 DO_IP22="yes" # If "yes", enable IP22 support (SGI Indy, Indigo2 R4x00)
483 DO_IP27="yes" # IP27 support (SGI Origin)
484 DO_IP28="yes" # IP28 support (SGI Indigo2 Impact R10000)
485 DO_IP30="yes" # IP30 support (SGI Octane)
486 DO_IP32="yes" # IP32 support (SGI O2, R5000/RM5200 Only)
487 DO_CBLT="yes" # Cobalt Support (Cobalt Microsystems)
488
489 # Machine Stable Version Variables
490 SV_IP22="" # If set && DO_IP22 == "no", indicates last "good" IP22 version
491 SV_IP27="" # DO_IP27 == "no", IP27
492 SV_IP28="" # DO_IP28 == "no", IP28
493 SV_IP30="" # DO_IP30 == "no", IP30
494 SV_IP32="" # DO_IP32 == "no", IP32
495 SV_CBLT="" # DO_CBLT == "no", Cobalt
496
497
498 DESCRIPTION="Linux-Mips GIT sources for MIPS-based machines, dated ${GITDATE}"
499 SRC_URI="${KERNEL_URI}
500 mirror://gentoo/mipsgit-${F_KV}${KVE}-${GITDATE}.diff.bz2
501 mirror://gentoo/${PN}-${F_KV}-patches-v${GENPATCHREV}.tar.bz2"
502
503
504 UNIPATCH_STRICTORDER="1"
505 UNIPATCH_LIST="${DISTDIR}/mipsgit-${F_KV}${KVE}-${GITDATE}.diff.bz2"
506
507 #//------------------------------------------------------------------------------
508
509 # Eblit Handling Functions
510 #
511 # They'll likely be superseded someday by better ideas, possibly elibs.
512
513 # eblit-core
514 # Usage: <function> [version]
515 # Main eblit engine
516 eblit-core() {
517 local e v func=$1 ver=$2
518 for v in ${ver:+-}${ver} -${PVR} -${PV} "" ; do
519 e="${FILESDIR}/eblits/${func}${v}.eblit"
520 if [[ -e ${e} ]] ; then
521 . "${e}"
522 [[ ${func} == pkg_* ]] && eval "${func}() { eblit-run ${func} ${ver} ; }"
523 return 0
524 fi
525 done
526 return 1
527 }
528
529 # eblit-include
530 # Usage: [--skip] <function> [version]
531 # Includes an "eblit" -- a chunk of common code among ebuilds in a given
532 # package so that its functions can be sourced and utilized within the
533 # ebuild.
534 eblit-include() {
535 local skipable=false r=0
536 [[ $1 == "--skip" ]] && skipable=true && shift
537 [[ $1 == pkg_* ]] && skipable=true
538
539 [[ -z $1 ]] && die "Usage: eblit-include <function> [version]"
540 eblit-core $1 $2
541 r="$?"
542 ${skipable} && return 0
543 [[ "$r" -gt "0" ]] && die "Could not locate requested eblit '$1' in ${FILESDIR}/eblits/"
544 }
545
546 # eblit-run-maybe
547 # Usage: <function>
548 # Runs a function if it is defined in an eblit
549 eblit-run-maybe() {
550 [[ $(type -t "$@") == "function" ]] && "$@"
551 }
552
553 # eblit-run
554 # Usage: <function> [version]
555 # Runs a function defined in an eblit
556 eblit-run() {
557 eblit-include --skip common "${*:2}"
558 eblit-include "$@"
559 eblit-run-maybe eblit-$1-pre
560 eblit-${PN}-$1
561 eblit-run-maybe eblit-$1-post
562 }
563
564 # eblit-pkg
565 # Usage: <phase> [version]
566 # Runs the pkg_* functions AND evals them so they're included in the binpkgs
567 eblit-pkg() {
568 [[ -z $1 ]] && die "Usage: eblit-pkg <phase> [version]"
569 eblit-core pkg_$1 $2
570 }
571
572 #//------------------------------------------------------------------------------
573
574 # All are in ${FILESDIR}/eblits
575 # If a message for a given machine needs to change,
576 # then we create a new eblit and increment the
577 # version and reference it here.
578 eblit-include err_disabled_mach v1
579 eblit-include err_only_one_mach_allowed v1
580 eblit-include show_ip22_info v1
581 eblit-include show_ip27_info v1
582 eblit-include show_ip28_info v1
583 eblit-include show_ip30_info v1
584 eblit-include show_ip32_info v1
585 eblit-include show_cobalt_info v1
586
587 # This makes sure pkg_setup & pkg_postinst gets into any binpkg.
588 # Neccessary because we can't guarantee FILESDIR is around for binpkgs.
589 eblit-pkg setup v1
590 eblit-pkg postinst v1
591
592 src_unpack() { eblit-run src_unpack v1 ; }
593
594 #//------------------------------------------------------------------------------