[packages/gdm/no-x11] - update to 50.1; whole X11 support removed except for non-GNOME X11 sessions

qboosh qboosh at pld-linux.org
Thu Jul 23 09:51:26 CEST 2026


commit 1f8c6bfdb11868da26a48119fb8d008d72a72f77
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Thu Jul 23 09:51:21 2026 +0200

    - update to 50.1; whole X11 support removed except for non-GNOME X11 sessions

 display-fallback.patch     | 19 ---------------
 gdm-defaults.patch         | 25 -------------------
 gdm-greeter-username.patch | 11 +++++++++
 gdm-xdmcp.patch            | 11 ---------
 gdm.spec                   | 61 ++++++++--------------------------------------
 5 files changed, 21 insertions(+), 106 deletions(-)
---
diff --git a/gdm.spec b/gdm.spec
index 8ac2c35..930fd98 100644
--- a/gdm.spec
+++ b/gdm.spec
@@ -16,13 +16,13 @@ Summary(pt_BR.UTF-8):	Gerenciador de Entrada do GNOME
 Summary(ru.UTF-8):	Дисплейный менеджер GNOME
 Summary(uk.UTF-8):	Дисплейний менеджер GNOME
 Name:		gdm
-Version:	49.3
+Version:	50.1
 Release:	1
 Epoch:		2
 License:	GPL v2+
 Group:		X11/Applications
-Source0:	https://download.gnome.org/sources/gdm/49/%{name}-%{version}.tar.xz
-# Source0-md5:	f966997dbfd20ecdde100d05c13f06d5
+Source0:	https://download.gnome.org/sources/gdm/50/%{name}-%{version}.tar.xz
+# Source0-md5:	aed5adf1f054c76b5a4da739887f30c1
 Source1:	%{name}.pamd
 Source2:	%{name}.init
 Source3:	%{name}-pld-logo.png
@@ -32,11 +32,9 @@ Source6:	%{name}-default.desktop
 Source9:	%{name}.tmpfiles
 Source10:	%{name}-fingerprint.pamd
 Source11:	%{name}-launch-environment.pamd
-Patch0:		%{name}-xdmcp.patch
+Patch0:		%{name}-greeter-username.patch
 Patch1:		%{name}-xsession.patch
-Patch2:		%{name}-defaults.patch
 Patch3:		%{name}-both-libraries.patch
-Patch4:		display-fallback.patch
 URL:		https://wiki.gnome.org/Projects/GDM
 BuildRequires:	accountsservice-devel >= 0.6.35
 BuildRequires:	audit-libs-devel
@@ -45,40 +43,28 @@ BuildRequires:	dconf-devel
 BuildRequires:	gettext-tools >= 0.19.8
 BuildRequires:	glib2-devel >= %{glib2_ver}
 BuildRequires:	gobject-introspection-devel >= 0.9.12
-BuildRequires:	gtk+3-devel >= 3.0.0
 BuildRequires:	iso-codes
 BuildRequires:	json-glib-devel >= 1.2.0
 BuildRequires:	keyutils-devel >= 1.6
-BuildRequires:	libcanberra-gtk3-devel >= 0.4
 BuildRequires:	libgudev-devel >= 232
 BuildRequires:	libselinux-devel
 BuildRequires:	libstdc++-devel
-BuildRequires:	libwrap-devel
-BuildRequires:	libxcb-devel
 BuildRequires:	meson >= 0.57
 BuildRequires:	ninja >= 1.5
 BuildRequires:	pam-devel
 BuildRequires:	pkgconfig
 BuildRequires:	plymouth-devel
+BuildRequires:	polkit-devel
 BuildRequires:	rpmbuild(find_lang) >= 1.23
 BuildRequires:	rpmbuild(macros) >= 2.042
-# >= 1:257 for userdb support
+# TODO: >= 1:257 for userdb support
 BuildRequires:	systemd-devel >= 1:209
 BuildRequires:	tar >= 1:1.22
 BuildRequires:	udev-devel
-BuildRequires:	xorg-lib-libX11-devel
 BuildRequires:	xorg-lib-libXau-devel
-BuildRequires:	xorg-lib-libXdmcp-devel
-BuildRequires:	xorg-lib-libXext-devel
-BuildRequires:	xorg-lib-libXft-devel
-BuildRequires:	xorg-lib-libXi-devel
-BuildRequires:	xorg-lib-libXinerama-devel
-# for "XServer disables tcp access by default" detection
-BuildRequires:	xorg-xserver-server-devel >= 1.17
 BuildRequires:	xz
 BuildRequires:	yelp-tools
 Requires(post,postun):	glib2 >= %{glib2_ver}
-Requires(post,postun):	gtk-update-icon-cache
 Requires(postun):	/usr/sbin/groupdel
 Requires(postun):	/usr/sbin/userdel
 Requires(pre):	/bin/id
