Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gdm for openSUSE:Factory checked in at 2026-04-10 17:47:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gdm (Old) and /work/SRC/openSUSE:Factory/.gdm.new.21863 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gdm" Fri Apr 10 17:47:15 2026 rev:296 rq:1345433 version:50.0 Changes: -------- --- /work/SRC/openSUSE:Factory/gdm/gdm.changes 2026-02-01 22:03:15.691102368 +0100 +++ /work/SRC/openSUSE:Factory/.gdm.new.21863/gdm.changes 2026-04-10 17:49:16.724579508 +0200 @@ -1,0 +2,105 @@ +Wed Mar 25 01:28:31 UTC 2026 - Xiaoguang Wang <[email protected]> + +- Fix packages for %suse_version bump (jsc#PED-15853). + +------------------------------------------------------------------- +Mon Mar 23 08:31:37 UTC 2026 - Dominique Leuenberger <[email protected]> + +- Migrate to xz compression and manual service run + +------------------------------------------------------------------- +Sat Mar 14 10:19:29 UTC 2026 - Bjørn Lie <[email protected]> + +- Update to version 50.0: + + With systemd v260+, remote desktop sessions and local sessions + in the background will be granted access to the GPU. This + allows remote sessions to have accelerated graphics on distros + that restrict the permissions on the GPU's device nodes. + + Updated translations. + +------------------------------------------------------------------- +Tue Mar 3 07:34:08 UTC 2026 - Dominique Leuenberger <[email protected]> + +- Update to version 50.rc: + + Changed remote desktop plumbing (i.e., the CreateRemoteDisplay + method) to accept a hostname, so that we can correctly + communicate this information to PAM and to wtmp/utpm/btmp. + + Minor performance optimization for $GDM_DEBUG_JSON_REQUESTS + + Updated translations. + +------------------------------------------------------------------- +Tue Feb 10 13:52:46 UTC 2026 - Dominique Leuenberger <[email protected]> + +- Update to version 50.beta: + + Add support for "unified" authentication mechanism. + Histrionically, each authentication method went through its + own PAM conversation. Now, we also support running a single PAM + conversation that runs multiple authentication methods at once. + This requires support from PAM modules like pam_sss + + Introduce debugging for JSON PAM messages via + $GDM_DEBUG_JSON_REQUESTS env var + + Re-introduce a timeout while waiting for primary GPU to appear. + There are edge cases where there is a GPU (and thus Wayland + will work) but none is labeled as primary. Once the timeout + expires we stop waiting for the primary GPU and just launch the + session on any available GPU. + + Authentication failures caused by PAM services reporting + themselves as unavailable are no longer reported as failed + authentication attempts. For instance, fingerprint sensor + timeouts are reported as a service unavailable error, and we + would previously log that as a failed authentication attempt. + + "Service Unavailable" errors from PAM modules are no longer + treated as failed login attempts. Most notably, such errors are + returned by fprintd whenever the fingerprint sensor times out. + + GDM now tries to shut down the session whenever the PAM worker + process crashes + + Partially un-merged the session and display registration steps + that were merged in 50.alpha, due to bugs that the change + introduced + + Misc. other bug fixes +- Changes from version 50.alpha.1: + + Corrected Git mishap. The 50.alpha tag points at a commit that + never made it to the main branch. 50.alpha.1 corrects this. + Make sure to look at the changelog for 50.alpha for news about + what's new in this release! + + Fixups to the README + + Dropped vistigial `udev-dir` meson option +- Changes from version 50.alpha: + + Fixed bug where we'd lose track of the user session failure + counter + + Special sessions (like GDM, initial-setup) are now loaded from + .desktop files rather than being hard-coded into GDM + + Entirely removed X11 support, except for the ability to launch + other desktops' X11 sessions with a per-user X server. This + means that features like XDCMP and system-wide Xserver are + gone, and that GDM's own sessions will always run with + Wayland. + + Consequently, we removed the ability to compile GDM without + Wayland support + + Introduced a new `gnome-headless-session@<username>.service`, + which makes it easier to start a headless graphical session + (i.e. for RDP purposes) + + Merged display and session registration into one step, because + the previous approach didn't work right for Wayland. This + allowed us to remove workarounds that caused bugs + + Reworked wtmp/utmp/btmp fields to contain more useful values, + especially on Wayland and with headless RDP sessions + + Dropped final usages of the `gdm`/`gdm3` user, so distros no + longer need to create it for us (GDM now entirely relies on + dynamically allocated users) + + Adapted to changes in gnome-shell's systemd unit files, and + dropped hard-coded gnome-shell session modes. It's now easier + for custom/kiosk sessions to use custom gnome-shell session + modes + + Added support for Linux 6.18's new `boot_display` sysfs + attribute, which replaces the `boot_vga` attribute. These + attributes allow GDM to identify the primary GPU, but modern + AMD cards cannot use `boot_vga` because they no longer have VGA + support! + + Fixed bug where we failed to propagate some environment + variables into the greeter's Pipewire instance +- Drop gdm-xauthlocalhostname.patch and gdm-suse-xsession.patch: no + longer applicable as XSession is no longer supported. +- Drop gdmflexiserver subpackage: no longer applicable. + +------------------------------------------------------------------- Old: ---- gdm-49.2.obscpio gdm-suse-xsession.patch gdm-xauthlocalhostname.patch gdmflexiserver-wrapper New: ---- _scmsync.obsinfo build.specials.obscpio gdm-50.0.tar.xz ----------(Old B)---------- Old: variables into the greeter's Pipewire instance - Drop gdm-xauthlocalhostname.patch and gdm-suse-xsession.patch: no longer applicable as XSession is no longer supported. Old: variables into the greeter's Pipewire instance - Drop gdm-xauthlocalhostname.patch and gdm-suse-xsession.patch: no longer applicable as XSession is no longer supported. ----------(Old E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gdm.spec ++++++ --- /var/tmp/diff_new_pack.DpgmFh/_old 2026-04-10 17:49:18.516653253 +0200 +++ /var/tmp/diff_new_pack.DpgmFh/_new 2026-04-10 17:49:18.516653253 +0200 @@ -27,21 +27,19 @@ %endif Name: gdm -Version: 49.2 +Version: 50.0 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: %{name}-%{version}.tar.zst +Source0: %{name}-%{version}.tar.xz Source1: gdm.pamd Source2: gdm-autologin.pamd Source3: gdm-launch-environment.pamd Source4: gdm-fingerprint.pamd Source5: gdm-smartcard.pamd -# gdmflexiserver wrapper, to enable other display managers to abuse the gdmflexiserver namespace (like lightdm) -Source6: gdmflexiserver-wrapper # /etc/xinit.d/xdm integration script Source7: X11-displaymanager-gdm # Use tmpfiles to create directories under /var to support transactional updates @@ -60,10 +58,6 @@ Source21: keytable.in # PATCH-FIX-OPENSUSE gdm-sysconfig-settings.patch bnc432360 bsc#919723 [email protected] -- 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 [email protected] -- Use the /etc/X11/xdm/* scripts -Patch2: gdm-suse-xsession.patch -# PATCH-FIX-OPENSUSE gdm-xauthlocalhostname.patch bnc#538064 [email protected] -- 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 # PATCH-FIX-OPENSUSE gdm-switch-to-tty1.patch bsc#1113700 [email protected] -- switch to tty1 when stopping gdm service Patch5: gdm-switch-to-tty1.patch # PATCH-FIX-OPENSUSE gdm-initial-setup-hardening.patch boo#1140851, glgo#GNOME/gnome-initial-setup#76 [email protected] -- Prevent gnome-initial-setup running if any regular user has perviously logged into the system @@ -116,7 +110,6 @@ BuildRequires: pkgconfig(xrandr) Requires: %{name}-branding = %{version} Requires: displaymanager-sysconfig -Requires: gdmflexiserver Requires: gnome-session-core Requires: gnome-settings-daemon Requires: gnome-shell @@ -228,18 +221,6 @@ This package is only needed if the system administrator wishes to use 'systemctl' instead of openSUSE's default 'update-alternatives' method. -%package -n gdmflexiserver -Summary: Compatibility Wrapper for Display Managers -Group: System/GUI/GNOME -Suggests: gdm -BuildArch: noarch - -%description -n gdmflexiserver -The GDMFlexiServer tool interacts with the display manager to -enable fast user switching. This package contains a wrapper that -selects the correct Gdmflexiserver implementation, based on the -running display manager. - %lang_package %prep @@ -248,7 +229,7 @@ %autopatch -p1 -m 1 -M 999 ### SLE and Leap only patches start at 1000 -%if !0%{?is_opensuse} || 0%{?suse_version} <= 1600 +%if !0%{?is_opensuse} || 0%{?suse_version} < 1699 ## Use this when there's no need to skip patches. %autopatch -p1 -m 1000 %endif @@ -258,9 +239,7 @@ --libexecdir=%{_libexecdir}/gdm \ -Dat-spi-registryd-dir=%{_libexecdir}/at-spi \ -Dgdm-xsession=true \ - -Dgnome-settings-daemon-dir=%{_libexecdir}/gnome-settings-daemon-3.0 \ -Dinitial-vt=7 \ - -Dipv6=true \ -Dpam-mod-dir=%{_pam_moduledir} \ -Ddbus-sys=%{_datadir}/dbus-1/system.d \ -Ddistro=generic \ @@ -271,11 +250,6 @@ %else -Dsplit-authentication=false \ %endif - -Dudev-dir=%{_udevrulesdir} \ - -Dwayland-support=true \ -%if !0%{?is_opensuse} - -Dx11-support=false \ -%endif %nil %meson_build %sysusers_generate_pre %{SOURCE11} gdm gdm.conf @@ -312,12 +286,6 @@ # The default gdm pam configuration is the one to be used as pam-password too ln -s gdm %{buildroot}%{_pam_vendordir}/gdm-password ## Install other files -# Install PostLogin script. -mv %{buildroot}%{_sysconfdir}/gdm/PostLogin/Default.sample %{buildroot}%{_sysconfdir}/gdm/PostLogin/Default -# Move gdmflexiserver to libexecdir and replace it with the compatibility wrapper -mv %{buildroot}%{_bindir}/gdmflexiserver %{buildroot}%{_libexecdir}/gdm/gdmflexiserver -install -m 755 %{SOURCE6} %{buildroot}%{_bindir}/gdmflexiserver -sed -e 's-@LIBEXECDIR@-%{_libexecdir}-g' -i %{buildroot}%{_bindir}/gdmflexiserver #Install /etc/xinit.d/xdm integration script install -D -m 644 %{SOURCE7} %{buildroot}%{_prefix}/lib/X11/displaymanagers/gdm mkdir -p %{buildroot}%{_sysconfdir}/alternatives @@ -430,7 +398,6 @@ %{_pam_moduledir}/pam_gdm.so %dir %{_libexecdir}/gdm %{_libexecdir}/gdm/gdm-* -%{_libexecdir}/gdm/gdmflexiserver %ghost %attr(750,gdm,gdm) %dir %{_localstatedir}/lib/gdm %if 0%{?is_opensuse} %attr(0700, gdm, gdm) %ghost %dir %{_localstatedir}/lib/gdm/.pulse @@ -449,12 +416,14 @@ %_config_norepl %{_pam_vendordir}/gdm-launch-environment %{_datadir}/dbus-1/system.d/gdm.conf %{_datadir}/polkit-1/rules.d/20-gdm.rules +%{_datadir}/polkit-1/actions/org.gnome.displaymanager.policy %{_tmpfilesdir}/gdm.conf %{_sysusersdir}/gdm.conf %dir %{_prefix}/lib/systemd/logind.conf.d %{_prefix}/lib/systemd/logind.conf.d/reserveVT.conf %dir %{_userunitdir}/[email protected] %{_userunitdir}/[email protected]/gnome-login.session.conf +%{_unitdir}/[email protected] %files xdm-integration # /etc/xinit.d/xdm integration @@ -486,8 +455,5 @@ %{_unitdir}/gdm.service %{_libexecdir}/gdm/keytable -%files -n gdmflexiserver -%{_bindir}/gdmflexiserver - %files lang -f %{name}.lang ++++++ _scmsync.obsinfo ++++++ mtime: 1775655312 commit: 79db3d3be3c2ab72fe3aceb28e8b1c7371a620f0c2badc2df8b2d1e94013794b url: https://src.opensuse.org/GNOME/gdm revision: 79db3d3be3c2ab72fe3aceb28e8b1c7371a620f0c2badc2df8b2d1e94013794b projectscmsync: https://src.opensuse.org/GNOME/_ObsPrj ++++++ _service ++++++ --- /var/tmp/diff_new_pack.DpgmFh/_old 2026-04-10 17:49:18.588656216 +0200 +++ /var/tmp/diff_new_pack.DpgmFh/_new 2026-04-10 17:49:18.592656381 +0200 @@ -3,18 +3,17 @@ <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">49.2</param> + <param name="revision">50.0</param> <param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param> <param name="versionrewrite-pattern">(.*)\+0</param> <param name="versionrewrite-replacement">\1</param> -<!-- <param name="changesgenerate">enable</param> --> + <!-- <param name="changesgenerate">enable</param> --> </service> - <service name="tar" mode="buildtime"/> - <service name="recompress" mode="buildtime"> + <service name="tar" mode="manual"/> + <service name="recompress" mode="manual"> <param name="file">*.tar</param> - <param name="compression">zst</param> + <param name="compression">xz</param> </service> - <service name="set_version" mode="manual" /> + <service name="set_version" mode="manual"/> </services> - ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2026-04-08 15:37:03.000000000 +0200 @@ -0,0 +1,5 @@ +*.obscpio +*.osc +_build.* +.pbuild +osc-collab.* ++++++ gdm-initial-setup-hardening.patch ++++++ --- /var/tmp/diff_new_pack.DpgmFh/_old 2026-04-10 17:49:18.756663129 +0200 +++ /var/tmp/diff_new_pack.DpgmFh/_new 2026-04-10 17:49:18.760663295 +0200 @@ -1,8 +1,8 @@ -Index: gdm-49.beta/daemon/gdm-display.c +Index: gdm-50.beta/daemon/gdm-display.c =================================================================== ---- 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 +--- gdm-50.beta.orig/daemon/gdm-display.c ++++ gdm-50.beta/daemon/gdm-display.c +@@ -1081,12 +1081,12 @@ can_create_environment (const char *sess return session_exists; } @@ -18,7 +18,7 @@ return TRUE; return FALSE; -@@ -1641,7 +1641,7 @@ wants_initial_setup (GdmDisplay *self) +@@ -1168,7 +1168,7 @@ wants_initial_setup (GdmDisplay *self) priv = gdm_display_get_instance_private (self); @@ -27,11 +27,11 @@ return FALSE; } -Index: gdm-49.beta/daemon/gdm-manager.c +Index: gdm-50.beta/daemon/gdm-manager.c =================================================================== ---- gdm-49.beta.orig/daemon/gdm-manager.c -+++ gdm-49.beta/daemon/gdm-manager.c -@@ -62,7 +62,7 @@ +--- gdm-50.beta.orig/daemon/gdm-manager.c ++++ gdm-50.beta/daemon/gdm-manager.c +@@ -61,7 +61,7 @@ #define GDM_MANAGER_PATH GDM_DBUS_PATH "/Manager" #define GDM_MANAGER_DISPLAYS_PATH GDM_DBUS_PATH "/Displays" @@ -40,52 +40,52 @@ #define INITIAL_SETUP_EXPORT_DIR GDM_RUN_DIR "/gnome-initial-setup" typedef struct -@@ -1837,6 +1837,7 @@ on_start_user_session (StartUserSessionO - gboolean fail_if_already_switched = TRUE; - GdmDisplay *display; +@@ -1551,6 +1551,7 @@ on_start_user_session (StartUserSessionO const char *session_id; + gboolean doing_initial_setup = FALSE; + uid_t allowed_uid; + int fd = -1; g_debug ("GdmManager: start or jump to session"); -@@ -1879,22 +1880,21 @@ on_start_user_session (StartUserSessionO - "doing-initial-setup", &doing_initial_setup, - NULL); - -+ fd = open(BLOCK_INITIAL_SETUP, O_RDONLY|O_CREAT|O_EXCL|O_NOFOLLOW|O_CLOEXEC, 0644); -+ if (fd == -1 && errno != EEXIST) { -+ g_warning ("GdmDisplay: Could not write initial-setup-done marker to %s: %s", -+ BLOCK_INITIAL_SETUP, -+ strerror(errno)); -+ } -+ else { -+ close(fd); -+ } +@@ -1580,22 +1581,20 @@ on_start_user_session (StartUserSessionO + "doing-initial-setup", &doing_initial_setup, + NULL); + ++ fd = open(BLOCK_INITIAL_SETUP, O_RDONLY|O_CREAT|O_EXCL|O_NOFOLLOW|O_CLOEXEC, 0644); ++ if (fd == -1 && errno != EEXIST) { ++ g_warning ("GdmDisplay: Could not write initial-setup-done marker to %s: %s", ++ BLOCK_INITIAL_SETUP, ++ strerror(errno)); ++ } ++ else { ++ close(fd); ++ } + - g_object_ref (display); - if (doing_initial_setup) { -- g_autoptr(GError) error = NULL; - - g_debug ("GdmManager: closing down initial setup display in background"); - g_object_set (G_OBJECT (display), "status", GDM_DISPLAY_WAITING_TO_FINISH, NULL); + g_object_ref (display); + if (doing_initial_setup) { +- g_autoptr(GError) error = NULL; +- + g_debug ("GdmManager: closing down initial setup display in background"); + g_object_set (G_OBJECT (display), "status", GDM_DISPLAY_WAITING_TO_FINISH, NULL); - -- if (!g_file_set_contents (ALREADY_RAN_INITIAL_SETUP_ON_THIS_BOOT, -- "1", -- 1, -- &error)) { -- g_warning ("GdmDisplay: Could not write initial-setup-done marker to %s: %s", -- ALREADY_RAN_INITIAL_SETUP_ON_THIS_BOOT, -- error->message); -- g_clear_error (&error); -- } - } else { - g_debug ("GdmManager: session has its display server, reusing our server for another login screen"); - } -Index: gdm-49.beta/daemon/meson.build +- if (!g_file_set_contents (ALREADY_RAN_INITIAL_SETUP_ON_THIS_BOOT, +- "1", +- 1, +- &error)) { +- g_warning ("GdmDisplay: Could not write initial-setup-done marker to %s: %s", +- ALREADY_RAN_INITIAL_SETUP_ON_THIS_BOOT, +- error->message); +- g_clear_error (&error); +- } + } else { + g_debug ("GdmManager: session has its display server, reusing our server for another login screen"); + } +Index: gdm-50.beta/daemon/meson.build =================================================================== ---- gdm-49.beta.orig/daemon/meson.build -+++ gdm-49.beta/daemon/meson.build -@@ -235,6 +235,7 @@ endif +--- gdm-50.beta.orig/daemon/meson.build ++++ gdm-50.beta/daemon/meson.build +@@ -215,6 +215,7 @@ endif gdm_daemon = executable('gdm', [ gdm_daemon_sources, gdm_daemon_gen_sources ], ++++++ gdm-switch-to-tty1.patch ++++++ --- /var/tmp/diff_new_pack.DpgmFh/_old 2026-04-10 17:49:18.852667080 +0200 +++ /var/tmp/diff_new_pack.DpgmFh/_new 2026-04-10 17:49:18.856667245 +0200 @@ -1,8 +1,10 @@ ---- a/daemon/main.c -+++ b/daemon/main.c -@@ -61,6 +61,31 @@ static GdmSettings *settings = - static uid_t gdm_uid = -1; - static gid_t gdm_gid = -1; +Index: gdm-50.beta/daemon/main.c +=================================================================== +--- gdm-50.beta.orig/daemon/main.c ++++ gdm-50.beta/daemon/main.c +@@ -60,6 +60,31 @@ static GdmManager *manager = + static int name_id = -1; + static GdmSettings *settings = NULL; +#define SHELLSCRIPT "\ +/bin/bash -c \ @@ -32,7 +34,7 @@ static gboolean timed_exit_cb (GMainLoop *loop) { -@@ -263,6 +288,12 @@ on_shutdown_signal_cb (gpointer user_dat +@@ -176,6 +201,12 @@ on_shutdown_signal_cb (gpointer user_dat return FALSE; } @@ -45,7 +47,7 @@ static gboolean on_sighup_cb (gpointer user_data) { -@@ -387,6 +418,7 @@ main (int argc, +@@ -298,6 +329,7 @@ main (int argc, g_main_loop_run (main_loop); g_debug ("GDM finished, cleaning up..."); @@ -53,7 +55,7 @@ g_clear_object (&manager); g_clear_object (&settings); -@@ -394,6 +426,10 @@ main (int argc, +@@ -305,6 +337,10 @@ main (int argc, gdm_settings_direct_shutdown (); gdm_log_shutdown (); ++++++ gdm-sysconfig-settings.patch ++++++ --- /var/tmp/diff_new_pack.DpgmFh/_old 2026-04-10 17:49:18.876668068 +0200 +++ /var/tmp/diff_new_pack.DpgmFh/_new 2026-04-10 17:49:18.880668233 +0200 @@ -1,8 +1,8 @@ -Index: gdm-49.rc/common/gdm-settings-system-backend.c +Index: gdm-50.beta/common/gdm-settings-system-backend.c =================================================================== --- /dev/null -+++ gdm-49.rc/common/gdm-settings-system-backend.c -@@ -0,0 +1,372 @@ ++++ gdm-50.beta/common/gdm-settings-system-backend.c +@@ -0,0 +1,339 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- + * + * Copyright (C) 2008 Hans Petter Jansson <[email protected]> @@ -47,7 +47,6 @@ + +#define SYSCONFIG_AUTOLOGIN_KEY "DISPLAYMANAGER_AUTOLOGIN" +#define SYSCONFIG_TCP_OPEN_KEY "DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN" -+#define SYSCONFIG_XDMCP_KEY "DISPLAYMANAGER_REMOTE_ACCESS" +#define SYSCONFIG_STARTS_XSERVER_KEY "DISPLAYMANAGER_STARTS_XSERVER" +/* Keys from sysconfig that have no equivalent in GDM: + * - DISPLAYMANAGER_ROOT_LOGIN_REMOTE @@ -136,26 +135,6 @@ + val = g_strdup (tcp_open ? "false" : "true"); + } + } -+ } else if (!strcasecmp (key, GDM_KEY_XDMCP_ENABLE)) { -+ if (priv->dirty_xdmcp) { -+ val = g_strdup (priv->set_xdmcp ? "true" : "false"); -+ } else { -+ gboolean xdmcp; -+ -+ if (gdm_sysconfig_get_value_boolean ((const gchar **) priv->lines, SYSCONFIG_XDMCP_KEY, &xdmcp)) { -+ val = g_strdup (xdmcp ? "true" : "false"); -+ } -+ } -+ } else if (!strcasecmp (key, GDM_KEY_SHOW_LOCAL_GREETER)) { -+ if (priv->dirty_show_local_greeter) { -+ val = g_strdup (priv->set_xdmcp ? "true" : "false"); -+ } else { -+ gboolean local_greeter; -+ -+ if (gdm_sysconfig_get_value_boolean ((const gchar **) priv->lines, SYSCONFIG_STARTS_XSERVER_KEY, &local_greeter)) { -+ val = g_strdup (local_greeter ? "true" : "false"); -+ } -+ } + } else { + g_set_error (error, GDM_SETTINGS_BACKEND_ERROR, GDM_SETTINGS_BACKEND_ERROR_KEY_NOT_FOUND, "Key not found"); + goto out; @@ -210,12 +189,6 @@ + backend->priv->set_tcp_open ? "yes" : "no"); + } + -+ if (backend->priv->dirty_xdmcp) { -+ if (!gdm_sysconfig_set_value_boolean (backend->priv->lines, SYSCONFIG_XDMCP_KEY, backend->priv->set_xdmcp)) -+ g_warning ("Unable to set key %s to '%s'.", SYSCONFIG_XDMCP_KEY, -+ backend->priv->set_xdmcp ? "yes" : "no"); -+ } -+ + if (backend->priv->dirty_show_local_greeter) { + if (!gdm_sysconfig_set_value_boolean (backend->priv->lines, SYSCONFIG_STARTS_XSERVER_KEY, backend->priv->set_show_local_greeter)) + g_warning ("Unable to set key %s to '%s'.", SYSCONFIG_STARTS_XSERVER_KEY, @@ -295,12 +268,6 @@ + /* beware: that's the opposite of the sysconfig key */ + priv->set_tcp_open = !value_to_boolean (value); + GDM_SETTINGS_SYSTEM_BACKEND (backend)->priv->dirty_tcp_open = TRUE; -+ } else if (!strcasecmp (key, GDM_KEY_XDMCP_ENABLE)) { -+ priv->set_xdmcp = value_to_boolean (value); -+ GDM_SETTINGS_SYSTEM_BACKEND (backend)->priv->dirty_xdmcp = TRUE; -+ } else if (!strcasecmp (key, GDM_KEY_SHOW_LOCAL_GREETER)) { -+ priv->set_show_local_greeter = value_to_boolean (value); -+ GDM_SETTINGS_SYSTEM_BACKEND (backend)->priv->dirty_show_local_greeter = TRUE; + } else { + g_set_error (error, GDM_SETTINGS_BACKEND_ERROR, GDM_SETTINGS_BACKEND_ERROR_KEY_NOT_FOUND, "Key not found"); + return FALSE; @@ -375,10 +342,10 @@ + + return GDM_SETTINGS_BACKEND (object); +} -Index: gdm-49.rc/common/gdm-settings-system-backend.h +Index: gdm-50.beta/common/gdm-settings-system-backend.h =================================================================== --- /dev/null -+++ gdm-49.rc/common/gdm-settings-system-backend.h ++++ gdm-50.beta/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 +403,10 @@ +G_END_DECLS + +#endif /* __GDM_SETTINGS_SYSTEM_BACKEND_H */ -Index: gdm-49.rc/common/gdm-settings.c +Index: gdm-50.beta/common/gdm-settings.c =================================================================== ---- gdm-49.rc.orig/common/gdm-settings.c -+++ gdm-49.rc/common/gdm-settings.c +--- gdm-50.beta.orig/common/gdm-settings.c ++++ gdm-50.beta/common/gdm-settings.c @@ -38,6 +38,7 @@ #include "gdm-settings.h" @@ -459,10 +426,10 @@ backend = gdm_settings_desktop_backend_new (GDM_RUNTIME_CONF); if (backend) settings->backends = g_list_prepend (settings->backends, backend); -Index: gdm-49.rc/common/gdm-sysconfig.c +Index: gdm-50.beta/common/gdm-sysconfig.c =================================================================== --- /dev/null -+++ gdm-49.rc/common/gdm-sysconfig.c ++++ gdm-50.beta/common/gdm-sysconfig.c @@ -0,0 +1,509 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- + * @@ -973,10 +940,10 @@ + g_strfreev (lines); + return result; +} -Index: gdm-49.rc/common/gdm-sysconfig.h +Index: gdm-50.beta/common/gdm-sysconfig.h =================================================================== --- /dev/null -+++ gdm-49.rc/common/gdm-sysconfig.h ++++ gdm-50.beta/common/gdm-sysconfig.h @@ -0,0 +1,43 @@ +/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- + * @@ -1021,10 +988,10 @@ +G_END_DECLS + +#endif /* __GDM_SYSCONFIG_H */ -Index: gdm-49.rc/data/gdm.conf-custom.in +Index: gdm-50.beta/data/gdm.conf-custom.in =================================================================== ---- gdm-49.rc.orig/data/gdm.conf-custom.in -+++ gdm-49.rc/data/gdm.conf-custom.in +--- gdm-50.beta.orig/data/gdm.conf-custom.in ++++ gdm-50.beta/data/gdm.conf-custom.in @@ -1,4 +1,7 @@ # GDM configuration storage +# @@ -1032,12 +999,12 @@ +# [daemon] - # Uncomment the line below to force the login screen to use Xorg -Index: gdm-49.rc/common/meson.build + +Index: gdm-50.beta/common/meson.build =================================================================== ---- gdm-49.rc.orig/common/meson.build -+++ gdm-49.rc/common/meson.build -@@ -6,9 +6,11 @@ libgdmcommon_src = files( +--- gdm-50.beta.orig/common/meson.build ++++ gdm-50.beta/common/meson.build +@@ -5,9 +5,11 @@ libgdmcommon_src = files( 'gdm-profile.c', 'gdm-settings-backend.c', 'gdm-settings-desktop-backend.c', ++++++ gdm.obsinfo ++++++ --- /var/tmp/diff_new_pack.DpgmFh/_old 2026-04-10 17:49:18.912669550 +0200 +++ /var/tmp/diff_new_pack.DpgmFh/_new 2026-04-10 17:49:18.916669714 +0200 @@ -1,5 +1,5 @@ name: gdm -version: 49.2 -mtime: 1764030180 -commit: 3f0572128a1178f21041d80d4b388c13069a678e +version: 50.0 +mtime: 1773441350 +commit: 7aa5c1a3d73b51b9ccf89c51d33bfa53cc57d52e
