#7 Estimate average emerge time

closed
nobody
None
1
2012-10-27
2004-02-28
No

This patch tries to estimate average build times when
the user runs a "emerge --pretend".

Estimates are calculated by looking at previous builds
in emerge.log. For instance, if a user has built
mozilla 1.3 and 1.4 in the past, and now decides to
upgrade to 1.5. By doing a "emerge --pretend" he will
be able to see the packages that need to be upgrade
with it, and if all of the packages have been installed
before, he gets a messages after "--pretend" is
finished telling him what the average build time for
those packages is, on his particular system.

If porthole cannot estimate a build time for every
single package that needs to be emerged, it will
display a message telling the user that it can't
calculate accurate estimates.

Here are some example screenshots:

http://www.andrebocchini.com/porthole/screenshot01.png
http://www.andrebocchini.com/porthole/screenshot02.png

Discussion

  • Daniel G. Taylor

    Logged In: YES
    user_id=672218

    Judging from the screenshots this looks like excellent work.
    I haven't really gotten into the code as of yet; I'm
    currently not at my system. I did notice you are adding this
    to ProcessWindow, so you may want to update your cvs
    checkout because we've more or less phased ProcessWindow out
    in favor of ProcessManager from terminal.py (which shows
    different information in tabs and allows multiple packages
    to be merged). Later today I will try to integrate this into
    ProcessManager and get it working. It looks very nice!

     
  • Andre Bocchini

    Andre Bocchini - 2004-02-29

    Logged In: YES
    user_id=856913

    Ok. I removed what I had put in process.py and moved it to
    terminal.py. Lke before, the user will only get estimates
    if he runs a "emerge --pretend".

    Also I found out that there was a problem with the other
    patch whenever it encountered package names that had "+" in
    them. It should be fixed on this one.

     
  • Daniel G. Taylor

    Logged In: YES
    user_id=672218

    It seems to fail saying there is no mx module to import! Is
    there another package that needs to be merged for the mx
    module or is there another way to do it?
    I'm using Python 2.3.3

     
  • Andre Bocchini

    Andre Bocchini - 2004-02-29

    Logged In: YES
    user_id=856913

    My apologies. I though I had mentioned it in my first post
    that you need
    "egenix-mx-base" installed so porthole can use the
    mx.DateTime module.

    I'm a little new to Python, and that was the only ("easy")
    way I could find to get the time differences claculated
    without having to write to much extra code.

    If having that dependency may be too much, we can figure
    something elese out.

     
  • Andre Bocchini

    Andre Bocchini - 2004-03-01

    Logged In: YES
    user_id=856913

    Ok, I removed the need for mx.DateTime. Now, it only uses
    datetime.

    :-)

     
  • Daniel G. Taylor

    Logged In: YES
    user_id=672218

    Excellent work! :)
    Just added this to cvs!
    It should be available on the public cvs server in a few hours.

     

Log in to post a comment.