[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/03: gnu: gdm: Avoid selecting the placeholder session.
From: |
guix-commits |
Subject: |
01/03: gnu: gdm: Avoid selecting the placeholder session. |
Date: |
Mon, 29 Apr 2019 22:38:20 -0400 (EDT) |
samplet pushed a commit to branch master
in repository guix.
commit e8c6e771c199c02b748eb66d3a03c46d2a32ca29
Author: Timothy Sample <address@hidden>
Date: Mon Apr 29 14:49:42 2019 -0400
gnu: gdm: Avoid selecting the placeholder session.
This fixes <https://bugs.gnu.org/35484>.
* gnu/packages/gnome.scm (gdm)[arguments]: Modify the pre-configure phase to
patch GDM to only select the placeholder session if there are no others.
---
gnu/packages/gnome.scm | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 17dc2fd..f19b183 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -5597,7 +5597,7 @@ libxml2.")
(modify-phases %standard-phases
(add-before
'configure 'pre-configure
- (lambda* (#:key inputs #:allow-other-keys)
+ (lambda* (#:key inputs outputs #:allow-other-keys)
;; We don't have <systemd/sd-daemon.h>.
(substitute* '("common/gdm-log.c"
"daemon/gdm-server.c"
@@ -5665,6 +5665,16 @@ libxml2.")
(("\"gnome-session\"")
(string-append "\"" (assoc-ref inputs "gnome-session")
"/bin/gnome-session\"")))
+ ;; Do not automatically select the placeholder session.
+ (substitute* "daemon/gdm-session.c"
+ (("!g_str_has_suffix [(]base_name, \"\\.desktop\"[)]")
+ (string-append "!g_str_has_suffix (base_name, \".desktop\") || "
+ "(g_strcmp0(search_dirs[i], \""
+ (assoc-ref outputs "out")
"/share/gdm/BuiltInSessions/"
+ "\") == 0 && "
+ "g_strcmp0(base_name, \"fail.desktop\") == 0)"))
+ (("g_error [(]\"GdmSession: no session desktop files installed,
aborting\\.\\.\\.\"[)];")
+ "{ self->priv->fallback_session_name = g_strdup(\"fail\"); goto
out; }"))
#t))
;; GDM requires that there be at least one desktop entry
;; file. This phase installs a hidden one that simply