#!/bin/bash # -*- mode: sh; fill-column: 75; tab-width: 8; coding: utf-8-unix -*- prog=$( basename $0 .bash ) ROLE=base PYVER=3 LOG_DIR=/usr/local/var/logs/portage [ -d $LOG_DIR ] || mkdir -p $LOG_DIR declare -a ARGS if [ "$#" -eq 1 ] ; then ARGS=( "$1" ) LOG=$( basename $1 ).log elif [ "$#" -eq 0 ] ; then ARGS="@world" LOG=world.log elif false && [ -f world.lib ] ; then # ? ARGS="$( grep -v '^#' world.lib )" LOG=world.log else ARGS=("$@") LOG=world.log fi if mount | grep -q ' on /mnt/tmp' ; then export TMPDIR=/mnt/tmp # else # echo "WARN: /mnt/tmp not mounted" fi # --changed-deps --deep --update LARGS="-vb --changed-use --with-bdeps=y --changed-deps-report" LARGS="$LARGS --backtrack=30 --ignore-built-slot-operator-deps=y --keep-going" # Skips the packages specified on the command-line that have already been installed. LARGS="$LARGS --noreplace" # LARGS="$LARGS --exclude " LOG=$LOG_DIR/$LOG export PYTHONPATH= echo INFO: emerge $LARGS $ARGS |tee -a $LOG >&2 nice python$PYVER $( which emerge ) $LARGS $ARGS >> $LOG 2>&1 retval=$? [ $retval -ne 0 ] && echo ERROR: $retval $LOG && tail $LOG && exit $retval if grep ImportError $LOG ; then echo ERROR: ImportError $LOG && exit 10 elif grep ParseError $LOG ; then echo ERROR: ParseError $LOG && exit 11 elif grep 'Your current profile is invalid' $LOG ; then echo ERROR: Your current profile is invalid $LOG && exit 12 fi exit 0