[Fedora-packaging] Question about how libgcj-devel requires zlib

Panu Matilainen pmatilai at laiskiainen.org
Tue Sep 23 06:49:22 UTC 2008


On Tue, 23 Sep 2008, Ralf Corsepius wrote:

> On Tue, 2008-09-23 at 09:18 +0300, Panu Matilainen wrote:
>> The new rpm in rawhide adds ISA provides (ie the (x86-32) stuff")
>> automatically for all non-noarch packages (including subpackages), all
>> that's needed is rebuild. So every package rebuilt since rpm 4.5.90.x
>> landed in rawhide already has them.
>>
>> The main use-cases for this feature are:
>> a) -devel package dependencies on other -devel packages
>> b) BuildRequires
>> c) manual dependencies for plugins and such
> Which kinds of problems does this solve?

If it wasn't obvious from the list above...
a) foo-devel requires bar-devel. Currently bar-devel.i386 is sufficient to 
satisfy foo-devel.x86_64 which is obviously not correct.
b) Similarly to a), BuildRequires: foo-devel. Currently, if you have 
foo-devel.i386 installed and try to build for x86_64, it's considered 
satisfied which is obviously not correct.
c) A package depends on a dlopen()'ed plugin, say "foo-plugin". The plugin 
needs to be of compatible arch to work, quite obviously. The only way to 
express this correctly right now is to use file dependencies on 
%{_libdir}/something.

> So far I don't see any. Conversely, AFAIU all this does, is to add more
> incompatibilities, more rpmdb entries, all for information which already
> is hidden somewhere else.

So you'd rather change all -devel and build dependencies to 
%{_libdir}/libfoo.so file dependencies? And there's no incompatibility 
here, specs remain backwards compatible as long as you use the conditional 
%{?_isa} construct for this.

 	- Panu -




More information about the Fedora-packaging mailing list