mirror of
https://codeberg.org/guix/guix.git
synced 2025-10-02 02:15:12 +00:00
gnu: gdm: Update to 42.0.
* gnu/packages/gnome.scm (gdm): Update to 42.0. [inputs]: Add libgudev. * gnu/packages/patches/gdm-default-session.patch: Rebase patch. * gnu/packages/patches/gdm-elogind-support.patch: Likewise. * gnu/packages/patches/gdm-pass-gdk-pixbuf-loader-env.patch: Likewise. * gnu/packages/patches/gdm-remove-hardcoded-xwayland-path.patch: Likewise. * gnu/packages/patches/gdm-wayland-session-wrapper-from-env.patch: Likewise.
This commit is contained in:
parent
8ff57b4cc3
commit
97313b9b0c
6 changed files with 73 additions and 82 deletions
|
@ -8382,7 +8382,7 @@ library.")
|
||||||
(define-public gdm
|
(define-public gdm
|
||||||
(package
|
(package
|
||||||
(name "gdm")
|
(name "gdm")
|
||||||
(version "40.1")
|
(version "42.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||||
|
@ -8390,7 +8390,7 @@ library.")
|
||||||
name "-" version ".tar.xz"))
|
name "-" version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1zbks7bwbys1pn7sk0aq0dbn09adx51amb441z4z4j28cvma3f5b"))
|
"0m9qmm3vm81jmqlc30a1fb79hsr4l4lpiw0zjxww3gipd6bsqa53"))
|
||||||
(patches
|
(patches
|
||||||
(search-patches
|
(search-patches
|
||||||
"gdm-default-session.patch"
|
"gdm-default-session.patch"
|
||||||
|
@ -8586,6 +8586,7 @@ logo='~a'~%" icon))))))
|
||||||
gtk+
|
gtk+
|
||||||
iso-codes
|
iso-codes
|
||||||
libcanberra
|
libcanberra
|
||||||
|
libgudev
|
||||||
linux-pam))
|
linux-pam))
|
||||||
(synopsis "Display manager for GNOME")
|
(synopsis "Display manager for GNOME")
|
||||||
(home-page "https://wiki.gnome.org/Projects/GDM/")
|
(home-page "https://wiki.gnome.org/Projects/GDM/")
|
||||||
|
|
|
@ -4,12 +4,14 @@ and not in the directories listed in $XDG_DATA_DIRS. The latter includes
|
||||||
/run/current-system/profile, and only then.
|
/run/current-system/profile, and only then.
|
||||||
|
|
||||||
Fixes <https://bugs.gnu.org/37831>.
|
Fixes <https://bugs.gnu.org/37831>.
|
||||||
--- a/daemon/gdm-session.c 2021-07-23 15:16:15.164201000 +0000
|
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
|
||||||
+++ b/daemon/gdm-session.c 2021-09-26 08:18:58.730134555 +0000
|
index 4b709731..3b83fcd3 100644
|
||||||
@@ -354,25 +354,19 @@
|
--- a/daemon/gdm-session.c
|
||||||
|
+++ b/daemon/gdm-session.c
|
||||||
|
@@ -362,16 +362,15 @@ get_system_session_dirs (GdmSession *self,
|
||||||
GArray *search_array = NULL;
|
GArray *search_array = NULL;
|
||||||
char **search_dirs;
|
char **search_dirs;
|
||||||
int i;
|
int i, j;
|
||||||
- const gchar * const *system_data_dirs = g_get_system_data_dirs ();
|
- const gchar * const *system_data_dirs = g_get_system_data_dirs ();
|
||||||
|
|
||||||
static const char *x_search_dirs[] = {
|
static const char *x_search_dirs[] = {
|
||||||
|
@ -25,43 +27,44 @@ Fixes <https://bugs.gnu.org/37831>.
|
||||||
|
|
||||||
search_array = g_array_new (TRUE, TRUE, sizeof (char *));
|
search_array = g_array_new (TRUE, TRUE, sizeof (char *));
|
||||||
|
|
||||||
if (type == NULL || g_str_equal (type, "x11")) {
|
@@ -380,11 +379,6 @@ get_system_session_dirs (GdmSession *self,
|
||||||
- for (i = 0; system_data_dirs[i]; i++) {
|
|
||||||
- gchar *dir = g_build_filename (system_data_dirs[i], "xsessions", NULL);
|
|
||||||
- g_array_append_val (search_array, dir);
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
g_array_append_vals (search_array, x_search_dirs, G_N_ELEMENTS (x_search_dirs));
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -382,16 +376,7 @@
|
if (g_str_equal (supported_type, "x11") &&
|
||||||
#ifdef ENABLE_USER_DISPLAY_SERVER
|
(type == NULL || g_str_equal (type, supported_type))) {
|
||||||
g_array_prepend_val (search_array, wayland_search_dir);
|
- for (i = 0; system_data_dirs[i]; i++) {
|
||||||
|
- gchar *dir = g_build_filename (system_data_dirs[i], "xsessions", NULL);
|
||||||
- for (i = 0; system_data_dirs[i]; i++) {
|
- g_array_append_val (search_array, dir);
|
||||||
- gchar *dir = g_build_filename (system_data_dirs[i], "wayland-sessions", NULL);
|
- }
|
||||||
- g_array_insert_val (search_array, i, dir);
|
|
||||||
- }
|
|
||||||
#else
|
|
||||||
- for (i = 0; system_data_dirs[i]; i++) {
|
|
||||||
- gchar *dir = g_build_filename (system_data_dirs[i], "wayland-sessions", NULL);
|
|
||||||
- g_array_append_val (search_array, dir);
|
|
||||||
- }
|
|
||||||
-
|
-
|
||||||
g_array_append_val (search_array, wayland_search_dir);
|
g_array_append_vals (search_array, x_search_dirs, G_N_ELEMENTS (x_search_dirs));
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -392,11 +386,6 @@ get_system_session_dirs (GdmSession *self,
|
||||||
|
#ifdef ENABLE_WAYLAND_SUPPORT
|
||||||
|
if (g_str_equal (supported_type, "wayland") &&
|
||||||
|
(type == NULL || g_str_equal (type, supported_type))) {
|
||||||
|
- for (i = 0; system_data_dirs[i]; i++) {
|
||||||
|
- gchar *dir = g_build_filename (system_data_dirs[i], "wayland-sessions", NULL);
|
||||||
|
- g_array_append_val (search_array, dir);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
g_array_append_val (search_array, wayland_search_dir);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
diff --git a/libgdm/gdm-sessions.c b/libgdm/gdm-sessions.c
|
||||||
diff -ur a/libgdm/gdm-sessions.c b/libgdm/gdm-sessions.c
|
index d8b4d5cd..7ed8de91 100644
|
||||||
--- a/libgdm/gdm-sessions.c 2019-10-07 04:53:35.000000000 -0400
|
--- a/libgdm/gdm-sessions.c
|
||||||
+++ b/libgdm/gdm-sessions.c 2020-04-18 18:31:42.491348691 -0400
|
+++ b/libgdm/gdm-sessions.c
|
||||||
@@ -245,35 +245,23 @@
|
@@ -275,7 +275,7 @@ collect_sessions (void)
|
||||||
"/etc/X11/sessions/",
|
"/etc/X11/sessions/",
|
||||||
DMCONFDIR "/Sessions/",
|
DMCONFDIR "/Sessions/",
|
||||||
DATADIR "/gdm/BuiltInSessions/",
|
DATADIR "/gdm/BuiltInSessions/",
|
||||||
- DATADIR "/xsessions/",
|
- DATADIR "/xsessions/",
|
||||||
+ "/run/current-system/profile/share/xsessions/"
|
+ "/run/current-system/profile/share/xsessions/"
|
||||||
};
|
};
|
||||||
|
const gchar *supported_session_types_env = NULL;
|
||||||
|
g_auto (GStrv) supported_session_types = NULL;
|
||||||
|
@@ -288,29 +288,17 @@ collect_sessions (void)
|
||||||
names_seen_before = g_hash_table_new (g_str_hash, g_str_equal);
|
names_seen_before = g_hash_table_new (g_str_hash, g_str_equal);
|
||||||
xorg_search_array = g_ptr_array_new_with_free_func (g_free);
|
xorg_search_array = g_ptr_array_new_with_free_func (g_free);
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ system and user units.
|
||||||
6 files changed, 66 insertions(+), 42 deletions(-)
|
6 files changed, 66 insertions(+), 42 deletions(-)
|
||||||
|
|
||||||
diff --git a/common/meson.build b/common/meson.build
|
diff --git a/common/meson.build b/common/meson.build
|
||||||
index 074dd92e1..bca58f7c4 100644
|
index 074dd92e..bca58f7c 100644
|
||||||
--- a/common/meson.build
|
--- a/common/meson.build
|
||||||
+++ b/common/meson.build
|
+++ b/common/meson.build
|
||||||
@@ -11,7 +11,7 @@ libgdmcommon_src = files(
|
@@ -11,7 +11,7 @@ libgdmcommon_src = files(
|
||||||
|
@ -32,10 +32,10 @@ index 074dd92e1..bca58f7c4 100644
|
||||||
gio_dep,
|
gio_dep,
|
||||||
gio_unix_dep,
|
gio_unix_dep,
|
||||||
diff --git a/data/meson.build b/data/meson.build
|
diff --git a/data/meson.build b/data/meson.build
|
||||||
index 7c5222eaf..403336c31 100644
|
index 2dec4c23..c3452e1c 100644
|
||||||
--- a/data/meson.build
|
--- a/data/meson.build
|
||||||
+++ b/data/meson.build
|
+++ b/data/meson.build
|
||||||
@@ -168,41 +168,53 @@ else
|
@@ -164,41 +164,53 @@ else
|
||||||
service_config.set('PLYMOUTH_QUIT_SERVICE', '')
|
service_config.set('PLYMOUTH_QUIT_SERVICE', '')
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
@ -115,7 +115,7 @@ index 7c5222eaf..403336c31 100644
|
||||||
# XSession
|
# XSession
|
||||||
if get_option('gdm-xsession')
|
if get_option('gdm-xsession')
|
||||||
diff --git a/libgdm/meson.build b/libgdm/meson.build
|
diff --git a/libgdm/meson.build b/libgdm/meson.build
|
||||||
index 3f8cafbb7..83e95151b 100644
|
index 3f8cafbb..83e95151 100644
|
||||||
--- a/libgdm/meson.build
|
--- a/libgdm/meson.build
|
||||||
+++ b/libgdm/meson.build
|
+++ b/libgdm/meson.build
|
||||||
@@ -56,7 +56,7 @@ libgdm_deps = [
|
@@ -56,7 +56,7 @@ libgdm_deps = [
|
||||||
|
@ -128,12 +128,12 @@ index 3f8cafbb7..83e95151b 100644
|
||||||
]
|
]
|
||||||
|
|
||||||
diff --git a/meson.build b/meson.build
|
diff --git a/meson.build b/meson.build
|
||||||
index e6fcf4b8b..a86a486b7 100644
|
index 845f673e..d0ca41ef 100644
|
||||||
--- a/meson.build
|
--- a/meson.build
|
||||||
+++ b/meson.build
|
+++ b/meson.build
|
||||||
@@ -92,21 +92,30 @@ xdmcp_dep = cc.find_library('Xdmcp', required: get_option('xdmcp'))
|
@@ -96,21 +96,30 @@ xdmcp_dep = cc.find_library('Xdmcp', required: get_option('xdmcp'))
|
||||||
if xdmcp_dep.found() and get_option('tcp-wrappers')
|
if xdmcp_dep.found() and get_option('tcp-wrappers')
|
||||||
libwrap_dep = cc.find_library('libwrap')
|
libwrap_dep = cc.find_library('wrap')
|
||||||
endif
|
endif
|
||||||
-# systemd
|
-# systemd
|
||||||
-systemd_dep = dependency('systemd')
|
-systemd_dep = dependency('systemd')
|
||||||
|
@ -175,7 +175,7 @@ index e6fcf4b8b..a86a486b7 100644
|
||||||
# Plymouth
|
# Plymouth
|
||||||
plymouth_dep = dependency('ply-boot-client', required: get_option('plymouth'))
|
plymouth_dep = dependency('ply-boot-client', required: get_option('plymouth'))
|
||||||
# Check for Solaris auditing API (ADT)
|
# Check for Solaris auditing API (ADT)
|
||||||
@@ -313,6 +322,7 @@ summary({
|
@@ -319,6 +328,7 @@ summary({
|
||||||
'PAM Syslog': have_pam_syslog,
|
'PAM Syslog': have_pam_syslog,
|
||||||
'Supports PAM Extensions': pam_extensions_supported,
|
'Supports PAM Extensions': pam_extensions_supported,
|
||||||
'SeLinux': libselinux_dep.found(),
|
'SeLinux': libselinux_dep.found(),
|
||||||
|
@ -184,7 +184,7 @@ index e6fcf4b8b..a86a486b7 100644
|
||||||
'Use UserDisplayServer': get_option('user-display-server'),
|
'Use UserDisplayServer': get_option('user-display-server'),
|
||||||
'Use SystemdJournal': get_option('systemd-journal'),
|
'Use SystemdJournal': get_option('systemd-journal'),
|
||||||
diff --git a/meson_options.txt b/meson_options.txt
|
diff --git a/meson_options.txt b/meson_options.txt
|
||||||
index 14e0b908b..5135d7d66 100644
|
index 14e0b908..5135d7d6 100644
|
||||||
--- a/meson_options.txt
|
--- a/meson_options.txt
|
||||||
+++ b/meson_options.txt
|
+++ b/meson_options.txt
|
||||||
@@ -12,6 +12,7 @@ option('initial-vt', type: 'integer', value: 1, description: 'Initial virtual te
|
@@ -12,6 +12,7 @@ option('initial-vt', type: 'integer', value: 1, description: 'Initial virtual te
|
||||||
|
@ -206,6 +206,3 @@ index 14e0b908b..5135d7d66 100644
|
||||||
option('tcp-wrappers', type: 'boolean', value: false, description: 'Use TCP wrappers.')
|
option('tcp-wrappers', type: 'boolean', value: false, description: 'Use TCP wrappers.')
|
||||||
option('udev-dir', type: 'string', value: '', description: 'Directory for udev rules file.')
|
option('udev-dir', type: 'string', value: '', description: 'Directory for udev rules file.')
|
||||||
option('user', type: 'string', value: 'gdm', description: 'GDM\'s username.')
|
option('user', type: 'string', value: 'gdm', description: 'GDM\'s username.')
|
||||||
--
|
|
||||||
GitLab
|
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,11 @@
|
||||||
From 444250fce55f916af993bc855930c6809686e4bd Mon Sep 17 00:00:00 2001
|
|
||||||
From: Josselin Poiret <dev@jpoiret.xyz>
|
From: Josselin Poiret <dev@jpoiret.xyz>
|
||||||
Date: Tue, 23 Nov 2021 18:39:39 +0000
|
Date: Tue, 23 Nov 2021 18:39:39 +0000
|
||||||
Subject: [PATCH] Make GDM pass GDK_PIXBUF_MODULE_FILE to sessions
|
Subject: [PATCH] Make GDM pass GDK_PIXBUF_MODULE_FILE to sessions
|
||||||
|
|
||||||
---
|
|
||||||
daemon/gdm-launch-environment.c | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/daemon/gdm-launch-environment.c b/daemon/gdm-launch-environment.c
|
diff --git a/daemon/gdm-launch-environment.c b/daemon/gdm-launch-environment.c
|
||||||
index 14ecfac2..3e618321 100644
|
index 932c3e8a..a50dcc8c 100644
|
||||||
--- a/daemon/gdm-launch-environment.c
|
--- a/daemon/gdm-launch-environment.c
|
||||||
+++ b/daemon/gdm-launch-environment.c
|
+++ b/daemon/gdm-launch-environment.c
|
||||||
@@ -158,6 +158,7 @@ build_launch_environment (GdmLaunchEnvironment *launch_environment,
|
@@ -157,6 +157,7 @@ build_launch_environment (GdmLaunchEnvironment *launch_environment,
|
||||||
"WINDOWPATH",
|
"WINDOWPATH",
|
||||||
"XCURSOR_PATH",
|
"XCURSOR_PATH",
|
||||||
"XDG_CONFIG_DIRS",
|
"XDG_CONFIG_DIRS",
|
||||||
|
@ -19,6 +13,3 @@ index 14ecfac2..3e618321 100644
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
char *system_data_dirs;
|
char *system_data_dirs;
|
||||||
--
|
|
||||||
2.33.1
|
|
||||||
|
|
||||||
|
|
|
@ -1,22 +1,28 @@
|
||||||
Remove check for hardcoded Xwayland path in gdm.
|
Remove check for hardcoded Xwayland path in gdm.
|
||||||
|
|
||||||
---
|
|
||||||
daemon/gdm-local-display-factory.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/daemon/gdm-local-display-factory.c b/daemon/gdm-local-display-factory.c
|
diff --git a/daemon/gdm-local-display-factory.c b/daemon/gdm-local-display-factory.c
|
||||||
index da1093bb..37355c06 100644
|
index 7de7b99c..065325f4 100644
|
||||||
--- a/daemon/gdm-local-display-factory.c
|
--- a/daemon/gdm-local-display-factory.c
|
||||||
+++ b/daemon/gdm-local-display-factory.c
|
+++ b/daemon/gdm-local-display-factory.c
|
||||||
@@ -203,7 +203,7 @@ gdm_local_display_factory_use_wayland (void)
|
@@ -245,9 +245,9 @@ struct GdmDisplayServerConfiguration {
|
||||||
|
const char *session_type;
|
||||||
|
} display_server_configuration[] = {
|
||||||
#ifdef ENABLE_WAYLAND_SUPPORT
|
#ifdef ENABLE_WAYLAND_SUPPORT
|
||||||
gboolean wayland_enabled = FALSE;
|
- { "wayland", GDM_KEY_WAYLAND_ENABLE, "/usr/bin/Xwayland", "wayland" },
|
||||||
if (gdm_settings_direct_get_boolean (GDM_KEY_WAYLAND_ENABLE, &wayland_enabled)) {
|
+ { "wayland", GDM_KEY_WAYLAND_ENABLE, "", "wayland" },
|
||||||
- if (wayland_enabled && g_file_test ("/usr/bin/Xwayland", G_FILE_TEST_IS_EXECUTABLE) )
|
|
||||||
+ if (wayland_enabled)
|
|
||||||
return TRUE;
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
--
|
- { "xorg", GDM_KEY_XORG_ENABLE, "/usr/bin/Xorg", "x11" },
|
||||||
2.33.0
|
+ { "xorg", GDM_KEY_XORG_ENABLE, "", "x11" },
|
||||||
|
{ NULL, NULL, NULL },
|
||||||
|
};
|
||||||
|
|
||||||
|
@@ -269,9 +269,6 @@ display_server_enabled (GdmLocalDisplayFactory *factory,
|
||||||
|
if (!gdm_settings_direct_get_boolean (key, &enabled) || !enabled)
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
- if (!g_file_test (binary, G_FILE_TEST_IS_EXECUTABLE))
|
||||||
|
- return FALSE;
|
||||||
|
-
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,10 @@
|
||||||
Get wayland-session wrapper from environment.
|
Get wayland-session wrapper from environment.
|
||||||
|
|
||||||
---
|
|
||||||
daemon/gdm-session.c | 6 ++++--
|
|
||||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
|
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
|
||||||
index 4e303e70..1deca4e9 100644
|
index 3b83fcd3..e60e6a57 100644
|
||||||
--- a/daemon/gdm-session.c
|
--- a/daemon/gdm-session.c
|
||||||
+++ b/daemon/gdm-session.c
|
+++ b/daemon/gdm-session.c
|
||||||
@@ -2888,8 +2888,9 @@ gdm_session_start_session (GdmSession *self,
|
@@ -2933,8 +2933,9 @@ gdm_session_start_session (GdmSession *self,
|
||||||
allow_remote_connections? "--allow-remote-connections " : "",
|
allow_remote_connections? "--allow-remote-connections " : "",
|
||||||
command);
|
command);
|
||||||
} else {
|
} else {
|
||||||
|
@ -19,7 +15,7 @@ index 4e303e70..1deca4e9 100644
|
||||||
command);
|
command);
|
||||||
}
|
}
|
||||||
} else if (run_xsession_script) {
|
} else if (run_xsession_script) {
|
||||||
@@ -2942,8 +2942,9 @@
|
@@ -2965,8 +2966,9 @@ gdm_session_start_session (GdmSession *self,
|
||||||
register_session ? "--register-session " : "",
|
register_session ? "--register-session " : "",
|
||||||
self->selected_program);
|
self->selected_program);
|
||||||
} else {
|
} else {
|
||||||
|
@ -30,6 +26,3 @@ index 4e303e70..1deca4e9 100644
|
||||||
self->selected_program);
|
self->selected_program);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
--
|
|
||||||
2.33.0
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue