I reported bug 28093 a while back. The problem was caused because the folks who make ncftp available released a new version and took the old version off their FTP site. Portage failed to do an "emerge ncftp" because the source file wasn't there anymore. Now I can manually search for an alternate source, download it manually, and continue, but I would say that it may make sense to do something so that the transition is a bit smoother, at the risk of losing some of the impetus to fix these issues quickly. If you were to put an option into the portage scripts that if the item cannot be found at the selected mirror, that it then goes to the authoritative source, and if it still can't find it, it looks for the package in the gentoo mirror before failing. This would allow you to support downloading an older, removed, package that would cause portage to break until the new package can be added to portage. The costs? 1. Security issues- but a message to the user like "The file needed by Portage to compile this software has been removed from the primary source. This may be due an update released to fix problems, or it may just be because there are new features available. Do you want to search the Gentoo mirrors for the older version?" 2. The space and bandwidth on the gentoo mirrors to store these files until the new version of the package is added to portage. 3. Someone would have to take the time to get the older package and put it on the gentoo mirror sites. What do you think? Reproducible: Always Steps to Reproduce: 1. 2. 3.
Ehm, it already works that way although in a different order: - first it checks all mirrors in GENTOO_MIRRORS (use mirrorselect to change that) - then it checks the value in SRC_URI which can be a mirror:// url again (like for sourceforge projects), but that should be the authorative site So as long as the file is on the mirrors you should get it.
Well, I am a Gentoo newbie, but Portage didn't do this for me. Does Gentoo track and keep copies of ALL the packages it builds that are not available from the primary download source? That is in fact what I think would provide a smoother transition as packages are updated on the primary sources and are not yet supported by Portage. The steps would be- 1. User reports that a certain software package is broken. (IE- it can't be downloaded.) 2. Part of the development team notes that this is due to the fact that the old version cannot be downloaded from the primary source (or its mirrors) 3. The development team mirrors the older software package on the Gentoo mirrors (IE- such as ncftp 3.1.5) and inform the user so that they can retry the download, and Portage would then inform the user that only the "older" package is available through the Gentoo mirrors before downloading and building it. 4. The development team updates Portage to use the new version of the package (IE- ncftp 3.1.6) The key here is that users using Gentoo will be able to build packages (such as ncftp) while step 4 is occuring. Right now, they can't without manually downloading the old version from another source.
I think this is avenj's domain then
All files (that aren't marked RESTRICT=nomirror or RESTRICT=fetch) are mirrored to our distfiles mirrors automatically. At one point, the script doing this was not very effective and files were not mirrored consistently, but this is no longer a problem.