diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-09-11 15:50:07 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-09-11 15:50:07 -0700 |
commit | e40e2bce40464dace057d91f0a24ba682928814a (patch) | |
tree | 1dc9e22c9045938bbad6b03f86f97d5af2b328ff /bin/phase-helpers.sh | |
parent | fdd2bc1c1fdf8f20732749d44c39c3cab3cc2d52 (diff) | |
download | portage-e40e2bce40464dace057d91f0a24ba682928814a.tar.gz portage-e40e2bce40464dace057d91f0a24ba682928814a.tar.bz2 portage-e40e2bce40464dace057d91f0a24ba682928814a.zip |
build.sh: has/best_version to phase-helpers.sh
Diffstat (limited to 'bin/phase-helpers.sh')
-rw-r--r-- | bin/phase-helpers.sh | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/bin/phase-helpers.sh b/bin/phase-helpers.sh index 6064346be..1f39c7556 100644 --- a/bin/phase-helpers.sh +++ b/bin/phase-helpers.sh @@ -571,3 +571,45 @@ _eapi4_src_install() { dodoc ${DOCS} fi } + +# Return true if given package is installed. Otherwise return false. +# Takes single depend-type atoms. +has_version() { + + if [[ -n $PORTAGE_IPC_DAEMON ]] ; then + "$PORTAGE_BIN_PATH"/ebuild-ipc has_version "$ROOT" "$1" + else + PYTHONPATH=${PORTAGE_PYM_PATH}${PYTHONPATH:+:}${PYTHONPATH} \ + "${PORTAGE_PYTHON:-/usr/bin/python}" "${PORTAGE_BIN_PATH}/portageq" has_version "${ROOT}" "$1" + fi + local retval=$? + case "${retval}" in + 0|1) + return ${retval} + ;; + *) + die "unexpected portageq exit code: ${retval}" + ;; + esac +} + +# Returns the best/most-current match. +# Takes single depend-type atoms. +best_version() { + + if [[ -n $PORTAGE_IPC_DAEMON ]] ; then + "$PORTAGE_BIN_PATH"/ebuild-ipc best_version "$ROOT" "$1" + else + PYTHONPATH=${PORTAGE_PYM_PATH}${PYTHONPATH:+:}${PYTHONPATH} \ + "${PORTAGE_PYTHON:-/usr/bin/python}" "${PORTAGE_BIN_PATH}/portageq" best_version "${ROOT}" "$1" + fi + local retval=$? + case "${retval}" in + 0|1) + return ${retval} + ;; + *) + die "unexpected portageq exit code: ${retval}" + ;; + esac +} |