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=$?

Reply via email to