Bug 186945 - app-portage/gentoolkit - progress bar in new revdep-rebuild flickers
|
Bug#:
186945
|
Product: Portage Development
|
Version: unspecified
|
Platform: All
|
|
OS/Version: Linux
|
Status: RESOLVED
|
Severity: trivial
|
Priority: P2
|
|
Resolution: FIXED
|
Assigned To: tools-portage@gentoo.org
|
Reported By: rmmarm@sdf.lonestar.org
|
|
Component: Tools
|
|
|
URL:
|
|
Summary: app-portage/gentoolkit - progress bar in new revdep-rebuild flickers
|
|
Keywords: InSVN
|
|
Status Whiteboard:
|
|
Opened: 2007-07-28 23:04 0000
|
I love the new revdep-rebuild. It's awesome. However, the [X%] progress bar
thing flickers horribly. It's easy enough to fix -- just add code to only
print when something has changed. I will attach a patch to this bug report.
Reproducible: Always
Steps to Reproduce:
1. Run revdep-rebuild without the -quiet flag.
2. Freeze in horror as the flickering progress bar gives you a headache.
3. Run screaming from the keyboard.
Actual Results:
Progress bar flickers.
Expected Results:
Progress bar updates only when the percentage is different from before.
I put my complain in here, since it's similar bug, and to avoid creation of new
one: I use revdep in cron. Cron mails me the result. It is usually very long
since it mails me the compile log as side effect. But, see what happens:
(this took 3/4 of the "visible hight of the mail" (not weight, but height):
* Checking dynamic linking consistency
[ 0% ]
[ 0% ]
[ 0% ]
[...]
[ 99% ]
[ 99% ]
[ 100% ]
* broken /opt/sun-jdk-1.4.2.15/jre/lib/i386/libnio.so (no version
information available)
* Generated new //.revdep-rebuild.3_rebuild
This has a very simple workaroung: do not use progress bar at all when the
output is not a console (I have seen this feature some where, may be emerge: no
progress bar or spinning bar when used like
emerge -va foo |grep -v bar
(outputs everything except "bar" => no spinning cursor).
You will find there the code to implement it ^^
Robert, maybe it flickers because it is synchronised with your screen refresh
^^ LCD is a solution.
(In reply to comment #3)
> Robert, maybe it flickers because it is synchronised with your screen refresh
> ^^ LCD is a solution.
>
Thanks for the suggestion DeMaine, but as it turns out -- I only use LCD. The
problem is simply that the progress bar gets draw multiple times when it does
not need to. The patch I attached ought to solve the problem. Also, have you
tried using the "-quiet" flag when running from your cron job? Does that get
rid of the extra output in your logs?
Use --quiet to prevent the progress bar in scripts and cron jobs.
Created an attachment (id=127278) [details]
revdep-rebuild-rewrite.patch
Patch against the latest SVN version of *-rewrite. This patch also includes the
fix to using ewarn before sourcing /etc/functions.sh.
As for the progress() fix, It's the same idea as Robert's, just rewritten so it
patches cleanly.
Thanks, Robert!
$ svn commit -m "Fix progress bar to only update when there is a change (Bug
#186945)"
Sending ChangeLog
Sending src/revdep-rebuild/revdep-rebuild-rewrite
Transmitting file data ..
Committed revision 431.
Released in gentoolkit-0.2.4_pre7