Prevent partial updates (rhbz#2193135)

This is another attempt to prevent partial updates, where important mesa
subpackages get desynchronized with mesa-dri-drivers, and things crash because
of version mismatch.

According to Michel Dänzer [1], libglapi and libgbm should always match in
version to dri-drivers. So the conditional requirement was added there, and it
will help guard dependants (e.g. libGL, libEGL) versions in the future.

This is the Rawhide-version of PR 24 [2].

[1] https://bugzilla.redhat.com/show_bug.cgi?id=2187726#c4
[2] https://src.fedoraproject.org/rpms/mesa/pull-request/24
This commit is contained in:
Kamil Páral 2023-05-05 13:43:34 +02:00 committed by ignatenkobrain
parent e29f42927b
commit 91adfd5fe1

View file

@ -257,6 +257,10 @@ Summary: Mesa gbm runtime library
Provides: libgbm Provides: libgbm
Provides: libgbm%{?_isa} Provides: libgbm%{?_isa}
Recommends: %{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Recommends: %{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
# If mesa-dri-drivers are installed, they must match in version. This is here to prevent using
# older mesa-dri-drivers together with a newer mesa-libgbm and its dependants.
# See https://bugzilla.redhat.com/show_bug.cgi?id=2193135 .
Requires: (%{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} if %{name}-dri-drivers%{?_isa})
%description libgbm %description libgbm
%{summary}. %{summary}.
@ -293,6 +297,10 @@ Provides: libxatracker-devel%{?_isa}
Summary: Mesa shared glapi Summary: Mesa shared glapi
Provides: libglapi Provides: libglapi
Provides: libglapi%{?_isa} Provides: libglapi%{?_isa}
# If mesa-dri-drivers are installed, they must match in version. This is here to prevent using
# older mesa-dri-drivers together with a newer mesa-libglapi or its dependants.
# See https://bugzilla.redhat.com/show_bug.cgi?id=2193135 .
Requires: (%{name}-dri-drivers%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} if %{name}-dri-drivers%{?_isa})
%description libglapi %description libglapi
%{summary}. %{summary}.