howto show what package provides a dep?

Jeff Johnson n3npq at mac.com
Thu Jun 29 13:26:50 PDT 2006


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


On Jun 29, 2006, at 2:20 PM, Axel Thimm wrote:

> On Thu, Jun 29, 2006 at 02:06:30PM -0400, Neal Becker wrote:
>> Disabling this doesn't fix the problem.
>
> You need to disable all repos that are for i386 only. See below.
>
>> I also have another x86_64 box that never had this channel, and I
>> get the same result there:
>>
>> rpm -q -f /usr/lib64/libsysfs.so.1
>> sysfsutils-1.3.0-1.2.1
>>
>> smart query --provides libsysfs.so.1
>> Loading cache...
>> Updating cache...
>> ###############################################################  
>> [100%]
>> [silence...]
>
> That's something different. The first command asks for a file and the
> second for a provides, so you're comparing apples and oranges.
>

(aside)
Very close, but not exactly true.

The command
	rpm -q --whatprovides /usr/lib64/libsysfs.so.1
will look for filenames in the Basenames index for tokens that start  
with '/'.

To further confuse the issue,
	Provides: /usr/lib/libsysfs.so.1
is permitted and valid, but entirely different (because stored in a  
different index) than
a file path contained in a package.

The issue for applications that use an rpmdb is choosing the correct  
index to look up keys,
as the bindings do not currently attempt to look in both the Provides  
and the Basenames indices.

So perhaps tangerines, not apples, and oranges ;-) Otherwise, yes,  
the soname and the
symlink are quite different, and only related through elf development  
history.


Otherwise the analysis below is dead-on correct.

> $ uname -m; rpm -q --provides sysfsutils | grep libsysfs.so
> i686
> libsysfs.so.1
> $ uname -m; rpm -q --provides sysfsutils | grep libsysfs.so
> x86_64
> libsysfs.so.1()(64bit)
>
> So to recap: You added a i386 repo to and x86_64 multilib system w/o
> adding all the repos it requires. If you would add (don't!) core-i386
> to the smart config, smart would be able to resolve it.
>
> But adding both distributions (i386 and x86_64) to the config is
> wrong. multilib repos by Red Hat/Fedora Core are supposed to have the
> required 32 bit packages in the x86_64 repo, just like the base and
> updates repo from the vendor do. E.g. you never use base/updates from
> the i386 repo.
> -- 
> Axel.Thimm at ATrpms.net

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Darwin)

iD8DBQFEpDeTuHNkGyA5spERAihMAJ98dbrLU2bXP/mDd13bEr9xNv+o8gCfbB5g
eI1O3UbkngOTC32s/BbB0hc=
=0Hcn
-----END PGP SIGNATURE-----



More information about the Smart mailing list