@@ -88,21 +74,17 @@ Requires(posttrans):	dconf
 Requires:	%{name}-libs = %{epoch}:%{version}-%{release}
 Requires:	/usr/bin/X
 Requires:	accountsservice >= 0.6.35
-Requires:	dbus-x11
 Requires:	gdm-wm >= 3.2.1
 Requires:	glib2 >= %{glib2_ver}
 Requires:	gnome-session >= 3.26.0
 Requires:	gnome-settings-daemon >= 3.26.0
-Requires:	hicolor-icon-theme
 Requires:	iso-codes
 Requires:	json-glib >= 1.2.0
-Requires:	libcanberra-gtk3 >= 0.4
 Requires:	libgudev >= 232
 Requires:	pam >= 0.99.7.1
 Requires:	polkit-gnome >= 0.93
 Requires:	which
 Requires:	xinitrc-ng >= 1.0
-Requires:	xorg-app-sessreg
 Requires:	xorg-app-xmodmap
 Suggests:	ConsoleKit-x11 >= 0.4.1
 Suggests:	pam-pam_gnome_keyring
@@ -216,9 +198,7 @@ Pakiet zawiera statyczne biblioteki GDM.
 %setup -q
 %patch -P0 -p1
 %patch -P1 -p1
-%patch -P2 -p1
 %patch -P3 -p1
-%patch -P4 -p1
 
 %build
 %meson \
@@ -226,16 +206,11 @@ Pakiet zawiera statyczne biblioteki GDM.
 	-Dgdm-xsession=true \
 	-Dgroup=xdm \
 	-Dinitial-vt=9 \
-	-Dipv6=true \
 	-Dlibaudit=enabled \
 	-Dpam-mod-dir=/%{_lib}/security \
 	-Dpam-prefix=/etc \
 	-Dplymouth=enabled \
-	-Dselinux=enabled \
-	-Dtcp-wrappers=true \
-	-Dudev-dir=/lib/udev/rules.d \
-	-Duser=xdm \
-	-Dxdmcp=enabled
+	-Dselinux=enabled
 
 %meson_build
 
@@ -278,17 +253,7 @@ umask 022
 %groupadd -g 55 -r -f xdm
 %useradd -u 55 -r -d /home/services/xdm -s /bin/false -c "X Display Manager" -g xdm xdm
 
-%post
-%update_icon_cache hicolor
-%banner %{name} -e << EOF
-!!!!!!!!!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-! If you want to run Xorg sessions you have to give Xwrapper root permissons. !
-! To do this, set 'needs_root_rights = yes' in /etc/X11/Xwrapper.config       !
-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-EOF
-
 %postun
-%update_icon_cache hicolor
 if [ "$1" = "0" ]; then
 	%userremove xdm
 	%groupremove xdm
@@ -329,27 +294,20 @@ fi
 %doc AUTHORS MAINTAINERS NEWS README.md
 %attr(755,root,root) %{_sbindir}/gdm
 %attr(755,root,root) %{_bindir}/gdm-config
-%attr(755,root,root) %{_bindir}/gdmflexiserver
-%attr(755,root,root) %{_libexecdir}/gdm-host-chooser
+%attr(755,root,root) %{_libexecdir}/gdm-new-session
 %attr(755,root,root) %{_libexecdir}/gdm-runtime-config
 %attr(755,root,root) %{_libexecdir}/gdm-session-worker
-%attr(755,root,root) %{_libexecdir}/gdm-simple-chooser
 %attr(755,root,root) %{_libexecdir}/gdm-wayland-session
 %attr(755,root,root) %{_libexecdir}/gdm-x-session
 /%{_lib}/security/pam_gdm.so
 %dir %{_sysconfdir}/gdm
-%dir %{_sysconfdir}/gdm/Init
-%attr(755,root,root) %config %{_sysconfdir}/gdm/Init/Default
-%attr(755,root,root) %config %{_sysconfdir}/gdm/PreSession
-%attr(755,root,root) %config %{_sysconfdir}/gdm/PostSession
 %attr(755,root,root) %config %{_sysconfdir}/gdm/Xsession
-%dir %{_sysconfdir}/gdm/PostLogin
-%config %{_sysconfdir}/gdm/PostLogin/Default.sample
 %attr(640,root,xdm) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gdm/custom.conf
 %config(noreplace) %verify(not md5 mtime size) /etc/dbus-1/system.d/gdm.conf
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/gdm-*
 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.gdm
 %{_datadir}/dconf/profile/gdm
+%{_datadir}/polkit-1/actions/org.gnome.displaymanager.policy
 %{_datadir}/polkit-1/rules.d/20-gdm.rules
 %dir %{systemduserunitdir}/gnome-session at gnome-login.target.d
 %{systemduserunitdir}/gnome-session at gnome-login.target.d/gnome-login.session.conf
