]> git.pld-linux.org Git - packages/NetworkManager.git/commitdiff
Update to 0.9.8.0
authorMarcin Banasiak <marcin.banasiak@gmail.com>
Thu, 21 Feb 2013 14:57:18 +0000 (15:57 +0100)
committerMarcin Banasiak <marcin.banasiak@gmail.com>
Thu, 21 Feb 2013 14:57:18 +0000 (15:57 +0100)
- -pld.patch is no longer needed
- systemd-fallback.patch: updated and added fallback to upower in
  sleep-monitor
- ConsoleKit-x11 is not required when using systemd

NetworkManager-pld.patch [deleted file]
NetworkManager.init [new file with mode: 0644]
NetworkManager.spec
systemd-fallback.patch

diff --git a/NetworkManager-pld.patch b/NetworkManager-pld.patch
deleted file mode 100644 (file)
index 752ae9f..0000000
+++ /dev/null
@@ -1,243 +0,0 @@
-diff -urN NetworkManager-0.9.4.0/configure.ac NetworkManager-0.9.4.0.new/configure.ac
---- NetworkManager-0.9.4.0/configure.ac        2012-03-23 21:11:15.000000000 +0100
-+++ NetworkManager-0.9.4.0.new/configure.ac    2012-03-24 11:29:26.057723008 +0100
-@@ -107,9 +107,10 @@
- dnl
- AC_C_BIGENDIAN
--AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO], [Specify the Linux distribution to target: One of redhat, suse, gentoo, debian, arch, slackware, paldo, mandriva, pardus, linexa, exherbo or lfs]))
-+AC_ARG_WITH(distro, AS_HELP_STRING([--with-distro=DISTRO], [Specify the Linux distribution to target: One of redhat, suse, gentoo, debian, arch, slackware, paldo, mandriva, pardus, linexa, exherbo, lfs or pld]))
- if test "z$with_distro" = "z"; then
-       AC_CHECK_FILE(/etc/redhat-release,with_distro="redhat")
-+      AC_CHECK_FILE(/etc/pld-release,with_distro="pld")
-       AC_CHECK_FILE(/etc/SuSE-release,with_distro="suse")
-       AC_CHECK_FILE(/etc/fedora-release,with_distro="redhat")
-       AC_CHECK_FILE(/etc/gentoo-release,with_distro="gentoo")
-@@ -133,7 +134,7 @@
-       exit 1
- else
-       case $with_distro in
--              redhat|suse|gentoo|debian|slackware|arch|paldo|frugalware|mandriva|pardus|linexa|exherbo|lfs|generic) ;;
-+              redhat|suse|gentoo|debian|slackware|arch|paldo|frugalware|mandriva|pardus|linexa|exherbo|lfs|pld|generic) ;;
-               *)
-                       echo "Your distribution (${with_distro}) is not yet supported!  (patches welcome)"
-                       exit 1
-@@ -205,6 +206,11 @@
-   AC_DEFINE(TARGET_EXHERBO, 1, [Define if you have Exherbo])
- fi
-+AM_CONDITIONAL(TARGET_PLD, test x"$with_distro" = xpld)
-+if test x"$with_distro" = xpld; then
-+  AC_DEFINE(TARGET_PLD, 1, [Define if you have PLD])
-+fi  
-+
- dnl
- dnl Distribution version string
- dnl
-@@ -790,6 +796,8 @@
- initscript/paldo/NetworkManager
- initscript/Mandriva/Makefile
- initscript/Mandriva/networkmanager
-+initscript/PLD/Makefile
-+initscript/PLD/NetworkManager
- initscript/linexa/Makefile
- initscript/linexa/networkmanager
- introspection/Makefile
-diff -urN NetworkManager-0.9.4.0/initscript/Makefile.am NetworkManager-0.9.4.0.new/initscript/Makefile.am
---- NetworkManager-0.9.4.0/initscript/Makefile.am      2011-04-19 07:06:22.000000000 +0200
-+++ NetworkManager-0.9.4.0.new/initscript/Makefile.am  2012-03-24 11:25:37.842292690 +0100
-@@ -26,3 +26,6 @@
- if TARGET_LINEXA
- SUBDIRS += linexa
- endif
-+if TARGET_PLD
-+SUBDIRS += PLD
-+endif
-diff -urN NetworkManager-0.9.4.0/initscript/PLD/Makefile.am NetworkManager-0.9.4.0.new/initscript/PLD/Makefile.am
---- NetworkManager-0.9.4.0/initscript/PLD/Makefile.am  1970-01-01 01:00:00.000000000 +0100
-+++ NetworkManager-0.9.4.0.new/initscript/PLD/Makefile.am      2012-03-24 11:25:37.845626005 +0100
-@@ -0,0 +1,5 @@
-+EXTRA_DIST = NetworkManager
-+DISTCLEANFILES = NetworkManager
-+
-+initddir = $(sysconfdir)/rc.d/init.d
-+initd_SCRIPTS = NetworkManager
-diff -urN NetworkManager-0.9.4.0/initscript/PLD/NetworkManager.in NetworkManager-0.9.4.0.new/initscript/PLD/NetworkManager.in
---- NetworkManager-0.9.4.0/initscript/PLD/NetworkManager.in    1970-01-01 01:00:00.000000000 +0100
-+++ NetworkManager-0.9.4.0.new/initscript/PLD/NetworkManager.in        2012-03-24 11:25:37.845626005 +0100
-@@ -0,0 +1,75 @@
-+#!/bin/sh
-+#
-+# NetworkManager      NetworkManager daemon
-+#
-+# chkconfig:          345 99 01
-+#
-+# description:                This is a daemon for automatically switching network \
-+#                     connections to the best available connection.
-+#
-+# processname:                NetworkManager
-+# pidfile:            /var/run/NetworkManager.pid
-+#
-+
-+# Source function library.
-+. /etc/rc.d/init.d/functions
-+
-+upstart_controlled
-+
-+# Source networking configuration.
-+. /etc/sysconfig/network
-+
-+# Check that networking is up.
-+if is_yes "${NETWORKING}"; then
-+      if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
-+              msg_network_down NetworkManager
-+              exit 1
-+      fi
-+else
-+      exit 0
-+fi
-+
-+start() {
-+      # Check if the service is already running?
-+      if [ ! -f /var/lock/subsys/NetworkManager ]; then
-+              msg_starting NetworkManager
-+              daemon NetworkManager --pid-file=/var/run/NetworkManager.pid
-+              RETVAL=$?
-+              [ $RETVAL -eq 0 ] && touch /var/lock/subsys/NetworkManager
-+      else
-+              msg_already_running NetworkManager
-+      fi
-+}
-+stop() {
-+      if [ -f /var/lock/subsys/NetworkManager ]; then
-+              # Stop daemons.
-+              msg_stopping NetworkManager
-+              killproc NetworkManager
-+              rm -f /var/lock/subsys/NetworkManager
-+      else
-+              msg_not_running NetworkManager
-+      fi
-+}
-+
-+RETVAL=0
-+case "$1" in
-+  start)
-+      start
-+      ;;
-+  stop)
-+      stop
-+      ;;
-+  restart)
-+      stop
-+      start
-+      ;;
-+  status)
-+      status NetworkManager
-+      RETVAL=$?
-+      ;;
-+  *)
-+      msg_usage "$0 {start|stop|restart|status}"
-+      exit 3
-+esac
-+              
-+exit $RETVAL
-diff -urN NetworkManager-0.9.4.0/src/backends/Makefile.am NetworkManager-0.9.4.0.new/src/backends/Makefile.am
---- NetworkManager-0.9.4.0/src/backends/Makefile.am    2012-02-27 16:57:16.000000000 +0100
-+++ NetworkManager-0.9.4.0.new/src/backends/Makefile.am        2012-03-24 11:30:34.634018164 +0100
-@@ -64,6 +64,10 @@
- libnmbackend_la_SOURCES += NetworkManagerExherbo.c
- endif
-+if TARGET_PLD
-+libnmbackend_la_SOURCES += NetworkManagerPLD.c
-+endif
-+
- libnmbackend_la_LIBADD += \
-       $(top_builddir)/src/logging/libnm-logging.la \
-       $(LIBNL_LIBS) \
-diff -urN NetworkManager-0.9.4.0/src/backends/NetworkManagerPLD.c NetworkManager-0.9.4.0.new/src/backends/NetworkManagerPLD.c
---- NetworkManager-0.9.4.0/src/backends/NetworkManagerPLD.c    1970-01-01 01:00:00.000000000 +0100
-+++ NetworkManager-0.9.4.0.new/src/backends/NetworkManagerPLD.c        2012-03-24 11:46:34.925482485 +0100
-@@ -0,0 +1,68 @@
-+/* NetworkManager -- Network link manager
-+ *
-+ * Patryk Zawadzki <patrys@pld-linux.org>
-+ *
-+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-+ *
-+ * (C) Copyright 2004 RedHat, Inc.
-+ * (C) Copyright 2004 Narayan Newton
-+ * (C) Copyright 2005 wrobell <wrobell@pld-linux.org>
-+ * (C) Copyright 2007, 2012 Marcin Banasiak <megabajt@pld-linux.org>
-+ * (C) Copyright 2005-2008 Patryk Zawadzki <patrys@pld-linux.org>
-+ */
-+
-+#ifdef HAVE_CONFIG_H
-+#include <config.h>
-+#endif
-+
-+#include "NetworkManagerGeneric.h"
-+#include "NetworkManagerUtils.h"
-+
-+/*
-+ * nm_backend_enable_loopback
-+ *
-+ * Bring up the loopback interface
-+ *
-+ */
-+void nm_backend_enable_loopback (void)
-+{
-+      nm_generic_enable_loopback ();
-+}
-+
-+/*
-+ * nm_backend_update_dns
-+ *
-+ * Invalidate the nscd host cache, if it exists, since
-+ * we changed resolv.conf.
-+ *
-+ */
-+void nm_backend_update_dns (void)
-+{
-+      if (g_file_test ("/usr/sbin/nscd", G_FILE_TEST_EXISTS | G_FILE_TEST_IS_EXECUTABLE | G_FILE_TEST_IS_REGULAR)) {
-+              nm_spawn_process ("/usr/sbin/nscd -i hosts");
-+      }
-+}
-+
-+/*
-+ * nm_backend_ipv6_use_tempaddr
-+ *
-+ * Get net.ipv6.conf.default.use_tempaddr from /etc/sysctl.conf or
-+ * /lib/sysctl.d/sysctl.conf
-+ *
-+ */
-+int nm_backend_ipv6_use_tempaddr (void)
-+{
-+      return nm_generic_ipv6_use_tempaddr ();
-+}
-diff -urN NetworkManager-0.9.4.0/src/settings/plugins/Makefile.am NetworkManager-0.9.4.0.new/src/settings/plugins/Makefile.am
---- NetworkManager-0.9.4.0/src/settings/plugins/Makefile.am    2012-02-08 17:44:53.000000000 +0100
-+++ NetworkManager-0.9.4.0.new/src/settings/plugins/Makefile.am        2012-03-24 11:25:37.845626005 +0100
-@@ -4,6 +4,10 @@
- SUBDIRS+=ifcfg-rh
- endif
-+if TARGET_PLD
-+SUBDIRS+=ifcfg-rh
-+endif
-+
- if TARGET_SUSE
- SUBDIRS+=ifcfg-suse
- endif
diff --git a/NetworkManager.init b/NetworkManager.init
new file mode 100644 (file)
index 0000000..c0be336
--- /dev/null
@@ -0,0 +1,75 @@
+#!/bin/sh
+#
+# NetworkManager       NetworkManager daemon
+#
+# chkconfig:           345 99 01
+#
+# description:         This is a daemon for automatically switching network \
+#                      connections to the best available connection.
+#
+# processname:         NetworkManager
+# pidfile:             /var/run/NetworkManager.pid
+#
+
+# Source function library.
+. /etc/rc.d/init.d/functions
+
+upstart_controlled
+
+# Source networking configuration.
+. /etc/sysconfig/network
+
+# Check that networking is up.
+if is_yes "${NETWORKING}"; then
+       if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then
+               msg_network_down NetworkManager
+               exit 1
+       fi
+else
+       exit 0
+fi
+
+start() {
+       # Check if the service is already running?
+       if [ ! -f /var/lock/subsys/NetworkManager ]; then
+               msg_starting NetworkManager
+               daemon NetworkManager --pid-file=/var/run/NetworkManager.pid
+               RETVAL=$?
+               [ $RETVAL -eq 0 ] && touch /var/lock/subsys/NetworkManager
+       else
+               msg_already_running NetworkManager
+       fi
+}
+stop() {
+       if [ -f /var/lock/subsys/NetworkManager ]; then
+               # Stop daemons.
+               msg_stopping NetworkManager
+               killproc NetworkManager
+               rm -f /var/lock/subsys/NetworkManager
+       else
+               msg_not_running NetworkManager
+       fi
+}
+
+RETVAL=0
+case "$1" in
+  start)
+       start
+       ;;
+  stop)
+       stop
+       ;;
+  restart)
+       stop
+       start
+       ;;
+  status)
+       status NetworkManager
+       RETVAL=$?
+       ;;
+  *)
+       msg_usage "$0 {start|stop|restart|status}"
+       exit 3
+esac
+               
+exit $RETVAL
index 1ff23edb6a5fb71e84d7705537e4f691226698cb..ef227a712ed3885d3cae6c696071452ec8bbcd0b 100644 (file)
@@ -7,21 +7,21 @@
 Summary:       Network Manager for GNOME
 Summary(pl.UTF-8):     Zarządca sieci dla GNOME
 Name:          NetworkManager
