Rename --with-default-path into --with-extra-path, since it never completely defines...
authorFabian Groffen <grobian@gentoo.org>
Wed, 9 Dec 2009 19:00:23 +0000 (19:00 -0000)
committerFabian Groffen <grobian@gentoo.org>
Wed, 9 Dec 2009 19:00:23 +0000 (19:00 -0000)
svn path=/main/branches/prefix/; revision=14984

bin/ebuild.sh
cnf/make.globals
configure.in
subst-install.in

index 0479f8ccc6353b19d5a06bf50d822d465cc5630e..caab7eca45a1cf33c9cdcc2f8994a1305e31bf48 100755 (executable)
@@ -29,8 +29,12 @@ ROOTPATH=${ROOTPATH%%:}
 PREROOTPATH=${PREROOTPATH##:}
 PREROOTPATH=${PREROOTPATH%%:}
 #PATH=$PORTAGE_BIN_PATH/ebuild-helpers:$PREROOTPATH${PREROOTPATH:+:}/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin${ROOTPATH:+:}$ROOTPATH
-# PREFIX: we deviate in path order, should we split up DEFAULT_PATH?
-PATH="$PORTAGE_BIN_PATH/ebuild-helpers:$PREROOTPATH${PREROOTPATH:+:}${DEFAULT_PATH}:${ROOTPATH:+:}$ROOTPATH"
+# PREFIX: our DEFAULT_PATH is equal to the above when not using an
+# offset prefix.  With such prefix, the usr/local bits are excluded, and
+# the prefixed variants of {usr/,}{s,}bin are taken.  The additional
+# paths given during configure, always come as last thing since they
+# should never override anything from the prefix itself.
+PATH="$PORTAGE_BIN_PATH/ebuild-helpers:$PREROOTPATH${PREROOTPATH:+:}${DEFAULT_PATH}${ROOTPATH:+:}$ROOTPATH${EXTRA_PATH:+:}${EXTRA_PATH}"
 export PATH
 
 # These two functions wrap sourcing and calling respectively.  At present they
@@ -1953,8 +1957,8 @@ ebuild_main() {
        esac
 
        #PATH=$ebuild_helpers_path:$PREROOTPATH${PREROOTPATH:+:}/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin${ROOTPATH:+:}$ROOTPATH
-       # PREFIX: same deviation as at the top of this file
-       PATH="$ebuild_helpers_path:$PREROOTPATH${PREROOTPATH:+:}${DEFAULT_PATH}${ROOTPATH:+:}$ROOTPATH"
+       # PREFIX: same notes apply as at the top of this file
+       PATH="$ebuild_helpers_path:$PREROOTPATH${PREROOTPATH:+:}${DEFAULT_PATH}${ROOTPATH:+:}$ROOTPATH${EXTRA_PATH:+:}${EXTRA_PATH}"
        unset ebuild_helpers_path
 
        if ! hasq $EBUILD_SH_ARGS clean depend help info nofetch ; then
index 2e54d240912196ac28757e57a60bd1fbc6b2b7e5..7650b3e08d78058cf1489e6eebc4c07966fe82f7 100644 (file)
@@ -99,6 +99,8 @@ PORTAGE_INST_GID="@rootgid@"
 
 # Default PATH for ebuild env
 DEFAULT_PATH="@DEFAULT_PATH@"
+# Any extra PATHs to add to the ebuild environment's PATH (if any)
+EXTRA_PATH="@EXTRA_PATH@"
 
 # Mode bits for ${WORKDIR} (see ebuild.5).
 PORTAGE_WORKDIR_MODE="0700"
index 3d0f8ba3281fcec28fd68228234136439ecddaf2..81d1ce1c6bf0008123a7868bccc711bf524ba267 100644 (file)
@@ -198,13 +198,16 @@ AC_HELP_STRING([--with-offset-prefix],
 if test "x$PORTAGE_EPREFIX" != "x"
 then
        PORTAGE_EPREFIX=`${PORTAGE_PYTHON} -c "import os; print os.path.normpath('$PORTAGE_EPREFIX')"`
+       DEFAULT_PATH="${PORTAGE_EPREFIX}/usr/sbin:${PORTAGE_EPREFIX}/usr/bin:${PORTAGE_EPREFIX}/sbin:${PORTAGE_EPREFIX}/bin"
+else
+       # this is what trunk uses in ebuild.sh
+       DEFAULT_PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
 fi
 
-DEFAULT_PATH="${PORTAGE_EPREFIX}/usr/bin:${PORTAGE_EPREFIX}/usr/sbin:${PORTAGE_EPREFIX}/bin:${PORTAGE_EPREFIX}/sbin:${PORTAGE_EPREFIX}/bin"
-AC_ARG_WITH(default-path, 
-AC_HELP_STRING([--with-default-path], [specify additional PATHs available to the portage build environment ]),
-[DEFAULT_PATH="${DEFAULT_PATH}":$withval],
-[DEFAULT_PATH="${DEFAULT_PATH}"])
+AC_ARG_WITH(extra-path, 
+AC_HELP_STRING([--with-extra-path], [specify additional PATHs available to the portage build environment (use with care)]),
+[EXTRA_PATH="$withval"],
+[EXTRA_PATH=""])
 
 AC_SUBST(portageuser)
 AC_SUBST(portagegroup)
@@ -213,6 +216,7 @@ AC_SUBST(rootuid)
 AC_SUBST(rootgid)
 AC_SUBST(PORTAGE_EPREFIX)
 AC_SUBST(DEFAULT_PATH)
+AC_SUBST(EXTRA_PATH)
 AC_SUBST(PORTAGE_BASE,['${exec_prefix}/lib/portage'])
 
 AC_SUBST(PORTAGE_RM)
index 01cd845ec7992c858adbacb58583bdb8aca161e6..24dc4fa7ba95eea95ce2ac3eb96a8c4e3b426324 100644 (file)
@@ -21,6 +21,7 @@ portageuser=${portageuser//\\/\\\\\\\\}
 at='@'
 sedexp=(
        -e "s,${at}DEFAULT_PATH${at},@DEFAULT_PATH@,g"
+       -e "s,${at}EXTRA_PATH${at},@EXTRA_PATH@,g"
        -e "s,${at}EGREP${at},@EGREP@,g"
        -e "s,${at}PORTAGE_BASE${at},@PORTAGE_BASE@,g"
        -e "s,${at}PORTAGE_BASENAME${at},@PORTAGE_BASENAME@,g"