aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2017-04-19 15:36:02 +0200
committerMichał Górny <mgorny@gentoo.org>2017-04-20 22:39:51 +0200
commit18712aa6924862bbab5814c6199e7d7ab416d005 (patch)
tree94f26fb5e2a92f4f77e42257d8b753d117d9709d /bin/ebuild-helpers
parentrepoman: Add a check for relative dosym candidates (diff)
downloadportage-18712aa6924862bbab5814c6199e7d7ab416d005.tar.gz
portage-18712aa6924862bbab5814c6199e7d7ab416d005.tar.bz2
portage-18712aa6924862bbab5814c6199e7d7ab416d005.zip
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@gentoo.org> (on IRC) Approved-by: Ulrich Müller <ulm@gentoo.org>
Diffstat (limited to 'bin/ebuild-helpers')
-rwxr-xr-xbin/ebuild-helpers/dosym10
1 files 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=$?