diff options
Diffstat (limited to 'portage_with_autodep/bin/ebuild-helpers/dosym')
-rwxr-xr-x | portage_with_autodep/bin/ebuild-helpers/dosym | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/portage_with_autodep/bin/ebuild-helpers/dosym b/portage_with_autodep/bin/ebuild-helpers/dosym index 500dad0..2489e22 100755 --- a/portage_with_autodep/bin/ebuild-helpers/dosym +++ b/portage_with_autodep/bin/ebuild-helpers/dosym @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright 1999-2010 Gentoo Foundation +# Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 source "${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"/isolated-functions.sh @@ -9,10 +9,22 @@ if [[ $# -ne 2 ]] ; then exit 1 fi +[[ " ${FEATURES} " == *" force-prefix "* ]] || \ + case "$EAPI" in 0|1|2) ED=${D} ;; esac + +if [[ ${2} == */ ]] || \ + [[ -d ${ED}${2} && ! -L ${ED}${2} ]] ; then + # implicit basename not allowed by PMS (bug #379899) + eqawarn "QA Notice: dosym target omits basename: '${2}'" +fi + destdir=${2%/*} -[[ ! -d ${D}${destdir} ]] && dodir "${destdir}" +[[ ! -d ${ED}${destdir} ]] && dodir "${destdir}" +# when absolute, prefix with offset for Gentoo Prefix +target="${1}" +[[ ${target:0:1} == "/" ]] && target="${EPREFIX}${target}" +ln -snf "${target}" "${ED}${2}" -ln -snf "$1" "${D}$2" ret=$? [[ $ret -ne 0 ]] && helpers_die "${0##*/} failed" exit $ret |