[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Old broken packages



On Mon, 22 May 2006, Shahms King wrote:

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

This is related to an earlier message about removing the obsolete and
broken arch-specific epydoc package. That specific package has been
fixed, but the general problem of old architecture specific packages
breaking newer (properly) noarch packages remains.  I encountered the
problem most recently when trying to install python-reportlab which,
like the epydoc package, has both a newer, properly compiled noarch
package and a FC3-era i386 package in the repository.  And, like epydoc,
the old package breaks updating, installing, etc. the new package.
Unlike epydoc, the offending python-reportlab package explicitly
requires: python < 2.4 and therefore fails to install rather than simply
failing to work.

I'm not precisely sure where the blame for this lies, but there are
certainly a number of candidates:

1. Propagation of packages from old releases to new releases doesn't
adequately compare noarch and arch packages.  Both of the problem
packages I have found are *FC3* packages that have been copied,
unchanged, into both FC4 and FC5 despite the existence of newer and
properly built noarch packages.

2. Similarly, these packages are not being pruned when newer versions
are pushed, rather the old arch-specific packages are sitting in the
repository.

3. yum fails to take noarch packages into account on install or update
when any arch-specific package exists, regardless of the epoch, version
or release.

I strongly suspect the problem lies with RPM always comparing an
arch-specific package as "newer" than a noarch package, but I'm not certain.

RPM will happily upgrade such a package, it's yum-specific behavior to refuse to change package arch. Set exactarch=0 in yum.conf and it'll upgrade that. The other way around this is renaming the package to something else.

Note that these problems *appear* to have been fixed in rawhide as the
extras development repository does not contain the offending packages.

Additionally, trying to track down any potential problem packages is
difficult as repoquery will not check versioned requires and insists
that python-0:2.4..2-3.2.1.i386 provides "python < 2.4", which it most
assuredly does not.

Huh, you're saying 'repoquery --provides python' on FC5 says "python < 2.4"? I have hard time figuring out how it would come up with such a thing if it doesn't exist in the package but... Please show me the exact command to reproduce that so I can check what the heck is going on.

Oh and there are such gems around, eg perl has "Provides: perl <= 4:5.8.8" which looks pretty dubious to me.

	- Panu -


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]