--- /home/mburcher/gentoo/bin/crossdev 2012-07-31 15:42:44.542059939 +0200 +++ /home/mburcher/gentoo/bin/crossdev.mod 2012-07-31 16:45:56.534810973 +0200 @@ -2,9 +2,9 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -CROSSDEV_VER="20120531" +CROSSDEV_VER="20120531_prefixmod" -cd / +cd $EPREFIX/ umask 0022 #159111 if [[ ${ROOT:-/} != "/" ]] ; then @@ -12,9 +12,9 @@ exit 2 fi -CONFIGROOT="${PORTAGE_CONFIGROOT}/etc/portage" +CONFIGROOT="${EPREFIX}/${PORTAGE_CONFIGROOT}/etc/portage" -source /etc/init.d/functions.sh || exit 1 +source $EPREFIX/etc/init.d/functions.sh || exit 1 esyslog() { :; } die_logs() { echo @@ -301,7 +301,7 @@ # make sure we have a valid logdir : ${PORT_LOGDIR:=/var/log/portage} - mkdir -p "${PORT_LOGDIR}" + mkdir -p "${EPREFIX}/${PORT_LOGDIR}" } uninstall() { @@ -321,13 +321,13 @@ done rm -rf "${CONFIGROOT}"/env/cross-${CTARGET} rmdir "${CONFIGROOT}"/env 2>/dev/null - rm -f /etc/revdep-rebuild/05cross-${CTARGET} - rmdir /etc/revdep-rebuild 2>/dev/null + rm -f $EPREFIX/etc/revdep-rebuild/05cross-${CTARGET} + rmdir $EPREFIX/etc/revdep-rebuild 2>/dev/null - rmdir /var/db/pkg/cross-${CTARGET} 2>/dev/null - if [[ -d /var/db/pkg/cross-${CTARGET} ]] ; then + rmdir $EPREFIX/var/db/pkg/cross-${CTARGET} 2>/dev/null + if [[ -d $EPREFIX/var/db/pkg/cross-${CTARGET} ]] ; then export CLEAN_DELAY=0 - cd /var/db/pkg + cd $EPREFIX/var/db/pkg local pkgs=( cross-${CTARGET}/* ) emerge -qC ${pkgs[@]/#/=} || exit 1 else @@ -340,16 +340,16 @@ gprof ld nm objcopy objdump ranlib readelf \ size strings strip windmc windres do - rm -f /usr/bin/${CTARGET}-${f} /usr/${CTARGET}/bin/${f} + rm -f $EPREFIX/usr/bin/${CTARGET}-${f} $EPREFIX/usr/${CTARGET}/bin/${f} done - rm -f /usr/${CTARGET}/{sys-include,usr} - rmdir /usr/${CTARGET}/{include/asm,include} 2>/dev/null - rm -f /usr/bin/${CTARGET}-{gcc,{c,g}++,cpp,gfortran,gcov} - rm -f /etc/env.d/{binutils,gcc}/config-${CTARGET} + rm -f $EPREFIX/usr/${CTARGET}/{sys-include,usr} + rmdir $EPREFIX/usr/${CTARGET}/{include/asm,include} 2>/dev/null + rm -f $EPREFIX/usr/bin/${CTARGET}-{gcc,{c,g}++,cpp,gfortran,gcov} + rm -f $EPREFIX/etc/env.d/{binutils,gcc}/config-${CTARGET} # clean out files from crossdev itself - [[ -e /var/db/pkg/cross-${CTARGET} ]] && rmdir /var/db/pkg/cross-${CTARGET} - rm -f /usr/bin/${CTARGET}-{emerge,fix-root,pkg-config} /usr/bin/emerge-${CTARGET} + [[ -e $EPREFIX/var/db/pkg/cross-${CTARGET} ]] && rmdir $EPREFIX/var/db/pkg/cross-${CTARGET} + rm -f $EPREFIX/usr/bin/${CTARGET}-{emerge,fix-root,pkg-config} $EPREFIX/usr/bin/emerge-${CTARGET} for f in make.{conf,globals,profile} ; do f="/usr/${CTARGET}/etc/${f}" @@ -357,7 +357,7 @@ f="/usr/${CTARGET}/etc/portage/${f##*/}" [[ -L ${f} ]] && rm -f ${f} done - find /usr/share/crossdev/etc/ -type f | \ + find $EPREFIX/usr/share/crossdev/etc/ -type f | \ while read f ; do f1=${f} [[ ! -e ${f1} ]] && continue @@ -371,7 +371,7 @@ done # clean out the sysroot, prompting the user if need be - for d in /usr/lib/gcc{,-lib}/${CTARGET} /usr/${CTARGET} ; do + for d in $EPREFIX/usr/lib/gcc{,-lib}/${CTARGET} $EPREFIX/usr/${CTARGET} ; do if [[ ! -d ${d} ]] ; then rm -f "${d}" else @@ -584,7 +584,7 @@ setup_portage_vars if [[ -z ${CROSSDEV_OVERLAY} ]] ; then eerror "You need to specify an output overlay. Please use --ov-output or set" - eerror "PORTDIR_OVERLAY in your make.conf. A standard setting is: /usr/local/portage" + eerror "PORTDIR_OVERLAY in your make.conf. A standard setting is: $EPREFIX/usr/local/portage" exit 1 fi @@ -722,7 +722,7 @@ ( info emerge -v --info - ) >& "${PORT_LOGDIR}"/cross-${CTARGET}-info.log || exit 1 + ) >& "${EPREFIX}/${PORT_LOGDIR}"/cross-${CTARGET}-info.log || exit 1 fi #################################### @@ -828,7 +828,7 @@ output="env/cross-${CTARGET}/${pkg}.conf" cat <<-EOF > "${output}" SYMLINK_LIB=no - COLLISION_IGNORE="\${COLLISION_IGNORE} /usr/lib/debug/.build-id" + COLLISION_IGNORE="\${COLLISION_IGNORE} $EPREFIX/usr/lib/debug/.build-id" $(printf '%b' "${env}") $(printf '%b' "${AENV}") EOF @@ -891,7 +891,7 @@ local layout=${meta}/layout.conf local d name masters thin_manifests="false" - mkdir -p "${meta}" + mkdir -p "${EPREFIX}/${meta}" if [[ -e ${layout} ]] ; then if ! grep -qs "^${autogen_tag}" "${layout}" ; then einfo "leaving metadata/layout.conf alone in ${CROSSDEV_OVERLAY}" @@ -967,21 +967,21 @@ set_metadata # filter out revdep rebuild stuff #182601 -mkdir -p /etc/revdep-rebuild -echo "SEARCH_DIRS_MASK=/usr/${CTARGET}" > /etc/revdep-rebuild/05cross-${CTARGET} +mkdir -p $EPREFIX/etc/revdep-rebuild +echo "SEARCH_DIRS_MASK=/usr/${CTARGET}" > $EPREFIX/etc/revdep-rebuild/05cross-${CTARGET} hr ####################################### ### Create links for helper scripts ### -mkdir -p /usr/${CTARGET} +mkdir -p $EPREFIX/usr/${CTARGET} emerge-wrapper --target ${CTARGET} --init || exit 1 ################# emerged_with_use() { local pkg=$1 use=$2 - grep -qs ${use} /var/db/pkg/cross-${CTARGET}/${pkg}-*/USE + grep -qs ${use} $EPREFIX/var/db/pkg/cross-${CTARGET}/${pkg}-*/USE } set_eopts_on_pkg_status() { emerged_with_use "$@" \ @@ -999,7 +999,7 @@ [[ ${INIT_TARGET_ONLY} == "yes" ]] && return 0 - local logfile=${PORT_LOGDIR}/${category} + local logfile="${EPREFIX}/${PORT_LOGDIR}/${category}" [[ -z $2 ]] \ && logfile=${logfile}-${pn}.log \ || logfile=${logfile}-$2.log