Specifying dependencies in SPEC file?

James Antill james at fedoraproject.org
Wed Dec 14 15:38:19 UTC 2011

On Wed, 2011-12-14 at 17:03 +1100, Ivan wrote:
> Hello everyone,
> I am system administrator for educational institution and I new to
> this list. I will greatly appreciate if someone can assist me with my
> problem:
> I am building a customer noarch RPM package for RHEL5.x The package
> requires libraries provided by 32 and 64 versions of
> compat-libstdc++-33 package in the base RHEL5 channel.
> I am seeking advise on how to define "Requires" parameter in the spec
> file to make sure that both 32 and 64 version of a package with the
> same name compat-libstdc++-33 are installed.  There is obviously
> something wrong with the way I am doing it.  My steps can be
> summarised as follows:
> 1.  I define "Requires" in my package.SPEC as follows:
> Requires: compat-libstdc++-33.i386, compat-libstdc++-33.x86_64

 That doesn't work, you can't specify arch like that and you can't
specify the version in that way.
 In later versions of rpm (Eg. RHEL-6) you can use %{_isa} ... and in
theory you can hardcode both isa's, but I'm not sure how supported that
usecase is.
 In RHEL-5 you can do one of two things:

1. Provide something unique in both arches, and require both provides.
Icky, but should work (some packages in RHEL-5 do this, IIRC).

2. Pick a file from each package that is only provided by it, and
require those (I've heard of packages doing this, but I'm not sure there
are any in RHEL-5).

...in general though I'd recommend people not try to put "policy" in the
rpms, and do it some other way.

More information about the Rpm-list mailing list