From ef2b25ad700871a6e4cff4a7be205fe211d06ffb Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Thu, 28 Oct 2021 04:21:16 +0000 Subject: [PATCH] import gdm-40.0-19.el8 --- ...ctory-pause-for-a-few-seconds-before.patch | 92 ------------------- SPECS/gdm.spec | 16 +++- 2 files changed, 12 insertions(+), 96 deletions(-) delete mode 100644 SOURCES/0001-local-display-factory-pause-for-a-few-seconds-before.patch diff --git a/SOURCES/0001-local-display-factory-pause-for-a-few-seconds-before.patch b/SOURCES/0001-local-display-factory-pause-for-a-few-seconds-before.patch deleted file mode 100644 index 9a5582a..0000000 --- a/SOURCES/0001-local-display-factory-pause-for-a-few-seconds-before.patch +++ /dev/null @@ -1,92 +0,0 @@ -From 903dd62114d24a90fe55a7cf42ea07233fe71879 Mon Sep 17 00:00:00 2001 -From: Ray Strode -Date: Mon, 29 Oct 2018 06:57:59 -0400 -Subject: [PATCH] local-display-factory: pause for a few seconds before - falling back to X - -logind currently gets confused if a session is started immediately as -one is shutting down. - -Workaround this problem by adding an artificial delay when falling -back to X. - -http://bugzilla.redhat.com/1643874 ---- - daemon/gdm-local-display-factory.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/daemon/gdm-local-display-factory.c b/daemon/gdm-local-display-factory.c -index eba38671..948c5d98 100644 ---- a/daemon/gdm-local-display-factory.c -+++ b/daemon/gdm-local-display-factory.c -@@ -653,60 +653,67 @@ ensure_display_for_seat (GdmLocalDisplayFactory *factory, - preferred_display_server = get_preferred_display_server (factory); - - if (g_strcmp0 (preferred_display_server, "none") == 0) { - g_debug ("GdmLocalDisplayFactory: Preferred display server is none, so not creating display"); - return; - } - - ret = sd_seat_can_graphical (seat_id); - - if (ret < 0) { - g_critical ("Failed to query CanGraphical information for seat %s", seat_id); - return; - } - - if (ret == 0) { - g_debug ("GdmLocalDisplayFactory: System doesn't currently support graphics"); - seat_supports_graphics = FALSE; - } else { - g_debug ("GdmLocalDisplayFactory: System supports graphics"); - seat_supports_graphics = TRUE; - } - - if (g_strcmp0 (seat_id, "seat0") == 0) { - is_seat0 = TRUE; - - falling_back = factory->num_failures > 0; - session_types = gdm_local_display_factory_get_session_types (factory, falling_back); - - g_debug ("GdmLocalDisplayFactory: New displays on seat0 will use %s%s", - session_types[0], falling_back? " fallback" : ""); -+ -+ if (falling_back) { -+ /* workaround logind race for now -+ * bug 1643874 -+ */ -+ g_usleep (2 * G_USEC_PER_SEC); -+ } - } else { - is_seat0 = FALSE; - - g_debug ("GdmLocalDisplayFactory: New displays on seat %s will use X11 fallback", seat_id); - /* Force legacy X11 for all auxiliary seats */ - seat_supports_graphics = TRUE; - session_types = g_strdupv ((char **) legacy_session_types); - } - - /* For seat0, we have a fallback logic to still try starting it after - * SEAT0_GRAPHICS_CHECK_TIMEOUT seconds. i.e. we simply continue even if - * CanGraphical is unset. - * This is ugly, but it means we'll come up eventually in some - * scenarios where no master device is present. - * Note that we'll force an X11 fallback even though there might be - * cases where an wayland capable device is present and simply not marked as - * master-of-seat. In these cases, this should likely be fixed in the - * udev rules. - * - * At the moment, systemd always sets CanGraphical for non-seat0 seats. - * This is because non-seat0 seats are defined by having master-of-seat - * set. This means we can avoid the fallback check for non-seat0 seats, - * which simplifies the code. - */ - if (is_seat0) { - if (!seat_supports_graphics) { - if (!factory->seat0_graphics_check_timed_out) { - if (factory->seat0_graphics_check_timeout_id == 0) { - g_debug ("GdmLocalDisplayFactory: seat0 doesn't yet support graphics. Waiting %d seconds to try again.", SEAT0_GRAPHICS_CHECK_TIMEOUT); - factory->seat0_graphics_check_timeout_id = g_timeout_add_seconds (SEAT0_GRAPHICS_CHECK_TIMEOUT, --- -2.27.0 - diff --git a/SPECS/gdm.spec b/SPECS/gdm.spec index 96a390d..23b7fdb 100644 --- a/SPECS/gdm.spec +++ b/SPECS/gdm.spec @@ -12,7 +12,7 @@ Name: gdm Epoch: 1 Version: 40.0 -Release: 17%{?dist} +Release: 19%{?dist} Summary: The GNOME Display Manager License: GPLv2+ @@ -46,7 +46,6 @@ Patch80001: 0001-local-display-factory-Don-t-try-to-respawn-displays-.patch Patch90001: 0001-session-worker-Set-session_vt-0-out-of-pam-uninitial.patch # Non-upstreamable workarounds -Patch66610001: 0001-local-display-factory-pause-for-a-few-seconds-before.patch Patch66620001: 0001-data-reap-gdm-sessions-on-shutdown.patch # Non-upstreamable integration patches @@ -120,7 +119,7 @@ Requires: libXau >= 1.0.4-4 Requires: pam >= 0:%{pam_version} Requires: /sbin/nologin Requires: setxkbmap -Requires: systemd >= 186 +Requires: systemd >= 239-50 Requires: system-logos Requires: xorg-x11-server-utils Requires: xorg-x11-xinit @@ -341,7 +340,7 @@ fi %{_libdir}/girepository-1.0/Gdm-1.0.typelib %{_libdir}/security/pam_gdm.so %{_libdir}/libgdm*.so* -%dir %{_localstatedir}/log/gdm +%attr(0711, root, gdm) %dir %{_localstatedir}/log/gdm %attr(1770, gdm, gdm) %dir %{_localstatedir}/lib/gdm %attr(0700, gdm, gdm) %dir %{_localstatedir}/lib/gdm/.config %attr(0700, gdm, gdm) %dir %{_localstatedir}/lib/gdm/.config/pulse @@ -367,6 +366,15 @@ fi %{_libdir}/pkgconfig/gdm-pam-extensions.pc %changelog +* Mon Oct 25 2021 Ray Strode - 40.0-19 +- Synchronize permission and group ownership for log dir between + rpm file manifest and daemon expectations. + Resolves: #1878119 + +* Mon Oct 25 2021 Ray Strode - 40.0-18 +- Drop usleep workaround for problem that's now fixed properly in systemd + Resolves: #1921732 + * Wed Oct 13 2021 Ray Strode - 40.0-17 - Properly switch VTs when jumping to multi-user target Related: #1988958