On Thu, 2006-06-08 at 19:12 +1000, David Timms wrote:
seth vidal wrote:
On Wed, 2006-06-07 at 21:00 -0400, Sean wrote:
On Wed, 7 Jun 2006 17:30:53 -0400 "Ryan Skadberg" skadz1@gmail.com wrote:
...
The problem you're poorly diagnosing isn't really in yum. The crux of the problem is out of sync mirrors being in the mirror list. That's a problem we're working on now by taking some work that another project has done to check the status of a mirror to make sure that the metadata it has matches the metadata that the mirror master has.
Couldn't this be achieved fairly simply ?
- yum gets repomd.xml from masterURL (new setting in .repo)
- cache the master repomd.xml as repomd.xml.master
- uses that to compare files including (repomd.xml) grabbed from the
preferred (and next and so on) mirror, until it gets a response and the checksum matches.
"another project" sounds like doing something similar to the above would be a major undertaking ?
- it would be nice to be able to query both ftp and http servers for the
checksum of a file as it exists on their disk - before you (yum) downloads it :) As far as I know no such capability exists for either service type ? Then you could:
- give me sha1sum /mirror/fedora/core/update/5/packages/mc-7.8.9.rpm
- = sopqierpqowierpoqie
- wrong, move to next mirror before even downloading (especially good
when mirrors have corrupt or incomplete data). I remember once a bad download of 50M occur about 10 times (from different mirrors) until a good download was found.
- repomd.xml does have <timestamp>1149589443</timestamp> already
could yum / urlgrabber get the (ht/f)tp servers file mod time before deciding to download (that mirrors) copy of the file ? Even checking byte size before download would avoid wasted downloads (but it isn't already in repomd.xml).
I'm open to contributions that make this sane and functional for other interfaces.
-sv