[CentOS] Yum repomd.xml error
Lamar Owen
lowen at pari.edu
Tue May 10 20:47:46 UTC 2005
On Tuesday 10 May 2005 15:45, Johnny Hughes wrote:
> On Tue, 2005-05-10 at 13:14 -0600, Greg Knaddison wrote:
> > On 5/10/05, Lamar Owen <lowen at pari.edu> wrote:
> > > My complaint isn't as much with the repository as it's with yum itself
> > > for blowing chunks and completely failing.
> The problem isn't yum ... it is the 304 status code from apache
Well, one can argue semantics, but it takes two to tango. While apache
shouldn't be sending that code, perhaps, yum is still responding to the code
in an inappropriate manner (if the file hasn't changed, use the local copy,
this being repomd.xml we're talking about).
> > In fact, there is a discussion on this topic already:
> > https://lists.dulug.duke.edu/pipermail/yum-devel/2005-May/thread.html#114
Already on too many mailing lists. Not another. I just finally got rid of my
last Fedora Core box and have unsubscribed from the Fedora-list (and -test
and -devel) quagmire. Cut my mailing volume significantly.
> > Seth has responded with some reasons why simply noting that a repo is
> > down and moving on isn't a good idea. I'm not familiar enough to say
> > whether or not his reasoning makes sense, but I generally do respect
> > his opinion.
> I agree with Seth on this one ... if one repo doesn't work, you could
> get software installed from a repo where you don't expect it to come
> from. So I think it is perfectly reasonable to require manual
> intervention if something is broken.
I've looked closely at the whole strawman of 'if one repo doesn't work, then
you might get software installed from a repo where you don't expect it to
come from' and found it full of holes. Unless your local repo (which is the
common cause of this scenario) bumps epoch, your locally generated packages
(or your preferred packages from other repos) can and will get overwritten
and updated by other repos if those other repos deal in that package. And
there is significant package overlap to be had: particularly in the case with
kde-redhat.
Been there, done that, with mixing ATrpms, PlanetCCRMA, FreshRPMs, and DAG on
Fedora Core 2: it was a rat race between the repositories: update, and DAG
updates a package; update again and you got PlanetCCRMA's package; update a
third time, ATrpms blows in; update the fourth time, and now Matthias'
handiwork graces my disk. In many of these cases packages from one of the
four repos had conflicts with the packages from one of the other: file
conflicts, as in ATrpms had things packaged where the package owned a
different set of files from the FreshRPMs package and the updated package
from FreshRPMs can't install. I cleaned up manually so many times that it
became ritual to clean the package cache before doing an update so that I
could manually rpm -Uvh --force --nodeps afterward (after parsing the output
of a straight rpm -Uvh, of course). This is using apt to perform the
updates; I had too many issues with FC2's yum to continue using it. Not that
apt was perfect, because it wasn't even close. But it was better than
manually updating daily, that's for sure.
So I call that whole 'blindsided update' scenario a strawman: it can (and
does) happen even if all your repositories are in working order; skipping a
repository due to a repo failure somewhere has never caused me to have this
problem, and I have done synaptic upgrades with skipped repos numerous times.
This problem has indeed occurred for me, but always when ALL of my selected
repositories are up and running normally.
The solution could be apt-style pinning. If I pin say fftw3 to be a local
repo package, then when Dag updates his fftw3 package (before I have a chance
to bump the version on my local copy) all my GNUradio code won't quit
working: GNUradio requires a single-precision compile of fftw3, which is not
the default. So I generated local packages for fftw3. If an update blows
in, then it quits working. If I can tell yum (I CAN tell apt this already)
to never update fftw3 from any other source than the local repo, I'm ok,
otherwise I'm not. If the fftw3 package is pinned to local, then, even if
the local repo is skipped due to error the Dag copy of fftw3 won't overwrite.
For those who run local modified repos this could be golden, and they would
probably just want to blanket pin all local repo packages. Hmmm, to simplify
things over the way apt deals with it, a repository directive 'My Packages
Trump Your Packages Even If I Am Not Here' would be the ticket and prevent
the strawman above from ever happening. Or a general 'repository priority'
scheme where the admin can give repos priority and even pin a package down to
only be updateable by that repo.
But yum was originally built to be a system UPDATER more than a general
purpose system installer/package manager: it's now being used in a capacity
for which it wasn't originally intended.
--
Lamar Owen
Director of Information Technology
Pisgah Astronomical Research Institute
1 PARI Drive
Rosman, NC 28772
(828)862-5554
www.pari.edu
More information about the CentOS
mailing list