From 76126b00fb68d8887118a93b36c8cba49c9f20e3 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 21 Jul 2023 06:10:10 +0000 Subject: [PATCH 01/12] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- powerdevil.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/powerdevil.spec b/powerdevil.spec index e6edcd2..582ed76 100644 --- a/powerdevil.spec +++ b/powerdevil.spec @@ -2,7 +2,7 @@ Name: powerdevil Version: 5.27.6 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Manages the power consumption settings of a Plasma Shell License: GPLv2+ @@ -134,6 +134,9 @@ rm -fv %{buildroot}/%{_libdir}/libpowerdevil{configcommonprivate,core,ui}.so %{_kf5_qtplugindir}/powerdevil/action/powerdevil_*.so %changelog +* Fri Jul 21 2023 Fedora Release Engineering - 5.27.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Mon Jun 26 2023 Marc Deop i Argemí - 5.27.6-3 - Exclude enabling ddcutil on s390/s390x arches From 5a0592197303165bafd3ec0795b405f27e99597e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Deop=20i=20Argem=C3=AD?= Date: Tue, 1 Aug 2023 20:58:51 +0200 Subject: [PATCH 02/12] 5.27.7 --- powerdevil.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/powerdevil.spec b/powerdevil.spec index 582ed76..748eb05 100644 --- a/powerdevil.spec +++ b/powerdevil.spec @@ -1,8 +1,8 @@ %global kf5_version 5.82.0 Name: powerdevil -Version: 5.27.6 -Release: 4%{?dist} +Version: 5.27.7 +Release: 1%{?dist} Summary: Manages the power consumption settings of a Plasma Shell License: GPLv2+ @@ -134,6 +134,9 @@ rm -fv %{buildroot}/%{_libdir}/libpowerdevil{configcommonprivate,core,ui}.so %{_kf5_qtplugindir}/powerdevil/action/powerdevil_*.so %changelog +* Tue Aug 01 2023 Marc Deop i Argemí - 5.27.7-1 +- 5.27.7 + * Fri Jul 21 2023 Fedora Release Engineering - 5.27.6-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild diff --git a/sources b/sources index 678e7ac..8913b80 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (powerdevil-5.27.6.tar.xz) = 9dd18fc3246bc6371bc19ac7544b89de517d34c7773970e2eaacea69edcd94d28b1c7b9c12f036999a849f8b393a7ff1a4244a6f9888712bf4d34796f702436c +SHA512 (powerdevil-5.27.7.tar.xz) = 0df1028b3fe44d017255d6fc517d4ff8b9602b758c1535c066a07c2d1add37d45ad2d9067b0fecc4f705afea6b064fcb8eb5c6421704f58b391e68a56fd14bd5 From d0c8ba538ea06a117549906e066124d7c9eb0b4e Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Fri, 1 Sep 2023 17:42:10 -0700 Subject: [PATCH 03/12] Backport MR #230 to disable auto-suspend on VMs (#2232711) --- ...don-t-automatically-suspend-by-defau.patch | 168 ++++++++++++ 230.patch | 251 ++++++++++++++++++ powerdevil.spec | 11 +- 3 files changed, 429 insertions(+), 1 deletion(-) create mode 100644 0001-profiledefaults-don-t-automatically-suspend-by-defau.patch create mode 100644 230.patch diff --git a/0001-profiledefaults-don-t-automatically-suspend-by-defau.patch b/0001-profiledefaults-don-t-automatically-suspend-by-defau.patch new file mode 100644 index 0000000..0f3ac08 --- /dev/null +++ b/0001-profiledefaults-don-t-automatically-suspend-by-defau.patch @@ -0,0 +1,168 @@ +From 34f7c9315edf734a442bbf1ecf7f2264cc67c553 Mon Sep 17 00:00:00 2001 +From: Adam Williamson +Date: Fri, 1 Sep 2023 17:09:16 -0700 +Subject: [PATCH] profiledefaults: don't automatically suspend by default if + running in a virtual machine + +To avoid hangs in virtual environments which don't suppport suspension. +https://invent.kde.org/plasma/powerdevil/-/merge_requests/230 +from Natalie Clarius, rebased on 5.27.7. + +Signed-off-by: Adam Williamson +--- + daemon/powerdevilcore.cpp | 4 +++- + daemon/powerdevilpowermanagement.cpp | 17 +++++++++++++++++ + daemon/powerdevilpowermanagement.h | 1 + + daemon/powerdevilprofilegenerator.cpp | 10 +++++----- + daemon/powerdevilprofilegenerator.h | 2 +- + kcmodule/profiles/EditPage.cpp | 2 ++ + 6 files changed, 29 insertions(+), 7 deletions(-) + +diff --git a/daemon/powerdevilcore.cpp b/daemon/powerdevilcore.cpp +index 0791552c..5c4f8a7d 100644 +--- a/daemon/powerdevilcore.cpp ++++ b/daemon/powerdevilcore.cpp +@@ -24,6 +24,7 @@ + #include "powerdevilaction.h" + #include "powerdevilactionpool.h" + #include "powerdevilpolicyagent.h" ++#include "powerdevilpowermanagement.h" + #include "powerdevilprofilegenerator.h" + #include "powerdevil_debug.h" + +@@ -126,8 +127,9 @@ void Core::onBackendReady() + + // These are generated profiles, + const bool mobile = Kirigami::TabletModeWatcher::self()->isTabletMode(); ++ const bool vm = PowerDevil::PowerManagement::instance()->isVirtualMachine(); + +- ProfileGenerator::generateProfiles(mobile, toRam, toDisk); ++ ProfileGenerator::generateProfiles(mobile, vm, toRam, toDisk); + m_profilesConfig->reparseConfiguration(); + } + +diff --git a/daemon/powerdevilpowermanagement.cpp b/daemon/powerdevilpowermanagement.cpp +index 7b8e8d5d..ca4c9f07 100644 +--- a/daemon/powerdevilpowermanagement.cpp ++++ b/daemon/powerdevilpowermanagement.cpp +@@ -19,6 +19,7 @@ License along with this library. If not, see . + *********************************************************************/ + + #include "powerdevilpowermanagement.h" ++#include "powerdevil_debug.h" + + #include + #include +@@ -217,6 +218,22 @@ void PowerManagement::suspendThenHibernate() + QDBusConnection::sessionBus().asyncCall(message); + } + ++bool PowerManagement::isVirtualMachine() ++{ ++ QDBusMessage message = QDBusMessage::createMethodCall(QStringLiteral("org.freedesktop.systemd1"), ++ QStringLiteral("/org/freedesktop/systemd1"), ++ QStringLiteral("org.freedesktop.DBus.Properties"), ++ QStringLiteral("Get")); ++ message.setArguments({QStringLiteral("org.freedesktop.systemd1.Manager"), QStringLiteral("Virtualization")}); ++ QDBusReply reply = QDBusConnection::systemBus().call(message); ++ if (!reply.isValid() || reply.value().variant().isNull() || reply.value().variant().toString().isNull()) { ++ qCWarning(POWERDEVIL) << "Failed to get property Virtualization from systemd1 DBus service:" << reply.error().message(); ++ return false; ++ } ++ /* on bare-metal hardware this is the empty string, otherwise an identifier such as "kvm", "vmware", etc. */ ++ return !reply.value().variant().toString().isEmpty(); ++} ++ + bool PowerManagement::canSuspend() const + { + return d->canSuspend; +diff --git a/daemon/powerdevilpowermanagement.h b/daemon/powerdevilpowermanagement.h +index 84c99f19..14069708 100644 +--- a/daemon/powerdevilpowermanagement.h ++++ b/daemon/powerdevilpowermanagement.h +@@ -35,6 +35,7 @@ class Q_DECL_EXPORT PowerManagement : public QObject + public: + ~PowerManagement() override; + ++ bool isVirtualMachine(); + bool canSuspend() const; + bool canHibernate() const; + bool canHybridSuspend() const; +diff --git a/daemon/powerdevilprofilegenerator.cpp b/daemon/powerdevilprofilegenerator.cpp +index b3029e02..b70aa0d0 100644 +--- a/daemon/powerdevilprofilegenerator.cpp ++++ b/daemon/powerdevilprofilegenerator.cpp +@@ -29,7 +29,7 @@ + + namespace PowerDevil { + +-void ProfileGenerator::generateProfiles(bool mobile, bool toRam, bool toDisk) ++void ProfileGenerator::generateProfiles(bool mobile, bool vm, bool toRam, bool toDisk) + { + // Change critical action if default (hibernate) is unavailable + if (!toDisk) { +@@ -91,8 +91,8 @@ void ProfileGenerator::generateProfiles(bool mobile, bool toRam, bool toDisk) + } + + // Even on AC power, suspend after a rather long period of inactivity. Energy +- // is precious! +- if (toRam) { ++ // is precious! But not on VMs. ++ if (toRam && !vm) { + // on mobile, 7 minutes, on laptop 15 minutes + auto timeout = mobile ? 420000 : 900000; + KConfigGroup suspendSession(&acProfile, "SuspendSession"); +@@ -124,7 +124,7 @@ void ProfileGenerator::generateProfiles(bool mobile, bool toRam, bool toDisk) + } + + // Last but not least, we want to suspend after some inactivity +- if (toRam) { ++ if (toRam && !vm) { + // on mobile, 5 minute, on laptop 10 minutes + auto timeout = mobile ? 300000 : 600000; + KConfigGroup suspendSession(&batteryProfile, "SuspendSession"); +@@ -164,7 +164,7 @@ void ProfileGenerator::generateProfiles(bool mobile, bool toRam, bool toDisk) + // Last but not least, we want to suspend after a rather long period of inactivity + // on mobile by default never suspend, if device wants to suspend, it will enable + // using configuration overlay +- if (toRam) { ++ if (toRam && !vm) { + // config is in the miliseconds + KConfigGroup suspendSession(&lowBatteryProfile, "SuspendSession"); + suspendSession.writeEntry< uint >("idleTime", 300000); +diff --git a/daemon/powerdevilprofilegenerator.h b/daemon/powerdevilprofilegenerator.h +index 481caa73..6f5ffb48 100644 +--- a/daemon/powerdevilprofilegenerator.h ++++ b/daemon/powerdevilprofilegenerator.h +@@ -36,7 +36,7 @@ namespace ProfileGenerator + ToggleScreenOnOffMode = 128 + }; + +- void generateProfiles(bool isMobile, bool toRam, bool toDisk); ++ void generateProfiles(bool isMobile, bool isVM, bool toRam, bool toDisk); + } + + } +diff --git a/kcmodule/profiles/EditPage.cpp b/kcmodule/profiles/EditPage.cpp +index 22ed5d0e..bb4bfb80 100644 +--- a/kcmodule/profiles/EditPage.cpp ++++ b/kcmodule/profiles/EditPage.cpp +@@ -80,6 +80,7 @@ EditPage::EditPage(QWidget *parent, const QVariantList &args) + PowerDevil::ProfileGenerator::generateProfiles( + interface->isTabletMode(), + PowerDevil::PowerManagement::instance()->canSuspend(), ++ PowerDevil::PowerManagement::instance()->isVirtualMachine(), + PowerDevil::PowerManagement::instance()->canHibernate() + ); + m_profilesConfig->reparseConfiguration(); +@@ -199,6 +200,7 @@ void EditPage::restoreDefaultProfiles() + PowerDevil::ProfileGenerator::generateProfiles( + interface->isTabletMode(), + PowerDevil::PowerManagement::instance()->canSuspend(), ++ PowerDevil::PowerManagement::instance()->isVirtualMachine(), + PowerDevil::PowerManagement::instance()->canHibernate() + ); + +-- +2.41.0 + diff --git a/230.patch b/230.patch new file mode 100644 index 0000000..03ada2a --- /dev/null +++ b/230.patch @@ -0,0 +1,251 @@ +From 1dcab6586cd1922376031243b354a6a86b7013a5 Mon Sep 17 00:00:00 2001 +From: Natalie Clarius +Date: Thu, 31 Aug 2023 17:04:52 +0200 +Subject: [PATCH] profiledefaults: don't automatically suspend by default if + running in a virtual machine + +To avoid hangs in virtual environments which don't suppport suspension. + +BUG: 473835 +FIXED-IN: 6.0 +--- + .../profilegenerator/generate_profiles.cpp | 4 +++- + daemon/powerdevilcore.cpp | 4 +++- + daemon/powerdevilpowermanagement.cpp | 17 +++++++++++++++++ + daemon/powerdevilpowermanagement.h | 1 + + daemon/powerdevilprofiledefaults.cpp | 14 ++++++++++++-- + daemon/powerdevilprofiledefaults.h | 4 ++-- + daemon/powerdevilprofilegenerator.cpp | 8 ++++---- + daemon/powerdevilprofilegenerator.h | 3 +-- + kcmodule/profiles/EditPage.cpp | 2 ++ + 9 files changed, 45 insertions(+), 12 deletions(-) + +diff --git a/autotests/profilegenerator/generate_profiles.cpp b/autotests/profilegenerator/generate_profiles.cpp +index ef6a6c309..f06309502 100644 +--- a/autotests/profilegenerator/generate_profiles.cpp ++++ b/autotests/profilegenerator/generate_profiles.cpp +@@ -31,6 +31,7 @@ int main(int argc, char **argv) + "powermanagementprofilesrc in your XDG_CONFIG_HOME, but this tool can produce a brand-new one under any name.")); + QCommandLineOption optionMobile("mobile", + "Generate profiles for a mobile device (i.e. phones, tablets running Plasma Mobile) instead of regular desktop/laptop."); ++ QCommandLineOption optionVM("vm", "Generate profiles for a virtual machine environment instead of bare metal."); + QCommandLineOption optionCannotSuspendToRam("cannot-suspend-to-ram", "Assume that the device does not support suspending to RAM a.k.a. Sleep."); + QCommandLineOption optionCannotSuspendToDisk("cannot-suspend-to-disk", "Assume that the device does not support suspending to disk a.k.a. Hibernate."); + parser.addOptions({optionMobile, optionCannotSuspendToRam, optionCannotSuspendToDisk}); +@@ -42,6 +43,7 @@ int main(int argc, char **argv) + } + + bool isMobile = parser.isSet(optionMobile); ++ bool isVM = parser.isSet(optionVM); + bool canSuspendToRam = !parser.isSet(optionCannotSuspendToRam); + bool canSuspendToDisk = !parser.isSet(optionCannotSuspendToDisk); + +@@ -55,7 +57,7 @@ int main(int argc, char **argv) + QFile::remove(temp_globalrc_path); + QFile::remove(parser.positionalArguments()[0]); + +- PowerDevil::ProfileGenerator::generateProfiles(isMobile, canSuspendToRam, canSuspendToDisk); ++ PowerDevil::ProfileGenerator::generateProfiles(isMobile, isVM, canSuspendToRam, canSuspendToDisk); + + if (!QFile::rename(temp_profilesrc_path, parser.positionalArguments()[0])) { + qDebug() << "Unable to move config file to destination."; +diff --git a/daemon/powerdevilcore.cpp b/daemon/powerdevilcore.cpp +index fc0087188..1392bb7ea 100644 +--- a/daemon/powerdevilcore.cpp ++++ b/daemon/powerdevilcore.cpp +@@ -13,6 +13,7 @@ + #include "powerdevilactionpool.h" + #include "powerdevilenums.h" + #include "powerdevilpolicyagent.h" ++#include "powerdevilpowermanagement.h" + #include "powerdevilprofilegenerator.h" + + #include +@@ -108,8 +109,9 @@ void Core::onBackendReady() + + // These are generated profiles, + const bool mobile = Kirigami::TabletModeWatcher::self()->isTabletMode(); ++ const bool vm = PowerDevil::PowerManagement::instance()->isVirtualMachine(); + +- ProfileGenerator::generateProfiles(mobile, toRam, toDisk); ++ ProfileGenerator::generateProfiles(mobile, vm, toRam, toDisk); + m_profilesConfig->reparseConfiguration(); + } + +diff --git a/daemon/powerdevilpowermanagement.cpp b/daemon/powerdevilpowermanagement.cpp +index 2e3d85ce9..1f42c82ab 100644 +--- a/daemon/powerdevilpowermanagement.cpp ++++ b/daemon/powerdevilpowermanagement.cpp +@@ -5,6 +5,7 @@ + */ + + #include "powerdevilpowermanagement.h" ++#include "powerdevil_debug.h" + + #include + #include +@@ -196,6 +197,22 @@ void PowerManagement::suspendThenHibernate() + QDBusConnection::sessionBus().asyncCall(message); + } + ++bool PowerManagement::isVirtualMachine() ++{ ++ QDBusMessage message = QDBusMessage::createMethodCall(QStringLiteral("org.freedesktop.systemd1"), ++ QStringLiteral("/org/freedesktop/systemd1"), ++ QStringLiteral("org.freedesktop.DBus.Properties"), ++ QStringLiteral("Get")); ++ message.setArguments({QStringLiteral("org.freedesktop.systemd1.Manager"), QStringLiteral("Virtualization")}); ++ QDBusReply reply = QDBusConnection::systemBus().call(message); ++ if (!reply.isValid() || reply.value().variant().isNull() || reply.value().variant().toString().isNull()) { ++ qCWarning(POWERDEVIL) << "Failed to get property Virtualization from systemd1 DBus service:" << reply.error().message(); ++ return false; ++ } ++ /* on bare-metal hardware this is the empty string, otherwise an identifier such as "kvm", "vmware", etc. */ ++ return !reply.value().variant().toString().isEmpty(); ++} ++ + bool PowerManagement::canSuspend() const + { + return d->canSuspend; +diff --git a/daemon/powerdevilpowermanagement.h b/daemon/powerdevilpowermanagement.h +index 6f4abce65..1e2a4dc8d 100644 +--- a/daemon/powerdevilpowermanagement.h ++++ b/daemon/powerdevilpowermanagement.h +@@ -22,6 +22,7 @@ class POWERDEVILCORE_EXPORT PowerManagement : public QObject + public: + ~PowerManagement() override; + ++ bool isVirtualMachine(); + bool canSuspend() const; + bool canHibernate() const; + bool canHybridSuspend() const; +diff --git a/daemon/powerdevilprofiledefaults.cpp b/daemon/powerdevilprofiledefaults.cpp +index eb4f79045..e3b5bc8c8 100644 +--- a/daemon/powerdevilprofiledefaults.cpp ++++ b/daemon/powerdevilprofiledefaults.cpp +@@ -75,8 +75,13 @@ bool ProfileDefaults::defaultLockBeforeTurnOffDisplay(bool isMobile) + return isMobile; + } + +-bool ProfileDefaults::defaultAutoSuspendWhenIdle(bool canSuspendToRam) ++bool ProfileDefaults::defaultAutoSuspendWhenIdle(bool isVM, bool canSuspendToRam) + { ++ // Don't auto suspend by default when running in a virtual machine as it can cause hangs, ++ // see bug 473835 ++ if (isVM) { ++ return false; ++ } + // Even on AC power, suspend after a rather long period of inactivity. Energy is precious! + return canSuspendToRam; + } +@@ -111,8 +116,13 @@ unsigned int ProfileDefaults::defaultPowerDownAction() + return qToUnderlying(PowerButtonAction::PromptLogoutDialog); + } + +-unsigned int ProfileDefaults::defaultLidAction(bool canSuspendToRam) ++unsigned int ProfileDefaults::defaultLidAction(bool isVM, bool canSuspendToRam) + { ++ // Don't auto suspend by default when running in a virtual machine as it can cause hangs, ++ // see bug 473835 ++ if (isVM) { ++ return qToUnderlying(PowerButtonAction::NoAction); ++ } + return qToUnderlying(canSuspendToRam ? PowerButtonAction::SuspendToRam : PowerButtonAction::TurnOffScreen); + } + +diff --git a/daemon/powerdevilprofiledefaults.h b/daemon/powerdevilprofiledefaults.h +index b874ed3b3..e9c8f570a 100644 +--- a/daemon/powerdevilprofiledefaults.h ++++ b/daemon/powerdevilprofiledefaults.h +@@ -27,13 +27,13 @@ public: + static int defaultTurnOffDisplayIdleTimeoutSec(const QString &profileGroup, bool isMobile); + static bool defaultLockBeforeTurnOffDisplay(bool isMobile); + +- static bool defaultAutoSuspendWhenIdle(bool canSuspendToRam); ++ static bool defaultAutoSuspendWhenIdle(bool isVM, bool canSuspendToRam); + static int defaultAutoSuspendIdleTimeoutSec(const QString &profileGroup, bool isMobile); + static unsigned int defaultAutoSuspendType(); + + static unsigned int defaultPowerButtonAction(bool isMobile); + static unsigned int defaultPowerDownAction(); +- static unsigned int defaultLidAction(bool canSuspendToRam); ++ static unsigned int defaultLidAction(bool isVM, bool canSuspendToRam); + }; + + } +diff --git a/daemon/powerdevilprofilegenerator.cpp b/daemon/powerdevilprofilegenerator.cpp +index 1c0202c2c..30b0c2185 100644 +--- a/daemon/powerdevilprofilegenerator.cpp ++++ b/daemon/powerdevilprofilegenerator.cpp +@@ -19,7 +19,7 @@ + + namespace PowerDevil + { +-void ProfileGenerator::generateProfiles(bool mobile, bool toRam, bool toDisk) ++void ProfileGenerator::generateProfiles(bool mobile, bool vm, bool toRam, bool toDisk) + { + // Change critical action if default (hibernate) is unavailable + if (!toDisk) { +@@ -44,7 +44,7 @@ void ProfileGenerator::generateProfiles(bool mobile, bool toRam, bool toDisk) + } + } + +- auto initProfile = [toRam, mobile](KConfigGroup &profile) { ++ auto initProfile = [toRam, mobile, vm](KConfigGroup &profile) { + if (ProfileDefaults::defaultUseProfileSpecificDisplayBrightness(profile.name())) { + KConfigGroup brightnessControl(&profile, "BrightnessControl"); + brightnessControl.writeEntry("value", ProfileDefaults::defaultDisplayBrightness(profile.name())); +@@ -53,7 +53,7 @@ void ProfileGenerator::generateProfiles(bool mobile, bool toRam, bool toDisk) + KConfigGroup handleButtonEvents(&profile, "HandleButtonEvents"); + handleButtonEvents.writeEntry("powerButtonAction", ProfileDefaults::defaultPowerButtonAction(mobile)); + handleButtonEvents.writeEntry("powerDownAction", ProfileDefaults::defaultPowerDownAction()); +- handleButtonEvents.writeEntry("lidAction", ProfileDefaults::defaultLidAction(toRam)); ++ handleButtonEvents.writeEntry("lidAction", ProfileDefaults::defaultLidAction(vm, toRam)); + + if (ProfileDefaults::defaultDimDisplayWhenIdle()) { + KConfigGroup dimDisplay(&profile, "DimDisplay"); +@@ -66,7 +66,7 @@ void ProfileGenerator::generateProfiles(bool mobile, bool toRam, bool toDisk) + dpmsControl.writeEntry("lockBeforeTurnOff", ProfileDefaults::defaultLockBeforeTurnOffDisplay(mobile)); + } + +- if (ProfileDefaults::defaultAutoSuspendWhenIdle(toRam)) { ++ if (ProfileDefaults::defaultAutoSuspendWhenIdle(vm, toRam)) { + KConfigGroup suspendSession(&profile, "SuspendSession"); + suspendSession.writeEntry("idleTime", ProfileDefaults::defaultAutoSuspendIdleTimeoutSec(profile.name(), mobile) * 1000); // milliseconds + suspendSession.writeEntry("suspendType", ProfileDefaults::defaultAutoSuspendType()); +diff --git a/daemon/powerdevilprofilegenerator.h b/daemon/powerdevilprofilegenerator.h +index bd92f3dc3..b29f5d06d 100644 +--- a/daemon/powerdevilprofilegenerator.h ++++ b/daemon/powerdevilprofilegenerator.h +@@ -13,7 +13,6 @@ namespace PowerDevil + namespace ProfileGenerator + { + +-void POWERDEVILCORE_EXPORT generateProfiles(bool isMobile, bool toRam, bool toDisk); +- ++void POWERDEVILCORE_EXPORT generateProfiles(bool isMobile, bool isVM, bool toRam, bool toDisk); + } + } +diff --git a/kcmodule/profiles/EditPage.cpp b/kcmodule/profiles/EditPage.cpp +index 15210f342..0aa3d65ba 100644 +--- a/kcmodule/profiles/EditPage.cpp ++++ b/kcmodule/profiles/EditPage.cpp +@@ -53,6 +53,7 @@ EditPage::EditPage(QObject *parent, const KPluginMetaData &data) + auto interface = Kirigami::TabletModeWatcher::self(); + + PowerDevil::ProfileGenerator::generateProfiles(interface->isTabletMode(), ++ PowerDevil::PowerManagement::instance()->isVirtualMachine(), + PowerDevil::PowerManagement::instance()->canSuspend(), + PowerDevil::PowerManagement::instance()->canHibernate()); + m_profilesConfig->reparseConfiguration(); +@@ -166,6 +167,7 @@ void EditPage::restoreDefaultProfiles() + auto interface = Kirigami::TabletModeWatcher::self(); + + PowerDevil::ProfileGenerator::generateProfiles(interface->isTabletMode(), ++ PowerDevil::PowerManagement::instance()->isVirtualMachine(), + PowerDevil::PowerManagement::instance()->canSuspend(), + PowerDevil::PowerManagement::instance()->canHibernate()); + +-- +GitLab + diff --git a/powerdevil.spec b/powerdevil.spec index 748eb05..d882e8c 100644 --- a/powerdevil.spec +++ b/powerdevil.spec @@ -2,7 +2,7 @@ Name: powerdevil Version: 5.27.7 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Manages the power consumption settings of a Plasma Shell License: GPLv2+ @@ -20,6 +20,12 @@ URL: https://invent.kde.org/plasma/%{name} Source0: http://download.kde.org/%{stable}/plasma/%{plasma_version}/%{name}-%{version}.tar.xz ## upstream patches +# https://bugzilla.redhat.com/show_bug.cgi?id=2232711 +# https://bugs.kde.org/show_bug.cgi?id=473835 +# https://invent.kde.org/plasma/powerdevil/-/merge_requests/230 +# Disable auto-suspend in VMs to avoid hangs +# Rebased on 5.27.7 +Patch: 0001-profiledefaults-don-t-automatically-suspend-by-defau.patch ## upstreamable patches @@ -134,6 +140,9 @@ rm -fv %{buildroot}/%{_libdir}/libpowerdevil{configcommonprivate,core,ui}.so %{_kf5_qtplugindir}/powerdevil/action/powerdevil_*.so %changelog +* Fri Sep 01 2023 Adam Williamson - 5.27.7-2 +- Backport MR #230 to disable auto-suspend on VMs (#2232711) + * Tue Aug 01 2023 Marc Deop i Argemí - 5.27.7-1 - 5.27.7 From 6a57ca0cc4d81410d0741201d0d909559d37b168 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Fri, 1 Sep 2023 19:16:49 -0700 Subject: [PATCH 04/12] Fix a bug in the backported patch (thanks Natalie, the original author) --- ...ts-don-t-automatically-suspend-by-defau.patch | 16 ++++++++-------- powerdevil.spec | 5 ++++- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/0001-profiledefaults-don-t-automatically-suspend-by-defau.patch b/0001-profiledefaults-don-t-automatically-suspend-by-defau.patch index 0f3ac08..c09c0ac 100644 --- a/0001-profiledefaults-don-t-automatically-suspend-by-defau.patch +++ b/0001-profiledefaults-don-t-automatically-suspend-by-defau.patch @@ -1,4 +1,4 @@ -From 34f7c9315edf734a442bbf1ecf7f2264cc67c553 Mon Sep 17 00:00:00 2001 +From ce233c616d8ec5141e24d4962739040b4c99d989 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Fri, 1 Sep 2023 17:09:16 -0700 Subject: [PATCH] profiledefaults: don't automatically suspend by default if @@ -144,25 +144,25 @@ index 481caa73..6f5ffb48 100644 } diff --git a/kcmodule/profiles/EditPage.cpp b/kcmodule/profiles/EditPage.cpp -index 22ed5d0e..bb4bfb80 100644 +index 22ed5d0e..119d818e 100644 --- a/kcmodule/profiles/EditPage.cpp +++ b/kcmodule/profiles/EditPage.cpp -@@ -80,6 +80,7 @@ EditPage::EditPage(QWidget *parent, const QVariantList &args) +@@ -79,6 +79,7 @@ EditPage::EditPage(QWidget *parent, const QVariantList &args) + PowerDevil::ProfileGenerator::generateProfiles( interface->isTabletMode(), - PowerDevil::PowerManagement::instance()->canSuspend(), + PowerDevil::PowerManagement::instance()->isVirtualMachine(), + PowerDevil::PowerManagement::instance()->canSuspend(), PowerDevil::PowerManagement::instance()->canHibernate() ); - m_profilesConfig->reparseConfiguration(); -@@ -199,6 +200,7 @@ void EditPage::restoreDefaultProfiles() +@@ -198,6 +199,7 @@ void EditPage::restoreDefaultProfiles() + PowerDevil::ProfileGenerator::generateProfiles( interface->isTabletMode(), - PowerDevil::PowerManagement::instance()->canSuspend(), + PowerDevil::PowerManagement::instance()->isVirtualMachine(), + PowerDevil::PowerManagement::instance()->canSuspend(), PowerDevil::PowerManagement::instance()->canHibernate() ); - -- 2.41.0 diff --git a/powerdevil.spec b/powerdevil.spec index d882e8c..15fd02e 100644 --- a/powerdevil.spec +++ b/powerdevil.spec @@ -2,7 +2,7 @@ Name: powerdevil Version: 5.27.7 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Manages the power consumption settings of a Plasma Shell License: GPLv2+ @@ -140,6 +140,9 @@ rm -fv %{buildroot}/%{_libdir}/libpowerdevil{configcommonprivate,core,ui}.so %{_kf5_qtplugindir}/powerdevil/action/powerdevil_*.so %changelog +* Fri Sep 01 2023 Adam Williamson - 5.27.7-3 +- Fix a bug in the backported patch (thanks Natalie, the original author) + * Fri Sep 01 2023 Adam Williamson - 5.27.7-2 - Backport MR #230 to disable auto-suspend on VMs (#2232711) From f57b678068f29d4f384827e88afad3271866dd54 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Sun, 3 Sep 2023 09:12:19 -0700 Subject: [PATCH 05/12] Update patch again to also disable lid suspend on VMs (per Natalie) --- ...don-t-automatically-suspend-by-defau.patch | 26 ++++++++++++++----- powerdevil.spec | 5 +++- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/0001-profiledefaults-don-t-automatically-suspend-by-defau.patch b/0001-profiledefaults-don-t-automatically-suspend-by-defau.patch index c09c0ac..fa8e6ae 100644 --- a/0001-profiledefaults-don-t-automatically-suspend-by-defau.patch +++ b/0001-profiledefaults-don-t-automatically-suspend-by-defau.patch @@ -1,4 +1,4 @@ -From ce233c616d8ec5141e24d4962739040b4c99d989 Mon Sep 17 00:00:00 2001 +From a1a3ae586cf1e10eec6930f088a5ad72631d22fd Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Fri, 1 Sep 2023 17:09:16 -0700 Subject: [PATCH] profiledefaults: don't automatically suspend by default if @@ -13,10 +13,10 @@ Signed-off-by: Adam Williamson daemon/powerdevilcore.cpp | 4 +++- daemon/powerdevilpowermanagement.cpp | 17 +++++++++++++++++ daemon/powerdevilpowermanagement.h | 1 + - daemon/powerdevilprofilegenerator.cpp | 10 +++++----- + daemon/powerdevilprofilegenerator.cpp | 15 +++++++++------ daemon/powerdevilprofilegenerator.h | 2 +- kcmodule/profiles/EditPage.cpp | 2 ++ - 6 files changed, 29 insertions(+), 7 deletions(-) + 6 files changed, 33 insertions(+), 8 deletions(-) diff --git a/daemon/powerdevilcore.cpp b/daemon/powerdevilcore.cpp index 0791552c..5c4f8a7d 100644 @@ -89,7 +89,7 @@ index 84c99f19..14069708 100644 bool canHibernate() const; bool canHybridSuspend() const; diff --git a/daemon/powerdevilprofilegenerator.cpp b/daemon/powerdevilprofilegenerator.cpp -index b3029e02..b70aa0d0 100644 +index b3029e02..f6a5f3eb 100644 --- a/daemon/powerdevilprofilegenerator.cpp +++ b/daemon/powerdevilprofilegenerator.cpp @@ -29,7 +29,7 @@ @@ -101,7 +101,19 @@ index b3029e02..b70aa0d0 100644 { // Change critical action if default (hibernate) is unavailable if (!toDisk) { -@@ -91,8 +91,8 @@ void ProfileGenerator::generateProfiles(bool mobile, bool toRam, bool toDisk) +@@ -71,7 +71,10 @@ void ProfileGenerator::generateProfiles(bool mobile, bool toRam, bool toDisk) + KConfigGroup handleButtonEvents(&profile, "HandleButtonEvents"); + handleButtonEvents.writeEntry< uint >("powerButtonAction", defaultPowerButtonAction); + handleButtonEvents.writeEntry< uint >("powerDownAction", LogoutDialogMode); +- if (toRam) { ++ if (vm) { ++ handleButtonEvents.writeEntry< uint >("lidAction", NoneMode); ++ } ++ else if (toRam) { + handleButtonEvents.writeEntry< uint >("lidAction", ToRamMode); + } else { + handleButtonEvents.writeEntry< uint >("lidAction", TurnOffScreenMode); +@@ -91,8 +94,8 @@ void ProfileGenerator::generateProfiles(bool mobile, bool toRam, bool toDisk) } // Even on AC power, suspend after a rather long period of inactivity. Energy @@ -112,7 +124,7 @@ index b3029e02..b70aa0d0 100644 // on mobile, 7 minutes, on laptop 15 minutes auto timeout = mobile ? 420000 : 900000; KConfigGroup suspendSession(&acProfile, "SuspendSession"); -@@ -124,7 +124,7 @@ void ProfileGenerator::generateProfiles(bool mobile, bool toRam, bool toDisk) +@@ -124,7 +127,7 @@ void ProfileGenerator::generateProfiles(bool mobile, bool toRam, bool toDisk) } // Last but not least, we want to suspend after some inactivity @@ -121,7 +133,7 @@ index b3029e02..b70aa0d0 100644 // on mobile, 5 minute, on laptop 10 minutes auto timeout = mobile ? 300000 : 600000; KConfigGroup suspendSession(&batteryProfile, "SuspendSession"); -@@ -164,7 +164,7 @@ void ProfileGenerator::generateProfiles(bool mobile, bool toRam, bool toDisk) +@@ -164,7 +167,7 @@ void ProfileGenerator::generateProfiles(bool mobile, bool toRam, bool toDisk) // Last but not least, we want to suspend after a rather long period of inactivity // on mobile by default never suspend, if device wants to suspend, it will enable // using configuration overlay diff --git a/powerdevil.spec b/powerdevil.spec index 15fd02e..b42bb4e 100644 --- a/powerdevil.spec +++ b/powerdevil.spec @@ -2,7 +2,7 @@ Name: powerdevil Version: 5.27.7 -Release: 3%{?dist} +Release: 4%{?dist} Summary: Manages the power consumption settings of a Plasma Shell License: GPLv2+ @@ -140,6 +140,9 @@ rm -fv %{buildroot}/%{_libdir}/libpowerdevil{configcommonprivate,core,ui}.so %{_kf5_qtplugindir}/powerdevil/action/powerdevil_*.so %changelog +* Sun Sep 03 2023 Adam Williamson - 5.27.7-4 +- Update patch again to also disable lid suspend on VMs (per Natalie) + * Fri Sep 01 2023 Adam Williamson - 5.27.7-3 - Fix a bug in the backported patch (thanks Natalie, the original author) From 62825569db7557ccf3851cd4470ef4beb3715347 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Sun, 3 Sep 2023 09:16:48 -0700 Subject: [PATCH 06/12] Fix a bug in the new version of the patch --- ...-don-t-automatically-suspend-by-defau.patch | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/0001-profiledefaults-don-t-automatically-suspend-by-defau.patch b/0001-profiledefaults-don-t-automatically-suspend-by-defau.patch index fa8e6ae..07ac5f1 100644 --- a/0001-profiledefaults-don-t-automatically-suspend-by-defau.patch +++ b/0001-profiledefaults-don-t-automatically-suspend-by-defau.patch @@ -1,4 +1,4 @@ -From a1a3ae586cf1e10eec6930f088a5ad72631d22fd Mon Sep 17 00:00:00 2001 +From 795ac6b8b40cd882235adeed4c83356d1ca79f61 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Fri, 1 Sep 2023 17:09:16 -0700 Subject: [PATCH] profiledefaults: don't automatically suspend by default if @@ -13,10 +13,10 @@ Signed-off-by: Adam Williamson daemon/powerdevilcore.cpp | 4 +++- daemon/powerdevilpowermanagement.cpp | 17 +++++++++++++++++ daemon/powerdevilpowermanagement.h | 1 + - daemon/powerdevilprofilegenerator.cpp | 15 +++++++++------ + daemon/powerdevilprofilegenerator.cpp | 17 ++++++++++------- daemon/powerdevilprofilegenerator.h | 2 +- kcmodule/profiles/EditPage.cpp | 2 ++ - 6 files changed, 33 insertions(+), 8 deletions(-) + 6 files changed, 34 insertions(+), 9 deletions(-) diff --git a/daemon/powerdevilcore.cpp b/daemon/powerdevilcore.cpp index 0791552c..5c4f8a7d 100644 @@ -89,7 +89,7 @@ index 84c99f19..14069708 100644 bool canHibernate() const; bool canHybridSuspend() const; diff --git a/daemon/powerdevilprofilegenerator.cpp b/daemon/powerdevilprofilegenerator.cpp -index b3029e02..f6a5f3eb 100644 +index b3029e02..475b9ed6 100644 --- a/daemon/powerdevilprofilegenerator.cpp +++ b/daemon/powerdevilprofilegenerator.cpp @@ -29,7 +29,7 @@ @@ -101,7 +101,15 @@ index b3029e02..f6a5f3eb 100644 { // Change critical action if default (hibernate) is unavailable if (!toDisk) { -@@ -71,7 +71,10 @@ void ProfileGenerator::generateProfiles(bool mobile, bool toRam, bool toDisk) +@@ -64,14 +64,17 @@ void ProfileGenerator::generateProfiles(bool mobile, bool toRam, bool toDisk) + dimDisplay.writeEntry< int >("idleTime", 300000); + } + +- auto initLid = [toRam, mobile](KConfigGroup &profile) ++ auto initLid = [vm, toRam, mobile](KConfigGroup &profile) + { + const Modes defaultPowerButtonAction = mobile ? ToggleScreenOnOffMode : LogoutDialogMode; + KConfigGroup handleButtonEvents(&profile, "HandleButtonEvents"); handleButtonEvents.writeEntry< uint >("powerButtonAction", defaultPowerButtonAction); handleButtonEvents.writeEntry< uint >("powerDownAction", LogoutDialogMode); From 664e23d902d0ed40e8731e81528d87125f04ae5b Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Mon, 4 Sep 2023 16:20:13 -0700 Subject: [PATCH 07/12] Update patch again to check systemd interface is there --- ...ults-don-t-automatically-suspend-by-defau.patch | 14 +++++++++----- powerdevil.spec | 5 ++++- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/0001-profiledefaults-don-t-automatically-suspend-by-defau.patch b/0001-profiledefaults-don-t-automatically-suspend-by-defau.patch index 07ac5f1..61450f9 100644 --- a/0001-profiledefaults-don-t-automatically-suspend-by-defau.patch +++ b/0001-profiledefaults-don-t-automatically-suspend-by-defau.patch @@ -1,4 +1,4 @@ -From 795ac6b8b40cd882235adeed4c83356d1ca79f61 Mon Sep 17 00:00:00 2001 +From 5a523543de6bffc0f6d78eab1a6bf27c1454d752 Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Fri, 1 Sep 2023 17:09:16 -0700 Subject: [PATCH] profiledefaults: don't automatically suspend by default if @@ -11,12 +11,12 @@ from Natalie Clarius, rebased on 5.27.7. Signed-off-by: Adam Williamson --- daemon/powerdevilcore.cpp | 4 +++- - daemon/powerdevilpowermanagement.cpp | 17 +++++++++++++++++ + daemon/powerdevilpowermanagement.cpp | 21 +++++++++++++++++++++ daemon/powerdevilpowermanagement.h | 1 + daemon/powerdevilprofilegenerator.cpp | 17 ++++++++++------- daemon/powerdevilprofilegenerator.h | 2 +- kcmodule/profiles/EditPage.cpp | 2 ++ - 6 files changed, 34 insertions(+), 9 deletions(-) + 6 files changed, 38 insertions(+), 9 deletions(-) diff --git a/daemon/powerdevilcore.cpp b/daemon/powerdevilcore.cpp index 0791552c..5c4f8a7d 100644 @@ -42,7 +42,7 @@ index 0791552c..5c4f8a7d 100644 } diff --git a/daemon/powerdevilpowermanagement.cpp b/daemon/powerdevilpowermanagement.cpp -index 7b8e8d5d..ca4c9f07 100644 +index 7b8e8d5d..573a6a7d 100644 --- a/daemon/powerdevilpowermanagement.cpp +++ b/daemon/powerdevilpowermanagement.cpp @@ -19,6 +19,7 @@ License along with this library. If not, see . @@ -53,12 +53,16 @@ index 7b8e8d5d..ca4c9f07 100644 #include #include -@@ -217,6 +218,22 @@ void PowerManagement::suspendThenHibernate() +@@ -217,6 +218,26 @@ void PowerManagement::suspendThenHibernate() QDBusConnection::sessionBus().asyncCall(message); } +bool PowerManagement::isVirtualMachine() +{ ++ if (!QDBusConnection::systemBus().interface()->isServiceRegistered(QStringLiteral("org.freedesktop.systemd1"))) { ++ // can't check, fall back to assuming false ++ return false; ++ } + QDBusMessage message = QDBusMessage::createMethodCall(QStringLiteral("org.freedesktop.systemd1"), + QStringLiteral("/org/freedesktop/systemd1"), + QStringLiteral("org.freedesktop.DBus.Properties"), diff --git a/powerdevil.spec b/powerdevil.spec index b42bb4e..7a81b13 100644 --- a/powerdevil.spec +++ b/powerdevil.spec @@ -2,7 +2,7 @@ Name: powerdevil Version: 5.27.7 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Manages the power consumption settings of a Plasma Shell License: GPLv2+ @@ -140,6 +140,9 @@ rm -fv %{buildroot}/%{_libdir}/libpowerdevil{configcommonprivate,core,ui}.so %{_kf5_qtplugindir}/powerdevil/action/powerdevil_*.so %changelog +* Mon Sep 04 2023 Adam Williamson - 5.27.7-5 +- Update patch again to check systemd interface is there + * Sun Sep 03 2023 Adam Williamson - 5.27.7-4 - Update patch again to also disable lid suspend on VMs (per Natalie) From 22d9d2966148589b11d3f63032ada022610aecda Mon Sep 17 00:00:00 2001 From: Justin Zobel Date: Wed, 13 Sep 2023 14:13:35 +0930 Subject: [PATCH 08/12] Update to 5.27.8 --- powerdevil.spec | 29 +++++++++++------------------ sources | 2 +- 2 files changed, 12 insertions(+), 19 deletions(-) diff --git a/powerdevil.spec b/powerdevil.spec index 7a81b13..389399a 100644 --- a/powerdevil.spec +++ b/powerdevil.spec @@ -1,8 +1,8 @@ %global kf5_version 5.82.0 Name: powerdevil -Version: 5.27.7 -Release: 5%{?dist} +Version: 5.27.8 +Release: 1%{?dist} Summary: Manages the power consumption settings of a Plasma Shell License: GPLv2+ @@ -19,24 +19,14 @@ URL: https://invent.kde.org/plasma/%{name} %endif Source0: http://download.kde.org/%{stable}/plasma/%{plasma_version}/%{name}-%{version}.tar.xz -## upstream patches -# https://bugzilla.redhat.com/show_bug.cgi?id=2232711 -# https://bugs.kde.org/show_bug.cgi?id=473835 -# https://invent.kde.org/plasma/powerdevil/-/merge_requests/230 -# Disable auto-suspend in VMs to avoid hangs -# Rebased on 5.27.7 -Patch: 0001-profiledefaults-don-t-automatically-suspend-by-defau.patch - -## upstreamable patches - # filter plugin provides %global __provides_exclude_from ^(%{_kf5_qtplugindir}/.*\\.so)$ -# plasma deps +# Plasma Dependencies BuildRequires: plasma-workspace-devel >= %{plasma_version} Requires: libkworkspace5%{?_isa} >= %{plasma_version} -# kf5 +# KDE Frameworks 5 BuildRequires: extra-cmake-modules BuildRequires: kf5-bluez-qt-devel BuildRequires: kf5-kactivities-devel @@ -52,19 +42,19 @@ BuildRequires: kf5-kirigami2-devel BuildRequires: kf5-knotifyconfig-devel BuildRequires: kf5-kwayland-devel BuildRequires: kf5-kwindowsystem-devel -BuildRequires: kf5-networkmanager-qt-devel >= %{kf5_version} +BuildRequires: kf5-networkmanager-qt-devel BuildRequires: kf5-plasma-devel BuildRequires: kf5-rpm-macros -BuildRequires: systemd-rpm-macros BuildRequires: kf5-solid-devel + +BuildRequires: libXrandr-devel BuildRequires: libcap-devel BuildRequires: libkscreen-qt5-devel - BuildRequires: libxcb-devel -BuildRequires: libXrandr-devel BuildRequires: qt5-qtbase-devel BuildRequires: qt5-qtx11extras-devel BuildRequires: systemd-devel +BuildRequires: systemd-rpm-macros BuildRequires: xcb-util-image-devel BuildRequires: xcb-util-keysyms-devel BuildRequires: xcb-util-wm-devel @@ -140,6 +130,9 @@ rm -fv %{buildroot}/%{_libdir}/libpowerdevil{configcommonprivate,core,ui}.so %{_kf5_qtplugindir}/powerdevil/action/powerdevil_*.so %changelog +* Tue Sep 12 2023 justin.zobel@gmail.com - 5.27.8-1 +- 5.27.8 + * Mon Sep 04 2023 Adam Williamson - 5.27.7-5 - Update patch again to check systemd interface is there diff --git a/sources b/sources index 8913b80..7568429 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (powerdevil-5.27.7.tar.xz) = 0df1028b3fe44d017255d6fc517d4ff8b9602b758c1535c066a07c2d1add37d45ad2d9067b0fecc4f705afea6b064fcb8eb5c6421704f58b391e68a56fd14bd5 +SHA512 (powerdevil-5.27.8.tar.xz) = be9c18130ff13e5db9b7e297463fa07b1781dd7817f91837d330bbc5189c51b88b0258b9419a18171132162e42776008d1f1fa9582bf59a34cb1aa2e2f91ff2a From 6944575039fc24102a81b5f1fdb0586327144631 Mon Sep 17 00:00:00 2001 From: Steve Cossette Date: Tue, 24 Oct 2023 16:41:33 -0400 Subject: [PATCH 09/12] 5.27.9 --- powerdevil.spec | 5 ++++- sources | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/powerdevil.spec b/powerdevil.spec index 389399a..9c84ff3 100644 --- a/powerdevil.spec +++ b/powerdevil.spec @@ -1,7 +1,7 @@ %global kf5_version 5.82.0 Name: powerdevil -Version: 5.27.8 +Version: 5.27.9 Release: 1%{?dist} Summary: Manages the power consumption settings of a Plasma Shell @@ -130,6 +130,9 @@ rm -fv %{buildroot}/%{_libdir}/libpowerdevil{configcommonprivate,core,ui}.so %{_kf5_qtplugindir}/powerdevil/action/powerdevil_*.so %changelog +* Tue Oct 24 2023 Steve Cossette - 5.27.9-1 +- 5.27.9 + * Tue Sep 12 2023 justin.zobel@gmail.com - 5.27.8-1 - 5.27.8 diff --git a/sources b/sources index 7568429..77c209a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (powerdevil-5.27.8.tar.xz) = be9c18130ff13e5db9b7e297463fa07b1781dd7817f91837d330bbc5189c51b88b0258b9419a18171132162e42776008d1f1fa9582bf59a34cb1aa2e2f91ff2a +SHA512 (powerdevil-5.27.9.tar.xz) = 06a613a5f3db5133bdd855f8c2f3ebdb2e3c3d2933c7f399528c10abac138f172c2bb8130a0aa54a695def0dedae669c4171942c484b463f0e9255058fbb7b83 From 57bc9ec74359627268aea5c0c62631aa97dcbbd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Deop=20i=20Argem=C3=AD?= Date: Sat, 28 Oct 2023 11:49:12 +0200 Subject: [PATCH 10/12] feat: rebuild(ddcutil) --- powerdevil.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/powerdevil.spec b/powerdevil.spec index 9c84ff3..c927da2 100644 --- a/powerdevil.spec +++ b/powerdevil.spec @@ -2,7 +2,7 @@ Name: powerdevil Version: 5.27.9 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Manages the power consumption settings of a Plasma Shell License: GPLv2+ @@ -130,6 +130,9 @@ rm -fv %{buildroot}/%{_libdir}/libpowerdevil{configcommonprivate,core,ui}.so %{_kf5_qtplugindir}/powerdevil/action/powerdevil_*.so %changelog +* Sat Oct 28 2023 Marc Deop i Argemí - 5.27.9-2 +- Rebuild(ddcutil) + * Tue Oct 24 2023 Steve Cossette - 5.27.9-1 - 5.27.9 From 2610147facf76a1d2b0b4e6a0c7e43b606c42bf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Deop=20i=20Argem=C3=AD?= Date: Sat, 28 Oct 2023 12:06:42 +0200 Subject: [PATCH 11/12] feat: rebuild(ddcutil) --- powerdevil.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/powerdevil.spec b/powerdevil.spec index 389399a..9050c11 100644 --- a/powerdevil.spec +++ b/powerdevil.spec @@ -2,7 +2,7 @@ Name: powerdevil Version: 5.27.8 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Manages the power consumption settings of a Plasma Shell License: GPLv2+ @@ -130,6 +130,9 @@ rm -fv %{buildroot}/%{_libdir}/libpowerdevil{configcommonprivate,core,ui}.so %{_kf5_qtplugindir}/powerdevil/action/powerdevil_*.so %changelog +* Sat Oct 28 2023 Marc Deop i Argemí - 5.27.8-2 +- Rebuild(ddcutil) + * Tue Sep 12 2023 justin.zobel@gmail.com - 5.27.8-1 - 5.27.8 From ec98eede80d66acf49ab51200a6e8863562fbdf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Deop=20i=20Argem=C3=AD?= Date: Sun, 17 Dec 2023 07:59:57 +0100 Subject: [PATCH 12/12] 5.27.10 --- powerdevil.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/powerdevil.spec b/powerdevil.spec index c927da2..bba2b6c 100644 --- a/powerdevil.spec +++ b/powerdevil.spec @@ -1,8 +1,8 @@ %global kf5_version 5.82.0 Name: powerdevil -Version: 5.27.9 -Release: 2%{?dist} +Version: 5.27.10 +Release: 1%{?dist} Summary: Manages the power consumption settings of a Plasma Shell License: GPLv2+ @@ -130,6 +130,9 @@ rm -fv %{buildroot}/%{_libdir}/libpowerdevil{configcommonprivate,core,ui}.so %{_kf5_qtplugindir}/powerdevil/action/powerdevil_*.so %changelog +* Sat Dec 16 2023 Marc Deop i Argemí - 5.27.10-1 +- 5.27.10 + * Sat Oct 28 2023 Marc Deop i Argemí - 5.27.9-2 - Rebuild(ddcutil) diff --git a/sources b/sources index 77c209a..d671b15 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (powerdevil-5.27.9.tar.xz) = 06a613a5f3db5133bdd855f8c2f3ebdb2e3c3d2933c7f399528c10abac138f172c2bb8130a0aa54a695def0dedae669c4171942c484b463f0e9255058fbb7b83 +SHA512 (powerdevil-5.27.10.tar.xz) = 7bee5e98e5e1cedfc94c7e5d5296c88a88269f2838bb937073bd27cd0bc0ee696ae7134386ea84ea60b8ed18c5bdb6d2a715fd599c0836d62a3191183a47d47e