소스 검색

43.2-2: FS#71250 Add patch to work around exit crashes

Jan Alexander Steffens 2 년 전
부모
커밋
74e576dd95
2개의 변경된 파일36개의 추가작업 그리고 2개의 파일을 삭제
  1. 28 0
      0001-main-Leak-the-GJS-context-and-ShellGlobal.patch
  2. 8 2
      PKGBUILD

+ 28 - 0
0001-main-Leak-the-GJS-context-and-ShellGlobal.patch

@@ -0,0 +1,28 @@
+From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jonas=20=C3=85dahl?= <jadahl@gmail.com>
+Date: Wed, 6 Oct 2021 10:00:43 +0200
+Subject: [PATCH] main: Leak the GJS context and ShellGlobal
+
+There are many crash-on-exit happening as a side effect of destroying
+the GJS context. Work around these until we have a better solution by
+leaking them.
+---
+ src/main.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/main.c b/src/main.c
+index 29275cda0725..2311a74bd110 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -589,9 +589,11 @@ main (int argc, char **argv)
+ 
+   shell_profiler_shutdown ();
+ 
++#if 0
+   g_debug ("Doing final cleanup");
+   _shell_global_destroy_gjs_context (shell_global_get ());
+   g_object_unref (shell_global_get ());
++#endif
+ 
+   return ecode;
+ }

+ 8 - 2
PKGBUILD

@@ -4,7 +4,7 @@
 
 pkgname=gnome-shell
 pkgver=43.2
-pkgrel=1
+pkgrel=2
 epoch=1
 pkgdesc="Next generation desktop shell"
 url="https://wiki.gnome.org/Projects/GnomeShell"
@@ -57,9 +57,11 @@ _commit=e9b26eac0c0d66b87201874ce2b704268ee99be6  # tags/43.2^0
 source=(
   "git+https://gitlab.gnome.org/GNOME/gnome-shell.git#commit=$_commit"
   "git+https://gitlab.gnome.org/GNOME/libgnome-volume-control.git"
+  0001-main-Leak-the-GJS-context-and-ShellGlobal.patch
 )
 b2sums=('SKIP'
-        'SKIP')
+        'SKIP'
+        '5636fd813bc0aeafbdd52eb6335ef79b5801b800e332119b3d127a6cd188aa24051ebc718449f22bea7bedc37347ff98c7d491b35d84f573f0e4cff2046117d4')
 
 pkgver() {
   cd gnome-shell
@@ -69,6 +71,10 @@ pkgver() {
 prepare() {
   cd gnome-shell
 
+  # https://bugs.archlinux.org/task/71250
+  # https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5560#note_1636124
+  git apply -3 ../0001-main-Leak-the-GJS-context-and-ShellGlobal.patch
+
   git submodule init
   git submodule set-url subprojects/gvc "$srcdir/libgnome-volume-control"
   git -c protocol.file.allow=always submodule update