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

Bruno Wolff III bruno at wolff.to
Mon Sep 22 18:26:25 UTC 2008

On Mon, Sep 22, 2008 at 12:40:10 -0400,
  seth vidal <skvidal at fedoraproject.org> wrote:
> On Mon, 2008-09-22 at 11:33 -0500, Bruno Wolff III wrote:
> > While playing with custom repos I noticed that libgcj-devel requires a
> > file from zlib-devel that isn't explicitly provided. In a mixed x86_86 / i386
> > environmentment this requires looking at the file lists to see that
> > libgcj-devel-4.3.2-4.i386 needs zlib-1.2.3-18.fc9.i386 and that
> > zlib-1.2.3-18.fc9.x86_64 isn't good enough.
> > 
> > I am not sure if this is actually a bug though and if so, which package
> > is at fault. I was hoping to get some guidance here on whether or not
> > this is something I should bugzilla.
> I think that file dep is explicit - b/c libgcj-devel-4.3.2-4.i386 needs
> the i386 version of that package - not the x86_64.

It requires a specific lib file that is different between the i386 and x86_64
versions of zlib-devel. However the different files are not "provide"d by
either zlib so you can't find the dependceny without using the file lists.

There are over 700 -devel rpms in Fedora where the i386 version of the
package doesn't "provide" anything not "provide"d by the x86_64 version.
presumably most of these put their libs in different places and they
get pulled in because yum (or whatever) ends up looking through the file

(There are also a lot (nearly 3000) of the i386 rpms in fedora that "provide"
something not provided by any x86_64 packages, but are not included in
the normal x86_64 rawhide repo. This seems odd, but not strictly an error.
My supposition is that a lot of these packages have a gratiutious (x86-32)
provides, but I really haven't look into it.)

In a couple of cases I looked at things are even more broken. For example
nspr-devel is needed by nss-devel and there do appear to be differences
between the i386 and x86_64 libraries, yet the requires for nss-devel to not
require anything that is not provided by the x86_64 version of nspr-devel.
I am not 100% sure this is broken, but it looks wrong to me.

[root at cerberus Packages]# rpm -q --provides -p nspr-devel-4.7.1-2.fc10.i386.rpm
nspr-devel = 4.7.1-2.fc10
[root at cerberus Packages]# rpm -q --requires -p nss-devel-
nspr-devel >= 4.7
nss =
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(VersionedDependencies) <= 3.0.3-1
[root at cerberus Packages]# rpm -qlp ../../x86_64/Packages/nspr-devel-4.7.1-2.fc10.x86_64.rpm

More information about the Fedora-packaging mailing list