Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 718786 - Estimating building time during emerge through /var/tmp/portage
Summary: Estimating building time during emerge through /var/tmp/portage
Status: UNCONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Enhancement/Feature Requests (show other bugs)
Hardware: All Linux
: Normal enhancement (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-04-21 19:39 UTC by Lorenzo
Modified: 2020-04-21 22:17 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lorenzo 2020-04-21 19:39:13 UTC
Hi, I'm not an expert but it seems that this is the right place for a feature request. Portage is a powerful package manager but it lacks of something to estimate the remaining time. It should be a key feature of a distro like Gentoo. Genlop is not to take into account because the package must have been already compiled at least once and only some compilers shows the remaining time or the percentage.
My idea is this: estimating the size of the final build directory and compare it to the current size (e.g. 2.3/4.5 GiB). I know that it is hard to give a precise guessing but I think it is better than nothing. Moreover, an estimated remaining time could be calculated during the compiling checking the average increase of the folder size. 
Thanks for the attention.
Comment 1 Brian Dolbec (RETIRED) gentoo-dev 2020-04-21 20:39:32 UTC
There are far too many variables to take into account for this to be anywhere near possible with even a 50% accuracy.  This has been discussed at length numerous times over years (bugs).  There have even been several attempts to "Guess" the approximate remaining time.  

Unfortunately genlop reporting is currently the best guess for any one system.  But you have to take into account how many jobs are running during the duration of the specific builds recorded ans well as the one being built along with the unknown of how much bigger/smaller the new pkg version is from previous versions.  With ever increasing number of cpu cores present and jobs/load average settings are increased.  The far less accurate that guess will likely be.

Also the installed size of the built package is not really feasible as that can vary with use flag options chosen and also emerge only merges the final built package in one shot after the package has been built.  You would have to monitor the pkg build directory.  But that too has numerous temporary build files cluttering things up causing additional guess errors.

The best solution would likely involve some advanced AI system with a global online DB of build data.  Then that AI can monitor the active system and all tasks running to make it's guess as to completion time, updating that guess as it progresses...  That brings in an issue of privacy and a whole lot more issues...

I'll leave this open for any others to comment, but otherwise I'd mark resolved, wontfix
Comment 2 Lorenzo 2020-04-21 22:17:38 UTC
As I said, I'm not an expert. Related to that, an idea could be to add an optional feature that can be enabled in make.conf where the user decides whether to send or not their build data. I mean, not for the time, only for the size of the build directory. E.g. a user, with an hypothetical SHARE_BUILDINFO set on TRUE, will make the system able to send the size of the final build directory, linked with architecture, use flags and so on. It would be fantastic.
Thank you for your time.