[PATCH] UPower signaling obsolescence

Aleksander Morgado aleksander at aleksander.es
Tue Mar 22 11:43:36 UTC 2016


On Mon, Mar 21, 2016 at 8:11 PM, poma <pomidorabelisima at gmail.com> wrote:
> On 21.03.2016 17:12, Dan Williams wrote:
>> On Mon, 2016-03-21 at 10:16 +0100, Aleksander Morgado wrote:
>>> On 20/03/16 20:39, poma wrote:
>>>>
>>>> "Newer upower versions no longer emit that signal since this
>>>> handled by systemd."
>>>> by Michael Biebl <mbiebl at gmail.org>
>>>> https://lists.freedesktop.org/archives/devkit-devel/2014-March/0015
>>>> 75.html
>>>>
>>>> See also "Plans for UPower 1.0"
>>>> by Richard Hughes <hughsient at gmail.com>
>>>> https://lists.freedesktop.org/archives/devkit-devel/2013-January/00
>>>> 1339.html
>>>>
>>>> Signed-off-by: poma <pomidorabelisima at gmail.com>
>>> Yeah, it may be a good idea to remove this. I explicitly avoided
>>> talking
>>> about upower in the NEWS, only because of this.
>>>
>>> But NetworkManager still has the same build option; is there anything
>>> we're missing? or is it that NM should also remove upower support for
>>> suspend/resume?
>>
>> I wasn't really tracking the deprecation stuff for UPower and NM,
>> though Lubomir might have.  The only question I'd have is whether
>> people use current versions of NM and MM on systems that still run
>> older versions of UPower, and if so, how long do we support that.
>>
>> Dan
>>
>
> Same goes for NetworkManager, UPower suspend/resume signaling obsolescence.
>
> "Newer upower versions no longer emit that signal since this handled by systemd."
> by Michael Biebl <mbiebl at gmail.org>
> https://lists.freedesktop.org/archives/devkit-devel/2014-March/001575.html
>
> "Plans for UPower 1.0"
> by Richard Hughes <hughsient at gmail.com>
> https://lists.freedesktop.org/archives/devkit-devel/2013-January/001339.html
>
> "daemon: Remove obsolete features"
> https://cgit.freedesktop.org/upower/commit/?id=1ee642e705a63f5ad56a6b55e4bf5c4a64c959b8
> part of the UPower versions >= 0.99.0, date back to 2013-10-29.
>
> Signed-off-by: poma <pomidorabelisima at gmail.com>

+1 for the NM patch from me; we did the same removal in MM.

