From 9b0f484876b07ba0b81555c11a4d7dd633e4fe46 Mon Sep 17 00:00:00 2001 From: Silvan Calarco Date: Fri, 6 Dec 2024 09:04:32 +0100 Subject: [PATCH] preun script: fixed calling systemd_preun script [release 1.90.6-2mamba;Thu Dec 05 2024] --- ...when_noly_energy_full_is_unavailable.patch | 16 - upower-0.9.6-ensure-gerror-is-init.patch | 44 --- upower-dbus-fixes.patch | 291 ------------------ upower.spec | 14 +- 4 files changed, 6 insertions(+), 359 deletions(-) delete mode 100644 upower-0.9.15-use_percentage_when_noly_energy_full_is_unavailable.patch delete mode 100644 upower-0.9.6-ensure-gerror-is-init.patch delete mode 100644 upower-dbus-fixes.patch diff --git a/upower-0.9.15-use_percentage_when_noly_energy_full_is_unavailable.patch b/upower-0.9.15-use_percentage_when_noly_energy_full_is_unavailable.patch deleted file mode 100644 index 846d702..0000000 --- a/upower-0.9.15-use_percentage_when_noly_energy_full_is_unavailable.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -Nru upower-0.9.15.orig/src/linux/up-device-supply.c upower-0.9.15/src/linux/up-device-supply.c ---- upower-0.9.15.orig/src/linux/up-device-supply.c 2011-12-03 14:09:57.000000000 +0100 -+++ upower-0.9.15/src/linux/up-device-supply.c 2012-02-28 18:23:46.392531386 +0100 -@@ -694,10 +694,8 @@ - percentage = 100.0f; - } - -- /* device is a peripheral and not providing power to the computer */ -- if (energy < 0.01f && -- energy_rate < 0.01f && -- energy_full < 0.01f) { -+ /* device is not reporting charge or energy, try to read the percentage */ -+ if (energy_full < 0.01f) { - percentage = sysfs_get_double (native_path, "capacity"); - } - diff --git a/upower-0.9.6-ensure-gerror-is-init.patch b/upower-0.9.6-ensure-gerror-is-init.patch deleted file mode 100644 index 286a518..0000000 --- a/upower-0.9.6-ensure-gerror-is-init.patch +++ /dev/null @@ -1,44 +0,0 @@ -commit a4e099c5bff9f9fdb9067a0a6bb206d4c34745ae -Author: Richard Hughes -Date: Tue Aug 10 15:52:12 2010 +0100 - - Ensure we've initialized errors when calling into PolicyKit - -diff --git a/src/up-polkit.c b/src/up-polkit.c -index d7760dd..9b86394 100644 ---- a/src/up-polkit.c -+++ b/src/up-polkit.c -@@ -69,11 +69,14 @@ up_polkit_check_auth (UpPolkit *polkit, PolkitSubject *subject, const gchar *act - { - gboolean ret = FALSE; - GError *error; -- GError *error_local; -+ GError *error_local = NULL; - PolkitAuthorizationResult *result; - - /* check auth */ -- result = polkit_authority_check_authorization_sync (polkit->priv->authority, subject, action_id, NULL, POLKIT_CHECK_AUTHORIZATION_FLAGS_ALLOW_USER_INTERACTION, NULL, &error_local); -+ result = polkit_authority_check_authorization_sync (polkit->priv->authority, -+ subject, action_id, NULL, -+ POLKIT_CHECK_AUTHORIZATION_FLAGS_ALLOW_USER_INTERACTION, -+ NULL, &error_local); - if (result == NULL) { - error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "failed to check authorisation: %s", error_local->message); - dbus_g_method_return_error (context, error); -@@ -104,11 +107,14 @@ up_polkit_is_allowed (UpPolkit *polkit, PolkitSubject *subject, const gchar *act - { - gboolean ret = FALSE; - GError *error; -- GError *error_local; -+ GError *error_local = NULL; - PolkitAuthorizationResult *result; - - /* check auth */ -- result = polkit_authority_check_authorization_sync (polkit->priv->authority, subject, action_id, NULL, POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE, NULL, &error_local); -+ result = polkit_authority_check_authorization_sync (polkit->priv->authority, -+ subject, action_id, NULL, -+ POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE, -+ NULL, &error_local); - if (result == NULL) { - error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "failed to check authorisation: %s", error_local->message); - dbus_g_method_return_error (context, error); diff --git a/upower-dbus-fixes.patch b/upower-dbus-fixes.patch deleted file mode 100644 index 01759a6..0000000 --- a/upower-dbus-fixes.patch +++ /dev/null @@ -1,291 +0,0 @@ -diff --git a/src/up-daemon.c b/src/up-daemon.c -index 3fb952b..4884b64 100644 ---- a/src/up-daemon.c -+++ b/src/up-daemon.c -@@ -323,6 +323,7 @@ up_daemon_about_to_sleep (UpDaemon *daemon, DBusGMethodInvocation *context) - UP_DAEMON_ERROR_GENERAL, - "Sleep has already been requested and is pending"); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -376,6 +377,7 @@ up_daemon_deferred_sleep_cb (UpDaemonDeferredSleep *sleep) - "Failed to spawn: %s, stdout:%s, stderr:%s", error_local->message, stdout, stderr); - g_error_free (error_local); - dbus_g_method_return_error (sleep->context, error); -+ g_error_free (error); - goto out; - } - -@@ -470,6 +472,7 @@ up_daemon_suspend (UpDaemon *daemon, DBusGMethodInvocation *context) - UP_DAEMON_ERROR_GENERAL, - "No kernel support"); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -477,7 +480,7 @@ up_daemon_suspend (UpDaemon *daemon, DBusGMethodInvocation *context) - if (subject == NULL) - goto out; - -- if (!up_polkit_check_auth (priv->polkit, subject, "org.freedesktop.upower.suspend", context)) -+ if (!up_polkit_check_auth (priv->polkit, subject, "org.freedesktop.upower.suspend", context)) - goto out; - - /* already requested */ -@@ -486,6 +489,7 @@ up_daemon_suspend (UpDaemon *daemon, DBusGMethodInvocation *context) - UP_DAEMON_ERROR_GENERAL, - "Sleep has already been requested and is pending"); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -507,13 +511,21 @@ up_daemon_suspend_allowed (UpDaemon *daemon, DBusGMethodInvocation *context) - gboolean ret; - PolkitSubject *subject = NULL; - UpDaemonPrivate *priv = daemon->priv; -+ GError *error; - - subject = up_polkit_get_subject (priv->polkit, context); - if (subject == NULL) - goto out; - -- ret = up_polkit_is_allowed (priv->polkit, subject, "org.freedesktop.upower.suspend", context); -- dbus_g_method_return (context, ret); -+ error = NULL; -+ ret = up_polkit_is_allowed (priv->polkit, subject, "org.freedesktop.upower.suspend", &error); -+ if (error) { -+ dbus_g_method_return_error (context, error); -+ g_error_free (error); -+ } -+ else { -+ dbus_g_method_return (context, ret); -+ } - - out: - if (subject != NULL) -@@ -563,6 +575,7 @@ up_daemon_hibernate (UpDaemon *daemon, DBusGMethodInvocation *context) - UP_DAEMON_ERROR_GENERAL, - "No kernel support"); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -572,6 +585,7 @@ up_daemon_hibernate (UpDaemon *daemon, DBusGMethodInvocation *context) - UP_DAEMON_ERROR_GENERAL, - "Not enough swap space"); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -582,6 +596,7 @@ up_daemon_hibernate (UpDaemon *daemon, DBusGMethodInvocation *context) - UP_DAEMON_ERROR_GENERAL, - "Swap space is encrypted, use AllowHibernateEncryptedSwap to override"); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -598,6 +613,7 @@ up_daemon_hibernate (UpDaemon *daemon, DBusGMethodInvocation *context) - UP_DAEMON_ERROR_GENERAL, - "Sleep has already been requested and is pending"); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -619,13 +635,21 @@ up_daemon_hibernate_allowed (UpDaemon *daemon, DBusGMethodInvocation *context) - gboolean ret; - PolkitSubject *subject = NULL; - UpDaemonPrivate *priv = daemon->priv; -+ GError *error; - - subject = up_polkit_get_subject (priv->polkit, context); - if (subject == NULL) - goto out; - -- ret = up_polkit_is_allowed (priv->polkit, subject, "org.freedesktop.upower.hibernate", context); -- dbus_g_method_return (context, ret); -+ error = NULL; -+ ret = up_polkit_is_allowed (priv->polkit, subject, "org.freedesktop.upower.hibernate", &error); -+ if (error) { -+ dbus_g_method_return_error (context, error); -+ g_error_free (error); -+ } -+ else { -+ dbus_g_method_return (context, ret); -+ } - - out: - if (subject != NULL) -diff --git a/src/up-polkit.c b/src/up-polkit.c -index 9b86394..bd1e5e0 100644 ---- a/src/up-polkit.c -+++ b/src/up-polkit.c -@@ -52,12 +52,19 @@ static gpointer up_polkit_object = NULL; - PolkitSubject * - up_polkit_get_subject (UpPolkit *polkit, DBusGMethodInvocation *context) - { -+ GError *error; - const gchar *sender; - PolkitSubject *subject; - - sender = dbus_g_method_get_sender (context); - subject = polkit_system_bus_name_new (sender); - -+ if (subject == NULL) { -+ error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "failed to get PolicyKit subject"); -+ dbus_g_method_return_error (context, error); -+ g_error_free (error); -+ } -+ - return subject; - } - -@@ -79,9 +86,9 @@ up_polkit_check_auth (UpPolkit *polkit, PolkitSubject *subject, const gchar *act - NULL, &error_local); - if (result == NULL) { - error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "failed to check authorisation: %s", error_local->message); -- dbus_g_method_return_error (context, error); -+ dbus_g_method_return_error (context, error); - g_error_free (error_local); -- g_error_free (error); -+ g_error_free (error); - goto out; - } - -@@ -90,8 +97,8 @@ up_polkit_check_auth (UpPolkit *polkit, PolkitSubject *subject, const gchar *act - ret = TRUE; - } else { - error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "not authorized"); -- dbus_g_method_return_error (context, error); -- g_error_free (error); -+ dbus_g_method_return_error (context, error); -+ g_error_free (error); - } - out: - if (result != NULL) -@@ -103,10 +110,9 @@ out: - * up_polkit_is_allowed: - **/ - gboolean --up_polkit_is_allowed (UpPolkit *polkit, PolkitSubject *subject, const gchar *action_id, DBusGMethodInvocation *context) -+up_polkit_is_allowed (UpPolkit *polkit, PolkitSubject *subject, const gchar *action_id, GError **error) - { - gboolean ret = FALSE; -- GError *error; - GError *error_local = NULL; - PolkitAuthorizationResult *result; - -@@ -116,10 +122,8 @@ up_polkit_is_allowed (UpPolkit *polkit, PolkitSubject *subject, const gchar *act - POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE, - NULL, &error_local); - if (result == NULL) { -- error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "failed to check authorisation: %s", error_local->message); -- dbus_g_method_return_error (context, error); -+ g_set_error (error, UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "failed to check authorisation: %s", error_local->message); - g_error_free (error_local); -- g_error_free (error); - goto out; - } - -diff --git a/src/up-polkit.h b/src/up-polkit.h -index acee70e..b9abd7e 100644 ---- a/src/up-polkit.h -+++ b/src/up-polkit.h -@@ -56,11 +56,11 @@ PolkitSubject *up_polkit_get_subject (UpPolkit *polkit, - gboolean up_polkit_check_auth (UpPolkit *polkit, - PolkitSubject *subject, - const gchar *action_id, -- DBusGMethodInvocation *context); -+ DBusGMethodInvocation *context); - gboolean up_polkit_is_allowed (UpPolkit *polkit, - PolkitSubject *subject, - const gchar *action_id, -- DBusGMethodInvocation *context); -+ GError **error); - gboolean up_polkit_get_uid (UpPolkit *polkit, - PolkitSubject *subject, - uid_t *uid); -diff --git a/src/up-qos.c b/src/up-qos.c -index 0ce3eea..b36df3f 100644 ---- a/src/up-qos.c -+++ b/src/up-qos.c -@@ -262,6 +262,7 @@ up_qos_request_latency (UpQos *qos, const gchar *type_text, gint value, gboolean - if (type == UP_QOS_KIND_UNKNOWN) { - error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "type invalid: %s", type_text); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -270,6 +271,7 @@ up_qos_request_latency (UpQos *qos, const gchar *type_text, gint value, gboolean - if (sender == NULL) { - error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "no DBUS sender"); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -291,6 +293,7 @@ up_qos_request_latency (UpQos *qos, const gchar *type_text, gint value, gboolean - if (!retval) { - error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "cannot get UID"); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -299,6 +302,7 @@ up_qos_request_latency (UpQos *qos, const gchar *type_text, gint value, gboolean - if (!retval) { - error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "cannot get PID"); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -307,6 +311,7 @@ up_qos_request_latency (UpQos *qos, const gchar *type_text, gint value, gboolean - if (cmdline == NULL) { - error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "cannot get cmdline"); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -359,6 +364,7 @@ up_qos_cancel_request (UpQos *qos, guint cookie, DBusGMethodInvocation *context) - error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, - "Cannot find request for #%i", cookie); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -367,6 +373,7 @@ up_qos_cancel_request (UpQos *qos, guint cookie, DBusGMethodInvocation *context) - if (sender == NULL) { - error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "no DBUS sender"); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - goto out; - } - -@@ -388,6 +395,8 @@ up_qos_cancel_request (UpQos *qos, guint cookie, DBusGMethodInvocation *context) - /* TODO: if persistent remove from datadase */ - - g_signal_emit (qos, signals [REQUESTS_CHANGED], 0); -+ -+ dbus_g_method_return (context, NULL); - out: - if (subject != NULL) - g_object_unref (subject); -@@ -430,6 +439,7 @@ up_qos_set_minimum_latency (UpQos *qos, const gchar *type_text, gint value, DBus - if (type == UP_QOS_KIND_UNKNOWN) { - error = g_error_new (UP_DAEMON_ERROR, UP_DAEMON_ERROR_GENERAL, "type invalid: %s", type_text); - dbus_g_method_return_error (context, error); -+ g_error_free (error); - return; - } - diff --git a/upower.spec b/upower.spec index 8dd2fe7..5acb79b 100644 --- a/upower.spec +++ b/upower.spec @@ -1,7 +1,7 @@ %define gitver %(echo %version | tr . _) Name: upower Version: 1.90.6 -Release: 1mamba +Release: 2mamba Summary: Power Management Service Group: System/Libraries Vendor: openmamba @@ -9,9 +9,6 @@ Distribution: openmamba Packager: Silvan Calarco URL: https://upower.freedesktop.org/ Source: https://gitlab.freedesktop.org/upower/upower.git/v%{version}/upower-%{version}.tar.bz2 -Patch0: upower-0.9.6-ensure-gerror-is-init.patch -Patch1: upower-dbus-fixes.patch -Patch2: %{name}-0.9.15-use_percentage_when_noly_energy_full_is_unavailable.patch License: GPL ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel @@ -83,17 +80,15 @@ This package contains %{name} API documentation. %clean [ "%{buildroot}" != / ] && rm -rf "%{buildroot}" -%pre -%systemd_per %{name} +%preun +%systemd_preun %{name} : %post -/sbin/ldconfig %systemd_post %{name} : %postun -/sbin/ldconfig %systemd_postun %{name} : @@ -143,6 +138,9 @@ This package contains %{name} API documentation. %{_datadir}/gtk-doc/html/UPower/* %changelog +* Thu Dec 05 2024 Silvan Calarco 1.90.6-2mamba +- preun script: fixed calling systemd_preun script + * Thu Sep 19 2024 Automatic Build System 1.90.6-1mamba - automatic version update by autodist