summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Turner <mattst88@gentoo.org>2022-09-06 19:09:16 -0400
committerMatt Turner <mattst88@gentoo.org>2022-09-06 22:10:04 -0400
commit5ab1ba64e93bc0d4ee88f02d9663ea138c1c6ff0 (patch)
tree7e499d9777e30706bedf883382d3b447dd4db030
parentgames-emulation/openmsx: fix time_t build failure (diff)
downloadgentoo-5ab1ba64e93bc0d4ee88f02d9663ea138c1c6ff0.tar.gz
gentoo-5ab1ba64e93bc0d4ee88f02d9663ea138c1c6ff0.tar.bz2
gentoo-5ab1ba64e93bc0d4ee88f02d9663ea138c1c6ff0.zip
x11-wm/mutter: Reenable tests
Signed-off-by: Matt Turner <mattst88@gentoo.org>
-rw-r--r--x11-wm/mutter/files/mutter-42.4-backend-native-Don-t-warn-on-EACCES-if-headless.patch79
-rw-r--r--x11-wm/mutter/mutter-42.4-r1.ebuild (renamed from x11-wm/mutter/mutter-42.4.ebuild)3
2 files changed, 81 insertions, 1 deletions
diff --git a/x11-wm/mutter/files/mutter-42.4-backend-native-Don-t-warn-on-EACCES-if-headless.patch b/x11-wm/mutter/files/mutter-42.4-backend-native-Don-t-warn-on-EACCES-if-headless.patch
new file mode 100644
index 000000000000..98b58d3dfeff
--- /dev/null
+++ b/x11-wm/mutter/files/mutter-42.4-backend-native-Don-t-warn-on-EACCES-if-headless.patch
@@ -0,0 +1,79 @@
+From db854a8588c1164df2f54c5718930aadf353b948 Mon Sep 17 00:00:00 2001
+From: Simon McVittie <smcv@debian.org>
+Date: Thu, 18 Aug 2022 10:41:01 +0100
+Subject: [PATCH] backend/native: Don't warn on EACCES if headless
+
+Since commit 1bf70334 "tests/runner: Make test runner use the headless
+backend", tests are run with the native backend in headless mode, which
+will attempt to open each GPU and show a warning (fatal during tests)
+if it cannot.
+
+However, in headless mode we might not be logged in on any seat (for
+example we might be logged in via ssh instead), which means we might
+legitimately not have permission to use any GPUs, even if they exist.
+Downgrade the warning to a debug message in this case.
+
+Resolves: https://gitlab.gnome.org/GNOME/mutter/-/issues/2381
+Signed-off-by: Simon McVittie <smcv@debian.org>
+Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2584>
+(cherry picked from commit 64a67aa00bfe54fe7219d7f581950897fcbf9a75)
+---
+ src/backends/native/meta-backend-native.c | 35 +++++++++++++++++++----
+ 1 file changed, 30 insertions(+), 5 deletions(-)
+
+diff --git a/src/backends/native/meta-backend-native.c b/src/backends/native/meta-backend-native.c
+index 224538787..a2babb4b0 100644
+--- a/src/backends/native/meta-backend-native.c
++++ b/src/backends/native/meta-backend-native.c
+@@ -514,8 +514,20 @@ on_udev_device_added (MetaUdev *udev,
+ new_gpu_kms = create_gpu_from_udev_device (native, device, &error);
+ if (!new_gpu_kms)
+ {
+- g_warning ("Failed to hotplug secondary gpu '%s': %s",
+- device_path, error->message);
++ if (meta_backend_is_headless (backend) &&
++ g_error_matches (error, G_IO_ERROR,
++ G_IO_ERROR_PERMISSION_DENIED))
++ {
++ meta_topic (META_DEBUG_BACKEND,
++ "Ignoring unavailable secondary gpu '%s': %s",
++ device_path, error->message);
++ }
++ else
++ {
++ g_warning ("Failed to hotplug secondary gpu '%s': %s",
++ device_path, error->message);
++ }
++
+ return;
+ }
+
+@@ -552,9 +564,22 @@ init_gpus (MetaBackendNative *native,
+
+ if (!gpu_kms)
+ {
+- g_warning ("Failed to open gpu '%s': %s",
+- g_udev_device_get_device_file (device),
+- local_error->message);
++ if (meta_backend_is_headless (backend) &&
++ g_error_matches (local_error, G_IO_ERROR,
++ G_IO_ERROR_PERMISSION_DENIED))
++ {
++ meta_topic (META_DEBUG_BACKEND,
++ "Ignoring unavailable gpu '%s': %s'",
++ g_udev_device_get_device_file (device),
++ local_error->message);
++ }
++ else
++ {
++ g_warning ("Failed to open gpu '%s': %s",
++ g_udev_device_get_device_file (device),
++ local_error->message);
++ }
++
+ g_clear_error (&local_error);
+ continue;
+ }
+--
+2.35.1
+
diff --git a/x11-wm/mutter/mutter-42.4.ebuild b/x11-wm/mutter/mutter-42.4-r1.ebuild
index 105efceb6652..dcaaa2a66b00 100644
--- a/x11-wm/mutter/mutter-42.4.ebuild
+++ b/x11-wm/mutter/mutter-42.4-r1.ebuild
@@ -16,7 +16,7 @@ IUSE="doc elogind gnome input_devices_wacom +introspection screencast sysprof sy
REQUIRED_USE="
wayland? ( ^^ ( elogind systemd ) udev )
test? ( wayland )"
-RESTRICT="!test? ( test ) test" # Tests need access to /dev/dri/card0
+RESTRICT="!test? ( test )"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
@@ -110,6 +110,7 @@ BDEPEND="
PATCHES=(
"${FILESDIR}"/${PN}-42.0-Disable-anonymous-file-test.patch
+ "${FILESDIR}"/${P}-backend-native-Don-t-warn-on-EACCES-if-headless.patch
)
python_check_deps() {