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
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"
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"
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"
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"
unset -f dump_trace die diefunc quiet_mode vecho elog_base eqawarn elog \
esyslog einfo einfon ewarn eerror ebegin _eend eend KV_major \
KV_minor KV_micro KV_to_int get_KV unset_colors set_colors has \
+ has_phase_defined_up_to \
hasg hasgq hasv hasq qa_source qa_call \
addread addwrite adddeny addpredict _sb_append_var \
lchown lchgrp esyslog use usev useq has_version portageq \