This bug is to track progress on the p2p distfiles mirror. Here are my ideas: 1) People have been concentrating on bittorrent for this kind of mirror- this is not the way to go. A custom-configured giftd would be easiest. 2) This mirror method would not be available by default, it would be mergeable by app-portage/p2pmirror or something like that, then the FETCH_COMMAND would be changed in make.conf. 3) The FETCH_COMMAND would be a simple script that checked all existing giftd processes for the one with the gentoo configuration, and if this one could not be found, a new giftd process would be started with said configuration. 4) If after a set time period the download does not commence, a simple wget from the SRC_URI would be used. I will work on the code as I have time, but I wanted to throw the ideas I had out there in case anyone else had something interesting to add.
Work has started, but the problem I am having is that the file the script is going to need to download must check the file before downloading it to make sure it is the right one. I recommend doing this by sending the download script the size of the file. I could make the script read from the digest in the /files directory of the package; any suggestions on this? As of right now, all the script does is search for the file from the gift daemon and return the URL in a format that can be sent right back to the gift daemon to download the file: http://portage.squinky.gotdns.com/projects/p2phportage.phps note that this script is VERY incomplete and only meant to be a proof of concept. e.x.: <start giftd> $ ./p2phportage.php monkeys a That second parameter will be either the file size or the path to the ebuild so that the script can read the digest file to get the filesize from there- whichever is easier to implement.
This is external from portage, portage integration pretty much comes down to a custom FETCHCOMMAND, or a sync module for cvs head... so, yanking portage from cc. Poke us if this gets going.
wrt Bug 45935, probably not going to happen, unless someone takes over this idea... Marking LATER.