aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDylan Van Assche <me@dylanvanassche.be>2021-05-27 16:29:09 +0200
committerMichał Polański <michal@polanski.me>2021-05-27 16:48:20 +0000
commit06a8cf1d759d3da9235cfe8c473bffb10499a69a (patch)
treefbfbb56185e7abcaf7ac233c370343eeb12d66b6
parent09cf16f929c024160d7941ec19f9015eb7fd7ea1 (diff)
community/gnome-shell: windowManager: ignore error on non-systemd
Fixes https://gitlab.alpinelinux.org/alpine/aports/-/issues/12688
-rw-r--r--community/gnome-shell/APKBUILD13
-rw-r--r--community/gnome-shell/windowManager-ignore-error-without-systemd.patch42
2 files changed, 51 insertions, 4 deletions
diff --git a/community/gnome-shell/APKBUILD b/community/gnome-shell/APKBUILD
index 311a78e30c3..507588a40b8 100644
--- a/community/gnome-shell/APKBUILD
+++ b/community/gnome-shell/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Rasmus Thomsen <oss@cogitri.dev>
pkgname=gnome-shell
pkgver=40.1
-pkgrel=0
+pkgrel=1
pkgdesc="GNOME shell"
url="https://wiki.gnome.org/Projects/GnomeShell"
arch="all !s390x !ppc64le !mips !mips64"
@@ -60,7 +60,9 @@ checkdepends="
# gdm is also needed but introduces circular dep
subpackages="$pkgname-lang $pkgname-doc $pkgname-dbg"
source="https://download.gnome.org/sources/gnome-shell/${pkgver%.*}/gnome-shell-$pkgver.tar.xz
- disable-telepathy-integration.patch"
+ disable-telepathy-integration.patch
+ windowManager-ignore-error-without-systemd.patch
+ "
options="!check" # Tests have circular dependency 'gnome-shell <-> gdm'
build() {
@@ -80,5 +82,8 @@ package() {
setcap cap_sys_nice+ep "$pkgdir"/usr/bin/gnome-shell
}
-sha512sums="48b2800ef500b5a5102c974d8ab718946406653803942b063100c813bd4bda9ae3e1b3492872fd8158c0e44c95f6582174101fb852613ff047602efed83b6d37 gnome-shell-40.1.tar.xz
-2ca70115fab957fdf276b7f0772786e1afd56b0b22bcfd92f5b5f1d29676dc97c19cfb079434d0dbf7b459f1d133dbd8d1faa0d88f7b94846040a23856f951f8 disable-telepathy-integration.patch"
+sha512sums="
+48b2800ef500b5a5102c974d8ab718946406653803942b063100c813bd4bda9ae3e1b3492872fd8158c0e44c95f6582174101fb852613ff047602efed83b6d37 gnome-shell-40.1.tar.xz
+2ca70115fab957fdf276b7f0772786e1afd56b0b22bcfd92f5b5f1d29676dc97c19cfb079434d0dbf7b459f1d133dbd8d1faa0d88f7b94846040a23856f951f8 disable-telepathy-integration.patch
+b28591c30aa8863533b11e58e3ef18621bc9cac42041c148c51885e10902a34c54f90caa90c5b7a9989e9af78a0051a9ebe0114ce4893d6c73141e694a4eff62 windowManager-ignore-error-without-systemd.patch
+"
diff --git a/community/gnome-shell/windowManager-ignore-error-without-systemd.patch b/community/gnome-shell/windowManager-ignore-error-without-systemd.patch
new file mode 100644
index 00000000000..db32e2ed017
--- /dev/null
+++ b/community/gnome-shell/windowManager-ignore-error-without-systemd.patch
@@ -0,0 +1,42 @@
+From d9239e2cee27cad582544e769ad794ca571f35fb Mon Sep 17 00:00:00 2001
+From: Olivier Fourdan <ofourdan@redhat.com>
+Date: Tue, 18 May 2021 14:04:05 +0200
+Subject: [PATCH] windowManager: Ignore error without systemd
+
+On systems/setups not using systemd, a failure to start gsd-xsettings
+with NOT_SUPPORTED does not denote a failure to start Xwayland, just
+that we're not using systemd.
+
+In that case, we should just ignore the error, otherwise it will prevent
+Xwayland to start on such systems/setups without systemd.
+
+Thanks to Rose Kunkel (@rosekunkel) for spotting the issue/suggesting
+the fix.
+
+Fixes: 019229c40e - windowManager: Return failure to start X11 services
+Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/4284
+Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1850>
+---
+ js/ui/windowManager.js | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/js/ui/windowManager.js b/js/ui/windowManager.js
+index 49d3dda229..bacb6dddb5 100644
+--- a/js/ui/windowManager.js
++++ b/js/ui/windowManager.js
+@@ -982,9 +982,10 @@ var WindowManager = class {
+ // managed and gnome-session will have taken care of everything
+ // already.
+ // Note that we do log cancellation from here.
+- if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_SUPPORTED))
++ if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_SUPPORTED)) {
+ log('Error starting X11 services: %s'.format(e.message));
+- status = false;
++ status = false;
++ }
+ } finally {
+ task.return_boolean(status);
+ }
+--
+GitLab
+