There is script to calculate size of files needs to emerge packet. emerge -p need root privileges and get_size need it too
Example: $ sudo get_size cannonsmash media-libs/sdl-mixer-1.2.5-r1 914Kb SDL_mixer-1.2.5.tar.gz (ok) Pkg size: 914Kb Download: 0 games-simulation/cannonsmash-0.6.5 1435Kb csmash-0.6.5.tar.gz 1045Kb danslatristesse2-48.ogg Pkg size: 2481Kb Download: 2481Kb Total Size: 3395Kb Download: 2481Kb ---begin get_size--- #!/bin/sh print_size() { SIZE=$1 OUT_SIZE=$SIZE # if [ $SIZE -gt 1500000 ]; then # OUT_SIZE=`expr $SIZE / 1024 / 1024`Mb if [ $SIZE -gt 10000 ]; then OUT_SIZE=`expr $SIZE / 1024`Kb fi # fi echo $OUT_SIZE; } PKG=$1 if [ -z "$PKG" ]; then echo pack exit 1 fi PKGS=`emerge -p $PKG | grep '^\[' | sed 's/^................//' | sed 's/ \[.*$//'` TOTAL_SIZE=0 TOTAL_SIZE_DOWNLOAD=0 for P in $PKGS; do GROUP=`echo $P | sed 's/\/.*$//'` CP=`echo $P | sed 's/^.*\///'` PK=`echo $CP | sed 's/-[0-9].*$//'` echo "$GROUP/$CP" if [ -e /usr/portage/$GROUP/$PK/$CP.ebuild ]; then DIGEST="/usr/portage/$GROUP/$PK/files/digest-$CP" if [ -e $DIGEST ]; then FILES=`cat $DIGEST | awk '{print $4_"|"_$3}'` PKG_SIZE=0 PKG_SIZE_DOWNLOAD=0 for F in $FILES; do FILE=`echo $F | sed 's/^.*|//'` SIZE=`echo $F | sed 's/|.*$//'` OUT_SIZE=`print_size $SIZE` OUT_EX='' if [ ! -e /usr/portage/distfiles/$FILE ]; then PKG_SIZE_DOWNLOAD=`expr $PKG_SIZE_DOWNLOAD + $SIZE` else OUT_EX=' (ok)' fi echo -e "\t\t\t" $OUT_SIZE "\t" $FILE $OUT_EX PKG_SIZE=`expr $PKG_SIZE + $SIZE` done echo " Pkg size: `print_size $PKG_SIZE` " " Download: `print_size $PKG_SIZE_DOWNLOAD`" TOTAL_SIZE=`expr $TOTAL_SIZE + $PKG_SIZE` TOTAL_SIZE_DOWNLOAD=`expr $TOTAL_SIZE_DOWNLOAD + $PKG_SIZE_DOWNLOAD` else echo digest- Not found fi else echo .ebuild Not found fi done echo Total Size: `print_size $TOTAL_SIZE` " " Download: `print_size $TOTAL_SIZE_DOWNLOAD` ---end--- --
#!/bin/sh print_size() { SIZE=$1 OUT_SIZE=$SIZE # if [ $SIZE -gt 1500000 ]; then # OUT_SIZE=`expr $SIZE / 1024 / 1024`Mb if [ $SIZE -gt 10000 ]; then OUT_SIZE=`expr $SIZE / 1024`Kb fi # fi echo $OUT_SIZE; } PKG=$1 if [ -z "$PKG" ]; then echo pack exit 1 fi PKGS=`emerge -p $PKG | grep '^\[' | sed 's/^................//' | sed 's/ \[.*$//'` TOTAL_SIZE=0 TOTAL_SIZE_DOWNLOAD=0 for P in $PKGS; do GROUP=`echo $P | sed 's/\/.*$//'` CP=`echo $P | sed 's/^.*\///'` PK=`echo $CP | sed 's/-[0-9].*$//'` echo "$GROUP/$CP" if [ -e /usr/portage/$GROUP/$PK/$CP.ebuild ]; then DIGEST="/usr/portage/$GROUP/$PK/files/digest-$CP" if [ -e $DIGEST ]; then FILES=`cat $DIGEST | awk '{print $4_"|"_$3}'` PKG_SIZE=0 PKG_SIZE_DOWNLOAD=0 for F in $FILES; do FILE=`echo $F | sed 's/^.*|//'` SIZE=`echo $F | sed 's/|.*$//'` OUT_SIZE=`print_size $SIZE` OUT_EX='' if [ ! -e /usr/portage/distfiles/$FILE ]; then PKG_SIZE_DOWNLOAD=`expr $PKG_SIZE_DOWNLOAD + $SIZE` else OUT_EX=' (ok)' fi echo -e "\t\t\t" $OUT_SIZE "\t" $FILE $OUT_EX PKG_SIZE=`expr $PKG_SIZE + $SIZE` done echo " Pkg size: `print_size $PKG_SIZE` " " Download: `print_size $PKG_SIZE_DOWNLOAD`" TOTAL_SIZE=`expr $TOTAL_SIZE + $PKG_SIZE` TOTAL_SIZE_DOWNLOAD=`expr $TOTAL_SIZE_DOWNLOAD + $PKG_SIZE_DOWNLOAD` else echo digest- Not found fi else echo .ebuild Not found fi done echo Total Size: `print_size $TOTAL_SIZE` " " Download: `print_size $TOTAL_SIZE_DOWNLOAD`
-- [EMAIL PROTECTED] mailing list