On Wed, 17 Sep 2003, Eric Fernandez wrote:

> I proposed that idea on the cooker ML after release of 9.1. The idea was
> to perform an automatic urpmi.update command on a medium if the install
> of a package failed with error message "you may have to update your
> medium".

I don't think that this is as simple a solution as it may appear, as the
reason that the word "may" is included in that error message (which BTW
actually reads, "You may need to update your urpmi database") is that an
out-of-date urpmi database is *not* the only possible source of the error
- and isn't even necessarily the most likely one, in my experience.

The error message is returned whenever the contents of urpmi's RPM cache
directory (/var/cache/urpmi/rpms/) does not match what urpmi expects to
see there, once any downloading and/or copying into it has completed. This
is quite often merely due to one or more of the download attempts having
failed to establish a connection to the target mirror; for example, if the
mirror is a busy one, and has reached its limit of permitted simultaneous
users, any further connection attempts (by anyone) to it will fail, until
one of the currently-in-use ones completes. No connect => no d/l => error.

The problem, of course, is that urpmi has no idea *why* the RPM isn't in
the cache dir - it just knows that it's amongst the missing. The database
itself could exactly reflect the available RPMs, yet the error occurs. :(

This happens rather a lot IMO with urpmi's default d/l client, curl, which 
does not make more than one attempt to get a file. For this reason, I use 
the "--wget" switch with both urpmi and urpmi.update, to force it to use 
wget in lieu of curl. I even have aliases set up in /etc/bashrc for this:

alias urpmi='/usr/sbin/urpmi --wget'
alias uu='/usr/sbin/urpmi.update --wget -a'
alias ua='/usr/sbin/urpmi --wget --auto-select'

Typing "uu&&ua" gets all my sources synced, and picks out the updates. I 
purposely do not use the "--auto" switch with the latter, as I prefer to 
see exactly which packages are selected before I allow it to proceed. ;)

-- 
Bill Mullen   [EMAIL PROTECTED]   MA, USA   RLU #270075   MDK 8.1 & 9.0
"Listen, here's the thing. If you can't spot the sucker in your first
half hour at the table, then you *are* the sucker." - Mike McDermott

Want to buy your Pack or Services from MandrakeSoft? 
Go to http://www.mandrakestore.com

Reply via email to