Accepting request 1226983 from X11:XOrg

- trying to make buildservice happy by adding both tarballs to
  specfile and adjusted patches for 24.17 to changelog ... 

- on s390x build Mesa 24.1.7 to fix colors with Xvnc (boo#1233167)
- adjusted patches for Mesa 24.1.7:
  * python36-buildfix1-s390x.patch
  * u_dep_xcb-s390x.patch
  * u_mesa-CVE-2023-45913-s390x.patch

OBS-URL: https://build.opensuse.org/request/show/1226983
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/Mesa?expand=0&rev=523
This commit is contained in:
Ana Guerrero 2024-11-28 23:08:33 +00:00 committed by Git OBS Bridge
commit b11ee9f267
7 changed files with 143 additions and 1 deletions

View File

@ -1,3 +1,18 @@
-------------------------------------------------------------------
Wed Nov 27 23:10:50 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- trying to make buildservice happy by adding both tarballs to
specfile ...
-------------------------------------------------------------------
Tue Nov 26 18:20:06 UTC 2024 - Stefan Dirsch <sndirsch@suse.com>
- on s390x build Mesa 24.1.7 to fix colors with Xvnc (boo#1233167)
- adjusted patches for Mesa 24.1.7:
* python36-buildfix1-s390x.patch
* u_dep_xcb-s390x.patch
* u_mesa-CVE-2023-45913-s390x.patch
-------------------------------------------------------------------
Fri Nov 22 10:35:29 UTC 2024 - Marcus Rueckert <mrueckert@suse.de>

View File

@ -42,7 +42,11 @@
%define glamor 1
%define _name_archive mesa
%ifnarch s390x
%define _version 24.3.0
%else
%define _version 24.1.7
%endif
%define with_opencl 0
%define with_rusticl 0
%define with_vulkan 0
@ -145,7 +149,11 @@
%global _paste_crate_ver 1.0.14
Name: Mesa%{psuffix}
%ifnarch s390x
Version: 24.3.0
%else
Version: 24.1.7
%endif
Release: 0
Summary: System for rendering 3-D graphics
License: MIT
@ -173,18 +181,32 @@ Source9: manual-pages.tar.bz2
Source10: Mesa-rpmlintrc
Source11: Mesa.keyring
Source12: README-suse-maintenance.md
Source20: https://archive.mesa3d.org/%{_name_archive}-24.3.0.tar.xz
Source21: https://archive.mesa3d.org/%{_name_archive}-24.3.0.tar.xz.sig
Patch2: n_add-Mesa-headers-again.patch
Patch11: u_0001-intel-genxml-Drop-from-__future__-import-annotations.patch
Patch12: u_0002-intel-genxml-Add-a-untyped-OrderedDict-fallback-for-.patch
%ifnarch s390x
Patch13: python36-buildfix1.patch
%else
Patch13: python36-buildfix1-s390x.patch
%endif
Patch14: python36-buildfix2.patch
Patch17: tlsdesc_test.patch
# never to be upstreamed
Patch54: n_drirc-disable-rgb10-for-chromium-on-amd.patch
Patch100: U_fix-mpeg1_2-decode-mesa-20.2.patch
Patch400: n_stop-iris-flicker.patch
%ifnarch s390x
Patch500: u_dep_xcb.patch
%else
Patch500: u_dep_xcb-s390x.patch
%endif
%ifnarch s390x
Patch1222040: u_mesa-CVE-2023-45913.patch
%else
Patch1222040: u_mesa-CVE-2023-45913-s390x.patch
%endif
Patch1222041: u_mesa-CVE-2023-45919.patch
Patch1222042: u_mesa-CVE-2023-45922.patch
@ -949,7 +971,7 @@ egl_platforms=x11,wayland
%ifarch ppc64 ppc64le riscv64
-Dgallium-drivers=r300,r600,radeonsi,nouveau,softpipe,llvmpipe,virgl,iris,zink \
%else
-Dgallium-drivers=softpipe,llvmpipe \
-Dgallium-drivers=swrast \
%endif
%endif
%endif
@ -957,7 +979,11 @@ egl_platforms=x11,wayland
-Dllvm-orcjit=true \
%endif
%else
%ifnarch s390x
-Dgallium-drivers=softpipe \
%else
-Dgallium-drivers=swrast \
%endif
%endif
%ifarch aarch64 x86_64 ppc64le s390x riscv64
-Dvalgrind=enabled \
@ -1222,9 +1248,11 @@ echo "The \"Mesa\" package does not have the ability to render, but is supplemen
%ifarch %{arm} aarch64
%exclude %{_libdir}/dri/vc4_dri.so
%endif
%ifnarch s390x
%{_libdir}/libgallium-%{_version}.so
%dir %{_libdir}/gbm/
%{_libdir}/gbm/dri_gbm.so
%endif
%if 0%{with_opencl}
# only built with opencl

3
mesa-24.1.7.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ecd2e7b1c73998f4103542f39c6b8c968d251637ccc8caa42641aecb86cd2566
size 29206724

BIN
mesa-24.1.7.tar.xz.sig Normal file

Binary file not shown.

View File

@ -0,0 +1,67 @@
Index: mesa-24.1.7/src/nouveau/headers/class_parser.py
===================================================================
--- mesa-24.1.7.orig/src/nouveau/headers/class_parser.py
+++ mesa-24.1.7/src/nouveau/headers/class_parser.py
@@ -9,6 +9,16 @@ import sys
from mako.template import Template
+def removeprefix(s, prefix):
+ if s.startswith(prefix):
+ return s[len(prefix):]
+ return s
+
+def removesuffix(s, suffix):
+ if s.endswith(suffix):
+ return s[:-len(suffix)]
+ return s
+
METHOD_ARRAY_SIZES = {
'BIND_GROUP_CONSTANT_BUFFER' : 16,
'CALL_MME_DATA' : 256,
@@ -293,7 +303,7 @@ def parse_header(nvcl, f):
if ":" in list[2]:
state = 1
elif teststr in list[1]:
- curmthd.field_defs[curfield][list[1].removeprefix(teststr)] = list[2]
+ curmthd.field_defs[curfield][removeprefix(list[1], teststr)] = list[2]
else:
state = 1
@@ -303,7 +313,7 @@ def parse_header(nvcl, f):
if ("0x" in list[2]):
state = 1
else:
- field = list[1].removeprefix(teststr)
+ field = removeprefix(list[1], teststr)
bitfield = list[2].split(":")
curmthd.field_name_start[field] = bitfield[1]
curmthd.field_name_end[field] = bitfield[0]
@@ -324,13 +334,13 @@ def parse_header(nvcl, f):
is_array = 0
if (':' in list[2]):
continue
- name = list[1].removeprefix(teststr)
+ name = removeprefix(list[1], teststr)
if name.endswith("(i)"):
is_array = 1
- name = name.removesuffix("(i)")
+ name = removesuffix(name, "(i)")
if name.endswith("(j)"):
is_array = 1
- name = name.removesuffix("(j)")
+ name = removesuffix(name, "(j)")
x = method()
x.name = name
x.addr = list[2]
@@ -357,8 +367,8 @@ def main():
clheader = os.path.basename(args.in_h)
nvcl = clheader
- nvcl = nvcl.removeprefix("cl")
- nvcl = nvcl.removesuffix(".h")
+ nvcl = removeprefix(nvcl, "cl")
+ nvcl = removesuffix(nvcl, ".h")
nvcl = nvcl.upper()
nvcl = "NV" + nvcl

16
u_dep_xcb-s390x.patch Normal file
View File

@ -0,0 +1,16 @@
Index: mesa-24.2.2/meson.build
===================================================================
--- mesa-24.2.2.orig/meson.build
+++ mesa-24.2.2/meson.build
@@ -2145,9 +2145,11 @@ if with_platform_x11
endif
endif
if with_any_vk or with_egl or (with_glx == 'dri' and with_dri_platform == 'drm')
+ dep_x11_xcb = dependency('x11-xcb')
dep_xcb_dri2 = dependency('xcb-dri2', version : '>= 1.8')
if with_dri3
+ dep_xcb = dependency('xcb')
dep_xcb_dri3 = dependency('xcb-dri3')
dep_xcb_present = dependency('xcb-present')
# until xcb-dri3 has been around long enough to make a hard-dependency:

View File

@ -0,0 +1,13 @@
src/glx/dri2_glx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/src/glx/dri2_glx.c
+++ b/src/glx/dri2_glx.c
@@ -1399,7 +1399,7 @@ dri2GetGlxDrawableFromXDrawableId(Displa
struct dri2_display *pdp = (struct dri2_display *) d->dri2Display;
__GLXDRIdrawable *pdraw;
- if (__glxHashLookup(pdp->dri2Hash, id, (void *) &pdraw) == 0)
+ if (pdp && __glxHashLookup(pdp->dri2Hash, id, (void *) &pdraw) == 0)
return pdraw;
return NULL;