summaryrefslogtreecommitdiffstats
path: root/bin/ebuild.sh
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-08-31 19:52:58 -0700
committerZac Medico <zmedico@gentoo.org>2011-08-31 19:52:58 -0700
commitce501b36d7078db059c606d3b4f38637ad09528e (patch)
tree6b60a4a21d020516d6158bbb580ff219e4e0a2f6 /bin/ebuild.sh
parent6b8855016820fb84bac25720d99bf8e42c9e9469 (diff)
downloadportage-ce501b36d7078db059c606d3b4f38637ad09528e.tar.gz
portage-ce501b36d7078db059c606d3b4f38637ad09528e.tar.bz2
portage-ce501b36d7078db059c606d3b4f38637ad09528e.zip
xml/metadata: implement XMLParser.doctype()
Avoid deprecation warnings again, like in commit 63035acd702ab0cdaac31e33676b5a20a91eae47.
Diffstat (limited to 'bin/ebuild.sh')
-rwxr-xr-xbin/ebuild.sh88
1 files changed, 52 insertions, 36 deletions
diff --git a/bin/ebuild.sh b/bin/ebuild.sh
index 23a12401d..ae03df7c1 100755
--- a/bin/ebuild.sh
+++ b/bin/ebuild.sh
@@ -325,9 +325,11 @@ declare -a PORTAGE_DOCOMPRESS_SKIP=( /usr/share/doc/${PF}/html )
keepdir() {
dodir "$@"
local x
+ local ed=${ED}
+ case "$EAPI" in 0|1|2) ed=${D} ;; esac
if [ "$1" == "-R" ] || [ "$1" == "-r" ]; then
shift
- find "$@" -type d -printf "${D}%p/.keep_${CATEGORY}_${PN}-${SLOT}\n" \
+ find "$@" -type d -printf "${ed}%p/.keep_${CATEGORY}_${PN}-${SLOT}\n" \
| tr "\n" "\0" | \
while read -r -d $'\0' ; do
>> "$REPLY" || \
@@ -335,8 +337,8 @@ keepdir() {
done
else
for x in "$@"; do
- >> "${D}${x}/.keep_${CATEGORY}_${PN}-${SLOT}" || \
- die "Failed to create .keep in ${D}${x}"
+ >> "${ed}${x}/.keep_${CATEGORY}_${PN}-${SLOT}" || \
+ die "Failed to create .keep in ${ed}${x}"
done
fi
}
@@ -484,6 +486,8 @@ hasg() {
hasgq() { hasg "$@" >/dev/null ; }
econf() {
local x
+ local eprefix=${EPREFIX}
+ case "$EAPI" in 0|1|2) eprefix= ;; esac
local phase_func=$(_ebuild_arg_to_phase "$EAPI" "$EBUILD_PHASE")
if [[ -n $phase_func ]] ; then
@@ -505,12 +509,12 @@ econf() {
sed -e "1s:^#![[:space:]]*/bin/sh:#!$CONFIG_SHELL:" -i "$ECONF_SOURCE/configure" || \
die "Substition of shebang in '$ECONF_SOURCE/configure' failed"
fi
- if [ -e /usr/share/gnuconfig/ ]; then
+ if [ -e "${eprefix}"/usr/share/gnuconfig/ ]; then
find "${WORKDIR}" -type f '(' \
-name config.guess -o -name config.sub ')' -print0 | \
while read -r -d $'\0' x ; do
- vecho " * econf: updating ${x/${WORKDIR}\/} with /usr/share/gnuconfig/${x##*/}"
- cp -f /usr/share/gnuconfig/"${x##*/}" "${x}"
+ vecho " * econf: updating ${x/${WORKDIR}\/} with ${eprefix}/usr/share/gnuconfig/${x##*/}"
+ cp -f "${eprefix}"/usr/share/gnuconfig/"${x##*/}" "${x}"
done
fi
@@ -530,7 +534,7 @@ econf() {
if [[ -n ${CONF_LIBDIR} ]] && ! hasgq --libdir=\* "$@" ; then
export CONF_PREFIX=$(hasg --exec-prefix=\* "$@")
[[ -z ${CONF_PREFIX} ]] && CONF_PREFIX=$(hasg --prefix=\* "$@")
- : ${CONF_PREFIX:=/usr}
+ : ${CONF_PREFIX:=${eprefix}/usr}
CONF_PREFIX=${CONF_PREFIX#*=}
[[ ${CONF_PREFIX} != /* ]] && CONF_PREFIX="/${CONF_PREFIX}"
[[ ${CONF_LIBDIR} != /* ]] && CONF_LIBDIR="/${CONF_LIBDIR}"
@@ -538,15 +542,15 @@ econf() {
fi
set -- \
- --prefix=/usr \
+ --prefix="${eprefix}"/usr \
${CBUILD:+--build=${CBUILD}} \
--host=${CHOST} \
${CTARGET:+--target=${CTARGET}} \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --datadir=/usr/share \
- --sysconfdir=/etc \
- --localstatedir=/var/lib \
+ --mandir="${eprefix}"/usr/share/man \
+ --infodir="${eprefix}"/usr/share/info \
+ --datadir="${eprefix}"/usr/share \
+ --sysconfdir="${eprefix}"/etc \
+ --localstatedir="${eprefix}"/var/lib \
"$@" \
${EXTRA_ECONF}
vecho "${ECONF_SOURCE}/configure" "$@"
@@ -570,6 +574,8 @@ econf() {
einstall() {
# CONF_PREFIX is only set if they didn't pass in libdir above.
local LOCAL_EXTRA_EINSTALL="${EXTRA_EINSTALL}"
+ local ed=${ED}
+ case "$EAPI" in 0|1|2) ed=${D} ;; esac
LIBDIR_VAR="LIBDIR_${ABI}"
if [ -n "${ABI}" -a -n "${!LIBDIR_VAR}" ]; then
CONF_LIBDIR="${!LIBDIR_VAR}"
@@ -584,22 +590,22 @@ einstall() {
if [ -f ./[mM]akefile -o -f ./GNUmakefile ] ; then
if [ "${PORTAGE_DEBUG}" == "1" ]; then
- ${MAKE:-make} -n prefix="${D}usr" \
- datadir="${D}usr/share" \
- infodir="${D}usr/share/info" \
- localstatedir="${D}var/lib" \
- mandir="${D}usr/share/man" \
- sysconfdir="${D}etc" \
+ ${MAKE:-make} -n prefix="${ed}usr" \
+ datadir="${ed}usr/share" \
+ infodir="${ed}usr/share/info" \
+ localstatedir="${ed}var/lib" \
+ mandir="${ed}usr/share/man" \
+ sysconfdir="${ed}etc" \
${LOCAL_EXTRA_EINSTALL} \
${MAKEOPTS} ${EXTRA_EMAKE} -j1 \
"$@" install
fi
- ${MAKE:-make} prefix="${D}usr" \
- datadir="${D}usr/share" \
- infodir="${D}usr/share/info" \
- localstatedir="${D}var/lib" \
- mandir="${D}usr/share/man" \
- sysconfdir="${D}etc" \
+ ${MAKE:-make} prefix="${ed}usr" \
+ datadir="${ed}usr/share" \
+ infodir="${ed}usr/share/info" \
+ localstatedir="${ed}var/lib" \
+ mandir="${ed}usr/share/man" \
+ sysconfdir="${ed}etc" \
${LOCAL_EXTRA_EINSTALL} \
${MAKEOPTS} ${EXTRA_EMAKE} -j1 \
"$@" install || die "einstall failed"
@@ -795,8 +801,10 @@ into() {
export DESTTREE=""
else
export DESTTREE=$1
- if [ ! -d "${D}${DESTTREE}" ]; then
- install -d "${D}${DESTTREE}"
+ local ed=${ED}
+ case "$EAPI" in 0|1|2) ed=${D} ;; esac
+ if [ ! -d "${ed}${DESTTREE}" ]; then
+ install -d "${ed}${DESTTREE}"
local ret=$?
if [[ $ret -ne 0 ]] ; then
helpers_die "${FUNCNAME[0]} failed"
@@ -811,8 +819,10 @@ insinto() {
export INSDESTTREE=""
else
export INSDESTTREE=$1
- if [ ! -d "${D}${INSDESTTREE}" ]; then
- install -d "${D}${INSDESTTREE}"
+ local ed=${ED}
+ case "$EAPI" in 0|1|2) d=${D} ;; esac
+ if [ ! -d "${ed}${INSDESTTREE}" ]; then
+ install -d "${ed}${INSDESTTREE}"
local ret=$?
if [[ $ret -ne 0 ]] ; then
helpers_die "${FUNCNAME[0]} failed"
@@ -827,8 +837,10 @@ exeinto() {
export _E_EXEDESTTREE_=""
else
export _E_EXEDESTTREE_="$1"
- if [ ! -d "${D}${_E_EXEDESTTREE_}" ]; then
- install -d "${D}${_E_EXEDESTTREE_}"
+ local ed=${ED}
+ case "$EAPI" in 0|1|2) d=${D} ;; esac
+ if [ ! -d "${ed}${_E_EXEDESTTREE_}" ]; then
+ install -d "${ed}${_E_EXEDESTTREE_}"
local ret=$?
if [[ $ret -ne 0 ]] ; then
helpers_die "${FUNCNAME[0]} failed"
@@ -843,8 +855,10 @@ docinto() {
export _E_DOCDESTTREE_=""
else
export _E_DOCDESTTREE_="$1"
- if [ ! -d "${D}usr/share/doc/${PF}/${_E_DOCDESTTREE_}" ]; then
- install -d "${D}usr/share/doc/${PF}/${_E_DOCDESTTREE_}"
+ local ed=${ED}
+ case "$EAPI" in 0|1|2) d=${D} ;; esac
+ if [ ! -d "${ed}usr/share/doc/${PF}/${_E_DOCDESTTREE_}" ]; then
+ install -d "${ed}usr/share/doc/${PF}/${_E_DOCDESTTREE_}"
local ret=$?
if [[ $ret -ne 0 ]] ; then
helpers_die "${FUNCNAME[0]} failed"
@@ -2091,17 +2105,19 @@ if ! has "$EBUILD_PHASE" clean cleanrm ; then
PATH=$_ebuild_helpers_path:$PREROOTPATH${PREROOTPATH:+:}/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin${ROOTPATH:+:}$ROOTPATH
unset _ebuild_helpers_path
+ _eprefix=${EPREFIX}
+ case "$EAPI" in 0|1|2) _eprefix= ;; esac
# Use default ABI libdir in accordance with bug #355283.
x=LIBDIR_${DEFAULT_ABI}
[[ -n $DEFAULT_ABI && -n ${!x} ]] && x=${!x} || x=lib
if has distcc $FEATURES ; then
- PATH="/usr/$x/distcc/bin:$PATH"
+ PATH="${_eprefix}/usr/$x/distcc/bin:$PATH"
[[ -n $DISTCC_LOG ]] && addwrite "${DISTCC_LOG%/*}"
fi
if has ccache $FEATURES ; then
- PATH="/usr/$x/ccache/bin:$PATH"
+ PATH="${_eprefix}/usr/$x/ccache/bin:$PATH"
if [[ -n $CCACHE_DIR ]] ; then
addread "$CCACHE_DIR"
@@ -2111,7 +2127,7 @@ if ! has "$EBUILD_PHASE" clean cleanrm ; then
[[ -n $CCACHE_SIZE ]] && ccache -M $CCACHE_SIZE &> /dev/null
fi
- unset x
+ unset x _eprefix
if [[ -n $QA_PREBUILT ]] ; then