#10 Enforces mesa-dri-drivers from mesa-libGL
Closed 2 years ago by pwalter. Opened 3 years ago by kwizart.
rpms/ kwizart/mesa require_mesa-dri-drivers  into  rawhide

file modified
+1
@@ -141,6 +141,7 @@ 

  %package libGL

  Summary:        Mesa libGL runtime libraries

  Requires:       %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}

+ Requires:       %{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}

  Requires:       libglvnd-glx%{?_isa} >= 1:1.3.2

  

  %description libGL

Once we have libGL installed, there is a need to enforce mesa-dri-drivers%{_isa} so at least a software implementation exists

Signed-off-by: Nicolas Chauvet kwizart@gmail.com

The problem was initially reported at https://bugzilla.redhat.com/show_bug.cgi?id=1900633

When using the main arch, the mesa-dri-drivers is already installed as appropriate. The problem arise using a minimal spin and upgrading it for a graphical usage, and for multilibs.

Many fedora/3rd part packages enforces a requires on mesa-dri-drivers themselves because of this issue. (stream, weston, clutter, wine, etc).

Now an open question is: is there are any cases where having even a software implementation would be optional ?

In this case, it should be possible to turn the requires into a Recommends or even a boolean dependency (Requires: mesa-dd... if Xorg-x11-server-Xorg), etc...

There are two reasons to want to not do Requires: mesa-dri-drivers. One is for image size when you don't actually care about GL at runtime but it happens to be in your ABI. The other, sort of related, is when you're just building something that happens to depend on GL, and you'd rather avoid pulling llvm-libs into your buildroot for either size or bootstrap reasons. And the problem then is I don't think mock ignores Recommends for buildroots.

Part of me thinks it should be:

Requires: (mesa-dri-drivers = ,,, if virtual(displayserver-gl))

And have xserver / mutter / weston / etc Provide that instead. Not sure how best to express the case where the app could run headless, I guess explicitly requiring mesa-dri-drivers might be okay then...

Thanks for the comments

I confirm that mock doesn't install weaks deps in fedora infra and as there is "install_weak_deps=0" in fedora configs. Also images compose doesn't enable weaks dependencies as I recall.

Using virtual(displayserver-gl)) boolean looks a good idea, (I need to find room to test).

I think we should move the discussion to https://bugzilla.redhat.com/show_bug.cgi?id=1900633 to avoid loosing history if a given PR isn't retained...

I did a similar fix (but with recommends, so that mesa-dri-drivers isn't pulled in when using mock/koji):

https://src.fedoraproject.org/rpms/mesa/c/8a2edad604103ae01fc48a5b87130bc7a1f10fac?branch=rawhide

Pull-Request has been closed by pwalter

2 years ago