#!/bin/bash
#attempt an emerge
echo "************** updating packages ************"
emerge --sync && layman -S && update-eix && emerge -uD --newuse world
#emerge --sync && layman -S && update-eix && emerge -uD --newuse world
#eix-sync -tv && layman -S && update-eix && emerge -uD --newuse world
result=$?
#loop, dropping packages until it succeeds
failed=0
while [ $result != 0 ];do
	echo "********** update failed, skip a package and try again *****************"
	failed=$((failed+1))
	emerge --resume --skipfirst
	result=$?
done
echo "******** update "$failed" packages failed, checking revdep *************"

revdep-rebuild
eclean-dist
echo "*********** revdep finished "$failed" packages failed update ***********"

