Old broken packages

Panu Matilainen pmatilai at laiskiainen.org
Tue May 23 06:12:05 UTC 2006


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 -




More information about the fedora-extras-list mailing list