-Version:       0.9.6.4
-Release:       3
+Version:       0.9.8.0
+Release:       1
 Epoch:         2
 License:       GPL v2+
 Group:         Networking/Admin
 Source0:       http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/0.9/%{name}-%{version}.tar.xz
-# Source0-md5: 54ca5200edeb5155086ced43d00b0cad
+# Source0-md5: 38d28f6bd9220d85dfff47210706195c
 Source1:       %{name}.conf
 Source2:       %{name}.upstart
 Source3:       %{name}.tmpfiles
-Patch0:                %{name}-pld.patch
-Patch1:                ifcfg-path.patch
-Patch2:                systemd-fallback.patch
-Patch3:                llh340.patch
-Patch4:                11-initialize-nm-remote-settings.patch
+Source4:       %{name}.init
+Patch0:                ifcfg-path.patch
+Patch1:                systemd-fallback.patch
+Patch2:                llh340.patch
+Patch3:                11-initialize-nm-remote-settings.patch
 URL:           http://projects.gnome.org/NetworkManager/
 BuildRequires: autoconf >= 2.63
 BuildRequires: automake >= 1:1.10
@@ -35,7 +35,7 @@ BuildRequires:        gtk-doc >= 1.0
 BuildRequires: gtk-doc-automake >= 1.0
 BuildRequires: intltool >= 0.40.0
 BuildRequires: libiw-devel >= 1:28-0.pre9.1
