Red Hat Bugzilla – Bug 125496
Add Provides: libGL-devel
Last modified: 2007-11-30 17:10:44 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1)
Description of problem:
The FC2 xorg-x11-Mesa-libGL-6.7.0-2.i386.rpm package
provides a virtual capability libGL ("Provides: libGL").
Its FC1 counterpart XFree86-Mesa-libGL-4.3.0-42.i386.rpm doesn't.
# rpm -q --provides -p
xorg-x11-Mesa-libGL = 6.7.0-2
# rpm -q --provides -p
XFree86-Mesa-libGL = 4.3.0-42
This raises compatibility problems with implementing rpm-specs for
GL-based programs, because:
* BuildRequires: XFree86-Mesa-libGL
is only available on systems < FC2.
* BuildRequires: xorg-x11-Mesa-libGL
is only available on systems >= FC2
Using "BuildRequires: libGL.so.1" would work, but would implicitly
restrict building to "version 1" of "libGL.so". Though the version of
libGL is unlikely to change any time soon, this possiblility can not
be ruled out.
The new virtual capability "libGL" would offer a nice, libGL-vendor
and libGL-version independent solution, i.e. Let all libGL based rpms
For this to be applicable, FC1's XFree86-Mesa-libGL*rpm would have to
be extended to "Provide: libGL".
Analogous considerations apply to FC1's XFree86-Mesa-libGLU*rpms.
This RFE would provide an elegant solution to this issue currently
blocking several libGL/libGLU based package on fedora.us, e.g.
Otherwise, other solutions would have to be considered, e.g. those
currently being discussed in
The virtual libGL provide was actually incorrect and unneeded,
as rpm handles runtime deps. Applications linking to libGL
should not have any explicit Requires on the package we provide
that contains libGL, as that would make it impossible to substitute
an alternative rpm packages libGL implementation.
A virtual libGL-devel dependancy added in similar nature to what
you describe above however is what we really need, so that OpenGL
application packages can BuildRequire libGL-devel of a particular
libGL version or greater, yet not require a specific implementation
unnecessarily. If they do require a specific implementation they
can always explicitly require the particular implemenation of course.
I've removed the libGL provide as it shouldn't have really been
there, however I've added a virtual libGL-devel provide recently,
although it is currently considered experimental and is not 100%
committed to yet. I've posted an email to fedora-devel-list recently
to discuss this topic if you're interested in joining the discussion
I think with the virtual libGL-devel provides we can handle the
build time dependancy reasonably well, in particular when other
libGL packages out there get updated to use it also, and the
runtime dependancy on libGL is already handled by rpm's automatic
Similar has been done for libGLU as well. I'll leave this open
for now until the discussion on the mailing list has concluded and
I've made any necessary changes.
Thanks for your observation and report!
Everything seems to have worked out ok, closing as "RAWHIDE"