commit: 18712aa6924862bbab5814c6199e7d7ab416d005 Author: Michał Górny <mgorny <AT> gentoo <DOT> org> AuthorDate: Wed Apr 19 13:36:02 2017 +0000 Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org> CommitDate: Thu Apr 20 20:39:51 2017 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=18712aa6
dosym: protect Prefix hack from double EPREFIX Add an additional conditional to the dosym Prefix hack to ensure that the symlink is not using double Prefix when the ebuild uses ${EPREFIX} explicitly. This ensures that Portage on Prefix systems is both compatible with the ebuilds relying on the hack, and using dosym in the PMS-defined manner. Approved-by: Brian Dolbec <dolsen <AT> gentoo.org> (on IRC) Approved-by: Ulrich Müller <ulm <AT> gentoo.org> bin/ebuild-helpers/dosym | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/bin/ebuild-helpers/dosym b/bin/ebuild-helpers/dosym index b9c70ce9c..e96039146 100755 --- a/bin/ebuild-helpers/dosym +++ b/bin/ebuild-helpers/dosym @@ -20,9 +20,15 @@ fi destdir=${2%/*} [[ ! -d ${ED}${destdir} ]] && dodir "${destdir}" -# when absolute, prefix with offset for Gentoo Prefix target="${1}" -[[ ${target:0:1} == "/" ]] && target="${EPREFIX}${target}" +# DEPRECATED HACK: when absolute, prefix with offset for Gentoo Prefix +# (but only if ${EPREFIX} is not there already) +# this will eventually be removed, #615594 +if [[ ${target:0:1} == "/" && ${target}/ != "${EPREFIX}"/* ]]; then + eqawarn "dosym: prepending EPREFIX to path implicitly. If this is desired," + eqawarn " please fix the ebuild to use \${EPREFIX} explicitly." + target="${EPREFIX}${target}" +fi ln -snf "${target}" "${ED}${2}" ret=$?