summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2008-12-25 01:11:56 +0000
committerZac Medico <zmedico@gentoo.org>2008-12-25 01:11:56 +0000
commit66e6165b149d3b5f343e3a9231edde103d0ce8c0 (patch)
tree13ec2c52a29aa9a80609471c34b7a407c222ac48 /bin/ebuild.sh
parentFix --clean <atom> so that it considers all packages within a given slot when (diff)
downloadportage-multirepo-66e6165b149d3b5f343e3a9231edde103d0ce8c0.tar.gz
portage-multirepo-66e6165b149d3b5f343e3a9231edde103d0ce8c0.tar.bz2
portage-multirepo-66e6165b149d3b5f343e3a9231edde103d0ce8c0.zip
Add support for the new DEFINED_PHASES metadata key which is automatically generated
from the set of phase functions that are defined by the ebuild and any eclasses it may have inherited. (trunk r12272:12274) svn path=/main/branches/2.1.6/; revision=12307
Diffstat (limited to 'bin/ebuild.sh')
-rwxr-xr-xbin/ebuild.sh28
1 files changed, 27 insertions, 1 deletions
diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index 7b4fa686..842e2ffa 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -2053,12 +2053,38 @@ ebuild_main() {
auxdbkeys="DEPEND RDEPEND SLOT SRC_URI RESTRICT HOMEPAGE LICENSE
DESCRIPTION KEYWORDS INHERITED IUSE CDEPEND PDEPEND PROVIDE EAPI
- PROPERTIES UNUSED_06 UNUSED_05 UNUSED_04
+ PROPERTIES DEFINED_PHASES UNUSED_05 UNUSED_04
UNUSED_03 UNUSED_02 UNUSED_01"
#the extra $(echo) commands remove newlines
unset CDEPEND
[ -n "${EAPI}" ] || EAPI=0
+ local eapi=$EAPI
+
+ # alphabetically ordered by $EBUILD_PHASE value
+ local valid_phases
+ case $eapi in
+ 0|1)
+ valid_phases="src_compile pkg_config pkg_info src_install
+ pkg_nofetch pkg_postinst pkg_postrm pkg_preinst pkg_prerm
+ pkg_setup src_test src_unpack"
+ ;;
+ *)
+ valid_phases="src_compile pkg_config src_configure pkg_info
+ src_install pkg_nofetch pkg_postinst pkg_postrm pkg_preinst
+ src_prepare pkg_prerm pkg_setup src_test src_unpack"
+ ;;
+ esac
+
+ DEFINED_PHASES=
+ for f in $valid_phases ; do
+ if [[ $(type -t $f) = function ]] ; then
+ f=${f#pkg_}
+ DEFINED_PHASES+=" ${f#src_}"
+ fi
+ done
+ [[ -n $DEFINED_PHASES ]] || DEFINED_PHASES=-
+
if [ -n "${dbkey}" ] ; then
> "${dbkey}"
for f in ${auxdbkeys} ; do