import gnome-session-3.28.1-13.el8

This commit is contained in:
CentOS Sources 2021-10-06 04:49:14 -04:00 committed by Stepan Oksanichenko
parent b0468dd99a
commit 74ea09decd
4 changed files with 129 additions and 12 deletions

View File

@ -0,0 +1,90 @@
From 15be30033e5b24a8c84a4d4338da0e8a3930303a Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Tue, 14 Aug 2018 14:49:59 +0200
Subject: [PATCH] Fedora: Set grub boot-flags on shutdown / reboot
Fedora's grub will automatically hide the boot-menu if the previous
boot has set the boot_success flag in grub's environment. This happens
automatically 30 seconds after login.
But if the user shuts down or reboots from the system-menu before then
(e.g. directly from gdm) then the boot_success flag gets not set. If
a reboot / shutdown is initiated through gnome-session then the user
is successfully interacting with the system, so set the boot_success
flag from gnome_session for this case to fix reboot from gdm leading to
the boot-menu not being hidden.
---
gnome-session/gsm-manager.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/gnome-session/gsm-manager.c b/gnome-session/gsm-manager.c
index 3cf421cd..924767af 100644
--- a/gnome-session/gsm-manager.c
+++ b/gnome-session/gsm-manager.c
@@ -3629,51 +3629,63 @@ on_shutdown_prepared (GsmSystem *system,
gboolean success,
GsmManager *manager)
{
g_debug ("GsmManager: on_shutdown_prepared, success: %d", success);
g_signal_handlers_disconnect_by_func (system, on_shutdown_prepared, manager);
if (success) {
/* move to end-session phase */
g_assert (manager->priv->phase == GSM_MANAGER_PHASE_QUERY_END_SESSION);
manager->priv->phase++;
start_phase (manager);
} else {
disconnect_shell_dialog_signals (manager);
gsm_shell_close_end_session_dialog (manager->priv->shell);
/* back to running phase */
cancel_end_session (manager);
}
}
static gboolean
do_query_end_session_exit (GsmManager *manager)
{
gboolean reboot = FALSE;
gboolean shutdown = FALSE;
switch (manager->priv->logout_type) {
case GSM_MANAGER_LOGOUT_LOGOUT:
break;
case GSM_MANAGER_LOGOUT_REBOOT:
case GSM_MANAGER_LOGOUT_REBOOT_INTERACT:
+ /*
+ * Fedora specific patch to make sure the boot-menu does not
+ * show when it is configured to auto-hide and a reboot is
+ * initiated directly from gdm.
+ */
+ system("/usr/sbin/grub2-set-bootflag boot_success");
reboot = TRUE;
break;
case GSM_MANAGER_LOGOUT_SHUTDOWN:
case GSM_MANAGER_LOGOUT_SHUTDOWN_INTERACT:
+ /*
+ * Fedora specific patch to make sure the boot-menu does not
+ * show when it is configured to auto-hide and a shutdown is
+ * initiated directly from gdm.
+ */
+ system("/usr/sbin/grub2-set-bootflag boot_success");
shutdown = TRUE;
break;
default:
g_warning ("Unexpected logout type %d in do_query_end_session_exit()",
manager->priv->logout_type);
break;
}
if (reboot || shutdown) {
g_signal_connect (manager->priv->system, "shutdown-prepared",
G_CALLBACK (on_shutdown_prepared), manager);
gsm_system_prepare_shutdown (manager->priv->system, reboot);
return FALSE; /* don't leave query end session yet */
}
return TRUE; /* go to end session phase */
}
--
2.31.1

View File

@ -0,0 +1,3 @@
Section "ServerFlags"
Option "DontVTSwitch" "on"
EndSection

View File

@ -1,15 +1,15 @@
[Desktop Entry]
Name[de]=Standard (X11 Anzeige-Server) unter Xorg
Name[es]=Estándar (servidor gráfico X11) en Xorg
Name[fr]=Standard (serveur affichage X11) sur Xorg
Name[it]=Standard (server grafico X11) su Xorg
Name[ja]=Xorg (X11 )
Name[ko]=Xorg (X11 )
Name[pt_BR]=Padrão (servidor de exibição X11) no Xorg
Name[ru]=Стандартный (дисплейный сервер X11) на Xorg
Name[zh_CN]=Xorg X11
Name[zh_TW]=XorgX11
Name=Standard (X11 display server) on Xorg
Name[de]=Standard (X11 Anzeige-Server)
Name[es]=Estándar (servidor gráfico X11)
Name[fr]=Standard (serveur affichage X11)
Name[it]=Standard (server grafico X11)
Name[ja]= (X11 )
Name[ko]= (X11 )
Name[pt_BR]=Padrão (servidor de exibição X11)
Name[ru]=Стандартный (дисплейный сервер X11)
Name[zh_CN]=X11
Name[zh_TW]=X11
Name=Standard (X11 display server)
Comment[de]=Diese Sitzung meldet Sie bei GNOME an
Comment[es]=Esta sesión accede a GNOME
Comment[fr]=Cette session vous connecte dans GNOME

