Sync from SUSE:SLFO:Main gdm revision 35f95239d0ac21cbd8ed6252d0fbafc6
This commit is contained in:
parent
97049484b7
commit
7e391c8044
25
default.pa
Normal file
25
default.pa
Normal file
@ -0,0 +1,25 @@
|
||||
load-module module-device-restore
|
||||
load-module module-card-restore
|
||||
load-module module-udev-detect
|
||||
load-module module-native-protocol-unix
|
||||
load-module module-default-device-restore
|
||||
load-module module-always-sink
|
||||
load-module module-intended-roles
|
||||
load-module module-suspend-on-idle
|
||||
load-module module-console-kit
|
||||
load-module module-position-event-sounds
|
||||
|
||||
### unload driver modules for Bluetooth hardware
|
||||
### this ensure Bluetooth headset are not stolen by gdm pulseaudio instance
|
||||
.nofail
|
||||
|
||||
.ifexists module-bluetooth-policy.so
|
||||
unload-module module-bluetooth-policy
|
||||
.endif
|
||||
|
||||
.ifexists module-bluetooth-discover.so
|
||||
unload-module module-bluetooth-discover
|
||||
.endif
|
||||
|
||||
.fail
|
||||
|
BIN
gdm-44.1.tar.xz
(Stored with Git LFS)
BIN
gdm-44.1.tar.xz
(Stored with Git LFS)
Binary file not shown.
BIN
gdm-45.0.1.tar.xz
(Stored with Git LFS)
Normal file
BIN
gdm-45.0.1.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
@ -8,8 +8,10 @@ X server will be started under root. The same way as if gdm was built with
|
||||
--disable-user-display-server option.
|
||||
|
||||
This allows system to run X server under root if and only-if necessary.
|
||||
--- a/daemon/gdm-local-display-factory.c
|
||||
+++ b/daemon/gdm-local-display-factory.c
|
||||
Index: gdm-45.0.1/daemon/gdm-local-display-factory.c
|
||||
===================================================================
|
||||
--- gdm-45.0.1.orig/daemon/gdm-local-display-factory.c
|
||||
+++ gdm-45.0.1/daemon/gdm-local-display-factory.c
|
||||
@@ -384,6 +384,7 @@ gdm_local_display_factory_create_transie
|
||||
preferred_display_server = get_preferred_display_server (factory);
|
||||
|
||||
@ -38,23 +40,23 @@ This allows system to run X server under root if and only-if necessary.
|
||||
|
||||
if (display == NULL) {
|
||||
g_set_error_literal (error,
|
||||
@@ -905,6 +907,7 @@ ensure_display_for_seat (GdmLocalDisplay
|
||||
@@ -928,6 +930,7 @@ ensure_display_for_seat (GdmLocalDisplay
|
||||
g_debug ("GdmLocalDisplayFactory: Adding display on seat %s", seat_id);
|
||||
|
||||
#ifdef ENABLE_USER_DISPLAY_SERVER
|
||||
+ if (getenv ("GDM_DISABLE_USER_DISPLAY_SERVER") == NULL ) {
|
||||
if (g_strcmp0 (preferred_display_server, "wayland") == 0 ||
|
||||
g_strcmp0 (preferred_display_server, "xorg") == 0) {
|
||||
if (is_seat0) {
|
||||
@@ -915,6 +918,7 @@ ensure_display_for_seat (GdmLocalDisplay
|
||||
NULL);
|
||||
}
|
||||
display = gdm_local_display_new ();
|
||||
@@ -936,6 +939,7 @@ ensure_display_for_seat (GdmLocalDisplay
|
||||
"supported-session-types", session_types,
|
||||
NULL);
|
||||
}
|
||||
+ }
|
||||
#endif
|
||||
|
||||
if (display == NULL) {
|
||||
@@ -1211,6 +1215,10 @@ on_vt_changed (GIOChannel *source,
|
||||
@@ -1252,6 +1256,10 @@ on_vt_changed (GIOChannel *source,
|
||||
g_debug ("GdmLocalDisplayFactory: VT changed from %u to %u",
|
||||
previous_vt, factory->active_vt);
|
||||
|
||||
@ -65,7 +67,7 @@ This allows system to run X server under root if and only-if necessary.
|
||||
store = gdm_display_factory_get_display_store (GDM_DISPLAY_FACTORY (factory));
|
||||
|
||||
/* if the old VT was running a wayland login screen kill it
|
||||
@@ -1352,6 +1360,7 @@ gdm_local_display_factory_start_monitor
|
||||
@@ -1393,6 +1401,7 @@ gdm_local_display_factory_start_monitor
|
||||
#endif
|
||||
|
||||
#if defined(ENABLE_USER_DISPLAY_SERVER)
|
||||
@ -73,7 +75,7 @@ This allows system to run X server under root if and only-if necessary.
|
||||
io_channel = g_io_channel_new_file ("/sys/class/tty/tty0/active", "r", NULL);
|
||||
|
||||
if (io_channel != NULL) {
|
||||
@@ -1362,6 +1371,7 @@ gdm_local_display_factory_start_monitor
|
||||
@@ -1403,6 +1412,7 @@ gdm_local_display_factory_start_monitor
|
||||
on_vt_changed,
|
||||
factory);
|
||||
}
|
||||
@ -81,19 +83,23 @@ This allows system to run X server under root if and only-if necessary.
|
||||
#endif
|
||||
}
|
||||
|
||||
--- a/daemon/gdm-manager.c
|
||||
+++ b/daemon/gdm-manager.c
|
||||
Index: gdm-45.0.1/daemon/gdm-manager.c
|
||||
===================================================================
|
||||
--- gdm-45.0.1.orig/daemon/gdm-manager.c
|
||||
+++ gdm-45.0.1/daemon/gdm-manager.c
|
||||
@@ -1355,6 +1355,8 @@ set_up_automatic_login_session (GdmManag
|
||||
"supported-session-types", supported_session_types,
|
||||
NULL);
|
||||
|
||||
+ if (getenv ("GDM_DISABLE_USER_DISPLAY_SERVER") != NULL)
|
||||
+ manager->priv->did_automatic_login = TRUE;
|
||||
+ manager->did_automatic_login = TRUE;
|
||||
g_debug ("GdmManager: Starting automatic login conversation");
|
||||
gdm_session_start_conversation (session, "gdm-autologin");
|
||||
}
|
||||
--- a/daemon/gdm-server.c
|
||||
+++ b/daemon/gdm-server.c
|
||||
Index: gdm-45.0.1/daemon/gdm-server.c
|
||||
===================================================================
|
||||
--- gdm-45.0.1.orig/daemon/gdm-server.c
|
||||
+++ gdm-45.0.1/daemon/gdm-server.c
|
||||
@@ -238,9 +238,9 @@ gdm_server_init_command (GdmServer *serv
|
||||
/* For systemd, we don't have a log file but instead log to stdout,
|
||||
so set it to the xserver's built-in default verbosity */
|
||||
@ -106,7 +112,7 @@ This allows system to run X server under root if and only-if necessary.
|
||||
#endif
|
||||
|
||||
if (g_access (SYSTEMD_X_SERVER, X_OK) < 0) {
|
||||
@@ -755,7 +755,7 @@ gdm_server_start (GdmServer *server)
|
||||
@@ -749,7 +749,7 @@ gdm_server_start (GdmServer *server)
|
||||
g_return_val_if_fail (GDM_IS_SERVER (server), FALSE);
|
||||
|
||||
/* Hardcode the VT for the initial X server, but nothing else */
|
||||
@ -115,9 +121,11 @@ This allows system to run X server under root if and only-if necessary.
|
||||
vtarg = "vt" G_STRINGIFY (GDM_INITIAL_VT);
|
||||
}
|
||||
|
||||
--- a/daemon/gdm-session.c
|
||||
+++ b/daemon/gdm-session.c
|
||||
@@ -3371,6 +3371,7 @@ gdm_session_get_display_mode (GdmSession
|
||||
Index: gdm-45.0.1/daemon/gdm-session.c
|
||||
===================================================================
|
||||
--- gdm-45.0.1.orig/daemon/gdm-session.c
|
||||
+++ gdm-45.0.1/daemon/gdm-session.c
|
||||
@@ -3436,6 +3436,7 @@ gdm_session_get_display_mode (GdmSession
|
||||
}
|
||||
|
||||
#ifdef ENABLE_USER_DISPLAY_SERVER
|
||||
@ -125,7 +133,7 @@ This allows system to run X server under root if and only-if necessary.
|
||||
/* All other cases (wayland login screen, X login screen,
|
||||
* wayland user session, X user session) use the NEW_VT
|
||||
* display mode. That display mode means that GDM allocates
|
||||
@@ -3393,7 +3394,8 @@ gdm_session_get_display_mode (GdmSession
|
||||
@@ -3458,7 +3459,8 @@ gdm_session_get_display_mode (GdmSession
|
||||
* are paused when handed out.
|
||||
*/
|
||||
return GDM_SESSION_DISPLAY_MODE_NEW_VT;
|
||||
@ -135,7 +143,7 @@ This allows system to run X server under root if and only-if necessary.
|
||||
|
||||
#ifdef ENABLE_WAYLAND_SUPPORT
|
||||
/* Wayland sessions are for now assumed to run in a
|
||||
@@ -3404,6 +3406,7 @@ gdm_session_get_display_mode (GdmSession
|
||||
@@ -3469,6 +3471,7 @@ gdm_session_get_display_mode (GdmSession
|
||||
}
|
||||
#endif
|
||||
return GDM_SESSION_DISPLAY_MODE_REUSE_VT;
|
||||
|
@ -1,6 +1,8 @@
|
||||
--- a/daemon/gdm-display.c
|
||||
+++ b/daemon/gdm-display.c
|
||||
@@ -1653,6 +1653,9 @@ wants_initial_setup (GdmDisplay *self)
|
||||
Index: gdm-45.0.1/daemon/gdm-display.c
|
||||
===================================================================
|
||||
--- gdm-45.0.1.orig/daemon/gdm-display.c
|
||||
+++ gdm-45.0.1/daemon/gdm-display.c
|
||||
@@ -1622,6 +1622,9 @@ wants_initial_setup (GdmDisplay *self)
|
||||
gboolean enabled = FALSE;
|
||||
gboolean forced = FALSE;
|
||||
|
||||
@ -9,8 +11,8 @@
|
||||
+
|
||||
priv = gdm_display_get_instance_private (self);
|
||||
|
||||
if (already_done_initial_setup_on_this_boot ()) {
|
||||
@@ -1689,6 +1692,16 @@ wants_initial_setup (GdmDisplay *self)
|
||||
if (already_done_initial_setup ()) {
|
||||
@@ -1658,6 +1661,16 @@ wants_initial_setup (GdmDisplay *self)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
@ -1,19 +0,0 @@
|
||||
--- a/data/61-gdm.rules.in
|
||||
+++ b/data/61-gdm.rules.in
|
||||
@@ -29,6 +29,16 @@ ATTR{vendor}=="0x1a03", ATTR{device}=="0
|
||||
|
||||
LABEL="gdm_pci_device_end"
|
||||
|
||||
+# disable Wayland on Matrox Electronics Systems Ltd. MGA G200 server engines
|
||||
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0522", GOTO="gdm_disable_wayland"
|
||||
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0524", GOTO="gdm_disable_wayland"
|
||||
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0530", GOTO="gdm_disable_wayland"
|
||||
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0532", GOTO="gdm_disable_wayland"
|
||||
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0533", GOTO="gdm_disable_wayland"
|
||||
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0534", GOTO="gdm_disable_wayland"
|
||||
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0536", GOTO="gdm_disable_wayland"
|
||||
+ATTR{vendor}=="0x102b", ATTR{device}=="0x0538", GOTO="gdm_disable_wayland"
|
||||
+
|
||||
# disable Wayland if modesetting is disabled
|
||||
KERNEL!="card[0-9]*", GOTO="gdm_nomodeset_end"
|
||||
KERNEL=="card[0-9]-*", GOTO="gdm_nomodeset_end"
|
@ -1,6 +1,8 @@
|
||||
--- a/daemon/gdm-display.c
|
||||
+++ b/daemon/gdm-display.c
|
||||
@@ -1554,12 +1554,12 @@ can_create_environment (const char *sess
|
||||
Index: gdm-45.beta/daemon/gdm-display.c
|
||||
===================================================================
|
||||
--- gdm-45.beta.orig/daemon/gdm-display.c
|
||||
+++ gdm-45.beta/daemon/gdm-display.c
|
||||
@@ -1537,12 +1537,12 @@ can_create_environment (const char *sess
|
||||
return session_exists;
|
||||
}
|
||||
|
||||
@ -16,7 +18,7 @@
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
@@ -1658,7 +1658,7 @@ wants_initial_setup (GdmDisplay *self)
|
||||
@@ -1624,7 +1624,7 @@ wants_initial_setup (GdmDisplay *self)
|
||||
|
||||
priv = gdm_display_get_instance_private (self);
|
||||
|
||||
@ -25,8 +27,10 @@
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
--- a/daemon/gdm-manager.c
|
||||
+++ b/daemon/gdm-manager.c
|
||||
Index: gdm-45.beta/daemon/gdm-manager.c
|
||||
===================================================================
|
||||
--- gdm-45.beta.orig/daemon/gdm-manager.c
|
||||
+++ gdm-45.beta/daemon/gdm-manager.c
|
||||
@@ -60,7 +60,7 @@
|
||||
#define GDM_MANAGER_DISPLAYS_PATH GDM_DBUS_PATH "/Displays"
|
||||
|
||||
@ -36,7 +40,7 @@
|
||||
|
||||
typedef struct
|
||||
{
|
||||
@@ -1793,6 +1793,7 @@ on_start_user_session (StartUserSessionO
|
||||
@@ -1789,6 +1789,7 @@ on_start_user_session (StartUserSessionO
|
||||
gboolean doing_initial_setup = FALSE;
|
||||
GdmDisplay *display;
|
||||
const char *session_id;
|
||||
@ -44,7 +48,7 @@
|
||||
|
||||
g_debug ("GdmManager: start or jump to session");
|
||||
|
||||
@@ -1819,6 +1820,15 @@ on_start_user_session (StartUserSessionO
|
||||
@@ -1815,6 +1816,15 @@ on_start_user_session (StartUserSessionO
|
||||
"doing-initial-setup", &doing_initial_setup,
|
||||
NULL);
|
||||
|
||||
@ -60,7 +64,7 @@
|
||||
if (doing_initial_setup)
|
||||
chown_initial_setup_home_dir ();
|
||||
|
||||
@@ -1839,20 +1849,9 @@ on_start_user_session (StartUserSessionO
|
||||
@@ -1835,20 +1845,9 @@ on_start_user_session (StartUserSessionO
|
||||
|
||||
g_object_ref (display);
|
||||
if (doing_initial_setup) {
|
||||
@ -81,8 +85,10 @@
|
||||
} else {
|
||||
g_debug ("GdmManager: session has its display server, reusing our server for another login screen");
|
||||
}
|
||||
--- a/daemon/meson.build
|
||||
+++ b/daemon/meson.build
|
||||
Index: gdm-45.beta/daemon/meson.build
|
||||
===================================================================
|
||||
--- gdm-45.beta.orig/daemon/meson.build
|
||||
+++ gdm-45.beta/daemon/meson.build
|
||||
@@ -210,6 +210,7 @@ endif
|
||||
|
||||
gdm_daemon = executable('gdm',
|
||||
|
@ -1,20 +1,25 @@
|
||||
--- a/daemon/gdm-local-display-factory.c
|
||||
+++ b/daemon/gdm-local-display-factory.c
|
||||
@@ -552,8 +552,10 @@ on_display_status_changed (GdmDisplay
|
||||
* ensures we get a new login screen when the user logs out,
|
||||
* if there isn't one.
|
||||
Index: gdm-45.0.1/daemon/gdm-local-display-factory.c
|
||||
===================================================================
|
||||
--- gdm-45.0.1.orig/daemon/gdm-local-display-factory.c
|
||||
+++ gdm-45.0.1/daemon/gdm-local-display-factory.c
|
||||
@@ -555,10 +555,12 @@ on_display_status_changed (GdmDisplay
|
||||
/* if this is a local display, ensure that we get a login
|
||||
* screen when the user logs out.
|
||||
*/
|
||||
+ g_debug ("GdmLocalDisplayFactory: session_class = %s active_vt = %u", session_class, factory->active_vt);
|
||||
if (is_local &&
|
||||
- (g_strcmp0 (session_class, "greeter") != 0 || factory->active_vt == GDM_INITIAL_VT)) {
|
||||
+ (g_strcmp0 (session_class, "greeter") != 0 || factory->active_vt == GDM_INITIAL_VT
|
||||
+ || factory->active_vt == 0)) {
|
||||
((g_strcmp0 (session_class, "greeter") != 0 &&
|
||||
(!seat_active_session || g_strcmp0(session_id, seat_active_session) == 0)) ||
|
||||
(g_strcmp0 (seat_id, "seat0") == 0 && factory->active_vt == GDM_INITIAL_VT) ||
|
||||
+ (g_strcmp0 (seat_id, "seat0") == 0 && factory->active_vt == 0) ||
|
||||
g_strcmp0 (seat_id, "seat0") != 0)) {
|
||||
/* reset num failures */
|
||||
factory->num_failures = 0;
|
||||
|
||||
--- a/daemon/gdm-manager.c
|
||||
+++ b/daemon/gdm-manager.c
|
||||
@@ -1553,7 +1553,8 @@ on_display_status_changed (GdmDisplay *d
|
||||
Index: gdm-45.0.1/daemon/gdm-manager.c
|
||||
===================================================================
|
||||
--- gdm-45.0.1.orig/daemon/gdm-manager.c
|
||||
+++ gdm-45.0.1/daemon/gdm-manager.c
|
||||
@@ -1552,7 +1552,8 @@ on_display_status_changed (GdmDisplay *d
|
||||
}
|
||||
#endif
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
--- a/common/gdm-common.c
|
||||
+++ b/common/gdm-common.c
|
||||
@@ -619,6 +619,8 @@ gdm_get_script_environment (const char *
|
||||
Index: gdm-45.0.1/common/gdm-common.c
|
||||
===================================================================
|
||||
--- gdm-45.0.1.orig/common/gdm-common.c
|
||||
+++ gdm-45.0.1/common/gdm-common.c
|
||||
@@ -623,6 +623,8 @@ gdm_get_script_environment (const char *
|
||||
|
||||
if (display_hostname) {
|
||||
g_hash_table_insert (hash, g_strdup ("REMOTE_HOST"), g_strdup (display_hostname));
|
||||
@ -9,7 +11,7 @@
|
||||
}
|
||||
|
||||
/* Runs as root */
|
||||
@@ -1085,3 +1087,14 @@ gdm_load_env_d (GdmLoadEnvVarFunc load_e
|
||||
@@ -1088,3 +1090,14 @@ gdm_load_env_d (GdmLoadEnvVarFunc load_e
|
||||
gdm_load_env_dir (dir, load_env_func, expand_func, user_data);
|
||||
g_object_unref (dir);
|
||||
}
|
||||
@ -24,19 +26,23 @@
|
||||
+ return g_strdup ("localhost");
|
||||
+ }
|
||||
+}
|
||||
--- a/common/gdm-common.h
|
||||
+++ b/common/gdm-common.h
|
||||
Index: gdm-45.0.1/common/gdm-common.h
|
||||
===================================================================
|
||||
--- gdm-45.0.1.orig/common/gdm-common.h
|
||||
+++ gdm-45.0.1/common/gdm-common.h
|
||||
@@ -70,6 +70,7 @@ char *gdm_generate_random_bytes
|
||||
|
||||
gboolean gdm_get_login_window_session_id (const char *seat_id,
|
||||
char **session_id);
|
||||
gboolean gdm_goto_login_session (GError **error);
|
||||
+char *gdm_gethostname (void);
|
||||
|
||||
GPtrArray *gdm_get_script_environment (const char *username,
|
||||
const char *display_name,
|
||||
--- a/daemon/gdm-display-access-file.c
|
||||
+++ b/daemon/gdm-display-access-file.c
|
||||
@@ -449,13 +449,10 @@ _get_auth_info_for_display (GdmDisplayAc
|
||||
gboolean gdm_goto_login_session (GCancellable *cancellable,
|
||||
GError **error);
|
||||
Index: gdm-45.0.1/daemon/gdm-display-access-file.c
|
||||
===================================================================
|
||||
--- gdm-45.0.1.orig/daemon/gdm-display-access-file.c
|
||||
+++ gdm-45.0.1/daemon/gdm-display-access-file.c
|
||||
@@ -429,13 +429,10 @@ _get_auth_info_for_display (GdmDisplayAc
|
||||
*
|
||||
* https://bugs.freedesktop.org/show_bug.cgi?id=43425
|
||||
*/
|
||||
@ -53,9 +59,11 @@
|
||||
} else {
|
||||
*family = FamilyWild;
|
||||
gdm_display_get_remote_hostname (display, address, NULL);
|
||||
--- a/daemon/gdm-launch-environment.c
|
||||
+++ b/daemon/gdm-launch-environment.c
|
||||
@@ -225,6 +225,11 @@ build_launch_environment (GdmLaunchEnvir
|
||||
Index: gdm-45.0.1/daemon/gdm-launch-environment.c
|
||||
===================================================================
|
||||
--- gdm-45.0.1.orig/daemon/gdm-launch-environment.c
|
||||
+++ gdm-45.0.1/daemon/gdm-launch-environment.c
|
||||
@@ -221,6 +221,11 @@ build_launch_environment (GdmLaunchEnvir
|
||||
g_hash_table_insert (hash, g_strdup ("GDM_SEAT_ID"), g_strdup (seat_id));
|
||||
}
|
||||
|
||||
@ -67,9 +75,11 @@
|
||||
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
|
||||
--- a/daemon/gdm-session.c
|
||||
+++ b/daemon/gdm-session.c
|
||||
@@ -2751,6 +2751,14 @@ set_up_session_environment (GdmSession *
|
||||
Index: gdm-45.0.1/daemon/gdm-session.c
|
||||
===================================================================
|
||||
--- gdm-45.0.1.orig/daemon/gdm-session.c
|
||||
+++ gdm-45.0.1/daemon/gdm-session.c
|
||||
@@ -2770,6 +2770,14 @@ set_up_session_environment (GdmSession *
|
||||
}
|
||||
}
|
||||
|
||||
|
33
gdm-xvnc-start-session-failed.patch
Normal file
33
gdm-xvnc-start-session-failed.patch
Normal file
@ -0,0 +1,33 @@
|
||||
From f984069418485191fb8fee16c9f202ac2b717e41 Mon Sep 17 00:00:00 2001
|
||||
From: Joan Torres <joan.torres@suse.com>
|
||||
Date: Fri, 1 Mar 2024 12:07:38 +0100
|
||||
Subject: [PATCH] session: Reuse the VT when on XDMCP
|
||||
|
||||
XDMCP is running when session_type is not wayland and is not on any
|
||||
seat_id.
|
||||
|
||||
Consider this to keep using DISPLAY_MODE_REUSE_VT on XDMCP (keep using the
|
||||
same Xorg/Xvnc server), otherwise, the vncserver would be closed.
|
||||
---
|
||||
daemon/gdm-session.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/daemon/gdm-session.c b/daemon/gdm-session.c
|
||||
index 09b6ce52e..a4c4b2dcf 100644
|
||||
--- a/daemon/gdm-session.c
|
||||
+++ b/daemon/gdm-session.c
|
||||
@@ -3648,6 +3648,11 @@ gdm_session_get_display_mode (GdmSession *self)
|
||||
self->is_program_session? "yes" : "no",
|
||||
self->display_seat_id);
|
||||
|
||||
+ if (self->display_seat_id == NULL &&
|
||||
+ g_strcmp0 (self->session_type, "wayland") != 0) {
|
||||
+ return GDM_SESSION_DISPLAY_MODE_REUSE_VT;
|
||||
+ }
|
||||
+
|
||||
if (g_strcmp0 (self->display_seat_id, "seat0") != 0) {
|
||||
return GDM_SESSION_DISPLAY_MODE_LOGIND_MANAGED;
|
||||
}
|
||||
--
|
||||
GitLab
|
||||
|
100
gdm.changes
100
gdm.changes
@ -1,3 +1,96 @@
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 4 01:24:06 UTC 2024 - Xiaoguang Wang <xiaoguang.wang@suse.com>
|
||||
|
||||
- Update gdm-xvnc-start-session-failed.patch: Following the upstream
|
||||
final solution(bsc#1219205 glgo#GNOME/gdm#909).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Feb 22 01:17:18 UTC 2024 - Xiaoguang Wang <xiaoguang.wang@suse.com>
|
||||
|
||||
- Add gdm-xvnc-start-session-failed.patch: None seat0 session runs
|
||||
without running launcher(bsc#1219205 glgo#GNOME/gdm#909).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Feb 21 10:51:12 UTC 2024 - Alynx Zhou <alynx.zhou@suse.com>
|
||||
|
||||
- Drop gdm-disable-wayland-on-mgag200-chipsets.patch: fixed
|
||||
upstream since version 43.0.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jan 23 07:58:15 UTC 2024 - Yifan Jiang <yfjiang@suse.com>
|
||||
|
||||
- Make Patch0 only applies on s390 and s390x.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Nov 28 12:08:03 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
- Use %patch -p N instead of deprecated %patchN.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Nov 2 06:45:59 UTC 2023 - Xiaoguang Wang <xiaoguang.wang@suse.com>
|
||||
|
||||
- Rebase patches for SLE-15-SP6 (bsc#216595):
|
||||
+ Rebase gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch
|
||||
+ Rebase gdm-disable-gnome-initial-setup.patch
|
||||
+ Rebase gdm-restart-session-when-X-server-restart.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Oct 2 08:36:13 UTC 2023 - Dominique Leuenberger <dimstar@opensuse.org>
|
||||
|
||||
- Explicitly buildrequire /usr/bin/dbus-run-session: the
|
||||
dbus package is being restructured to be usable with dbus-broker
|
||||
and so far we just relied on implicit dependencies bringing this
|
||||
in. Meson checks for it, so it is correct to BR it though.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Sep 14 18:27:24 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 45.0.1:
|
||||
+ Fix for the crasher fix.
|
||||
- Changes from version 45.0:
|
||||
+ Crasher fix.
|
||||
+ Updated translations.
|
||||
- Rebase gdm-xauthlocalhostname.patch with quilt.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Aug 30 07:34:46 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
- Update to version 45.beta:
|
||||
+ A ton of small code clean ups and small leak fixes.
|
||||
+ Set gnome-initial-setup dconf profile.
|
||||
+ Honor settings configured with a template in AccountsService.
|
||||
+ Crash fix from stray udev events.
|
||||
+ VT handling fixes.
|
||||
+ Work better in presence of simpledrm.
|
||||
+ wayland multi-seat support.
|
||||
- Rebase patches with quilt.
|
||||
- Drop upstream patches:
|
||||
+ gdm-fix-btmp-record-with-seat.patch
|
||||
+ gdm-disable-wayland-on-aspeed-chipsets.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Aug 14 03:09:23 UTC 2023 - Yifan Jiang <yfjiang@suse.com>
|
||||
|
||||
- Do not use %autopatch to build on SLE where rpm version is not
|
||||
ready for the macro.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 30 11:28:29 UTC 2023 - Fabian Vogt <fvogt@suse.com>
|
||||
|
||||
- Merge pulseaudio-gdm-hooks into the gdm package. This was previously
|
||||
part of pulseaudio.spec, which was fairly complex (dir ownership,
|
||||
separate tmpfiles, dependencies) and it also caused pulseaudio.spec
|
||||
to runtime depend on gdm. Avoid all of that by just adding it here:
|
||||
+ Add default.pa
|
||||
+ Add entries to gdm.tmpfiles
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jun 5 07:46:59 UTC 2023 - Alynx Zhou <alynx.zhou@suse.com>
|
||||
- Add gdm-fix-btmp-record-with-seat.patch: When writing btmp record
|
||||
display name is needed, but user don't have a display before
|
||||
logging in, this patch uses seat instead which is also better for
|
||||
Wayland (bsc#1211825).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri May 5 18:22:08 UTC 2023 - Bjørn Lie <bjorn.lie@gmail.com>
|
||||
|
||||
@ -84,6 +177,13 @@ Tue Aug 2 01:52:26 UTC 2022 - Yifan Jiang <yfjiang@suse.com>
|
||||
|
||||
- Fix specfile: Adapt macros %_pam_moduledir (boo#1191033).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 8 10:33:14 UTC 2022 - Alynx Zhou <alynx.zhou@suse.com>
|
||||
|
||||
- Add gdm-disable-wayland-on-aspeed-chipsets.patch: Those chips do
|
||||
not have fast blending and Wayland performance is bad on them, so
|
||||
disable Wayland on aspeed chipsets (bsc#1200323).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 26 14:32:28 UTC 2022 - Frederic Crozat <fcrozat@suse.com>
|
||||
|
||||
|
40
gdm.spec
40
gdm.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package gdm
|
||||
#
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -27,14 +27,14 @@
|
||||
%endif
|
||||
|
||||
Name: gdm
|
||||
Version: 44.1
|
||||
Version: 45.0.1
|
||||
Release: 0
|
||||
Summary: The GNOME Display Manager
|
||||
License: GPL-2.0-or-later
|
||||
Group: System/GUI/GNOME
|
||||
URL: https://wiki.gnome.org/Projects/GDM
|
||||
|
||||
Source0: https://download.gnome.org/sources/gdm/44/%{name}-%{version}.tar.xz
|
||||
Source0: https://download.gnome.org/sources/gdm/45/%{name}-%{version}.tar.xz
|
||||
Source1: gdm.pamd
|
||||
Source2: gdm-autologin.pamd
|
||||
Source3: gdm-launch-environment.pamd
|
||||
@ -55,6 +55,8 @@ Source12: gdm-sle.pamd
|
||||
Source13: gdm-autologin-sle.pamd
|
||||
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
|
||||
@ -70,8 +72,8 @@ 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-disable-wayland-on-mgag200-chipsets.patch bsc#1162888 glgo#GNOME/mutter#57 qkzhu@suse.com -- Disable Wayland on mgag200 chipsets
|
||||
Patch7: gdm-disable-wayland-on-mgag200-chipsets.patch
|
||||
# PATCH-FIX-UPSTREAM gdm-xvnc-start-session-failed.patch bsc#1219205 glgo#GNOME/gdm#909 xwang@suse.com -- None seat0 session runs without running launcher
|
||||
Patch7: gdm-xvnc-start-session-failed.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.
|
||||
@ -82,6 +84,7 @@ Patch1001: gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch
|
||||
# PATCH-FIX-SLE gdm-restart-session-when-X-server-restart.patch bsc#1196974 xwang@suse.com -- Fix blank screen when X restarts with GDM_DISABLE_USER_DISPLAY_SERVER=1.
|
||||
Patch1002: gdm-restart-session-when-X-server-restart.patch
|
||||
|
||||
BuildRequires: /usr/bin/dbus-run-session
|
||||
BuildRequires: check-devel
|
||||
# dconf and gnome-session-core are needed for directory ownership
|
||||
BuildRequires: dconf
|
||||
@ -132,7 +135,7 @@ Requires: xdm
|
||||
Requires(post): dconf
|
||||
Requires(pre): group(video)
|
||||
Requires(post): update-alternatives
|
||||
Requires(postun):update-alternatives
|
||||
Requires(postun): update-alternatives
|
||||
Recommends: iso-codes
|
||||
# accessibility
|
||||
Recommends: orca
|
||||
@ -140,6 +143,8 @@ Provides: gdm2 = %{version}
|
||||
Obsoletes: gdm2 < %{version}
|
||||
Provides: gnome-applets-gdm = %{version}
|
||||
Obsoletes: gnome-applets-gdm < %{version}
|
||||
Provides: pulseaudio-gdm-hooks = 16.1
|
||||
Obsoletes: pulseaudio-gdm-hooks <= 16.1
|
||||
DocDir: %{_defaultdocdir}
|
||||
%ifnarch s390 s390x
|
||||
BuildRequires: pkgconfig(xorg-server)
|
||||
@ -239,16 +244,28 @@ running display manager.
|
||||
%autosetup -N
|
||||
### NON-SLE patches start from 0 to 999
|
||||
## Use "autopatch -m 0 -M 999" when there's no need to skip patches.
|
||||
%if !0%{?sle_version}
|
||||
%autopatch -p1 -m 1 -M 999
|
||||
%else
|
||||
%patch -P 1 -p1
|
||||
%patch -P 2 -p1
|
||||
%patch -P 3 -p1
|
||||
%patch -P 4 -p1
|
||||
%patch -P 5 -p1
|
||||
%patch -P 6 -p1
|
||||
%patch -P 7 -p1
|
||||
%endif
|
||||
|
||||
%ifarch s390 s390x
|
||||
%patch0 -p1
|
||||
%patch -P 0 -p1
|
||||
%endif
|
||||
|
||||
### SLE and Leap only patches start at 1000
|
||||
%if 0%{?sle_version}
|
||||
## Use this when there's no need to skip patches.
|
||||
%autopatch -p1 -m 1000
|
||||
%patch -P 1000 -p1
|
||||
%patch -P 1001 -p1
|
||||
%patch -P 1002 -p1
|
||||
%endif
|
||||
|
||||
%build
|
||||
@ -331,6 +348,8 @@ install -m 644 %{SOURCE10} %{buildroot}%{_prefix}/lib/systemd/logind.conf.d/rese
|
||||
mkdir -p %{buildroot}%{_sysusersdir}
|
||||
install -m 644 %{SOURCE11} %{buildroot}%{_sysusersdir}/gdm.conf
|
||||
|
||||
install -D -m 644 %{SOURCE20} %{buildroot}%{_prefix}/share/factory/var/lib/gdm/.pulse/default.pa
|
||||
|
||||
%find_lang %{name} %{?no_lang_C}
|
||||
%fdupes -s %{buildroot}%{_datadir}/help
|
||||
|
||||
@ -369,6 +388,9 @@ dconf update
|
||||
%dir %{_datadir}/dconf
|
||||
%dir %{_datadir}/dconf/profile
|
||||
%{_datadir}/dconf/profile/gdm
|
||||
%dir %{_datadir}/factory/var
|
||||
%dir %{_datadir}/factory/var/lib
|
||||
%{_datadir}/factory/var/lib/gdm
|
||||
%{_datadir}/gdm/
|
||||
%{_datadir}/gnome-session/sessions/gnome-login.session
|
||||
%{_pam_moduledir}/pam_gdm.so
|
||||
@ -376,6 +398,8 @@ dconf update
|
||||
%{_libexecdir}/gdm/gdm-*
|
||||
%{_libexecdir}/gdm/gdmflexiserver
|
||||
%ghost %attr(750,gdm,gdm) %dir %{_localstatedir}/lib/gdm
|
||||
%attr(0700, gdm, gdm) %ghost %dir %{_localstatedir}/lib/gdm/.pulse
|
||||
%attr(0600, gdm, gdm) %ghost %{_localstatedir}/lib/gdm/.pulse/default.pa
|
||||
%ghost %attr(711,root,gdm) %dir %{_localstatedir}/log/gdm
|
||||
%ghost %dir %{_localstatedir}/cache/gdm
|
||||
%ghost %attr(711,root,gdm) %dir /run/gdm
|
||||
|
@ -1,4 +1,6 @@
|
||||
d /var/lib/gdm 0750 gdm gdm -
|
||||
d /var/lib/gdm/.pulse 0700 gdm gdm -
|
||||
C /var/lib/gdm/.pulse/default.pa 0600 gdm gdm - /usr/share/factory/var/lib/gdm/.pulse/default.pa
|
||||
d /var/log/gdm 0711 root gdm -
|
||||
d /var/cache/gdm 1755 root root -
|
||||
d /run/gdm 0711 root gdm -
|
||||
|
Loading…
Reference in New Issue
Block a user