[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