#!/bin/bash cd /usr/portage if [ -e old_distfiles ] then echo "Whoa, old_distfiles exists! Abort, abort!" exit 1 fi echo "Starting stage 1... (fill)" emerge -ef world 2>/dev/null | grep -Ev ">>>|^$" mv distfiles old_distfiles mkdir distfiles echo; echo "Starting stage 2... (move)" FETCHCOMMAND="mv old_distfiles/\${FILE} \${DISTDIR}/\${FILE}" \ emerge -ef world 2>/dev/null | grep -Ev ">>>|^$" echo; echo "Starting stage 3... (check)" emerge -ef world 2>/dev/null | grep -Ev ">>>|^$" echo "In kiB:" du -csh old_distfiles distfiles | sed ' s/\([KMGT]\)\t/ \1iB\t/ s/old_distfiles/space saved/ s/distfiles/new distfiles size/ s/total/old distfiles size/' echo; echo "We're done. Would you like to remove old_distfiles?" read x echo; case ${x} in yes|Yes|YES|y|Y) echo "Removing old_distfiles..." rm -rf old_distfiles ;; *) echo "Not removing old_distfiles." echo "Please remove it manually if necessary." ;; esac echo; echo "Done."