From 6601b0b0c1a66f61acf7d23775cfbb5acf002553 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 17 Oct 2009 05:41:19 +0000 Subject: Simplify the conditionals from bug #273648. Thanks to Jonathan Callen for this patch. svn path=/main/trunk/; revision=14617 --- bin/ebuild.sh | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) (limited to 'bin/ebuild.sh') diff --git a/bin/ebuild.sh b/bin/ebuild.sh index 1c864b04f..d6e833639 100755 --- a/bin/ebuild.sh +++ b/bin/ebuild.sh @@ -897,6 +897,15 @@ abort_install() { exit 1 } +has_phase_defined_up_to() { + for phase in unpack prepare configure compile install; do + has ${phase} ${DEFINED_PHASES} && return 0 + [[ ${phase} == $1 ]] && return 1 + done + # We shouldn't actually get here + return 1 +} + dyn_prepare() { if [[ -e $PORTAGE_BUILDDIR/.prepared ]] ; then @@ -909,9 +918,7 @@ dyn_prepare() { cd "${S}" elif hasq $EAPI 0 1 2; then cd "${WORKDIR}" - elif [[ -z ${A} ]] && \ - ! hasq unpack ${DEFINED_PHASES} && \ - ! hasq prepare ${DEFINED_PHASES} ; then + elif [[ -z ${A} ]] && ! has_phase_defined_up_to prepare; then cd "${WORKDIR}" else die "The source directory '${S}' doesn't exist" @@ -942,10 +949,7 @@ dyn_configure() { cd "${S}" elif hasq $EAPI 0 1 2; then cd "${WORKDIR}" - elif [[ -z ${A} ]] && \ - ! hasq unpack ${DEFINED_PHASES} && \ - ! hasq prepare ${DEFINED_PHASES} && \ - ! hasq configure ${DEFINED_PHASES} ; then + elif [[ -z ${A} ]] && ! has_phase_defined_up_to configure; then cd "${WORKDIR}" else die "The source directory '${S}' doesn't exist" @@ -978,11 +982,7 @@ dyn_compile() { cd "${S}" elif hasq $EAPI 0 1 2; then cd "${WORKDIR}" - elif [[ -z ${A} ]] && \ - ! hasq unpack ${DEFINED_PHASES} && \ - ! hasq prepare ${DEFINED_PHASES} && \ - ! hasq configure ${DEFINED_PHASES} && \ - ! hasq compile ${DEFINED_PHASES} ; then + elif [[ -z ${A} ]] && ! has_phase_defined_up_to compile; then cd "${WORKDIR}" else die "The source directory '${S}' doesn't exist" @@ -1060,12 +1060,7 @@ dyn_install() { cd "${S}" elif hasq $EAPI 0 1 2; then cd "${WORKDIR}" - elif [[ -z ${A} ]] && \ - ! hasq unpack ${DEFINED_PHASES} && \ - ! hasq prepare ${DEFINED_PHASES} && \ - ! hasq configure ${DEFINED_PHASES} && \ - ! hasq compile ${DEFINED_PHASES} && \ - ! hasq install ${DEFINED_PHASES}; then + elif [[ -z ${A} ]] && ! has_phase_defined_up_to install; then cd "${WORKDIR}" else die "The source directory '${S}' doesn't exist" -- cgit v1.2.3-1-g7c22