-BuildRequires: libnl-devel >= 3.0
+BuildRequires: libnl-devel >= 3.2.7
 BuildRequires: libsoup-devel >= 2.26.0
 BuildRequires: libtool >= 2:2.2
 BuildRequires: libuuid-devel
@@ -46,17 +46,21 @@ BuildRequires:      ppp-plugin-devel >= 3:2.4.5
 BuildRequires: rpm-pythonprov
 BuildRequires: rpmbuild(macros) >= 1.629
 BuildRequires: sed >= 4.0
-%{?with_systemd:BuildRequires: systemd-devel}
+%{?with_systemd:BuildRequires: systemd-devel >= 183}
 BuildRequires: tar >= 1:1.22
 BuildRequires: udev-devel
-BuildRequires: udev-glib-devel >= 1:147
+BuildRequires: udev-glib-devel >= 1:165
 %{?with_vala:BuildRequires:    vala >= 2:0.17.1.24}
 %{?with_wimax:BuildRequires:   wimax-devel >= 1.5.1}
 BuildRequires: xz
 Requires(post,preun):  /sbin/chkconfig
 Requires(post,preun,postun):   systemd-units >= 38
 Requires:      %{name}-libs = %{epoch}:%{version}-%{release}
+%if %{with systemd}
+Suggests:      ConsoleKit-x11
+%else
 Requires:      ConsoleKit-x11
