Add --no-progress option
authorfuzzyray <fuzzyray@gentoo.org>
Thu, 13 Sep 2007 17:23:17 +0000 (17:23 -0000)
committerfuzzyray <fuzzyray@gentoo.org>
Thu, 13 Sep 2007 17:23:17 +0000 (17:23 -0000)
svn path=/; revision=438

trunk/src/revdep-rebuild/revdep-rebuild-rewrite

index 36697fb85eec34b0ec9aa71e417977099c620eef..6d622e2d5ff555da0c26746f55ee78fd3e100630 100755 (executable)
@@ -117,6 +117,7 @@ Broken reverse dependency rebuilder.
   -i, --ignore         Ignore temporary files from previous runs
   -o, --no-order       Do not check the build order
                        (Saves time, but may cause breakage.)
+  -P, --no-progress    Turn off the progress meter
   -q, --quiet          Be less verbose (also passed to emerge command)
   -v, --verbose        Be more verbose
   -u, --no-util UTIL   Do not use features provided by UTIL
@@ -135,9 +136,7 @@ EOF
 #        i: current item
 #        n: total number of items to process
 progress() {
-       if [[ $quiet ]]; then
-               progress() { :; }
-       else
+       if [[ -t 1 ]]; then
                progress() {
                        local curProg=$(( $1 * 100 / $2 ))
                        (( curProg == OLDPROG )) && return # no change, output nothing
@@ -146,6 +145,8 @@ progress() {
                        echo -ne '\r                         \r'"[ $curProg% ] $lb"
                }
                progress $@
+       else # STDOUT is not a tty. Disable progress meter.
+               progress() { :; }
        fi
 }
 # Usage: countdown n
@@ -205,8 +206,11 @@ get_args() {
                -o|--no-order)
                        unset ORDER_PKGS
                        ;;
+               -P|--no-progress)
+                       progress() { :; }
                -q|--quiet)
-                       echo_v() { : ; }
+                       echo_v() { :; }
+                       progress() { :; }
                        quiet=1
                        EMERGE_OPTIONS+=($1)
                        ;;