I am looking for a way to make a contribution to Gentoo and open source in 
general. So I'm thinking to myself, "I'm a programmer, why don't I write 
something?" So here I am. I, however, want to get opinions from other Gentoo 
users before I embark on this quest.

I'm not asking for volunteers or contributions or anything, just comments on 
my idea. If everyone else thinks it's a stupid idea, I won't pursue it.

Here it is:
 So I'm emerging some package, watching the endless stream of compiler 
commandlines scroll across my screen, when I realize, "I really don't care 
about these command lines all that much. I do, however, really wish that I 
could find out how far in this build I am." So I do a little thinking, and 
this is what I came up with:

eprogress - a general-purpose hierarchical progress reporting system

my vision of the architecture has three components:

1) eprogress progress providers (clients?) (perhaps through some sort of 
libeprogressc). These are programs like emerge, make, gcc, etc. which have 
some sort of goal, and can report on their progress. They would need to be 
patched to provide the system with the progress information.

2) eprogressd (one for each master task, i.e. if you had an emerge and some 
other make running at the same time, they would be kept separated). the 
eprogressd would run in the background and keep track of all the progress 
data.

3) eprogress viewers which communicate with eprogressd to display a 
representation of the progress data. There could be any number of 
interchangeable viewers, some for console, some for X11. Some may be 
specialized to a particular task (such as a special one for emerges), but all 
would use the same protocol to talk to the eprogressd, which would be kept 
generic (there could (should?) be some sort of libeprogressviewer to help 
with this)

I would suggest that the system should use UNIX domain sockets or TCP/IP 
sockets for the communication, especially TCP/IP for the viewer connection. 
It should not be necessary for the viewer to reside on the same machine as 
the daemon. Nor, for that matter, should it be necessary for individual tasks 
to be performed on the same machine.

Also, progress information does not have to be limited to a percentage (though 
that is required). The information could contain many things, like compiler 
command lines, warnings, errors, einfos etc.

Please let me know what you think.
-- 
t3h 3l3ctr0n3rd (John Myers) <[EMAIL PROTECTED]>
Supermarket Deli Clerk and Student Programmer

Attachment: pgp214G7YPSyg.pgp
Description: PGP signature

Reply via email to