python(abi) present, but blocking rpm -i

Steven Augart saugart at mazunetworks.com
Tue May 16 19:46:52 UTC 2006


On Tue, 2006-05-16 at 15:08 -0400, Janina Sajka wrote:
> I've built an rpm with a build dependency on python => 2.4. The
> buildrequires is explicitly stated in the .spec, and the build proceeds
> uneventfully. However, I cannot install the resulting rpm--on the very
> machine where I built it. The message
> is "requires python(abi)." Meanwhile:
> 
> rpm -q --whatprovides "python(abi)"
> 
> returns "python-2.4.2-3.2.1," which is installed.
> 
> How can this be? Is this an rpm problem? A python problem? Or some kind
> of problem with my package source?

It certainly can't be a Python problem; it's got to be RPM or your
source, and I'll hope it's your source.

First of all, I'll assume you're using FC5, especially given your Python
package rev number.

Second, On my FC5 development machine, there are a number of packages
that require python(abi) = 2.4, but I don't see any that use a "=>"
operator the way you do.  If it's good enough for them, perhaps it might
be for you too.

Third, if you're willing to settle for python(abi) = 2.4, then you might
want to look at the source for one of those packages and copy the
Requires line out of the .spec file directly via cut-and-paste, and see
if that solves your problem.

Fourth, if you want to get a list of the names of such packages, here's
how to do it in Bash.  (You could certainly figure it out yourself in a
minute or two, but since I already wrote it, it's faster to
cut-and-paste sometimes):

   rpm -q -a > rpm-q-a
   for r in $(< rpm-q-a ); do
      rpm -q --requires $r | fgrep "python(abi)" && echo "^^^^ PKG: $r"
   done





More information about the fedora-devel-list mailing list