Merge branch 'c8' into a8

This commit is contained in:
eabdullin 2023-05-16 06:49:05 +00:00 committed by Stepan Oksanichenko
commit 72c5987a3d
3 changed files with 124 additions and 6 deletions

View File

@ -0,0 +1,47 @@
From bd0488fe501bae74fae1fbb21566aa35f38aa6fc Mon Sep 17 00:00:00 2001
From: Felipe Borges <felipeborges@gnome.org>
Date: Wed, 15 Feb 2023 15:27:59 +0100
Subject: [PATCH] Make power-button-action always power off when chassis=server
Servers often don't support hibernation/suspend.
---
...rg.gnome.settings-daemon.plugins.power.gschema.xml.in | 2 +-
plugins/media-keys/gsd-media-keys-manager.c | 9 ++++++---
2 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in b/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in
index fc61d133..952104ed 100644
--- a/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in
+++ b/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in
@@ -39,7 +39,7 @@
<key name="power-button-action" enum="org.gnome.settings-daemon.GsdPowerButtonActionType">
<default>'suspend'</default>
<summary>Power button action</summary>
- <description>The action to take when the system power button is pressed. Virtual machines only honor the 'nothing' action, and will shutdown otherwise. Tablets always suspend, ignoring all the other action options.</description>
+ <description>The action to take when the system power button is pressed. Virtual machines and servers only honor the 'nothing' action, and will shutdown otherwise. Tablets always suspend, ignoring all the other action options.</description>
</key>
</schema>
</schemalist>
diff --git a/plugins/media-keys/gsd-media-keys-manager.c b/plugins/media-keys/gsd-media-keys-manager.c
index ac6f7ab4..46bdade6 100644
--- a/plugins/media-keys/gsd-media-keys-manager.c
+++ b/plugins/media-keys/gsd-media-keys-manager.c
@@ -2083,9 +2083,12 @@ do_config_power_button_action (GsdMediaKeysManager *manager,
if (manager->priv->power_button_disabled)
return;
- action_type = g_settings_get_enum (manager->priv->power_settings, "power-button-action");
- /* Always power off VMs, except when power-button-action is "nothing" */
- if (g_strcmp0 (manager->priv->chassis_type, "vm") == 0) {
+ action_type = g_settings_get_enum (manager->priv->power_settings, "power-button-action");
+ /* Always power off VMs and servers, except when power-button-action is "nothing" */
+ if (g_strcmp0 (manager->priv->chassis_type, "vm") == 0 ||
+ g_strcmp0 (manager->priv->chassis_type, "server")) {
+ g_warning ("Virtual machines and servers only honor the 'nothing' power-button-action, and will shutdown otherwise");
+
if (action_type != GSD_POWER_BUTTON_ACTION_NOTHING)
power_action (manager, "PowerOff", !in_lock_screen);
--
2.37.1

View File

@ -0,0 +1,59 @@
From 0e2c4aec104b65d2f8ea7167269e91c303908a6f Mon Sep 17 00:00:00 2001
From: Felipe Borges <felipeborges@gnome.org>
Date: Wed, 4 Jan 2023 15:30:15 +0100
Subject: [PATCH] power: Respect the "nothing" power-button-action for VMs
There are use-cases when one wants to forcefully make the guest ignore
poweroff requests from the hypervisor.
See https://bugzilla.redhat.com/2062051
See also https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/issues/46
---
...org.gnome.settings-daemon.plugins.power.gschema.xml.in | 2 +-
plugins/media-keys/gsd-media-keys-manager.c | 8 +++++---
2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in b/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in
index 93c704e9..fc61d133 100644
--- a/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in
+++ b/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in
@@ -39,7 +39,7 @@
<key name="power-button-action" enum="org.gnome.settings-daemon.GsdPowerButtonActionType">
<default>'suspend'</default>
<summary>Power button action</summary>
- <description>The action to take when the system power button is pressed. This action is hard-coded (and the setting ignored) on virtual machines (power off) and tablets (suspend).</description>
+ <description>The action to take when the system power button is pressed. Virtual machines only honor the 'nothing' action, and will shutdown otherwise. Tablets always suspend, ignoring all the other action options.</description>
</key>
</schema>
</schemalist>
diff --git a/plugins/media-keys/gsd-media-keys-manager.c b/plugins/media-keys/gsd-media-keys-manager.c
index a526d5cf..ac6f7ab4 100644
--- a/plugins/media-keys/gsd-media-keys-manager.c
+++ b/plugins/media-keys/gsd-media-keys-manager.c
@@ -2083,9 +2083,12 @@ do_config_power_button_action (GsdMediaKeysManager *manager,
if (manager->priv->power_button_disabled)
return;
- /* Always power off VMs when power off is pressed in the menus */
+ action_type = g_settings_get_enum (manager->priv->power_settings, "power-button-action");
+ /* Always power off VMs, except when power-button-action is "nothing" */
if (g_strcmp0 (manager->priv->chassis_type, "vm") == 0) {
- power_action (manager, "PowerOff", !in_lock_screen);
+ if (action_type != GSD_POWER_BUTTON_ACTION_NOTHING)
+ power_action (manager, "PowerOff", !in_lock_screen);
+
return;
}
@@ -2095,7 +2098,6 @@ do_config_power_button_action (GsdMediaKeysManager *manager,
return;
}
- action_type = g_settings_get_enum (manager->priv->power_settings, "power-button-action");
switch (action_type) {
case GSD_POWER_BUTTON_ACTION_SUSPEND:
action = GSD_POWER_ACTION_SUSPEND;
--
2.37.1

View File

@ -12,7 +12,7 @@
Name: gnome-settings-daemon
Version: 3.32.0
Release: 16%{?dist}.1.alma
Release: 19%{?dist}.alma
Summary: The daemon sharing settings from GNOME to GTK+/KDE applications
License: GPLv2+
@ -120,8 +120,12 @@ Patch50017: 0017-Update-translations.patch
Patch60001: 0001-power-Only-disable-Suspend-Hibernate-actions-inside-.patch
Patch70001: 0001-power-Avoid-automatic-logout-in-GDM-greeter.patch
Patch70002: 0002-power-Never-register-sleep-timeout-for-logout-in-GDM.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=2062051
Patch70001: 0001-power-Respect-the-nothing-power-button-action-for-VM.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=2018606
Patch70002: 0001-power-Avoid-automatic-logout-in-GDM-greeter.patch
Patch70003: 0002-power-Never-register-sleep-timeout-for-logout-in-GDM.patch
Patch70004: 0001-Make-power-button-action-always-power-off-when-chass.patch
%description
A daemon to share settings from GNOME to other applications. It also
@ -285,12 +289,20 @@ mkdir $RPM_BUILD_ROOT%{_libdir}/gnome-settings-daemon-3.0/gtk-modules
%{_libdir}/pkgconfig/gnome-settings-daemon.pc
%changelog
* Thu Jan 12 2023 Andrew Lukoshko <alukoshko@almalinux.org> - 3.32.0-16.el8_7.1.alma
* Tue May 16 2023 Andrew Lukoshko <alukoshko@almalinux.org> - 4.32.0-19.alma
- Disable subman plugin
* Thu Sep 08 2022 Felipe Borges <feborges@redhat.com> - 3.32.0-16.el8_7.1
* Fri Feb 17 2023 Felipe Borges <feborges@redhat.com> - 4.32.0-19
- Make power-button-action default to poweroff on servers
- Resolves: #1920829
* Tue Jan 24 2023 Felipe Borges <feborges@redhat.com> - 3.32.0-18
- Prevent automatic logout warning in greeter sessions
- Resolves: #2122962
- Resolves: #2018606
* Wed Jan 04 2023 Felipe Borges <feborges@redhat.com> - 3.32.0-17
- Make power-button-action respect the "nothing" action on VMs
- Resolves: #2062051
* Fri Sep 10 2021 Kalev Lember <klember@redhat.com> - 3.32.0-16
- Update pt_BR translations