Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package libnvidia-egl-wayland for
openSUSE:Factory checked in at 2024-11-07 16:25:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libnvidia-egl-wayland (Old)
and /work/SRC/openSUSE:Factory/.libnvidia-egl-wayland.new.2020 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libnvidia-egl-wayland"
Thu Nov 7 16:25:54 2024 rev:14 rq:1221803 version:1.1.16
Changes:
--------
---
/work/SRC/openSUSE:Factory/libnvidia-egl-wayland/libnvidia-egl-wayland.changes
2024-10-08 17:22:57.785408694 +0200
+++
/work/SRC/openSUSE:Factory/.libnvidia-egl-wayland.new.2020/libnvidia-egl-wayland.changes
2024-11-07 16:25:55.854007847 +0100
@@ -1,0 +2,8 @@
+Wed Nov 6 15:53:40 UTC 2024 - Stefan Dirsch <[email protected]>
+
+- 0001-egl-wayland-enable-CI-with-github-actions.patch
+ 0002-egl-wayland-Fix-use-after-free-in-library-teardown.patch
+ 0003-egl-wayland-Handle-failure-to-acquire-image-in-wlEgl.patch
+ * apply latest fixes from git
+
+-------------------------------------------------------------------
New:
----
0001-egl-wayland-enable-CI-with-github-actions.patch
0002-egl-wayland-Fix-use-after-free-in-library-teardown.patch
0003-egl-wayland-Handle-failure-to-acquire-image-in-wlEgl.patch
BETA DEBUG BEGIN:
New:
- 0001-egl-wayland-enable-CI-with-github-actions.patch
0002-egl-wayland-Fix-use-after-free-in-library-teardown.patch
New:- 0001-egl-wayland-enable-CI-with-github-actions.patch
0002-egl-wayland-Fix-use-after-free-in-library-teardown.patch
0003-egl-wayland-Handle-failure-to-acquire-image-in-wlEgl.patch
New: 0002-egl-wayland-Fix-use-after-free-in-library-teardown.patch
0003-egl-wayland-Handle-failure-to-acquire-image-in-wlEgl.patch
* apply latest fixes from git
BETA DEBUG END:
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ libnvidia-egl-wayland.spec ++++++
--- /var/tmp/diff_new_pack.C6lv7h/_old 2024-11-07 16:25:56.454032813 +0100
+++ /var/tmp/diff_new_pack.C6lv7h/_new 2024-11-07 16:25:56.454032813 +0100
@@ -37,6 +37,9 @@
Patch7: 0007-egl-wayland-fix-device-name-case-where-only-wl_drm-e.patch
Patch8: 0008-Add-ICD-json-file.patch
Patch9: 0009-egl-wayland-Fix-roundtrip-eating-wl_drm-events-in-ge.patch
+Patch11: 0001-egl-wayland-enable-CI-with-github-actions.patch
+Patch12: 0002-egl-wayland-Fix-use-after-free-in-library-teardown.patch
+Patch13: 0003-egl-wayland-Handle-failure-to-acquire-image-in-wlEgl.patch
BuildRequires: gcc-c++
BuildRequires: meson >= 0.50
BuildRequires: ninja
++++++ 0001-egl-wayland-enable-CI-with-github-actions.patch ++++++
>From 40e835f197178e7e4387a042acc8f1dc42f810ee Mon Sep 17 00:00:00 2001
From: Austin Shafer <[email protected]>
Date: Wed, 9 Oct 2024 14:53:52 -0400
Subject: [PATCH 1/3] egl-wayland: enable CI with github actions
This enables CI for github actions builds, aimed for helping verify
new pull requests. This adds tests for the meson and autotools builds
on ubuntu 24.04. Other distros are apparently not supported by default
so we aren't able to expand testing this way.
---
.github/workflows/arch-build.yml | 16 ++++++++++++++++
.github/workflows/autoconf-build.yml | 14 ++++++++++++++
.github/workflows/meson-build.yml | 14 ++++++++++++++
.github/workflows/meson-llvm-build.yml | 17 +++++++++++++++++
4 files changed, 61 insertions(+)
create mode 100644 .github/workflows/arch-build.yml
create mode 100644 .github/workflows/autoconf-build.yml
create mode 100644 .github/workflows/meson-build.yml
create mode 100644 .github/workflows/meson-llvm-build.yml
diff --git a/.github/workflows/arch-build.yml b/.github/workflows/arch-build.yml
new file mode 100644
index 0000000..3f56616
--- /dev/null
+++ b/.github/workflows/arch-build.yml
@@ -0,0 +1,16 @@
+name: Arch Build
+on: [push, pull_request]
+jobs:
+ Meson-Build:
+ runs-on: ubuntu-24.04
+ container:
+ image: archlinux:latest
+ steps:
+ - uses: actions/checkout@v4
+ - run: pacman --noconfirm -Syy
+ - run: pacman --noconfirm -S wayland-protocols libdrm libglvnd pkgconf
+ - run: pacman --noconfirm -S wayland eglexternalplatform
+ - run: pacman --noconfirm -S meson ninja gcc
+ - run: meson build
+ - run: ninja -C build
+ - run: ninja -C build install
diff --git a/.github/workflows/autoconf-build.yml
b/.github/workflows/autoconf-build.yml
new file mode 100644
index 0000000..c52ed92
--- /dev/null
+++ b/.github/workflows/autoconf-build.yml
@@ -0,0 +1,14 @@
+name: Autotools GCC Build
+on: [push, pull_request]
+jobs:
+ Meson-Build:
+ runs-on: ubuntu-24.04
+ steps:
+ - uses: actions/checkout@v4
+ - run: sudo apt update
+ - run: sudo apt install -y wayland-protocols libdrm-dev libegl-dev
+ - run: sudo apt install -y libwayland-dev libwayland-egl-backend-dev
eglexternalplatform-dev
+ - run: sudo apt install -y meson ninja-build gcc
+ - run: ./autogen.sh
+ - run: make
+ - run: sudo make install
diff --git a/.github/workflows/meson-build.yml
b/.github/workflows/meson-build.yml
new file mode 100644
index 0000000..ca070d6
--- /dev/null
+++ b/.github/workflows/meson-build.yml
@@ -0,0 +1,14 @@
+name: Meson GCC Build
+on: [push, pull_request]
+jobs:
+ Meson-Build:
+ runs-on: ubuntu-24.04
+ steps:
+ - uses: actions/checkout@v4
+ - run: sudo apt update
+ - run: sudo apt install -y wayland-protocols libdrm-dev libegl-dev
+ - run: sudo apt install -y libwayland-dev libwayland-egl-backend-dev
eglexternalplatform-dev
+ - run: sudo apt install -y meson ninja-build gcc
+ - run: meson build
+ - run: ninja -C build
+ - run: sudo ninja -C build install
diff --git a/.github/workflows/meson-llvm-build.yml
b/.github/workflows/meson-llvm-build.yml
new file mode 100644
index 0000000..83a8dbe
--- /dev/null
+++ b/.github/workflows/meson-llvm-build.yml
@@ -0,0 +1,17 @@
+name: Meson LLVM Build
+on: [push, pull_request]
+jobs:
+ Meson-Build:
+ runs-on: ubuntu-24.04
+ steps:
+ - uses: actions/checkout@v4
+ - run: sudo apt update
+ - run: sudo apt install -y wayland-protocols libdrm-dev libegl-dev
+ - run: sudo apt install -y libwayland-dev libwayland-egl-backend-dev
eglexternalplatform-dev
+ - run: sudo apt install -y meson ninja-build clang
+ - name: meson build
+ run: meson build
+ env:
+ CC: clang
+ - run: ninja -C build
+ - run: sudo ninja -C build install
--
2.43.0
++++++ 0002-egl-wayland-Fix-use-after-free-in-library-teardown.patch ++++++
>From 0cd471dcfd46e6cb8b71eceddb20cc02eadabf61 Mon Sep 17 00:00:00 2001
From: Robin Ebert <[email protected]>
Date: Tue, 15 Oct 2024 16:26:05 +0200
Subject: [PATCH 2/3] egl-wayland: Fix use after free in library teardown
---
src/wayland-egldisplay.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/wayland-egldisplay.c b/src/wayland-egldisplay.c
index 7089271..edd79c4 100644
--- a/src/wayland-egldisplay.c
+++ b/src/wayland-egldisplay.c
@@ -729,10 +729,10 @@ static EGLBoolean terminateDisplay(WlEglDisplay *display,
EGLBoolean globalTeard
* destroy the display connection itself */
wlEglDestroyAllSurfaces(display);
- wlEglDestroyFormatSet(&display->formatSet);
- wlEglDestroyFeedback(&display->defaultFeedback);
-
if (!globalTeardown || display->ownNativeDpy) {
+ wlEglDestroyFormatSet(&display->formatSet);
+ wlEglDestroyFeedback(&display->defaultFeedback);
+
if (display->wlRegistry) {
wl_registry_destroy(display->wlRegistry);
display->wlRegistry = NULL;
--
2.43.0
++++++ 0003-egl-wayland-Handle-failure-to-acquire-image-in-wlEgl.patch ++++++
>From 218f67846472c9310355210ee9a7e1fabed95062 Mon Sep 17 00:00:00 2001
From: shiningdracon <[email protected]>
Date: Sun, 8 Sep 2024 19:34:26 -0700
Subject: [PATCH 3/3] egl-wayland: Handle failure to acquire image in
wlEglSendDamageEvent
The image parameter of send_explicit_sync_points is assumed not to be
null, however this is a case the rest of the code handles. This causes
sporadic problems on KDE when running overnight as the image will not
be valid at some point, causing us to crash.
Fixes #143
---
src/wayland-eglsurface.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/wayland-eglsurface.c b/src/wayland-eglsurface.c
index 4e4dcff..ae6cafc 100644
--- a/src/wayland-eglsurface.c
+++ b/src/wayland-eglsurface.c
@@ -265,11 +265,13 @@ wlEglSendDamageEvent(WlEglSurface *surface,
}
image = pop_acquired_image(surface);
- if (image) {
- surface->ctx.currentBuffer = image->buffer;
- image->attached = EGL_TRUE;
+ if (!image) {
+ return EGL_FALSE;
}
+ surface->ctx.currentBuffer = image->buffer;
+ image->attached = EGL_TRUE;
+
/*
* Send our explicit sync acquire and release points. This needs to be
done
* as part of the surface attach as it is a protocol error to specify
these
--
2.43.0