SHA256
1
0
forked from pool/gdm

Accepting request 1073111 from GNOME:Next

Subbing RC in case upstream forget to do a stable bump
- Update to version 44.rc:
  + Lots of code clean ups.
  + Fix detection of virt on efi setups.
  + Fix btmp accounting on failed logins.
  + Ensure pam_close_session is called even if worker is killed.
  + Updated translations.
- Drop gdm-switch-user-tty7.patch: fixed upstream.
- Refresh patches with Quilt.
- Rebase gdm-xauthlocalhostname.patch due to code clean up commit:
  88d79fe24cda8623a4b460c0aa9628178c26f745.

OBS-URL: https://build.opensuse.org/request/show/1073111
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/gdm?expand=0&rev=515
This commit is contained in:
Dominique Leuenberger 2023-03-20 12:50:07 +00:00 committed by Git OBS Bridge
parent 1b2a835a8a
commit f4387cc926
15 changed files with 148 additions and 245 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:94d70d6ed7df59fa7fde4fd02fed1168593a8adce10fcee113c148d52b392294
size 830668

3
gdm-44.rc.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7716bd9e43956f8129999bdd68b36ce6e7024bc447945a583760382d3b527689
size 833240

View File

@ -8,12 +8,9 @@ X server will be started under root. The same way as if gdm was built with
--disable-user-display-server option. --disable-user-display-server option.
This allows system to run X server under root if and only-if necessary. This allows system to run X server under root if and only-if necessary.
--- --- a/daemon/gdm-local-display-factory.c
Index: gdm-41.0/daemon/gdm-local-display-factory.c +++ b/daemon/gdm-local-display-factory.c
=================================================================== @@ -384,6 +384,7 @@ gdm_local_display_factory_create_transie
--- gdm-41.0.orig/daemon/gdm-local-display-factory.c
+++ gdm-41.0/daemon/gdm-local-display-factory.c
@@ -371,6 +371,7 @@ gdm_local_display_factory_create_transie
preferred_display_server = get_preferred_display_server (factory); preferred_display_server = get_preferred_display_server (factory);
#ifdef ENABLE_USER_DISPLAY_SERVER #ifdef ENABLE_USER_DISPLAY_SERVER
@ -21,7 +18,7 @@ Index: gdm-41.0/daemon/gdm-local-display-factory.c
if (g_strcmp0 (preferred_display_server, "wayland") == 0 || if (g_strcmp0 (preferred_display_server, "wayland") == 0 ||
g_strcmp0 (preferred_display_server, "xorg") == 0) { g_strcmp0 (preferred_display_server, "xorg") == 0) {
g_auto(GStrv) session_types = NULL; g_auto(GStrv) session_types = NULL;
@@ -392,8 +393,9 @@ gdm_local_display_factory_create_transie @@ -405,8 +406,9 @@ gdm_local_display_factory_create_transie
NULL); NULL);
is_initial = TRUE; is_initial = TRUE;
} }
@ -32,7 +29,7 @@ Index: gdm-41.0/daemon/gdm-local-display-factory.c
if (display == NULL) { if (display == NULL) {
guint32 num; guint32 num;
@@ -401,7 +403,7 @@ gdm_local_display_factory_create_transie @@ -414,7 +416,7 @@ gdm_local_display_factory_create_transie
display = gdm_legacy_display_new (num); display = gdm_legacy_display_new (num);
} }
@ -41,7 +38,7 @@ Index: gdm-41.0/daemon/gdm-local-display-factory.c
if (display == NULL) { if (display == NULL) {
g_set_error_literal (error, g_set_error_literal (error,
@@ -776,6 +778,7 @@ ensure_display_for_seat (GdmLocalDisplay @@ -905,6 +907,7 @@ ensure_display_for_seat (GdmLocalDisplay
g_debug ("GdmLocalDisplayFactory: Adding display on seat %s", seat_id); g_debug ("GdmLocalDisplayFactory: Adding display on seat %s", seat_id);
#ifdef ENABLE_USER_DISPLAY_SERVER #ifdef ENABLE_USER_DISPLAY_SERVER
@ -49,7 +46,7 @@ Index: gdm-41.0/daemon/gdm-local-display-factory.c
if (g_strcmp0 (preferred_display_server, "wayland") == 0 || if (g_strcmp0 (preferred_display_server, "wayland") == 0 ||
g_strcmp0 (preferred_display_server, "xorg") == 0) { g_strcmp0 (preferred_display_server, "xorg") == 0) {
if (is_seat0) { if (is_seat0) {
@@ -786,6 +789,7 @@ ensure_display_for_seat (GdmLocalDisplay @@ -915,6 +918,7 @@ ensure_display_for_seat (GdmLocalDisplay
NULL); NULL);
} }
} }
@ -57,7 +54,7 @@ Index: gdm-41.0/daemon/gdm-local-display-factory.c
#endif #endif
if (display == NULL) { if (display == NULL) {
@@ -1080,6 +1084,10 @@ on_vt_changed (GIOChannel *source, @@ -1211,6 +1215,10 @@ on_vt_changed (GIOChannel *source,
g_debug ("GdmLocalDisplayFactory: VT changed from %u to %u", g_debug ("GdmLocalDisplayFactory: VT changed from %u to %u",
previous_vt, factory->active_vt); previous_vt, factory->active_vt);
@ -68,15 +65,15 @@ Index: gdm-41.0/daemon/gdm-local-display-factory.c
store = gdm_display_factory_get_display_store (GDM_DISPLAY_FACTORY (factory)); store = gdm_display_factory_get_display_store (GDM_DISPLAY_FACTORY (factory));
/* if the old VT was running a wayland login screen kill it /* if the old VT was running a wayland login screen kill it
@@ -1191,6 +1199,7 @@ gdm_local_display_factory_start_monitor @@ -1352,6 +1360,7 @@ gdm_local_display_factory_start_monitor
g_object_unref); #endif
#if defined(ENABLE_USER_DISPLAY_SERVER) #if defined(ENABLE_USER_DISPLAY_SERVER)
+ if (getenv ("GDM_DISABLE_USER_DISPLAY_SERVER") == NULL ) { + if (getenv ("GDM_DISABLE_USER_DISPLAY_SERVER") == NULL ) {
io_channel = g_io_channel_new_file ("/sys/class/tty/tty0/active", "r", NULL); io_channel = g_io_channel_new_file ("/sys/class/tty/tty0/active", "r", NULL);
if (io_channel != NULL) { if (io_channel != NULL) {
@@ -1201,6 +1210,7 @@ gdm_local_display_factory_start_monitor @@ -1362,6 +1371,7 @@ gdm_local_display_factory_start_monitor
on_vt_changed, on_vt_changed,
factory); factory);
} }
@ -84,72 +81,9 @@ Index: gdm-41.0/daemon/gdm-local-display-factory.c
#endif #endif
} }
@@ -1223,6 +1233,7 @@ gdm_local_display_factory_stop_monitor ( --- a/daemon/gdm-manager.c
factory->seat_properties_changed_id = 0; +++ b/daemon/gdm-manager.c
} @@ -1355,6 +1355,8 @@ set_up_automatic_login_session (GdmManag
#if defined(ENABLE_USER_DISPLAY_SERVER)
+ if (getenv ("GDM_DISABLE_USER_DISPLAY_SERVER") == NULL ) {
if (factory->active_vt_watch_id) {
g_source_remove (factory->active_vt_watch_id);
factory->active_vt_watch_id = 0;
@@ -1231,6 +1242,7 @@ gdm_local_display_factory_stop_monitor (
g_source_remove (factory->wait_to_finish_timeout_id);
factory->wait_to_finish_timeout_id = 0;
}
+ }
#endif
}
Index: gdm-41.0/daemon/gdm-session.c
===================================================================
--- gdm-41.0.orig/daemon/gdm-session.c
+++ gdm-41.0/daemon/gdm-session.c
@@ -3362,6 +3362,7 @@ gdm_session_get_display_mode (GdmSession
}
#ifdef ENABLE_USER_DISPLAY_SERVER
+ if (getenv ("GDM_DISABLE_USER_DISPLAY_SERVER") == NULL ) {
/* 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
@@ -3384,7 +3385,8 @@ gdm_session_get_display_mode (GdmSession
* are paused when handed out.
*/
return GDM_SESSION_DISPLAY_MODE_NEW_VT;
-#else
+//#else
+ } else {
#ifdef ENABLE_WAYLAND_SUPPORT
/* Wayland sessions are for now assumed to run in a
@@ -3395,6 +3397,7 @@ gdm_session_get_display_mode (GdmSession
}
#endif
return GDM_SESSION_DISPLAY_MODE_REUSE_VT;
+ }
#endif
}
Index: gdm-41.0/daemon/gdm-session-worker.c
===================================================================
--- gdm-41.0.orig/daemon/gdm-session-worker.c
+++ gdm-41.0/daemon/gdm-session-worker.c
@@ -1753,8 +1753,10 @@ jump_back_to_initial_vt (GdmSessionWorke
return;
#ifdef ENABLE_USER_DISPLAY_SERVER
+ if (getenv ("GDM_DISABLE_USER_DISPLAY_SERVER") == NULL ) {
jump_to_vt (worker, GDM_INITIAL_VT);
worker->priv->session_vt = 0;
+ }
#endif
}
Index: gdm-41.0/daemon/gdm-manager.c
===================================================================
--- gdm-41.0.orig/daemon/gdm-manager.c
+++ gdm-41.0/daemon/gdm-manager.c
@@ -1350,6 +1350,8 @@ set_up_automatic_login_session (GdmManag
"supported-session-types", supported_session_types, "supported-session-types", supported_session_types,
NULL); NULL);
@ -158,10 +92,8 @@ Index: gdm-41.0/daemon/gdm-manager.c
g_debug ("GdmManager: Starting automatic login conversation"); g_debug ("GdmManager: Starting automatic login conversation");
gdm_session_start_conversation (session, "gdm-autologin"); gdm_session_start_conversation (session, "gdm-autologin");
} }
Index: gdm-41.0/daemon/gdm-server.c --- a/daemon/gdm-server.c
=================================================================== +++ b/daemon/gdm-server.c
--- gdm-41.0.orig/daemon/gdm-server.c
+++ gdm-41.0/daemon/gdm-server.c
@@ -238,9 +238,9 @@ gdm_server_init_command (GdmServer *serv @@ -238,9 +238,9 @@ gdm_server_init_command (GdmServer *serv
/* For systemd, we don't have a log file but instead log to stdout, /* 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 */ so set it to the xserver's built-in default verbosity */
@ -174,8 +106,8 @@ Index: gdm-41.0/daemon/gdm-server.c
#endif #endif
if (g_access (SYSTEMD_X_SERVER, X_OK) < 0) { if (g_access (SYSTEMD_X_SERVER, X_OK) < 0) {
@@ -752,7 +752,7 @@ gdm_server_start (GdmServer *server) @@ -755,7 +755,7 @@ gdm_server_start (GdmServer *server)
GError **error = &local_error; g_return_val_if_fail (GDM_IS_SERVER (server), FALSE);
/* Hardcode the VT for the initial X server, but nothing else */ /* Hardcode the VT for the initial X server, but nothing else */
- if (server->is_initial) { - if (server->is_initial) {
@ -183,3 +115,31 @@ Index: gdm-41.0/daemon/gdm-server.c
vtarg = "vt" G_STRINGIFY (GDM_INITIAL_VT); 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
}
#ifdef ENABLE_USER_DISPLAY_SERVER
+ if (getenv ("GDM_DISABLE_USER_DISPLAY_SERVER") == NULL ) {
/* 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
* are paused when handed out.
*/
return GDM_SESSION_DISPLAY_MODE_NEW_VT;
-#else
+//#else
+ } else {
#ifdef ENABLE_WAYLAND_SUPPORT
/* Wayland sessions are for now assumed to run in a
@@ -3404,6 +3406,7 @@ gdm_session_get_display_mode (GdmSession
}
#endif
return GDM_SESSION_DISPLAY_MODE_REUSE_VT;
+ }
#endif
}

View File

@ -1,7 +1,5 @@
Index: gdm-43.0/daemon/gdm-session.c --- a/daemon/gdm-session.c
=================================================================== +++ b/daemon/gdm-session.c
--- gdm-43.0.orig/daemon/gdm-session.c
+++ gdm-43.0/daemon/gdm-session.c
@@ -43,6 +43,8 @@ @@ -43,6 +43,8 @@
#include <glib-object.h> #include <glib-object.h>
#include <gio/gio.h> #include <gio/gio.h>

View File

@ -1,8 +1,6 @@
Index: gdm-41.3/daemon/gdm-display.c --- a/daemon/gdm-display.c
=================================================================== +++ b/daemon/gdm-display.c
--- gdm-41.3.orig/daemon/gdm-display.c @@ -1653,6 +1653,9 @@ wants_initial_setup (GdmDisplay *self)
+++ gdm-41.3/daemon/gdm-display.c
@@ -1655,6 +1655,9 @@ wants_initial_setup (GdmDisplay *self)
gboolean enabled = FALSE; gboolean enabled = FALSE;
gboolean forced = FALSE; gboolean forced = FALSE;
@ -11,8 +9,8 @@ Index: gdm-41.3/daemon/gdm-display.c
+ +
priv = gdm_display_get_instance_private (self); priv = gdm_display_get_instance_private (self);
if (already_done_initial_setup ()) { if (already_done_initial_setup_on_this_boot ()) {
@@ -1691,6 +1694,16 @@ wants_initial_setup (GdmDisplay *self) @@ -1689,6 +1692,16 @@ wants_initial_setup (GdmDisplay *self)
return FALSE; return FALSE;
} }

View File

@ -1,8 +1,6 @@
Index: gdm-43.0/data/61-gdm.rules.in --- a/data/61-gdm.rules.in
=================================================================== +++ b/data/61-gdm.rules.in
--- gdm-43.0.orig/data/61-gdm.rules.in @@ -29,6 +29,16 @@ ATTR{vendor}=="0x1a03", ATTR{device}=="0
+++ gdm-43.0/data/61-gdm.rules.in
@@ -34,6 +34,16 @@ ATTR{vendor}=="0x1a03", ATTR{device}=="0
LABEL="gdm_pci_device_end" LABEL="gdm_pci_device_end"
@ -18,4 +16,4 @@ Index: gdm-43.0/data/61-gdm.rules.in
+ +
# disable Wayland if modesetting is disabled # disable Wayland if modesetting is disabled
KERNEL!="card[0-9]*", GOTO="gdm_nomodeset_end" KERNEL!="card[0-9]*", GOTO="gdm_nomodeset_end"
SUBSYSTEM!="drm", GOTO="gdm_nomodeset_end" KERNEL=="card[0-9]-*", GOTO="gdm_nomodeset_end"

View File

@ -1,8 +1,6 @@
Index: gdm-43.0/daemon/gdm-display.c --- a/daemon/gdm-display.c
=================================================================== +++ b/daemon/gdm-display.c
--- gdm-43.0.orig/daemon/gdm-display.c @@ -1554,12 +1554,12 @@ can_create_environment (const char *sess
+++ gdm-43.0/daemon/gdm-display.c
@@ -1556,12 +1556,12 @@ can_create_environment (const char *sess
return session_exists; return session_exists;
} }
@ -18,7 +16,7 @@ Index: gdm-43.0/daemon/gdm-display.c
return TRUE; return TRUE;
return FALSE; return FALSE;
@@ -1657,7 +1657,7 @@ wants_initial_setup (GdmDisplay *self) @@ -1658,7 +1658,7 @@ wants_initial_setup (GdmDisplay *self)
priv = gdm_display_get_instance_private (self); priv = gdm_display_get_instance_private (self);
@ -27,11 +25,9 @@ Index: gdm-43.0/daemon/gdm-display.c
return FALSE; return FALSE;
} }
Index: gdm-43.0/daemon/gdm-manager.c --- a/daemon/gdm-manager.c
=================================================================== +++ b/daemon/gdm-manager.c
--- gdm-43.0.orig/daemon/gdm-manager.c @@ -60,7 +60,7 @@
+++ gdm-43.0/daemon/gdm-manager.c
@@ -62,7 +62,7 @@
#define GDM_MANAGER_DISPLAYS_PATH GDM_DBUS_PATH "/Displays" #define GDM_MANAGER_DISPLAYS_PATH GDM_DBUS_PATH "/Displays"
#define INITIAL_SETUP_USERNAME "gnome-initial-setup" #define INITIAL_SETUP_USERNAME "gnome-initial-setup"
@ -40,7 +36,7 @@ Index: gdm-43.0/daemon/gdm-manager.c
typedef struct typedef struct
{ {
@@ -1786,6 +1786,7 @@ on_start_user_session (StartUserSessionO @@ -1793,6 +1793,7 @@ on_start_user_session (StartUserSessionO
gboolean doing_initial_setup = FALSE; gboolean doing_initial_setup = FALSE;
GdmDisplay *display; GdmDisplay *display;
const char *session_id; const char *session_id;
@ -48,7 +44,7 @@ Index: gdm-43.0/daemon/gdm-manager.c
g_debug ("GdmManager: start or jump to session"); g_debug ("GdmManager: start or jump to session");
@@ -1812,6 +1813,15 @@ on_start_user_session (StartUserSessionO @@ -1819,6 +1820,15 @@ on_start_user_session (StartUserSessionO
"doing-initial-setup", &doing_initial_setup, "doing-initial-setup", &doing_initial_setup,
NULL); NULL);
@ -64,7 +60,7 @@ Index: gdm-43.0/daemon/gdm-manager.c
if (doing_initial_setup) if (doing_initial_setup)
chown_initial_setup_home_dir (); chown_initial_setup_home_dir ();
@@ -1832,20 +1842,9 @@ on_start_user_session (StartUserSessionO @@ -1839,20 +1849,9 @@ on_start_user_session (StartUserSessionO
g_object_ref (display); g_object_ref (display);
if (doing_initial_setup) { if (doing_initial_setup) {
@ -85,10 +81,8 @@ Index: gdm-43.0/daemon/gdm-manager.c
} else { } else {
g_debug ("GdmManager: session has its display server, reusing our server for another login screen"); g_debug ("GdmManager: session has its display server, reusing our server for another login screen");
} }
Index: gdm-43.0/daemon/meson.build --- a/daemon/meson.build
=================================================================== +++ b/daemon/meson.build
--- gdm-43.0.orig/daemon/meson.build
+++ gdm-43.0/daemon/meson.build
@@ -210,6 +210,7 @@ endif @@ -210,6 +210,7 @@ endif
gdm_daemon = executable('gdm', gdm_daemon = executable('gdm',

View File

@ -1,8 +1,6 @@
Index: gdm-41.3/daemon/gdm-local-display-factory.c --- a/daemon/gdm-local-display-factory.c
=================================================================== +++ b/daemon/gdm-local-display-factory.c
--- gdm-41.3.orig/daemon/gdm-local-display-factory.c @@ -552,8 +552,10 @@ on_display_status_changed (GdmDisplay
+++ gdm-41.3/daemon/gdm-local-display-factory.c
@@ -541,8 +541,10 @@ on_display_status_changed (GdmDisplay
* ensures we get a new login screen when the user logs out, * ensures we get a new login screen when the user logs out,
* if there isn't one. * if there isn't one.
*/ */
@ -14,11 +12,9 @@ Index: gdm-41.3/daemon/gdm-local-display-factory.c
/* reset num failures */ /* reset num failures */
factory->num_failures = 0; factory->num_failures = 0;
Index: gdm-41.3/daemon/gdm-manager.c --- a/daemon/gdm-manager.c
=================================================================== +++ b/daemon/gdm-manager.c
--- gdm-41.3.orig/daemon/gdm-manager.c @@ -1553,7 +1553,8 @@ on_display_status_changed (GdmDisplay *d
+++ gdm-41.3/daemon/gdm-manager.c
@@ -1548,7 +1548,8 @@ on_display_status_changed (GdmDisplay *d
} }
#endif #endif
@ -26,5 +22,5 @@ Index: gdm-41.3/daemon/gdm-manager.c
+ if (getenv ("GDM_DISABLE_USER_DISPLAY_SERVER") == NULL ) + if (getenv ("GDM_DISABLE_USER_DISPLAY_SERVER") == NULL )
+ g_object_set_data (G_OBJECT (display), "gdm-user-session", NULL); + g_object_set_data (G_OBJECT (display), "gdm-user-session", NULL);
if (display == manager->priv->automatic_login_display) { if (display == manager->automatic_login_display) {
g_clear_weak_pointer (&manager->priv->automatic_login_display); g_clear_weak_pointer (&manager->automatic_login_display);

View File

@ -1,7 +1,5 @@
Index: gdm-40.0/data/meson.build --- a/data/meson.build
=================================================================== +++ b/data/meson.build
--- gdm-40.0.orig/data/meson.build
+++ gdm-40.0/data/meson.build
@@ -77,7 +77,6 @@ gdm_gnome_session_required_components = @@ -77,7 +77,6 @@ gdm_gnome_session_required_components =
'org.gnome.SettingsDaemon.Sharing', 'org.gnome.SettingsDaemon.Sharing',
'org.gnome.SettingsDaemon.Smartcard', 'org.gnome.SettingsDaemon.Smartcard',

View File

@ -1,7 +1,5 @@
Index: gdm-43.0/daemon/main.c --- a/daemon/main.c
=================================================================== +++ b/daemon/main.c
--- gdm-43.0.orig/daemon/main.c
+++ gdm-43.0/daemon/main.c
@@ -61,6 +61,31 @@ static GdmSettings *settings = @@ -61,6 +61,31 @@ static GdmSettings *settings =
static uid_t gdm_uid = -1; static uid_t gdm_uid = -1;
static gid_t gdm_gid = -1; static gid_t gdm_gid = -1;

View File

@ -1,23 +0,0 @@
From 89aa8f63555dd2e4a6b9fcdc49553e9feb231768 Mon Sep 17 00:00:00 2001
From: Xiaoguang Wang <xwang@suse.com>
Date: Tue, 5 Nov 2019 15:03:05 +0800
Subject: [PATCH] session-worker: Select GDM_INITIAL_VT tty for greeter session
Closes #532
---
daemon/gdm-session-worker.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Index: gdm-43.0/daemon/gdm-session-worker.c
===================================================================
--- gdm-43.0.orig/daemon/gdm-session-worker.c
+++ gdm-43.0/daemon/gdm-session-worker.c
@@ -2208,7 +2208,7 @@ set_up_for_new_vt (GdmSessionWorker *wor
return FALSE;
}
- if (worker->priv->display_is_initial) {
+ if (strcmp (worker->priv->service, "gdm-launch-environment") == 0) {
session_vt = GDM_INITIAL_VT;
} else {

View File

@ -1,7 +1,5 @@
Index: gdm-43.0/common/gdm-settings-system-backend.c
===================================================================
--- /dev/null --- /dev/null
+++ gdm-43.0/common/gdm-settings-system-backend.c +++ b/common/gdm-settings-system-backend.c
@@ -0,0 +1,372 @@ @@ -0,0 +1,372 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ * + *
@ -375,10 +373,8 @@ Index: gdm-43.0/common/gdm-settings-system-backend.c
+ +
+ return GDM_SETTINGS_BACKEND (object); + return GDM_SETTINGS_BACKEND (object);
+} +}
Index: gdm-43.0/common/gdm-settings-system-backend.h
===================================================================
--- /dev/null --- /dev/null
+++ gdm-43.0/common/gdm-settings-system-backend.h +++ b/common/gdm-settings-system-backend.h
@@ -0,0 +1,56 @@ @@ -0,0 +1,56 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ * + *
@ -436,10 +432,8 @@ Index: gdm-43.0/common/gdm-settings-system-backend.h
+G_END_DECLS +G_END_DECLS
+ +
+#endif /* __GDM_SETTINGS_SYSTEM_BACKEND_H */ +#endif /* __GDM_SETTINGS_SYSTEM_BACKEND_H */
Index: gdm-43.0/common/gdm-settings.c --- a/common/gdm-settings.c
=================================================================== +++ b/common/gdm-settings.c
--- gdm-43.0.orig/common/gdm-settings.c
+++ gdm-43.0/common/gdm-settings.c
@@ -38,6 +38,7 @@ @@ -38,6 +38,7 @@
#include "gdm-settings.h" #include "gdm-settings.h"
@ -448,7 +442,7 @@ Index: gdm-43.0/common/gdm-settings.c
struct _GdmSettings struct _GdmSettings
{ {
@@ -198,6 +199,10 @@ gdm_settings_reload (GdmSettings *settin @@ -203,6 +204,10 @@ gdm_settings_reload (GdmSettings *settin
if (backend) if (backend)
settings->backends = g_list_prepend (NULL, backend); settings->backends = g_list_prepend (NULL, backend);
@ -459,10 +453,8 @@ Index: gdm-43.0/common/gdm-settings.c
backend = gdm_settings_desktop_backend_new (GDM_RUNTIME_CONF); backend = gdm_settings_desktop_backend_new (GDM_RUNTIME_CONF);
if (backend) if (backend)
settings->backends = g_list_prepend (settings->backends, backend); settings->backends = g_list_prepend (settings->backends, backend);
Index: gdm-43.0/common/gdm-sysconfig.c
===================================================================
--- /dev/null --- /dev/null
+++ gdm-43.0/common/gdm-sysconfig.c +++ b/common/gdm-sysconfig.c
@@ -0,0 +1,484 @@ @@ -0,0 +1,484 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ * + *
@ -948,10 +940,8 @@ Index: gdm-43.0/common/gdm-sysconfig.c
+ g_strfreev (lines); + g_strfreev (lines);
+ return result; + return result;
+} +}
Index: gdm-43.0/common/gdm-sysconfig.h
===================================================================
--- /dev/null --- /dev/null
+++ gdm-43.0/common/gdm-sysconfig.h +++ b/common/gdm-sysconfig.h
@@ -0,0 +1,43 @@ @@ -0,0 +1,43 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*-
+ * + *
@ -996,10 +986,8 @@ Index: gdm-43.0/common/gdm-sysconfig.h
+G_END_DECLS +G_END_DECLS
+ +
+#endif /* __GDM_SYSCONFIG_H */ +#endif /* __GDM_SYSCONFIG_H */
Index: gdm-43.0/data/gdm.conf-custom.in --- a/data/gdm.conf-custom.in
=================================================================== +++ b/data/gdm.conf-custom.in
--- gdm-43.0.orig/data/gdm.conf-custom.in
+++ gdm-43.0/data/gdm.conf-custom.in
@@ -1,4 +1,7 @@ @@ -1,4 +1,7 @@
# GDM configuration storage # GDM configuration storage
+# +#
@ -1008,10 +996,8 @@ Index: gdm-43.0/data/gdm.conf-custom.in
[daemon] [daemon]
# Uncomment the line below to force the login screen to use Xorg # Uncomment the line below to force the login screen to use Xorg
Index: gdm-43.0/common/meson.build --- a/common/meson.build
=================================================================== +++ b/common/meson.build
--- gdm-43.0.orig/common/meson.build
+++ gdm-43.0/common/meson.build
@@ -5,9 +5,11 @@ libgdmcommon_src = files( @@ -5,9 +5,11 @@ libgdmcommon_src = files(
'gdm-profile.c', 'gdm-profile.c',
'gdm-settings-backend.c', 'gdm-settings-backend.c',

View File

@ -1,8 +1,6 @@
Index: gdm-43.0/common/gdm-common.c --- a/common/gdm-common.c
=================================================================== +++ b/common/gdm-common.c
--- gdm-43.0.orig/common/gdm-common.c @@ -619,6 +619,8 @@ gdm_get_script_environment (const char *
+++ gdm-43.0/common/gdm-common.c
@@ -613,6 +613,8 @@ gdm_get_script_environment (const char *
if (display_hostname) { if (display_hostname) {
g_hash_table_insert (hash, g_strdup ("REMOTE_HOST"), g_strdup (display_hostname)); g_hash_table_insert (hash, g_strdup ("REMOTE_HOST"), g_strdup (display_hostname));
@ -11,7 +9,7 @@ Index: gdm-43.0/common/gdm-common.c
} }
/* Runs as root */ /* Runs as root */
@@ -1079,3 +1081,14 @@ gdm_load_env_d (GdmLoadEnvVarFunc load_e @@ -1085,3 +1087,14 @@ gdm_load_env_d (GdmLoadEnvVarFunc load_e
gdm_load_env_dir (dir, load_env_func, expand_func, user_data); gdm_load_env_dir (dir, load_env_func, expand_func, user_data);
g_object_unref (dir); g_object_unref (dir);
} }
@ -26,10 +24,8 @@ Index: gdm-43.0/common/gdm-common.c
+ return g_strdup ("localhost"); + return g_strdup ("localhost");
+ } + }
+} +}
Index: gdm-43.0/common/gdm-common.h --- a/common/gdm-common.h
=================================================================== +++ b/common/gdm-common.h
--- gdm-43.0.orig/common/gdm-common.h
+++ gdm-43.0/common/gdm-common.h
@@ -70,6 +70,7 @@ char *gdm_generate_random_bytes @@ -70,6 +70,7 @@ char *gdm_generate_random_bytes
gboolean gdm_get_login_window_session_id (const char *seat_id, gboolean gdm_get_login_window_session_id (const char *seat_id,
char **session_id); char **session_id);
@ -38,11 +34,9 @@ Index: gdm-43.0/common/gdm-common.h
GPtrArray *gdm_get_script_environment (const char *username, GPtrArray *gdm_get_script_environment (const char *username,
const char *display_name, const char *display_name,
Index: gdm-43.0/daemon/gdm-display-access-file.c --- a/daemon/gdm-display-access-file.c
=================================================================== +++ b/daemon/gdm-display-access-file.c
--- gdm-43.0.orig/daemon/gdm-display-access-file.c @@ -449,13 +449,10 @@ _get_auth_info_for_display (GdmDisplayAc
+++ gdm-43.0/daemon/gdm-display-access-file.c
@@ -441,13 +441,10 @@ _get_auth_info_for_display (GdmDisplayAc
* *
* https://bugs.freedesktop.org/show_bug.cgi?id=43425 * https://bugs.freedesktop.org/show_bug.cgi?id=43425
*/ */
@ -59,15 +53,13 @@ Index: gdm-43.0/daemon/gdm-display-access-file.c
} else { } else {
*family = FamilyWild; *family = FamilyWild;
gdm_display_get_remote_hostname (display, address, NULL); gdm_display_get_remote_hostname (display, address, NULL);
Index: gdm-43.0/daemon/gdm-launch-environment.c --- a/daemon/gdm-launch-environment.c
=================================================================== +++ b/daemon/gdm-launch-environment.c
--- gdm-43.0.orig/daemon/gdm-launch-environment.c @@ -225,6 +225,11 @@ build_launch_environment (GdmLaunchEnvir
+++ gdm-43.0/daemon/gdm-launch-environment.c
@@ -224,6 +224,11 @@ build_launch_environment (GdmLaunchEnvir
g_hash_table_insert (hash, g_strdup ("GDM_SEAT_ID"), g_strdup (seat_id)); g_hash_table_insert (hash, g_strdup ("GDM_SEAT_ID"), g_strdup (seat_id));
} }
+ if (launch_environment->priv->x11_display_is_local) { + if (launch_environment->x11_display_is_local) {
+ g_hash_table_remove (hash, "XAUTHLOCALHOSTNAME"); + g_hash_table_remove (hash, "XAUTHLOCALHOSTNAME");
+ g_hash_table_insert (hash, g_strdup ("XAUTHLOCALHOSTNAME"), gdm_gethostname ()); + g_hash_table_insert (hash, g_strdup ("XAUTHLOCALHOSTNAME"), gdm_gethostname ());
+ } + }
@ -75,11 +67,9 @@ Index: gdm-43.0/daemon/gdm-launch-environment.c
g_hash_table_insert (hash, g_strdup ("RUNNING_UNDER_GDM"), g_strdup ("true")); 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 /* Now populate XDG_DATA_DIRS from env.d if we're running initial setup; this allows
Index: gdm-43.0/daemon/gdm-session.c --- a/daemon/gdm-session.c
=================================================================== +++ b/daemon/gdm-session.c
--- gdm-43.0.orig/daemon/gdm-session.c @@ -2751,6 +2751,14 @@ set_up_session_environment (GdmSession *
+++ gdm-43.0/daemon/gdm-session.c
@@ -2739,6 +2739,14 @@ set_up_session_environment (GdmSession *
} }
} }

View File

@ -1,3 +1,17 @@
-------------------------------------------------------------------
Thu Mar 9 23:04:15 UTC 2023 - Luciano Santos <luc14n0@opensuse.org>
- Update to version 44.rc:
+ Lots of code clean ups.
+ Fix detection of virt on efi setups.
+ Fix btmp accounting on failed logins.
+ Ensure pam_close_session is called even if worker is killed.
+ Updated translations.
- Drop gdm-switch-user-tty7.patch: fixed upstream.
- Refresh patches with Quilt.
- Rebase gdm-xauthlocalhostname.patch due to code clean up commit:
88d79fe24cda8623a4b460c0aa9628178c26f745.
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Jan 18 01:35:21 UTC 2023 - Yifan Jiang <yfjiang@suse.com> Wed Jan 18 01:35:21 UTC 2023 - Yifan Jiang <yfjiang@suse.com>

View File

@ -27,14 +27,14 @@
%endif %endif
Name: gdm Name: gdm
Version: 43.0 Version: 44.rc
Release: 0 Release: 0
Summary: The GNOME Display Manager Summary: The GNOME Display Manager
License: GPL-2.0-or-later License: GPL-2.0-or-later
Group: System/GUI/GNOME Group: System/GUI/GNOME
URL: https://wiki.gnome.org/Projects/GDM URL: https://wiki.gnome.org/Projects/GDM
Source0: https://download.gnome.org/sources/gdm/43/%{name}-%{version}.tar.xz Source0: https://download.gnome.org/sources/gdm/44/%{name}-%{version}.tar.xz
Source1: gdm.pamd Source1: gdm.pamd
Source2: gdm-autologin.pamd Source2: gdm-autologin.pamd
Source3: gdm-launch-environment.pamd Source3: gdm-launch-environment.pamd
@ -51,8 +51,10 @@ Source10: reserveVT.conf
# Use sysusers to create gdm system user # Use sysusers to create gdm system user
Source11: gdm.sysusers Source11: gdm.sysusers
# WARNING: do not remove/significantly change patch0 without updating the relevant patch in accountsservice too # 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
# 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) # 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)
Patch0: gdm-sysconfig-settings.patch Patch1: gdm-sysconfig-settings.patch
# PATCH-FIX-OPENSUSE gdm-suse-xsession.patch vuntz@novell.com -- Use the /etc/X11/xdm/* scripts # PATCH-FIX-OPENSUSE gdm-suse-xsession.patch vuntz@novell.com -- Use the /etc/X11/xdm/* scripts
Patch2: gdm-suse-xsession.patch Patch2: gdm-suse-xsession.patch
# PATCH-FIX-OPENSUSE gdm-default-wm.patch vuntz@novell.com -- Use sysconfig to know to which desktop to use by default # PATCH-FIX-OPENSUSE gdm-default-wm.patch vuntz@novell.com -- Use sysconfig to know to which desktop to use by default
@ -60,30 +62,28 @@ Patch3: gdm-default-wm.patch
# PATCH-FIX-OPENSUSE gdm-xauthlocalhostname.patch bnc#538064 vuntz@novell.com -- Set XAUTHLOCALHOSTNAME to current hostname when we authenticate, for local logins, to avoid issues in the session in case the hostname changes later one. See comment 24 in the bug. # PATCH-FIX-OPENSUSE gdm-xauthlocalhostname.patch bnc#538064 vuntz@novell.com -- Set XAUTHLOCALHOSTNAME to current hostname when we authenticate, for local logins, to avoid issues in the session in case the hostname changes later one. See comment 24 in the bug.
Patch4: gdm-xauthlocalhostname.patch Patch4: gdm-xauthlocalhostname.patch
# PATCH-FIX-OPENSUSE gdm-switch-to-tty1.patch bsc#1113700 xwang@suse.com -- switch to tty1 when stopping gdm service # PATCH-FIX-OPENSUSE gdm-switch-to-tty1.patch bsc#1113700 xwang@suse.com -- switch to tty1 when stopping gdm service
Patch6: gdm-switch-to-tty1.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 # 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
Patch9: gdm-initial-setup-hardening.patch Patch6: gdm-initial-setup-hardening.patch
# 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
Patch13: gdm-s390-not-require-g-s-d_wacom.patch
# PATCH-FIX-UPSTREAM gdm-switch-user-tty7.patch bsc#1155408 glgo#GNOME#gdm#532 xwang@suse.com -- Switch to tty7 when switch user
Patch14: gdm-switch-user-tty7.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 # PATCH-FIX-UPSTREAM gdm-disable-wayland-on-mgag200-chipsets.patch bsc#1162888 glgo#GNOME/mutter#57 qkzhu@suse.com -- Disable Wayland on mgag200 chipsets
Patch15: gdm-disable-wayland-on-mgag200-chipsets.patch Patch7: gdm-disable-wayland-on-mgag200-chipsets.patch
### NOTE: Keep please SLE-only patches at bottom (starting on 1000). ### 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. # 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 Patch1000: gdm-disable-gnome-initial-setup.patch
## TODO: This patch might need to be rebased/changed after the changes from the 44rc release.
# PATCH-FIX-SLE gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch bnc#1188912 jsc#SLE-17880 xwang@suse.com -- Add runtime option to start X under root instead of regular user. # PATCH-FIX-SLE gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch bnc#1188912 jsc#SLE-17880 xwang@suse.com -- Add runtime option to start X under root instead of regular user.
Patch1001: gdm-add-runtime-option-to-disable-starting-X-server-as-u.patch 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. # 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 Patch1002: gdm-restart-session-when-X-server-restart.patch
BuildRequires: check-devel BuildRequires: check-devel
# dconf and gnome-session-core are needed for directory ownership # dconf and gnome-session-core are needed for directory ownership
BuildRequires: dconf BuildRequires: dconf
BuildRequires: fdupes BuildRequires: fdupes
BuildRequires: gnome-common BuildRequires: gnome-common
BuildRequires: gnome-session-core BuildRequires: gnome-session-core
BuildRequires: meson >= 0.50.0 BuildRequires: meson >= 0.57
BuildRequires: pam-devel BuildRequires: pam-devel
BuildRequires: pkgconfig BuildRequires: pkgconfig
BuildRequires: sysuser-shadow BuildRequires: sysuser-shadow
@ -230,24 +230,20 @@ running display manager.
%lang_package %lang_package
%prep %prep
%setup -q # -N disables automatic patch application.
%patch0 -p1 %autosetup -N
%patch2 -p1 ### NON-SLE patches start from 0 to 999
%patch3 -p1 ## Use "autopatch -m 0 -M 999" when there's no need to skip patches.
%patch4 -p1 %autopatch -p1 -m 1 -M 999
%patch6 -p1
%patch9 -p1
%ifarch s390 s390x
%patch13 -p1
%endif
%patch14 -p1
%patch15 -p1
# SLE and Leap only patches start at 1000 %ifarch s390 s390x
%patch0 -p1
%endif
### SLE and Leap only patches start at 1000
%if 0%{?sle_version} %if 0%{?sle_version}
%patch1000 -p1 ## Use this when there's no need to skip patches.
%patch1001 -p1 %autopatch -p1 -m 1000
%patch1002 -p1
%endif %endif
%build %build