1 |
Author: zmedico |
2 |
Date: 2009-04-08 20:02:26 +0000 (Wed, 08 Apr 2009) |
3 |
New Revision: 13300 |
4 |
|
5 |
Modified: |
6 |
main/trunk/bin/ebuild.sh |
7 |
Log: |
8 |
- Move DEFINED_PHASES code into _source_ebuild() and add it to the list of |
9 |
readonly variables. |
10 |
- Save DEFINED_PHASES in the vdb entries, as requested by lxnay. |
11 |
|
12 |
|
13 |
Modified: main/trunk/bin/ebuild.sh |
14 |
=================================================================== |
15 |
--- main/trunk/bin/ebuild.sh 2009-04-08 19:37:25 UTC (rev 13299) |
16 |
+++ main/trunk/bin/ebuild.sh 2009-04-08 20:02:26 UTC (rev 13300) |
17 |
@@ -1008,7 +1008,7 @@ |
18 |
local f x |
19 |
IFS=$' \t\n\r' |
20 |
for f in ASFLAGS CATEGORY CBUILD CC CFLAGS CHOST CTARGET CXX \ |
21 |
- CXXFLAGS DEPEND EXTRA_ECONF EXTRA_EINSTALL EXTRA_MAKE \ |
22 |
+ CXXFLAGS DEFINED_PHASES DEPEND EXTRA_ECONF EXTRA_EINSTALL EXTRA_MAKE \ |
23 |
FEATURES INHERITED IUSE LDFLAGS LIBCFLAGS LIBCXXFLAGS \ |
24 |
LICENSE PDEPEND PF PKGUSE PROPERTIES PROVIDE RDEPEND RESTRICT SLOT \ |
25 |
KEYWORDS HOMEPAGE SRC_URI DESCRIPTION; do |
26 |
@@ -1529,11 +1529,6 @@ |
27 |
PORTAGE_BASHRCS_SOURCED=1 |
28 |
local x |
29 |
|
30 |
- if [[ -n $EBUILD_PHASE && -n $EAPI ]] ; then |
31 |
- local phase_func=$(_ebuild_arg_to_phase "$EAPI" $EBUILD_PHASE) |
32 |
- [[ -n $phase_func ]] && _ebuild_phase_funcs "$EAPI" $phase_func |
33 |
- fi |
34 |
- |
35 |
local OCC="${CC}" OCXX="${CXX}" |
36 |
|
37 |
if [[ $EBUILD_PHASE != depend ]] ; then |
38 |
@@ -1570,7 +1565,7 @@ |
39 |
# of ebuild.sh will work for pkg_postinst, pkg_prerm, and pkg_postrm |
40 |
# when portage is upgrading itself. |
41 |
|
42 |
-READONLY_EBUILD_METADATA="DEPEND DESCRIPTION |
43 |
+READONLY_EBUILD_METADATA="DEFINED_PHASES DEPEND DESCRIPTION |
44 |
EAPI HOMEPAGE INHERITED IUSE KEYWORDS LICENSE |
45 |
PDEPEND PROVIDE RDEPEND RESTRICT SLOT SRC_URI" |
46 |
|
47 |
@@ -1800,6 +1795,7 @@ |
48 |
unset x y |
49 |
export SANDBOX_ON=${PORTAGE_SANDBOX_ON} |
50 |
unset PORTAGE_SANDBOX_ON |
51 |
+ [[ -n $EAPI ]] || EAPI=0 |
52 |
fi |
53 |
|
54 |
_source_ebuild() { |
55 |
@@ -1839,6 +1835,37 @@ |
56 |
unset ECLASS E_IUSE E_DEPEND E_RDEPEND E_PDEPEND |
57 |
set +f |
58 |
|
59 |
+ [[ -n $EAPI ]] || EAPI=0 |
60 |
+ |
61 |
+ # alphabetically ordered by $EBUILD_PHASE value |
62 |
+ local valid_phases |
63 |
+ case "$EAPI" in |
64 |
+ 0|1) |
65 |
+ valid_phases="src_compile pkg_config pkg_info src_install |
66 |
+ pkg_nofetch pkg_postinst pkg_postrm pkg_preinst pkg_prerm |
67 |
+ pkg_setup src_test src_unpack" |
68 |
+ ;; |
69 |
+ *) |
70 |
+ valid_phases="src_compile pkg_config src_configure pkg_info |
71 |
+ src_install pkg_nofetch pkg_postinst pkg_postrm pkg_preinst |
72 |
+ src_prepare pkg_prerm pkg_setup src_test src_unpack" |
73 |
+ ;; |
74 |
+ esac |
75 |
+ |
76 |
+ DEFINED_PHASES= |
77 |
+ for f in $valid_phases ; do |
78 |
+ if [[ $(type -t $f) = function ]] ; then |
79 |
+ f=${f#pkg_} |
80 |
+ DEFINED_PHASES+=" ${f#src_}" |
81 |
+ fi |
82 |
+ done |
83 |
+ [[ -n $DEFINED_PHASES ]] || DEFINED_PHASES=- |
84 |
+ |
85 |
+ if [[ -n $EBUILD_PHASE && $EBUILD_PHASE != depend ]] ; then |
86 |
+ local phase_func=$(_ebuild_arg_to_phase "$EAPI" "$EBUILD_PHASE") |
87 |
+ [[ -n $phase_func ]] && _ebuild_phase_funcs "$EAPI" "$phase_func" |
88 |
+ fi |
89 |
+ |
90 |
# This needs to be exported since prepstrip is a separate shell script. |
91 |
[[ -n $QA_PRESTRIPPED ]] && export QA_PRESTRIPPED |
92 |
} |
93 |
@@ -1851,10 +1878,6 @@ |
94 |
fi |
95 |
fi |
96 |
|
97 |
-# Set default EAPI if necessary, so that most |
98 |
-# code can simply assume that it's defined. |
99 |
-[[ -n $EAPI ]] || EAPI=0 |
100 |
- |
101 |
# unset USE_EXPAND variables that contain only the special "*" token |
102 |
for x in ${USE_EXPAND} ; do |
103 |
[ "${!x}" == "*" ] && unset ${x} |
104 |
@@ -2047,30 +2070,6 @@ |
105 |
[ -n "${EAPI}" ] || EAPI=0 |
106 |
local eapi=$EAPI |
107 |
|
108 |
- # alphabetically ordered by $EBUILD_PHASE value |
109 |
- local valid_phases |
110 |
- case $eapi in |
111 |
- 0|1) |
112 |
- valid_phases="src_compile pkg_config pkg_info src_install |
113 |
- pkg_nofetch pkg_postinst pkg_postrm pkg_preinst pkg_prerm |
114 |
- pkg_setup src_test src_unpack" |
115 |
- ;; |
116 |
- *) |
117 |
- valid_phases="src_compile pkg_config src_configure pkg_info |
118 |
- src_install pkg_nofetch pkg_postinst pkg_postrm pkg_preinst |
119 |
- src_prepare pkg_prerm pkg_setup src_test src_unpack" |
120 |
- ;; |
121 |
- esac |
122 |
- |
123 |
- DEFINED_PHASES= |
124 |
- for f in $valid_phases ; do |
125 |
- if [[ $(type -t $f) = function ]] ; then |
126 |
- f=${f#pkg_} |
127 |
- DEFINED_PHASES+=" ${f#src_}" |
128 |
- fi |
129 |
- done |
130 |
- [[ -n $DEFINED_PHASES ]] || DEFINED_PHASES=- |
131 |
- |
132 |
if [ -n "${dbkey}" ] ; then |
133 |
> "${dbkey}" |
134 |
for f in ${auxdbkeys} ; do |