> ---
>  configure.ac                  |   9 +--
>  src/Makefile.am               |   6 +-
>  src/nm-sleep-monitor-upower.c | 134 ------------------------------------------
>  3 files changed, 3 insertions(+), 146 deletions(-)
>  delete mode 100644 src/nm-sleep-monitor-upower.c
>
> diff --git a/configure.ac b/configure.ac
> index c0c8716..be8e373 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -449,7 +449,7 @@ if test "$use_consolekit" = "yes"; then
>  fi
>  session_tracking="$(printf '%s' "${session_tracking}" | sed 's/^, //')"
>
> -AC_ARG_WITH(suspend-resume, AS_HELP_STRING([--with-suspend-resume=upower|systemd|consolekit], [Build NetworkManager with specific suspend/resume support]))
> +AC_ARG_WITH(suspend-resume, AS_HELP_STRING([--with-suspend-resume=systemd|consolekit], [Build NetworkManager with specific suspend/resume support]))
>  if test "z$with_suspend_resume" = "z"; then
>      PKG_CHECK_EXISTS([libsystemd >= 209], [have_systemd_inhibit=yes],
>                       [PKG_CHECK_EXISTS([libsystemd-login >= 183], [have_systemd_inhibit=yes], [have_systemd_inhibit=no])])
> @@ -460,15 +460,11 @@ if test "z$with_suspend_resume" = "z"; then
>          if test "$use_consolekit" = "yes"; then
>                  # Use consolekit suspend if session tracking is consolekit
>                  with_suspend_resume="consolekit"
> -        else
> -                # Fall back to upower
> -                with_suspend_resume="upower"
>          fi
>      fi
>  fi
>
>  case $with_suspend_resume in
> -    upower) ;;
>      systemd)
>          PKG_CHECK_MODULES(SYSTEMD_INHIBIT, [libsystemd >= 209],,
>                            [PKG_CHECK_MODULES(SYSTEMD_INHIBIT, [libsystemd-login >= 183])])
> @@ -478,10 +474,9 @@ case $with_suspend_resume in
>          AC_DEFINE([SUSPEND_RESUME_CONSOLEKIT], 1, [Define to 1 to use ConsoleKit2 suspend api])
>          ;;
>      *)
> -        AC_MSG_ERROR(--with-suspend-resume must be one of [upower, systemd, consolekit])
> +        AC_MSG_ERROR(--with-suspend-resume must be one of [systemd, consolekit])
>          ;;
>  esac
> -AM_CONDITIONAL(SUSPEND_RESUME_UPOWER, test "x$with_suspend_resume" = "xupower")
>  AM_CONDITIONAL(SUSPEND_RESUME_SYSTEMD, test "x$with_suspend_resume" = "xsystemd")
>  AM_CONDITIONAL(SUSPEND_RESUME_CONSOLEKIT, test "x$with_suspend_resume" = "xconsolekit")
>
> diff --git a/src/Makefile.am b/src/Makefile.am
> index aee7eae..ef4e166 100644
> --- a/src/Makefile.am
> +++ b/src/Makefile.am
> @@ -447,12 +447,8 @@ libNetworkManager_la_SOURCES = \
>         NetworkManagerUtils.h
>
>
> -if SUSPEND_RESUME_UPOWER
> -libNetworkManager_la_SOURCES += nm-sleep-monitor-upower.c
> -else
> -# systemd/consolekit suspend/resume used whenever upower is not enabled
> +# systemd/consolekit suspend/resume
>  libNetworkManager_la_SOURCES += nm-sleep-monitor-systemd.c
> -endif
>
>  if WITH_WEXT
>  libNetworkManager_la_SOURCES += \
> diff --git a/src/nm-sleep-monitor-upower.c b/src/nm-sleep-monitor-upower.c
> deleted file mode 100644
> index 5f0ff24..0000000
> --- a/src/nm-sleep-monitor-upower.c
> +++ /dev/null
> @@ -1,134 +0,0 @@
> -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
> -/* This program is free software; you can redistribute it and/or modify
> - * it under the terms of the GNU General Public License as published by
> - * the Free Software Foundation; either version 2 of the License, or
> - * (at your option) any later version.
> - *
> - * This program is distributed in the hope that it will be useful,
> - * but WITHOUT ANY WARRANTY; without even the implied warranty of
> - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> - * GNU General Public License for more details.
> - *
> - * You should have received a copy of the GNU General Public License along
> - * with this program; if not, write to the Free Software Foundation, Inc.,
> - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
> - *
> - * (C) Copyright 2012 Red Hat, Inc.
> - * Author: Matthias Clasen <mclasen at redhat.com>
> - */
> -
> -#include "nm-default.h"
> -
> -#include <errno.h>
> -#include <string.h>
> -#include <sys/stat.h>
> -
> -#include "nm-core-internal.h"
> -
> -#include "nm-sleep-monitor.h"
> -
> -#define UPOWER_DBUS_SERVICE "org.freedesktop.UPower"
> -
> -struct _NMSleepMonitor {
> -       GObject parent_instance;
> -
> -       GDBusProxy *upower_proxy;
> -};
> -
> -struct _NMSleepMonitorClass {
> -       GObjectClass parent_class;
> -
> -       void (*sleeping) (NMSleepMonitor *monitor);
> -       void (*resuming) (NMSleepMonitor *monitor);
> -};
> -
> -
> -enum {
> -       SLEEPING,
> -       RESUMING,
> -       LAST_SIGNAL,
> -};
> -static guint signals[LAST_SIGNAL] = {0};
> -
> -G_DEFINE_TYPE (NMSleepMonitor, nm_sleep_monitor, G_TYPE_OBJECT);
> -
> -/********************************************************************/
> -
> -static void
> -upower_sleeping_cb (GDBusProxy *proxy, gpointer user_data)
> -{
> -       nm_log_dbg (LOGD_SUSPEND, "Received UPower sleeping signal");
> -       g_signal_emit (user_data, signals[SLEEPING], 0);
> -}
> -
> -static void
> -upower_resuming_cb (GDBusProxy *proxy, gpointer user_data)
> -{
> -       nm_log_dbg (LOGD_SUSPEND, "Received UPower resuming signal");
> -       g_signal_emit (user_data, signals[RESUMING], 0);
> -}
> -
> -static void
> -nm_sleep_monitor_init (NMSleepMonitor *self)
> -{
> -       GError *error = NULL;
> -
> -       self->upower_proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
> -                                                           G_DBUS_PROXY_FLAGS_DO_NOT_AUTO_START |
> -                                                               G_DBUS_PROXY_FLAGS_DO_NOT_LOAD_PROPERTIES,
> -                                                           NULL,
> -                                                           UPOWER_DBUS_SERVICE,
> -                                                           "/org/freedesktop/UPower",
> -                                                           "org.freedesktop.UPower",
> -                                                           NULL, &error);
> -       if (self->upower_proxy) {
> -               _nm_dbus_signal_connect (self->upower_proxy, "Sleeping", NULL,
> -                                        G_CALLBACK (upower_sleeping_cb), self);
> -               _nm_dbus_signal_connect (self->upower_proxy, "Resuming", NULL,
> -                                        G_CALLBACK (upower_resuming_cb), self);
> -       } else {
> -               nm_log_warn (LOGD_SUSPEND, "could not initialize UPower D-Bus proxy: %s", error->message);
> -               g_error_free (error);
> -       }
> -}
> -
> -static void
> -finalize (GObject *object)
> -{
> -       NMSleepMonitor *self = NM_SLEEP_MONITOR (object);
> -
> -       g_clear_object (&self->upower_proxy);
> -
> -       G_OBJECT_CLASS (nm_sleep_monitor_parent_class)->finalize (object);
> -}
> -
> -static void
> -nm_sleep_monitor_class_init (NMSleepMonitorClass *klass)
> -{
> -       GObjectClass *gobject_class;
> -
> -       gobject_class = G_OBJECT_CLASS (klass);
> -
> -       gobject_class->finalize = finalize;
> -
> -       signals[SLEEPING] = g_signal_new (NM_SLEEP_MONITOR_SLEEPING,
> -                                         NM_TYPE_SLEEP_MONITOR,
> -                                         G_SIGNAL_RUN_LAST,
> -                                         G_STRUCT_OFFSET (NMSleepMonitorClass, sleeping),
> -                                         NULL,                   /* accumulator      */
> -                                         NULL,                   /* accumulator data */
> -                                         g_cclosure_marshal_VOID__VOID,
> -                                         G_TYPE_NONE, 0);
> -       signals[RESUMING] = g_signal_new (NM_SLEEP_MONITOR_RESUMING,
> -                                         NM_TYPE_SLEEP_MONITOR,
> -                                         G_SIGNAL_RUN_LAST,
> -                                         G_STRUCT_OFFSET (NMSleepMonitorClass, resuming),
> -                                         NULL,                   /* accumulator      */
> -                                         NULL,                   /* accumulator data */
> -                                         g_cclosure_marshal_VOID__VOID,
> -                                         G_TYPE_NONE, 0);
> -}
> -
> -NM_DEFINE_SINGLETON_GETTER (NMSleepMonitor, nm_sleep_monitor_get, NM_TYPE_SLEEP_MONITOR);
> -
> -/* ---------------------------------------------------------------------------------------------------- */
> --
> 2.4.3
>
>



-- 
Aleksander
https://aleksander.es


More information about the ModemManager-devel mailing list