+%endif
 Requires:      dhcp-client
 Requires:      filesystem >= 3.0-37
 Requires:      polkit >= 0.97
@@ -98,7 +102,7 @@ Group:               Libraries
 Requires:      dbus-glib >= 0.94
 Requires:      glib2 >= 1:2.24.0
 Requires:      nss >= 3.11
-Requires:      udev-glib >= 1:147
+Requires:      udev-glib >= 1:165
 Conflicts:     NetworkManager < 0.6.4-0.2
 
 %description libs
@@ -116,7 +120,7 @@ Requires:   dbus-glib-devel >= 0.94
 Requires:      glib2-devel >= 1:2.24.0
 Requires:      libuuid-devel
 Requires:      nss-devel >= 3.11
-Requires:      udev-glib-devel >= 1:147
+Requires:      udev-glib-devel >= 1:165
 
 %description devel
 Network Manager includes and more.
@@ -152,10 +156,9 @@ API języka Vala do bibliotek NetworkManagera.
 %prep
 %setup -q
 %patch0 -p1
-%patch1 -p1
-%{?with_systemd:%patch2 -p1}
+%{?with_systemd:%patch1 -p1}
+%patch2 -p1
 %patch3 -p1
-%patch4 -p1
 
 %build
 %{__gtkdocize}
