Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 21192 - emerge should download packages while compiling to avoid wasting time
Summary: emerge should download packages while compiling to avoid wasting time
Status: RESOLVED DUPLICATE of bug 1661
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Enhancement/Feature Requests (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Nicholas Jones (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-05-18 12:04 UTC by Vadim Trochinsky
Modified: 2011-10-30 22:35 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 Vadim Trochinsky 2003-05-18 12:04:12 UTC
The current Gentoo installation is too inefficent on slow connections, and I think I have an idea 
to make it faster.  
 
Currently, emerge first downloads, then compiles. This is of course very inefficent since if it 
downloaded while compiling time would be used much better. My suggestion is to rewrite the 
download system to allow downloads on the background. Here is the current idea. 
 
The new system will have several components: 
1. Download daemon, that perhaps starts when something needs it, and gets unloaded when 
not needed anymore.  
2. Command-line wget-like tool that connects to the daemon. 
3. Perhaps misc utilities, to check the download queue, etc. 
 
The operation of the new system would be like this: 
Portage would first tell the daemon what files it's going to download, and in what order. For 
example, it'd execute 'download -queue http://foo.com/file1.tar.bz2 
http://foo.com/file2.tar.bz2'. These files would be sent to the daemon, which would begin 
downloading, with the download command returning immediately. 
 
Next, portage would run again a command for the file it needs, for example, "download 
http://foo.com/file1.tar.bz2". This would make the download program wait until the daemon 
has retrieved the required file, and display a progress bar and statistics, just like wget, for 
example. 
 
Then, portage would start compiling, while the background daemon continues downloading 
files. 
 
I also have some ideas about how the sytem would work: 
It'd be written in a high level language, like Python or Perl.  
 
It would be able to download several queues at once. That is, if the user ran two emerge 
commands at once, the daemon would download both queues in parallel. Otherwise one of 
them would have to wait until the other finished. 
 
Perhaps the client should be universal and be able to use other daemons. For example, it might 
be a good idea to make it work with the KDE download manager.  
 
The system shouldn't be limited to Portage. It should be usable by other programs, and the 
user, without interferring with the Portage function. 
 
 
Some notes on this: 
This is a quite preliminar idea, and I'm very interested in suggestions. 
 
I haven't done an exhaustive search to see if something like this already exists. I ran a few 
emerge -s queries and didn't find anything. 
 
If people are interested in this, I might eventually do it myself, but it's quite unlikely that it will 
be very soon.
Comment 1 Roman Valls 2003-05-18 18:58:49 UTC
Isn't it already archieved by bug #1661 ? Josep Sanjuas has done it quite well imho.
Comment 2 Vadim Trochinsky 2003-05-18 19:31:28 UTC
Meh, you're right. And it's got a *long* list of duplicates, too. I'll have to search better next time. 
Comment 3 SpanKY gentoo-dev 2003-07-09 12:19:47 UTC

*** This bug has been marked as a duplicate of 1661 ***