@@ -370,6 +328,7 @@ fi
 %defattr(644,root,root,755)
 %attr(754,root,root) /etc/rc.d/init.d/gdm
 %{systemdunitdir}/gdm.service
+%{systemdunitdir}/gnome-headless-session at .service
 
 %files libs
 %defattr(644,root,root,755)
diff --git a/display-fallback.patch b/display-fallback.patch
deleted file mode 100644
index e2eaaae..0000000
--- a/display-fallback.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- gdm-48.0/daemon/gdm-local-display-factory.c~	2025-03-17 17:07:15.000000000 +0100
-+++ gdm-48.0/daemon/gdm-local-display-factory.c	2025-05-10 01:44:03.026665878 +0200
-@@ -347,14 +347,14 @@
-                 return NULL;
- #endif
- 
--        if (!should_fall_back || fallback_display_server == NULL) {
-                 if (display_server_enabled (factory, preferred_display_server))
-                       g_ptr_array_add (session_types_array, (gpointer) get_session_type_for_display_server (factory, preferred_display_server));
--        }
- 
- #ifdef ENABLE_X11_SUPPORT
-+    if (should_fall_back && fallback_display_server != NULL) {
-         if (display_server_enabled (factory, fallback_display_server))
-                 g_ptr_array_add (session_types_array, (gpointer) get_session_type_for_display_server (factory, fallback_display_server));
-+    }
- #endif
- 
-         if (session_types_array->len == 0)
diff --git a/gdm-defaults.patch b/gdm-defaults.patch
deleted file mode 100644
index b220660..0000000
--- a/gdm-defaults.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- gdm-47.0/meson.build.orig	2024-09-26 18:51:02.857969320 +0200
-+++ gdm-47.0/meson.build	2024-09-26 18:54:27.126862700 +0200
-@@ -95,20 +95,8 @@ if have_x11_support
-   # Xserver 1.17 & later default to -nolisten and require -listen for remote access
-   xserver_deps = dependency('xorg-server', version : '>=1.17', required : false)
-   xserver_has_listen = xserver_deps.found()
--  find_x_server_script = find_program('build-aux/find-x-server.sh', native: true)
--  find_x_server_out = run_command(find_x_server_script).stdout().strip()
--  if find_x_server_out != ''
--    x_bin = find_x_server_out
--    x_bin_path_split = x_bin.split('/')
--    i = 0
--    x_path = '/'
--    foreach dir : x_bin_path_split
--      if i < x_bin_path_split.length() - 1
--        x_path = x_path / dir
--      endif
--      i = i + 1
--    endforeach
--  endif
-+  x_bin = '/usr/bin/X'
-+  x_path = '/usr/bin'
- 
-   xdmcp_dep = cc.find_library('Xdmcp', required: get_option('xdmcp'))
-   have_xdmcp = xdmcp_dep.found()
diff --git a/gdm-greeter-username.patch b/gdm-greeter-username.patch
new file mode 100644
index 0000000..b900e67
--- /dev/null
+++ b/gdm-greeter-username.patch
@@ -0,0 +1,11 @@
+--- gdm-50.1/daemon/gdm-launch-environment.c.orig	2026-05-28 16:22:49.000000000 +0200
++++ gdm-50.1/daemon/gdm-launch-environment.c	2026-07-23 09:35:42.004141874 +0200
+@@ -51,7 +51,7 @@
+ #include "gdm-settings-keys.h"
+ 
+ #define GDM_GREETER_SESSION "gnome-greeter"
+-#define GDM_GREETER_USERNAME "gdm-greeter"
++#define GDM_GREETER_USERNAME "xdm"
+ #define GDM_GREETER_DISP_NAME "GDM Greeter"
+ 
+ #define INITIAL_SETUP_SESSION "gnome-initial-setup"
diff --git a/gdm-xdmcp.patch b/gdm-xdmcp.patch
deleted file mode 100644
index 9b3e7b8..0000000
--- a/gdm-xdmcp.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- gdm-2.24.0.orig/daemon/gdm-server.c	2008-10-03 00:53:12.000000000 +0200
-+++ gdm-2.24.0/daemon/gdm-server.c	2008-10-03 00:53:57.000000000 +0200
-@@ -419,7 +419,7 @@
-         g_debug ("GdmServer: Opening logfile for server %s", log_path);
- 
-         VE_IGNORE_EINTR (g_unlink (log_path));
--        VE_IGNORE_EINTR (logfd = open (log_path, O_CREAT|O_APPEND|O_TRUNC|O_WRONLY|O_EXCL, 0644));
-+        VE_IGNORE_EINTR (logfd = open (log_path, O_CREAT|O_APPEND|O_TRUNC|O_WRONLY|O_EXCL, 0640));
- 
-         g_free (log_path);
- 
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/gdm.git/commitdiff/1f8c6bfdb11868da26a48119fb8d008d72a72f77



More information about the pld-cvs-commit mailing list