mirror of
https://src.fedoraproject.org/rpms/mesa.git
synced 2024-11-24 09:32:42 +00:00
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. Last time, we forgot that an old mesa version is still kept in the 'fedora' repo, and DNF can choose it over a newer version. Because the old version doesn't have the dependency fixes, a partial update can still happen. This patch tries to remedy that. You should be able to either install old mesa or new mesa, but always only as a whole set, not mix and match. 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. The conditional requirement under dri-drivers (for libEGL) is just a temporary measure, because libEGL in the 'fedora' repo has broken dependencies. It needs to be present in F37 and F38, but it doesn't need to go to Rawhide and future releases. [1] https://bugzilla.redhat.com/show_bug.cgi?id=2187726#c4
This commit is contained in:
parent
87ea46fe6b
commit
fda7bc52ef
1 changed files with 12 additions and 0 deletions
12
mesa.spec
12
mesa.spec
|
@ -195,6 +195,10 @@ Requires: %{name}-libglapi%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{relea
|
||||||
%if 0%{?with_va}
|
%if 0%{?with_va}
|
||||||
Recommends: %{name}-va-drivers%{?_isa}
|
Recommends: %{name}-va-drivers%{?_isa}
|
||||||
%endif
|
%endif
|
||||||
|
# If mesa-libEGL is installed, it must match in version. This is here to prevent using
|
||||||
|
# mesa-libEGL < 23.0.3-1 (frozen in the 'fedora' repo) which didn't have strong enough
|
||||||
|
# inter-dependencies. See https://bugzilla.redhat.com/show_bug.cgi?id=2193135 .
|
||||||
|
Requires: (%{name}-libEGL%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} if %{name}-libEGL%{?_isa})
|
||||||
|
|
||||||
%description dri-drivers
|
%description dri-drivers
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
@ -248,6 +252,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}.
|
||||||
|
@ -284,6 +292,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}.
|
||||||
|
|
Loading…
Reference in a new issue