Bug 429548

Summary: rpm doesn't depend on rpm-libs even links against it
Product: Red Hat Enterprise Linux 5 Reporter: Juha Tuomala <tuju>
Component: rpmAssignee: Panu Matilainen <pmatilai>
Status: CLOSED NOTABUG QA Contact:
Severity: low Docs Contact:
Priority: low    
Version: 5.1CC: cbolz
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-01-23 07:17:57 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Juha Tuomala 2008-01-21 15:14:34 UTC
Description of problem:

In centos4, rhel5:

tuju[0] rpm -q --requires rpm | grep librpmio
librpmio-4.3.so()(64bit)

tuju[0] rpm -q --whatprovides librpmio
no package provides librpmio

tuju[1] rpm -qf /usr/lib64/librpmio-4.3.so
rpm-libs-4.3.3-23_nonptl

tuju[0] ldd `which rpm`|grep rpmio
        librpmio-4.3.so => /usr/lib64/librpmio-4.3.so (0x000000344a900000)


So I guess rpm's deps are broken on these releases?

This is not the case in Fedora 8.
$ rpm -q --whatrequires "librpmio-4.4.so()(64bit)"
rpm-4.4.2.2-7.fc8
rpm-libs-4.4.2.2-7.fc8
rpm-python-4.4.2.2-7.fc8

Not really nasty unless you update with yum step by step and miss
that both got updated at the same time,but you only pull rpm. Most
likely it would work, but anyway, I think this shouldn't be like
this.

Comment 1 Juha Tuomala 2008-01-21 15:32:48 UTC
Actually it looks like the postgresql and postgresql-libs suffer this same.

$ ldd `which psql `
        libpq.so.3 => /usr/lib64/libpq.so.3 (0x000000319b300000)

$ rpm -qf /usr/lib64/libpq.so.3
postgresql-libs-7.4.17-1.RHEL4.1

Comment 2 Panu Matilainen 2008-01-23 07:17:57 UTC
> tuju[0] rpm -q --requires rpm | grep librpmio
> librpmio-4.3.so()(64bit)
  ^^^^^^^^^^^^^^^^^^^^^^^^

> tuju[0] rpm -q --whatprovides librpmio
> no package provides librpmio

Yup, no package provides "librpmio", you need to ask for the exact soname
dependency, ie

rpm -q --whatprovides "librpmio-4.3.so()(64bit)"

This is what you're doing in the Fedora case, only the other way around (via
requires), hence the difference.

[pmatilai@localhost ~]$ rpm -q --requires rpm | grep librpmio
librpmio-4.3.so  
[pmatilai@localhost ~]$ rpm -q --whatrequires librpmio-4.3.so
rpm-libs-4.3.3-23_nonptl
rpm-build-4.3.3-23_nonptl
rpm-4.3.3-23_nonptl
rpm-python-4.3.3-23_nonptl

No bug or broken dependencies here...

Comment 3 Juha Tuomala 2008-01-23 09:57:42 UTC
Yep, you're right. Anyway, I came across this when updating:

# yum update rpm

and it didn't pull the rpm-libs on centos4. Perhaps that yum version didn't 
calculate the deps right there.