@@ -168,13 +171,14 @@ API języka Vala do bibliotek NetworkManagera.
 %configure \
        --disable-silent-rules \
        --with-html-dir=%{_gtkdocdir} \
-       --with-distro=pld \
+       --enable-ifcfg-rh \
        --enable-more-warnings=yes \
        --with-dhclient=/sbin/dhclient \
        --with-iptables=/usr/sbin/iptables \
        --with-system-ca-path=/etc/certs \
        --with-systemdsystemunitdir=%{systemdunitdir} \
        --with-session-tracking=%{?with_systemd:systemd}%{!?with_systemd:ck} \
+       --with-suspend-resume=%{?with_systemd:systemd}%{!?with_systemd:upower} \
        --with-pppd-plugin-dir=%{_libdir}/pppd/plugins \
        --with-dist-version=%{version}-%{release} \
        --with-docs \
@@ -192,6 +196,8 @@ install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,/var/run/%{name},%{systemdtmpfilesdi
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
+install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
+
 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
 
 install -d $RPM_BUILD_ROOT/etc/init
@@ -257,7 +263,6 @@ exit 0
 %attr(755,root,root) %{_libexecdir}/nm-avahi-autoipd.action
 %attr(755,root,root) %{_libexecdir}/nm-dhcp-client.action
 %attr(755,root,root) %{_libexecdir}/nm-dispatcher.action
-%attr(755,root,root) %{_libexecdir}/nm-crash-logger
 %attr(755,root,root) %{_libdir}/pppd/plugins/nm-pppd-plugin.so
 %attr(754,root,root) /etc/rc.d/init.d/NetworkManager
 %config(noreplace) %verify(not md5 mtime size) /etc/init/NetworkManager.conf
@@ -265,8 +270,6 @@ exit 0
 %{systemdunitdir}/NetworkManager-wait-online.service
 %{_datadir}/dbus-1/system-services/org.freedesktop.NetworkManager.service
 %{systemdtmpfilesdir}/%{name}.conf
-%dir %{_datadir}/%{name}
-%{_datadir}/%{name}/gdb-cmd
 %{_datadir}/dbus-1/system-services/org.freedesktop.nm_dispatcher.service
 %{_datadir}/polkit-1/actions/org.freedesktop.NetworkManager.policy
 /lib/udev/rules.d/77-nm-olpc-mesh.rules
@@ -283,6 +286,7 @@ exit 0
 %{_mandir}/man1/nm-online.1*
 %{_mandir}/man1/nm-tool.1*
 %{_mandir}/man1/nmcli.1*
+%{_mandir}/man5/nm-settings.5*
 %{_mandir}/man5/nm-system-settings.conf.5*
 %{_mandir}/man5/NetworkManager.conf.5*
 %{_mandir}/man8/NetworkManager.8*
index cef24b03bb2ed3a576f34787c8343329c53263e2..f1651c025cfeeb810dc0632dc4d9b922db3bee1b 100644 (file)
@@ -1,15 +1,14 @@
-diff -u -Nr NetworkManager-0.9.3.995/configure.ac NetworkManager-0.9.3.995-systemd-fallback/configure.ac
---- NetworkManager-0.9.3.995/configure.ac      2012-03-02 01:05:21.000000000 +0100
-+++ NetworkManager-0.9.3.995-systemd-fallback/configure.ac     2012-03-06 16:55:58.294793902 +0100
-@@ -344,7 +344,7 @@
- case $with_session_tracking in
-     ck|none) ;;
-     systemd)
--        PKG_CHECK_MODULES(SYSTEMD, [libsystemd-login])
-+        PKG_CHECK_MODULES(SYSTEMD, [libsystemd-daemon libsystemd-login])
-         ;;
-     *)
-       AC_MSG_ERROR(--with-session-tracking must be one of [none, ck, systemd])
+--- NetworkManager-0.9.8.0/configure.ac~       2013-02-21 14:04:19.582661393 +0100
++++ NetworkManager-0.9.8.0/configure.ac        2013-02-21 14:23:32.286416661 +0100
+@@ -283,7 +283,7 @@
+ AM_CONDITIONAL(SESSION_TRACKING_CK, test "$with_session_tracking" = "consolekit")
+ AM_CONDITIONAL(SESSION_TRACKING_SYSTEMD, test "xwith_session_tracking" = "systemd")
+ if test "$with_session_tracking" = "systemd"; then
+-      PKG_CHECK_MODULES(SYSTEMD_LOGIN, [libsystemd-login])
++      PKG_CHECK_MODULES(SYSTEMD_LOGIN, [libsystemd-daemon libsystemd-login])
+       AC_SUBST(SYSTEMD_LOGIN_CFLAGS)
+       AC_SUBST(SYSTEMD_LOGIN_LIBS)
+ fi
 --- NetworkManager-0.9.6.4/src/nm-session-monitor-systemd.c.orig       2012-09-12 22:37:01.000000000 +0200
 +++ NetworkManager-0.9.6.4/src/nm-session-monitor-systemd.c    2012-11-01 08:58:24.084129513 +0100
 @@ -28,6 +28,10 @@