View File

@ -9,7 +9,7 @@
Name: gnome-session
Version: 3.28.1
Release: 10%{?dist}
Release: 13%{?dist}
Summary: GNOME session manager
License: GPLv2+
@ -22,6 +22,7 @@ Source4: com.redhat.Kiosk.Script.desktop
Source5: com.redhat.Kiosk.desktop
Source6: redhat-kiosk.session
Source7: redhat-kiosk
Source8: 20-redhat-kiosk.conf
Patch0: 0001-gnome-session-don-t-validate-shell-before-using-it.patch
@ -33,6 +34,10 @@ Patch4: 0001-check-accelerated-gles-Use-eglGetPlatformDisplay-EXT.patch
Patch10001: 0001-session-selector-show-cursor-explicitly.patch
# Downstream patch to provide better grub integration
# https://bugzilla.redhat.com/show_bug.cgi?id=1914925
Patch20001: 0001-Fedora-Set-grub-boot-flags-on-shutdown-reboot.patch
BuildRequires: meson
BuildRequires: gcc
BuildRequires: pkgconfig(egl)
@ -120,6 +125,7 @@ Desktop file to add basic session used for setting up kiosk applications.
# Rename GNOME to Standard
cp $RPM_SOURCE_DIR/gnome.desktop $RPM_BUILD_ROOT%{_datadir}/wayland-sessions
cp $RPM_SOURCE_DIR/gnome.desktop $RPM_BUILD_ROOT%{_datadir}/wayland-sessions/gnome-wayland.desktop
cp $RPM_SOURCE_DIR/gnome-xorg.desktop $RPM_BUILD_ROOT%{_datadir}/xsessions
cp $RPM_SOURCE_DIR/gnome-xorg.desktop $RPM_BUILD_ROOT%{_datadir}/xsessions/gnome.desktop
@ -128,6 +134,7 @@ install -D $RPM_SOURCE_DIR/com.redhat.Kiosk.Script.desktop -t $RPM_BUILD_ROOT%{_
install -D $RPM_SOURCE_DIR/com.redhat.Kiosk.desktop -t $RPM_BUILD_ROOT%{_datadir}/xsessions
install -D $RPM_SOURCE_DIR/redhat-kiosk.session -t $RPM_BUILD_ROOT%{_datadir}/gnome-session/sessions
install -D $RPM_SOURCE_DIR/redhat-kiosk -t $RPM_BUILD_ROOT%{_bindir}
install -D $RPM_SOURCE_DIR/20-redhat-kiosk.conf -t $RPM_BUILD_ROOT%{_datadir}/X11/xorg.conf.d
%find_lang %{po_package}
@ -135,6 +142,7 @@ install -D $RPM_SOURCE_DIR/redhat-kiosk -t $RPM_BUILD_ROOT%{_bindir}
%files xsession
%{_datadir}/xsessions/*
%exclude %{_datadir}/xsessions/com.redhat.Kiosk.desktop
%files wayland-session
%{_datadir}/wayland-sessions/*
@ -144,6 +152,7 @@ install -D $RPM_SOURCE_DIR/redhat-kiosk -t $RPM_BUILD_ROOT%{_bindir}
%{_datadir}/applications/com.redhat.Kiosk.Script.desktop
%{_datadir}/xsessions/com.redhat.Kiosk.desktop
%{_datadir}/gnome-session/sessions/redhat-kiosk.session
%{_datadir}/X11/xorg.conf.d/20-redhat-kiosk.conf
%{_bindir}/redhat-kiosk
%files -f %{po_package}.lang
@ -162,6 +171,21 @@ install -D $RPM_SOURCE_DIR/redhat-kiosk -t $RPM_BUILD_ROOT%{_bindir}
%{_datadir}/glib-2.0/schemas/org.gnome.SessionManager.gschema.xml
%changelog
* Mon Jul 26 2021 Ray Strode <rstrode@redhat.com> - 3.28.1-13
- Add patch to tell grub boot was successful when user is
able to explicitly request shutdown/reboot.
Resolves: #1914925
* Tue Jul 20 2021 Ray Strode <rstrode@redhat.com> - 3.28.1-12
- Introduce gnome-wayland session to allow users that use
Xorg on the login screen to try wayland for the user session.
Related: #1962211
* Fri Jun 04 2021 Ray Strode <rstrode@redhat.com> - 3.28.1-11
- Exclude kiosk-session from xsession subpackage
- Disable VT switching when kiosk-session is installed
Related: #1955754
* Mon Jun 29 2020 Ray Strode <rstrode@redhat.com> - 3.28.1-10
- Show cursor explicitly from session selector
Resolves: #1624430