All pastes #297638 Raw Edit

dr.bombay

public text v1 · immutable
#297638 ·published 2006-12-31 05:37 UTC
rendered paste body
#!/bin/sh
# This script tries twice to emerge all necessary packages for e17
# and lets you know which packages failed.

_EBUILDS="eet dev-db/edb evas ecore embryo imlib2 edje e etk epeg \
media-libs/epsilon esmart entrance emotion ewl engrave examine \
entropy e_utils e_modules entice exhibit"
. /sbin/functions.sh
_FAIL_FLAG="0"
_FAIL_LIST=""

function mount_tmpfs(){
                mount -t tmpfs tmpfs /var/tmp/portage -o size=${1}M && einfo "mounting ramdisk of size ${1}MB on /var/tmp/portage";
        if [[ -z $( mount | grep /var/tmp/portage ) ]]; then einfo "mounting of tmpfs failed...   continuing with ordinary emerge"; fi
}
function umount_tmpfs(){
        if [[ ! -z $( mount | grep /var/tmp/portage ) ]]; 
                then umount /var/tmp/portage && einfo "unmounting tmpfs"
        fi
}
function compile(){
        emerge ${1} && einfo "${1} successfully emerged" && _FAIL_FLAG="1";
}

#mount tmpfs on /var/tmp/portage  ##the value passed to mount_tmpfs is the size of the tmpfs
mount_tmpfs 500 ;   if you have big RAM, you can uncomment this line. It makes emerge faster.

if [ "$1" == "debug" ]; then
      DEBUG="USE=\"$USE debug\" FEATURES=\"$FEATURES nostrip\""
fi

for package in $_EBUILDS;
        do _FAIL_FLAG=0
        compile $package
        if [ "$_FAIL_FLAG" == "0" ];
                then einfo "emerge of $package failed...      retrying once"
                sleep 3;
                compile $package
                if [ "$_FAIL_FLAG" == "0" ];
                        then einfo "emerge of $package failed again...     bailing out";
                        _FAIL_LIST="$_FAIL_LIST $package";
                                                                                                                                                             
                   fi;
                                                                                                                                                             
           fi
         sleep 3;
done

#unmount tmpfs
umount_tmpfs;

echo ""
if [ -z $_FAIL_LIST ];
then einfo "All packages successfully emerged";
else    einfo "All but the following packages have been emerged:   $_FAIL_LIST";
fi
exit 0;