@@ -489,3 +488,109 @@ diff -u -Nr NetworkManager-0.9.3.995/configure.ac NetworkManager-0.9.3.995-syste
        }
 -      return ret > 0 ? TRUE : FALSE;
  }
+
+--- NetworkManager-0.9.8.0/src/nm-sleep-monitor-systemd.c.new  2013-02-21 15:01:09.404910471 +0100
++++ NetworkManager-0.9.8.0/src/nm-sleep-monitor-systemd.c      2013-02-21 15:10:58.429453872 +0100
+@@ -25,6 +25,7 @@
+ #include <dbus/dbus-glib.h>
+ #include <gio/gio.h>
+ #include <gio/gunixfdlist.h>
++#include <systemd/sd-daemon.h>
+ #include "nm-logging.h"
+ #include "nm-dbus-manager.h"
+@@ -35,6 +36,8 @@
+ #define SD_PATH              "/org/freedesktop/login1"
+ #define SD_INTERFACE         "org.freedesktop.login1.Manager"
++#define UPOWER_DBUS_SERVICE "org.freedesktop.UPower"
++
+ /* Do we have GDBus (glib >= 2.26) and GUnixFDList (glib >= 2.30) support ? */
+ #if GLIB_CHECK_VERSION(2,30,0)
+ #define IS_GDBUS_UNIXFD_AVAILABLE 1
+@@ -50,6 +53,8 @@ struct _NMSleepMonitor {
+       DBusGProxy *sd_proxy;
+ #endif
+       gint inhibit_fd;
++      
++      DBusGProxy *upower_proxy;
+ };
+ struct _NMSleepMonitorClass {
+@@ -71,6 +76,20 @@ G_DEFINE_TYPE (NMSleepMonitor, nm_sleep_
+ /********************************************************************/
++static void
++upower_sleeping_cb (DBusGProxy *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 (DBusGProxy *proxy, gpointer user_data)
++{
++        nm_log_dbg (LOGD_SUSPEND, "Received UPower resuming signal");
++        g_signal_emit (user_data, signals[RESUMING], 0);
++}
++
+ static gboolean
+ drop_inhibitor (NMSleepMonitor *self)
+ {
+@@ -304,9 +323,34 @@ sleep_setup (NMSleepMonitor *self)
+ static void
+ nm_sleep_monitor_init (NMSleepMonitor *self)
+ {
+-      self->inhibit_fd = -1;
+-      sleep_setup (self);
+-      take_inhibitor (self);
++      if (sd_booted () > 0) {
++              self->inhibit_fd = -1;
++              sleep_setup (self);
++              take_inhibitor (self);
++      } else {
++              NMDBusManager *dbus_mgr;
++              DBusGConnection *bus;
++
++              dbus_mgr = nm_dbus_manager_get ();
++        bus = nm_dbus_manager_get_connection (dbus_mgr);
++        self->upower_proxy = dbus_g_proxy_new_for_name (bus,
++                                                        UPOWER_DBUS_SERVICE,
++                                                        "/org/freedesktop/UPower",
++                                                        "org.freedesktop.UPower");
++        if (self->upower_proxy) {
++                      dbus_g_proxy_add_signal (self->upower_proxy, "Sleeping", G_TYPE_INVALID);
++                      dbus_g_proxy_connect_signal (self->upower_proxy, "Sleeping",
++                                                                               G_CALLBACK (upower_sleeping_cb),
++                                                                               self, NULL);
++
++                      dbus_g_proxy_add_signal (self->upower_proxy, "Resuming", G_TYPE_INVALID);
++                      dbus_g_proxy_connect_signal (self->upower_proxy, "Resuming",
++                                                                               G_CALLBACK (upower_resuming_cb),
++                                                                               self, NULL);
++        } else
++                              nm_log_warn (LOGD_SUSPEND, "could not initialize UPower D-Bus proxy");
++        g_object_unref (dbus_mgr);
++      }
+ }
+ static void
+@@ -314,9 +358,14 @@ finalize (GObject *object)
+ {
+       NMSleepMonitor *self = NM_SLEEP_MONITOR (object);
+-      drop_inhibitor (self);
+-      if (self->sd_proxy)
+-              g_object_unref (self->sd_proxy);
++      if (sd_booted () > 0) {
++              drop_inhibitor (self);
++              if (self->sd_proxy)
++                      g_object_unref (self->sd_proxy);
++      } else {
++              if (self->upower_proxy)
++                      g_object_unref (self->upower_proxy);
++      }
+       if (G_OBJECT_CLASS (nm_sleep_monitor_parent_class)->finalize != NULL)
+               G_OBJECT_CLASS (nm_sleep_monitor_parent_class)->finalize (object);
This page took 0.249517 seconds and 4 git commands to generate.