Compare commits
19 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| dc0c1c625b | |||
| 164857ba38 | |||
| 9b4f23bd87 | |||
| 67171b65aa | |||
| 1251506952 | |||
| 7af9ec13c7 | |||
| 586f3dc67f | |||
| 6e20dc9604 | |||
| cd3f3435c4 | |||
| d17456ea1d | |||
| a561f83e71 | |||
| f2e1d31c0e | |||
| 7cb19a7690 | |||
| 792e5741ac | |||
| eed04b43f2 | |||
| 6f0c2503f8 | |||
| 6809b4d3bc | |||
| 5d76a241c4 | |||
| f41ed4921d |
2
_service
2
_service
@@ -3,7 +3,7 @@
|
||||
<service name="obs_scm" mode="manual">
|
||||
<param name="scm">git</param>
|
||||
<param name="url">https://gitlab.gnome.org/GNOME/gdm.git</param>
|
||||
<param name="revision">48.0</param>
|
||||
<param name="revision">49.2</param>
|
||||
<param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
|
||||
<param name="versionrewrite-pattern">(.*)\+0</param>
|
||||
<param name="versionrewrite-replacement">\1</param>
|
||||
|
||||
BIN
gdm-48.0.obscpio
LFS
BIN
gdm-48.0.obscpio
LFS
Binary file not shown.
3
gdm-49.2.obscpio
Normal file
3
gdm-49.2.obscpio
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:baa31ae6d8dba1f6e69e45271715f7c5ec016492d3702ab5ce6ffaf089930ff8
|
||||
size 8766477
|
||||
@@ -1,42 +0,0 @@
|
||||
From bf711cfd86536971404974a48c4db7298bda0e06 Mon Sep 17 00:00:00 2001
|
||||
From: Alynx Zhou <alynx.zhou@gmail.com>
|
||||
Date: Tue, 1 Apr 2025 11:18:05 +0800
|
||||
Subject: [PATCH] gdm-config: Add missing "/" when building dconf paths
|
||||
|
||||
Closes #978
|
||||
---
|
||||
meson.build | 2 +-
|
||||
utils/gdm-config.c | 4 ++--
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index eaa93a652..63be01011 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -222,7 +222,7 @@ endif
|
||||
# dconf paths, we should fix dconf.pc to provide us more real data though
|
||||
if dconf_dep.found()
|
||||
dconf_prefix = dconf_dep.get_variable(pkgconfig: 'prefix')
|
||||
- dconf_sysconfig = (dconf_prefix == '/usr') ? '/etc' : dconf_prefix + '/etc/'
|
||||
+ dconf_sysconfig = (dconf_prefix == '/usr') ? '/etc' : dconf_prefix + '/etc'
|
||||
dconf_datadir = dconf_prefix / 'share'
|
||||
else
|
||||
dconf_sysconfig = gdm_prefix / get_option('sysconfdir')
|
||||
diff --git a/utils/gdm-config.c b/utils/gdm-config.c
|
||||
index 70d5d4de9..82051a1b1 100644
|
||||
--- a/utils/gdm-config.c
|
||||
+++ b/utils/gdm-config.c
|
||||
@@ -34,8 +34,8 @@
|
||||
|
||||
#include "gdm-common.h"
|
||||
|
||||
-#define DCONF_SYSCONFIG_PROFILES_PATH DCONF_SYSCONFIG "dconf/profile"
|
||||
-#define DCONF_SYSCONFIG_DB_PATH DCONF_SYSCONFIG "dconf/db"
|
||||
+#define DCONF_SYSCONFIG_PROFILES_PATH DCONF_SYSCONFIG "/dconf/profile"
|
||||
+#define DCONF_SYSCONFIG_DB_PATH DCONF_SYSCONFIG "/dconf/db"
|
||||
#define DCONF_SYSTEM_DB_PREFIX "system-db:"
|
||||
#define DCONF_SYSTEM_DB_DEFAULT_NAME "gdm_auth_config"
|
||||
|
||||
--
|
||||
GitLab
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
Index: gdm-46.2/daemon/gdm-display.c
|
||||
Index: gdm-49.beta/daemon/gdm-display.c
|
||||
===================================================================
|
||||
--- gdm-46.2.orig/daemon/gdm-display.c
|
||||
+++ gdm-46.2/daemon/gdm-display.c
|
||||
@@ -1538,12 +1538,12 @@ can_create_environment (const char *sess
|
||||
--- gdm-49.beta.orig/daemon/gdm-display.c
|
||||
+++ gdm-49.beta/daemon/gdm-display.c
|
||||
@@ -1554,12 +1554,12 @@ can_create_environment (const char *sess
|
||||
return session_exists;
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ Index: gdm-46.2/daemon/gdm-display.c
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
@@ -1625,7 +1625,7 @@ wants_initial_setup (GdmDisplay *self)
|
||||
@@ -1641,7 +1641,7 @@ wants_initial_setup (GdmDisplay *self)
|
||||
|
||||
priv = gdm_display_get_instance_private (self);
|
||||
|
||||
@@ -27,20 +27,20 @@ Index: gdm-46.2/daemon/gdm-display.c
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
Index: gdm-46.2/daemon/gdm-manager.c
|
||||
Index: gdm-49.beta/daemon/gdm-manager.c
|
||||
===================================================================
|
||||
--- gdm-46.2.orig/daemon/gdm-manager.c
|
||||
+++ gdm-46.2/daemon/gdm-manager.c
|
||||
--- gdm-49.beta.orig/daemon/gdm-manager.c
|
||||
+++ gdm-49.beta/daemon/gdm-manager.c
|
||||
@@ -62,7 +62,7 @@
|
||||
#define GDM_MANAGER_PATH GDM_DBUS_PATH "/Manager"
|
||||
#define GDM_MANAGER_DISPLAYS_PATH GDM_DBUS_PATH "/Displays"
|
||||
|
||||
#define INITIAL_SETUP_USERNAME "gnome-initial-setup"
|
||||
-#define ALREADY_RAN_INITIAL_SETUP_ON_THIS_BOOT GDM_RUN_DIR "/gdm.ran-initial-setup"
|
||||
+#define BLOCK_INITIAL_SETUP LOCALSTATEDIR "/lib/gdm/block-initial-setup"
|
||||
#define INITIAL_SETUP_EXPORT_DIR GDM_RUN_DIR "/gnome-initial-setup"
|
||||
|
||||
typedef struct
|
||||
{
|
||||
@@ -1847,6 +1847,7 @@ on_start_user_session (StartUserSessionO
|
||||
@@ -1837,6 +1837,7 @@ on_start_user_session (StartUserSessionO
|
||||
gboolean fail_if_already_switched = TRUE;
|
||||
GdmDisplay *display;
|
||||
const char *session_id;
|
||||
@@ -48,7 +48,7 @@ Index: gdm-46.2/daemon/gdm-manager.c
|
||||
|
||||
g_debug ("GdmManager: start or jump to session");
|
||||
|
||||
@@ -1889,22 +1890,21 @@ on_start_user_session (StartUserSessionO
|
||||
@@ -1879,22 +1880,21 @@ on_start_user_session (StartUserSessionO
|
||||
"doing-initial-setup", &doing_initial_setup,
|
||||
NULL);
|
||||
|
||||
@@ -81,11 +81,11 @@ Index: gdm-46.2/daemon/gdm-manager.c
|
||||
} else {
|
||||
g_debug ("GdmManager: session has its display server, reusing our server for another login screen");
|
||||
}
|
||||
Index: gdm-46.2/daemon/meson.build
|
||||
Index: gdm-49.beta/daemon/meson.build
|
||||
===================================================================
|
||||
--- gdm-46.2.orig/daemon/meson.build
|
||||
+++ gdm-46.2/daemon/meson.build
|
||||
@@ -227,6 +227,7 @@ endif
|
||||
--- gdm-49.beta.orig/daemon/meson.build
|
||||
+++ gdm-49.beta/daemon/meson.build
|
||||
@@ -235,6 +235,7 @@ endif
|
||||
|
||||
gdm_daemon = executable('gdm',
|
||||
[ gdm_daemon_sources, gdm_daemon_gen_sources ],
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
diff --git a/data/meson.build b/data/meson.build
|
||||
index de8edd6..7a24d30 100644
|
||||
--- a/data/meson.build
|
||||
+++ b/data/meson.build
|
||||
@@ -158,7 +158,7 @@ service_config.set('sbindir', gdm_prefix / get_option('sbindir'))
|
||||
service_config.set('GDM_INITIAL_VT', get_option('initial-vt'))
|
||||
service_config.set('LANG_CONFIG_FILE', lang_config_file)
|
||||
if plymouth_dep.found()
|
||||
- service_config.set('PLYMOUTH_QUIT_SERVICE', 'plymouth-quit.service')
|
||||
+ service_config.set('PLYMOUTH_QUIT_SERVICE', 'plymouth-quit.service plymouth-quit-wait.service')
|
||||
else
|
||||
service_config.set('PLYMOUTH_QUIT_SERVICE', '')
|
||||
endif
|
||||
@@ -1,10 +0,0 @@
|
||||
--- a/data/meson.build
|
||||
+++ b/data/meson.build
|
||||
@@ -77,7 +77,6 @@ gdm_gnome_session_required_components =
|
||||
'org.gnome.SettingsDaemon.Sharing',
|
||||
'org.gnome.SettingsDaemon.Smartcard',
|
||||
'org.gnome.SettingsDaemon.Sound',
|
||||
- 'org.gnome.SettingsDaemon.Wacom',
|
||||
]
|
||||
|
||||
gdm_gnome_user_session_wanted_components = gdm_gnome_session_required_components
|
||||
12
gdm-service-keytable.patch
Normal file
12
gdm-service-keytable.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
Index: gdm-48.0/data/gdm.service.in
|
||||
===================================================================
|
||||
--- gdm-48.0.orig/data/gdm.service.in
|
||||
+++ gdm-48.0/data/gdm.service.in
|
||||
@@ -20,6 +20,7 @@ After=rc-local.service plymouth-start.se
|
||||
OnFailure=plymouth-quit.service
|
||||
|
||||
[Service]
|
||||
+ExecStartPre=-/usr/libexec/gdm/keytable
|
||||
ExecStart=${sbindir}/gdm
|
||||
KillMode=mixed
|
||||
Restart=always
|
||||
@@ -1,52 +0,0 @@
|
||||
From a5f9f274c9c902519336a489cfed0548206d2bca Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
||||
Date: Mon, 27 Jan 2025 14:01:23 +0100
|
||||
Subject: [PATCH] gdm-settings-utils: rename variable to fix build with gcc 15
|
||||
|
||||
In GNU23 C++, bool is a keyword. Rename the variable to avoid syntax error.
|
||||
---
|
||||
common/gdm-settings-utils.c | 8 ++++----
|
||||
common/gdm-settings-utils.h | 2 +-
|
||||
2 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/common/gdm-settings-utils.c b/common/gdm-settings-utils.c
|
||||
index 636be3a9e..da4c7aefb 100644
|
||||
--- a/common/gdm-settings-utils.c
|
||||
+++ b/common/gdm-settings-utils.c
|
||||
@@ -287,16 +287,16 @@ gdm_settings_parse_boolean_as_value (gboolean boolval)
|
||||
/* adapted from GKeyFile */
|
||||
gboolean
|
||||
gdm_settings_parse_value_as_boolean (const char *value,
|
||||
- gboolean *bool)
|
||||
+ gboolean *boolval)
|
||||
{
|
||||
g_return_val_if_fail (value != NULL, FALSE);
|
||||
- g_return_val_if_fail (bool != NULL, FALSE);
|
||||
+ g_return_val_if_fail (boolval != NULL, FALSE);
|
||||
|
||||
if (g_ascii_strcasecmp (value, "true") == 0 || strcmp (value, "1") == 0) {
|
||||
- *bool = TRUE;
|
||||
+ *boolval = TRUE;
|
||||
return TRUE;
|
||||
} else if (g_ascii_strcasecmp (value, "false") == 0 || strcmp (value, "0") == 0) {
|
||||
- *bool = FALSE;
|
||||
+ *boolval = FALSE;
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
diff --git a/common/gdm-settings-utils.h b/common/gdm-settings-utils.h
|
||||
index 4f2362ce7..734d625c7 100644
|
||||
--- a/common/gdm-settings-utils.h
|
||||
+++ b/common/gdm-settings-utils.h
|
||||
@@ -44,7 +44,7 @@ gboolean gdm_settings_parse_schemas (const char *fil
|
||||
GSList **list);
|
||||
|
||||
gboolean gdm_settings_parse_value_as_boolean (const char *value,
|
||||
- gboolean *bool);
|
||||
+ gboolean *boolval);
|
||||
gboolean gdm_settings_parse_value_as_integer (const char *value,
|
||||
int *intval);
|
||||
gboolean gdm_settings_parse_value_as_double (const char *value,
|
||||
--
|
||||
GitLab
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Index: gdm-46.0/common/gdm-settings-system-backend.c
|
||||
Index: gdm-49.rc/common/gdm-settings-system-backend.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ gdm-46.0/common/gdm-settings-system-backend.c
|
||||
+++ gdm-49.rc/common/gdm-settings-system-backend.c
|
||||
@@ -0,0 +1,372 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||
+ *
|
||||
@@ -375,10 +375,10 @@ Index: gdm-46.0/common/gdm-settings-system-backend.c
|
||||
+
|
||||
+ return GDM_SETTINGS_BACKEND (object);
|
||||
+}
|
||||
Index: gdm-46.0/common/gdm-settings-system-backend.h
|
||||
Index: gdm-49.rc/common/gdm-settings-system-backend.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ gdm-46.0/common/gdm-settings-system-backend.h
|
||||
+++ gdm-49.rc/common/gdm-settings-system-backend.h
|
||||
@@ -0,0 +1,56 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||
+ *
|
||||
@@ -436,10 +436,10 @@ Index: gdm-46.0/common/gdm-settings-system-backend.h
|
||||
+G_END_DECLS
|
||||
+
|
||||
+#endif /* __GDM_SETTINGS_SYSTEM_BACKEND_H */
|
||||
Index: gdm-46.0/common/gdm-settings.c
|
||||
Index: gdm-49.rc/common/gdm-settings.c
|
||||
===================================================================
|
||||
--- gdm-46.0.orig/common/gdm-settings.c
|
||||
+++ gdm-46.0/common/gdm-settings.c
|
||||
--- gdm-49.rc.orig/common/gdm-settings.c
|
||||
+++ gdm-49.rc/common/gdm-settings.c
|
||||
@@ -38,6 +38,7 @@
|
||||
#include "gdm-settings.h"
|
||||
|
||||
@@ -459,10 +459,10 @@ Index: gdm-46.0/common/gdm-settings.c
|
||||
backend = gdm_settings_desktop_backend_new (GDM_RUNTIME_CONF);
|
||||
if (backend)
|
||||
settings->backends = g_list_prepend (settings->backends, backend);
|
||||
Index: gdm-46.0/common/gdm-sysconfig.c
|
||||
Index: gdm-49.rc/common/gdm-sysconfig.c
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ gdm-46.0/common/gdm-sysconfig.c
|
||||
+++ gdm-49.rc/common/gdm-sysconfig.c
|
||||
@@ -0,0 +1,509 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||
+ *
|
||||
@@ -973,10 +973,10 @@ Index: gdm-46.0/common/gdm-sysconfig.c
|
||||
+ g_strfreev (lines);
|
||||
+ return result;
|
||||
+}
|
||||
Index: gdm-46.0/common/gdm-sysconfig.h
|
||||
Index: gdm-49.rc/common/gdm-sysconfig.h
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ gdm-46.0/common/gdm-sysconfig.h
|
||||
+++ gdm-49.rc/common/gdm-sysconfig.h
|
||||
@@ -0,0 +1,43 @@
|
||||
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
|
||||
+ *
|
||||
@@ -1021,10 +1021,10 @@ Index: gdm-46.0/common/gdm-sysconfig.h
|
||||
+G_END_DECLS
|
||||
+
|
||||
+#endif /* __GDM_SYSCONFIG_H */
|
||||
Index: gdm-46.0/data/gdm.conf-custom.in
|
||||
Index: gdm-49.rc/data/gdm.conf-custom.in
|
||||
===================================================================
|
||||
--- gdm-46.0.orig/data/gdm.conf-custom.in
|
||||
+++ gdm-46.0/data/gdm.conf-custom.in
|
||||
--- gdm-49.rc.orig/data/gdm.conf-custom.in
|
||||
+++ gdm-49.rc/data/gdm.conf-custom.in
|
||||
@@ -1,4 +1,7 @@
|
||||
# GDM configuration storage
|
||||
+#
|
||||
@@ -1033,11 +1033,11 @@ Index: gdm-46.0/data/gdm.conf-custom.in
|
||||
|
||||
[daemon]
|
||||
# Uncomment the line below to force the login screen to use Xorg
|
||||
Index: gdm-46.0/common/meson.build
|
||||
Index: gdm-49.rc/common/meson.build
|
||||
===================================================================
|
||||
--- gdm-46.0.orig/common/meson.build
|
||||
+++ gdm-46.0/common/meson.build
|
||||
@@ -5,9 +5,11 @@ libgdmcommon_src = files(
|
||||
--- gdm-49.rc.orig/common/meson.build
|
||||
+++ gdm-49.rc/common/meson.build
|
||||
@@ -6,9 +6,11 @@ libgdmcommon_src = files(
|
||||
'gdm-profile.c',
|
||||
'gdm-settings-backend.c',
|
||||
'gdm-settings-desktop-backend.c',
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
diff --git a/common/gdm-common.c b/common/gdm-common.c
|
||||
index 4f56a05..019971a 100644
|
||||
--- a/common/gdm-common.c
|
||||
+++ b/common/gdm-common.c
|
||||
@@ -655,6 +655,8 @@ gdm_get_script_environment (const char *username,
|
||||
Index: gdm-49.rc/common/gdm-common.c
|
||||
===================================================================
|
||||
--- gdm-49.rc.orig/common/gdm-common.c
|
||||
+++ gdm-49.rc/common/gdm-common.c
|
||||
@@ -691,6 +691,8 @@ gdm_get_script_environment (const char *
|
||||
|
||||
if (display_hostname) {
|
||||
g_hash_table_insert (hash, g_strdup ("REMOTE_HOST"), g_strdup (display_hostname));
|
||||
@@ -11,7 +11,7 @@ index 4f56a05..019971a 100644
|
||||
}
|
||||
|
||||
/* Runs as root */
|
||||
@@ -1120,3 +1122,14 @@ gdm_load_env_d (GdmLoadEnvVarFunc load_env_func,
|
||||
@@ -1156,3 +1158,14 @@ gdm_load_env_d (GdmLoadEnvVarFunc load_e
|
||||
gdm_load_env_dir (dir, load_env_func, expand_func, user_data);
|
||||
g_object_unref (dir);
|
||||
}
|
||||
@@ -26,11 +26,11 @@ index 4f56a05..019971a 100644
|
||||
+ return g_strdup ("localhost");
|
||||
+ }
|
||||
+}
|
||||
diff --git a/common/gdm-common.h b/common/gdm-common.h
|
||||
index cffefe1..b769021 100644
|
||||
--- a/common/gdm-common.h
|
||||
+++ b/common/gdm-common.h
|
||||
@@ -70,6 +70,7 @@ char *gdm_generate_random_bytes (gsize size,
|
||||
Index: gdm-49.rc/common/gdm-common.h
|
||||
===================================================================
|
||||
--- gdm-49.rc.orig/common/gdm-common.h
|
||||
+++ gdm-49.rc/common/gdm-common.h
|
||||
@@ -77,6 +77,7 @@ char *gdm_generate_random_bytes
|
||||
|
||||
gboolean gdm_get_login_window_session_id (const char *seat_id,
|
||||
char **session_id);
|
||||
@@ -38,11 +38,11 @@ index cffefe1..b769021 100644
|
||||
|
||||
gboolean gdm_goto_login_session (GCancellable *cancellable,
|
||||
GError **error);
|
||||
diff --git a/daemon/gdm-display-access-file.c b/daemon/gdm-display-access-file.c
|
||||
index 291c163..9a4ed4a 100644
|
||||
--- a/daemon/gdm-display-access-file.c
|
||||
+++ b/daemon/gdm-display-access-file.c
|
||||
@@ -432,13 +432,10 @@ _get_auth_info_for_display (GdmDisplayAccessFile *file,
|
||||
Index: gdm-49.rc/daemon/gdm-display-access-file.c
|
||||
===================================================================
|
||||
--- gdm-49.rc.orig/daemon/gdm-display-access-file.c
|
||||
+++ gdm-49.rc/daemon/gdm-display-access-file.c
|
||||
@@ -432,13 +432,10 @@ _get_auth_info_for_display (GdmDisplayAc
|
||||
*
|
||||
* https://bugs.freedesktop.org/show_bug.cgi?id=43425
|
||||
*/
|
||||
@@ -59,12 +59,12 @@ index 291c163..9a4ed4a 100644
|
||||
} else {
|
||||
*family = FamilyWild;
|
||||
gdm_display_get_remote_hostname (display, address, NULL);
|
||||
diff --git a/daemon/gdm-launch-environment.c b/daemon/gdm-launch-environment.c
|
||||
index bea2f93..18f8f5a 100644
|
||||
--- a/daemon/gdm-launch-environment.c
|
||||
+++ b/daemon/gdm-launch-environment.c
|
||||
@@ -221,6 +221,11 @@ build_launch_environment (GdmLaunchEnvironment *launch_environment,
|
||||
g_hash_table_insert (hash, g_strdup ("GDM_SEAT_ID"), g_strdup (seat_id));
|
||||
Index: gdm-49.rc/daemon/gdm-launch-environment.c
|
||||
===================================================================
|
||||
--- gdm-49.rc.orig/daemon/gdm-launch-environment.c
|
||||
+++ gdm-49.rc/daemon/gdm-launch-environment.c
|
||||
@@ -325,6 +325,11 @@ build_launch_environment (GdmLaunchEnvir
|
||||
}
|
||||
}
|
||||
|
||||
+ if (launch_environment->x11_display_is_local) {
|
||||
@@ -75,11 +75,11 @@ index bea2f93..18f8f5a 100644
|
||||
g_hash_table_insert (hash, g_strdup ("RUNNING_UNDER_GDM"), g_strdup ("true"));
|
||||
|
||||
/* Now populate XDG_DATA_DIRS from env.d if we're running initial setup; this allows
|
||||
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
|
||||
index 33dee76..e5a228e 100644
|
||||
--- a/daemon/gdm-session.c
|
||||
+++ b/daemon/gdm-session.c
|
||||
@@ -2956,6 +2956,14 @@ set_up_session_environment (GdmSession *self)
|
||||
Index: gdm-49.rc/daemon/gdm-session.c
|
||||
===================================================================
|
||||
--- gdm-49.rc.orig/daemon/gdm-session.c
|
||||
+++ gdm-49.rc/daemon/gdm-session.c
|
||||
@@ -2955,6 +2955,14 @@ set_up_session_environment (GdmSession *
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
148
gdm.changes
148
gdm.changes
@@ -1,3 +1,151 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 25 08:30:24 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 49.2:
|
||||
+ Fixed bug that prevented X11 fallback whenever autologin fails
|
||||
+ Updated translations.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 14 11:16:25 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
- Drop /usr/bin/dbus-run-session (Build)Requires: no longer needed
|
||||
since version 49.0.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Nov 7 08:43:38 UTC 2025 - Dominique Leuenberger <dleuenberger@suse.com>
|
||||
|
||||
- Require displaymanager-sysconfig: we configure most aspects of
|
||||
the display managers in openSUSE via sysconfig and have patches
|
||||
on gdm to support this. displaymanager-sysconfig brings the
|
||||
skeleton configuration files to be discovered (e.g allows yast to
|
||||
configure autologin)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Oct 11 04:15:52 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 49.1:
|
||||
+ Hotfixed a bug that leaves gnome-shell in a locked up state
|
||||
+ Fixed implementation of userdb, so we don't list our users when
|
||||
asked about UID 0 (root)
|
||||
+ Switched safety check that avoids accidentally deleting / and
|
||||
/home from an assertion to an error, so the check always runs
|
||||
even in production builds
|
||||
+ Fixed bug where gnome-initial-setup's configuration (i.e. input
|
||||
methods) failed to migrate to the final user session
|
||||
+ Fixed bug where GDM assumed that Wayland is unavailable if
|
||||
Xwayland wasn't installed on the system
|
||||
+ Updated translations.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 29 10:14:14 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
- Require gdm-xdm-integration when xdm is installed: otherwise we
|
||||
end up with a non-functional setup of xdm.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 25 06:40:13 UTC 2025 - Xiaoguang Wang <xiaoguang.wang@suse.com>
|
||||
|
||||
- Drop gdm-plymouth-quit-wait.patch: Fixed by commit d2c0213b.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Sep 24 15:22:46 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
- Suggest gdm-systemd in openSUSE too, just as we do on SLE. We
|
||||
should be ready for that switch in Tumbleweed (not yet migrating
|
||||
existing users from xdm to gdm native; this only affects new
|
||||
installations)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 23 08:52:11 UTC 2025 - Yifan Jiang <yfjiang@suse.com>
|
||||
|
||||
- Add gdm-service-keytable.patch: set KEYMAP to XkbLayout for GNOME
|
||||
when using gdm-systemd instead of xdm (bsc#1248831, bsc#1250366).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 16 18:57:42 UTC 2025 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 49.0.1:
|
||||
+ Follow-up for permissions issue fix, making the fix work in
|
||||
more environments
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Sep 16 06:14:03 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
- Update to version 49.0:
|
||||
+ Fix build failures when built without plymouth support
|
||||
+ Fix permissions issue on the GDM work dir (/var/lib/gdm) that
|
||||
broke settings persistence
|
||||
+ Updated translations
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 11 10:57:19 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
- Create /run/gdm in case it would not exist yet; this could
|
||||
potentially happen on offline upgrades.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 1 11:02:31 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
- Move migration marker from /var/tmp to /run/gdm (boo#1249017).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Sep 1 09:48:51 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
- Update to version 49.rc:
|
||||
+ Fixed a bug in PAM config files, introduced by transition to
|
||||
dynamic users
|
||||
+ Added logic to retry preferred display server (usually Wayland)
|
||||
before falling back (usually to X11)
|
||||
+ Fixed a bug where Plymouth keeps running if no display is
|
||||
plugged into the system. This would prevent bootup from
|
||||
completing and would prevent the user from logging in on a
|
||||
serial console
|
||||
+ Fixed GDM's session file loading logic to search directories in
|
||||
correct precedence order
|
||||
+ Fix simpledrm device detection to match the kernel's new device
|
||||
naming scheme
|
||||
+ Re-enabled X11 support by default. We found it difficult to
|
||||
cleanly separate GDM's ability to launch modern X11 sessions
|
||||
(which we intended to keep enabled in GNOME 49) from the rest
|
||||
of GDM's X11 integration (which we intended to disable but
|
||||
leave intact for GNOME 49). We still plan to remove GDM's full
|
||||
X11 integration in a future version, and leave only the ability
|
||||
to launch modern X11 sessions.
|
||||
+ Worked around a regression introduced by the switch to dynamic
|
||||
users, where the login screen no longer persists any settings
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 29 10:21:24 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
- Update to version 49.beta:
|
||||
+ Switch to using dynamic users for greeter sessions. This
|
||||
enables systemd-based session management on the greeter,
|
||||
removes GDM's dependency on dbus-daemon, and frees us to drop
|
||||
gnome-session's builtin service manager.
|
||||
+ Adapt to changes in gnome-session 49, which dropped the builtin
|
||||
service manager code and now exclusively relies on systemd for
|
||||
session startup. This means that GDM now depends on
|
||||
gnome-session 49.
|
||||
- Changes from version 49.alpha.1:
|
||||
+ Drop dependency on Wacom g-s-d plugin
|
||||
+ Drop leftover udev rules
|
||||
+ Fix warning when building without libxdmcp support
|
||||
+ Add polkit rules to allow access to smartcards
|
||||
- Changes from version 49.alpha.0:
|
||||
+ meson: Change x11-support default value to false
|
||||
+ Disable Xorg session by default
|
||||
+ udev: Drop disable_wayland overrides
|
||||
+ Fix build with gcc 15
|
||||
+ Updated translations
|
||||
- Drop upstream merged patches gdm-fix-wrong-path-gdm-config.patch
|
||||
and gdm-settings-utils_rename-variable.patch
|
||||
- Drop gdm-s390-not-require-g-s-d_wacom.patch: no longer applicable
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 29 10:18:55 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
- Fix syntax error in gdm's %pre script.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 6 06:55:48 UTC 2025 - Xiaoguang Wang <xiaoguang.wang@suse.com>
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
name: gdm
|
||||
version: 48.0
|
||||
mtime: 1742227635
|
||||
commit: 2397f037d9075a6f98f43c6c2cbaacf923e82b6b
|
||||
version: 49.2
|
||||
mtime: 1764030180
|
||||
commit: 3f0572128a1178f21041d80d4b388c13069a678e
|
||||
|
||||
46
gdm.spec
46
gdm.spec
@@ -27,7 +27,7 @@
|
||||
%endif
|
||||
|
||||
Name: gdm
|
||||
Version: 48.0
|
||||
Version: 49.2
|
||||
Release: 0
|
||||
Summary: The GNOME Display Manager
|
||||
License: GPL-2.0-or-later
|
||||
@@ -57,9 +57,7 @@ Source14: gdm-fingerprint-sle.pamd
|
||||
Source15: gdm-smartcard-sle.pamd
|
||||
# Configuration for pulseaudio
|
||||
Source20: default.pa
|
||||
# WARNING: do not remove/significantly change patch0 without updating the relevant patch in accountsservice too
|
||||
# PATCH-FIX-OPENSUSE gdm-s390-not-require-g-s-d_wacom.patch bsc#1129412 yfjiang@suse.com -- Remove the runtime requirement of g-s-d Wacom plugin
|
||||
Patch0: gdm-s390-not-require-g-s-d_wacom.patch
|
||||
Source21: keytable.in
|
||||
# PATCH-FIX-OPENSUSE gdm-sysconfig-settings.patch bnc432360 bsc#919723 hpj@novell.com -- Read autologin options from /etc/sysconfig/displaymanager; note that accountsservice has a similar patch (accountsservice-sysconfig.patch)
|
||||
Patch1: gdm-sysconfig-settings.patch
|
||||
# PATCH-FIX-OPENSUSE gdm-suse-xsession.patch vuntz@novell.com -- Use the /etc/X11/xdm/* scripts
|
||||
@@ -70,18 +68,13 @@ Patch4: gdm-xauthlocalhostname.patch
|
||||
Patch5: gdm-switch-to-tty1.patch
|
||||
# PATCH-FIX-OPENSUSE gdm-initial-setup-hardening.patch boo#1140851, glgo#GNOME/gnome-initial-setup#76 fezhang@suse.com -- Prevent gnome-initial-setup running if any regular user has perviously logged into the system
|
||||
Patch6: gdm-initial-setup-hardening.patch
|
||||
# PATCH-FIX-UPSTREAM gdm-settings-utils_rename-variable.patch -- Rename variable to fix build with gcc 15
|
||||
Patch7: gdm-settings-utils_rename-variable.patch
|
||||
# PATCH-FIX-UPSTREAM gdm-fix-wrong-path-gdm-config.patch bsc#1232669, glgo#GNOME/gdm!282 alynx.zhou@suse.com -- Add missing slash when gdm-config building dconf database path
|
||||
Patch8: gdm-fix-wrong-path-gdm-config.patch
|
||||
# PATCH-FIX-UPSTREAM gdm-plymouth-quit-wait.patch bsc#1243439 xwang@suse.com -- Disable plymouth-quit-wait.service
|
||||
Patch9: gdm-plymouth-quit-wait.patch
|
||||
# PATCH-FIX-OPENSUSE gdm-service-keytable.patch bsc#1248831 bsc#1250366 yfjiang@suse.com -- set KEYMAP to XkbLayout for GNOME
|
||||
Patch10: gdm-service-keytable.patch
|
||||
|
||||
### NOTE: Keep please SLE-only patches at bottom (starting on 1000).
|
||||
# PATCH-FIX-SLE gdm-disable-gnome-initial-setup.patch bnc#1067976 qzhao@suse.com -- Disable gnome-initial-setup runs before gdm, g-i-s will only serve for CJK people to choose the input-method after login.
|
||||
Patch1000: gdm-disable-gnome-initial-setup.patch
|
||||
|
||||
BuildRequires: /usr/bin/dbus-run-session
|
||||
BuildRequires: check-devel
|
||||
# dconf and gnome-session-core are needed for directory ownership
|
||||
BuildRequires: dconf
|
||||
@@ -119,8 +112,8 @@ BuildRequires: pkgconfig(xdmcp)
|
||||
BuildRequires: pkgconfig(xi)
|
||||
BuildRequires: pkgconfig(xinerama)
|
||||
BuildRequires: pkgconfig(xrandr)
|
||||
Requires: %{_bindir}/dbus-run-session
|
||||
Requires: %{name}-branding = %{version}
|
||||
Requires: displaymanager-sysconfig
|
||||
Requires: gdmflexiserver
|
||||
Requires: gnome-session-core
|
||||
Requires: gnome-settings-daemon
|
||||
@@ -128,11 +121,9 @@ Requires: gnome-shell
|
||||
# xdm package ships systemd display-manager service and other common scripts
|
||||
# between display managers (bsc#1084655)
|
||||
Requires: (gdm-xdm-integration or gdm-systemd)
|
||||
%if !0%{?is_opensuse}
|
||||
Suggests: gdm-systemd
|
||||
%else
|
||||
Suggests: gdm-xdm-integration
|
||||
%endif
|
||||
# whenever xdm is installed, we need to be sure to integrate into it
|
||||
Requires: (gdm-xdm-integration if xdm)
|
||||
Requires(post): dconf
|
||||
Requires(pre): group(video)
|
||||
Recommends: iso-codes
|
||||
@@ -254,10 +245,6 @@ running display manager.
|
||||
### NON-SLE patches start from 0 to 999
|
||||
%autopatch -p1 -m 1 -M 999
|
||||
|
||||
%ifarch s390 s390x
|
||||
%patch -P 0 -p1
|
||||
%endif
|
||||
|
||||
### SLE and Leap only patches start at 1000
|
||||
%if !0%{?is_opensuse} || 0%{?suse_version} <= 1600
|
||||
## Use this when there's no need to skip patches.
|
||||
@@ -274,7 +261,7 @@ running display manager.
|
||||
-Dipv6=true \
|
||||
-Dpam-mod-dir=%{_pam_moduledir} \
|
||||
-Ddbus-sys=%{_datadir}/dbus-1/system.d \
|
||||
-Ddistro=generic \
|
||||
-Ddistro=generic \
|
||||
-Dplymouth=enabled \
|
||||
-Drun-dir=/run/gdm \
|
||||
%if %{enable_split_authentication}
|
||||
@@ -355,6 +342,8 @@ install -m 644 %{SOURCE11} %{buildroot}%{_sysusersdir}/gdm.conf
|
||||
install -D -m 644 %{SOURCE20} %{buildroot}%{_prefix}/share/factory/var/lib/gdm/.pulse/default.pa
|
||||
%endif
|
||||
|
||||
install -m 755 %{SOURCE21} %{buildroot}%{_libexecdir}/gdm/keytable
|
||||
|
||||
%find_lang %{name} %{?no_lang_C}
|
||||
%fdupes -s %{buildroot}%{_datadir}/help
|
||||
|
||||
@@ -363,9 +352,10 @@ install -D -m 644 %{SOURCE20} %{buildroot}%{_prefix}/share/factory/var/lib/gdm/.
|
||||
|
||||
%pre -f gdm.pre
|
||||
if [ $1 -gt 1 ]; then
|
||||
if [ "$(systemctl is-enabled display-manager-legacy)" = "enabled" -a -x /usr/sbin/update-alternatives]; then
|
||||
if [ "$(systemctl is-enabled display-manager-legacy)" = "enabled" -a -x /usr/sbin/update-alternatives ]; then
|
||||
if [ "$(update-alternatives --query default-displaymanager | awk '/Value:/ {print $2}')" = "/usr/lib/X11/displaymanagers/gdm" ]; then
|
||||
touch /var/tmp/migrate_to_gdm
|
||||
mkdir -p /run/gdm
|
||||
touch /run/gdm/migrate_to_gdm
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@@ -405,11 +395,11 @@ if [ "$(systemctl is-enabled display-manager-legacy)" = "enabled" ]; then
|
||||
# display-manager is currently 'legacy mode' - if migration has already occured
|
||||
# the above command would return 'disabled'
|
||||
if [ -x /usr/sbin/update-alternatives ]; then
|
||||
if [ "$(update-alternatives --query default-displaymanager | awk '/Value:/ {print $2}')" = "/usr/lib/X11/displaymanagers/gdm" ] || [ -f /var/tmp/migrate_to_gdm ]; then
|
||||
if [ "$(update-alternatives --query default-displaymanager | awk '/Value:/ {print $2}')" = "/usr/lib/X11/displaymanagers/gdm" ] || [ -f /run/gdm/migrate_to_gdm ]; then
|
||||
# the display-manager started by xdm is currently gdm - let's switch to the native service
|
||||
# this only force-enables gdm whenever xdm was enabled AND it was uses as wrapper to start gdm
|
||||
systemctl enable --force gdm.service
|
||||
unlink /var/tmp/migrate_to_gdm
|
||||
unlink /run/gdm/migrate_to_gdm || :
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@@ -456,16 +446,13 @@ fi
|
||||
%_config_norepl %{_pam_vendordir}/gdm-password
|
||||
%_config_norepl %{_pam_vendordir}/gdm-launch-environment
|
||||
%{_datadir}/dbus-1/system.d/gdm.conf
|
||||
%if 0%{?is_opensuse}
|
||||
%{_udevrulesdir}/61-gdm.rules
|
||||
%endif
|
||||
%{_datadir}/polkit-1/rules.d/20-gdm.rules
|
||||
%{_tmpfilesdir}/gdm.conf
|
||||
%{_sysusersdir}/gdm.conf
|
||||
%dir %{_prefix}/lib/systemd/logind.conf.d
|
||||
%{_prefix}/lib/systemd/logind.conf.d/reserveVT.conf
|
||||
%dir %{_userunitdir}/gnome-session@gnome-login.target.d
|
||||
%{_userunitdir}/gnome-session@gnome-login.target.d/session.conf
|
||||
%{_userunitdir}/gnome-session@gnome-login.target.d/gnome-login.session.conf
|
||||
|
||||
%files xdm-integration
|
||||
# /etc/xinit.d/xdm integration
|
||||
@@ -495,6 +482,7 @@ fi
|
||||
|
||||
%files systemd
|
||||
%{_unitdir}/gdm.service
|
||||
%{_libexecdir}/gdm/keytable
|
||||
|
||||
%files -n gdmflexiserver
|
||||
%{_bindir}/gdmflexiserver
|
||||
|
||||
64
keytable.in
Normal file
64
keytable.in
Normal file
@@ -0,0 +1,64 @@
|
||||
#! /bin/bash
|
||||
|
||||
if [ $UID -ne 0 ]; then
|
||||
echo "You need to be root to run this program"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
vconsole_conf_file=/etc/vconsole.conf
|
||||
previous_x11conf_file=/etc/X11/xorg.conf.d/90-keytable.conf
|
||||
systemd_x11conf_file=/etc/X11/xorg.conf.d/00-keyboard.conf
|
||||
keyboard_map_systemd=/usr/share/systemd/kbd-model-map
|
||||
|
||||
function setkeyboard {
|
||||
echo "Command: localectl set-keymap $1 $2"
|
||||
# xorg.conf.d snippet is only written if a valid snippet is already
|
||||
# available, so create an us sample if neccessary
|
||||
if [ ! -f $systemd_x11conf_file ]; then
|
||||
localectl set-x11-keymap us
|
||||
fi
|
||||
|
||||
# check systemd mapping
|
||||
NEWKEYMAP=$(echo "$1" | sed "s/ $//" )
|
||||
opts=$(grep -P "^$NEWKEYMAP\t" "$keyboard_map_systemd" | sed -re "s/[^\t]*//" -e "s/[\t]+/ /g" )
|
||||
if [ -z "$opts" ]; then
|
||||
echo "W: Cannot find mapping for $NEWKEYMAP in $keyboard_map_systemd"
|
||||
echo "W: This will result in an 'us' X keyboard layout as default"
|
||||
else
|
||||
echo "I: Using systemd $keyboard_map_systemd mapping"
|
||||
fi
|
||||
|
||||
localectl set-keymap $1 $2
|
||||
if [ -f $systemd_x11conf_file ]; then
|
||||
if [ -f $previous_x11conf_file ]; then
|
||||
if [ $systemd_x11conf_file -nt $previous_x11conf_file ]; then
|
||||
rm -f $previous_x11conf_file
|
||||
fi
|
||||
fi
|
||||
exit 0
|
||||
else
|
||||
echo "$systemd_x11conf_file has not been created!"
|
||||
fi
|
||||
}
|
||||
|
||||
if [ -f $vconsole_conf_file ]; then
|
||||
echo "$vconsole_conf_file available"
|
||||
. $vconsole_conf_file
|
||||
if [ ! -z $KEYMAP ]; then
|
||||
if [ -z $XKBLAYOUT ]; then
|
||||
echo "KEYMAP: $KEYMAP"
|
||||
setkeyboard $KEYMAP $KEYMAP_TOGGLE
|
||||
else
|
||||
echo "XKBLAYOUT: $XKBLAYOUT"
|
||||
echo "XKBLAYOUT is already set. Better don't touch X11 keyboard configuration."
|
||||
exit 0
|
||||
fi
|
||||
else
|
||||
echo "KEYMAP not set"
|
||||
fi
|
||||
else
|
||||
echo "$vconsole_conf_file not available"
|
||||
fi
|
||||
|
||||
echo "Keyboard layout could not be set"
|
||||
exit 1
|
||||
Reference in New Issue
Block a user