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.
Isn't it already archieved by bug #1661 ? Josep Sanjuas has done it quite well imho.
Meh, you're right. And it's got a *long* list of duplicates, too. I'll have to search better next time.
*** This bug has been marked as a duplicate of 1661 ***