Hello community,

here is the log from the commit of package upower for openSUSE:Factory checked 
in at 2019-09-11 10:24:58
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/upower (Old)
 and      /work/SRC/openSUSE:Factory/.upower.new.7948 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "upower"

Wed Sep 11 10:24:58 2019 rev:69 rq:728160 version:0.99.11

Changes:
--------
--- /work/SRC/openSUSE:Factory/upower/upower.changes    2019-03-24 
14:56:37.835204412 +0100
+++ /work/SRC/openSUSE:Factory/.upower.new.7948/upower.changes  2019-09-11 
10:25:00.259476434 +0200
@@ -1,0 +2,21 @@
+Tue Sep  3 15:31:25 UTC 2019 - Bjørn Lie <bjorn....@gmail.com>
+
+- Update to version 0.99.11:
+  + New Features:
+    - Add code of conduct document.
+    - build: Migrate from intltool to gettext.
+    - rules: Split off HID++ udev rules.
+    - Harden systemd service.
+    - Let systemd create /var/lib/upower.
+    - Move D-Bus policy file to /usr/share/dbus-1/system.d/.
+  + Bug fixes:
+    - Fix endless loop burning 100% CPU on keyboard plugout with
+      external backlight.
+    - linux:
+      . Start polling for unknown device batteries too.
+      . Retry to get a battery type if it's unknown.
+      . Don't treat device batteries like laptop batteries.
+    - Replace use of G_TYPE_INSTANCE_GET_PRIVATE and
+      g_type_class_add_private().
+
+-------------------------------------------------------------------

Old:
----
  upower-0.99.10.obscpio

New:
----
  upower-0.99.11.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ upower.spec ++++++
--- /var/tmp/diff_new_pack.XQMna5/_old  2019-09-11 10:25:01.247476311 +0200
+++ /var/tmp/diff_new_pack.XQMna5/_new  2019-09-11 10:25:01.247476311 +0200
@@ -23,7 +23,7 @@
 BuildRequires:  pkgconfig(udev)
 %endif
 Name:           upower
-Version:        0.99.10
+Version:        0.99.11
 Release:        0
 Summary:        Power Device Enumeration Framework
 License:        GPL-2.0-or-later
@@ -152,7 +152,7 @@
 %endif
 %{_udevrulesdir}/*.rules
 %{_unitdir}/upower.service
-%config %{_sysconfdir}/dbus-1/system.d/org.freedesktop.UPower.conf
+%{_datadir}/dbus-1/system.d/org.freedesktop.UPower.conf
 %{_datadir}/dbus-1/interfaces/org.freedesktop.UPower.xml
 %{_datadir}/dbus-1/interfaces/org.freedesktop.UPower.Device.xml
 %{_datadir}/dbus-1/interfaces/org.freedesktop.UPower.KbdBacklight.xml

++++++ _service ++++++
--- /var/tmp/diff_new_pack.XQMna5/_old  2019-09-11 10:25:01.263476309 +0200
+++ /var/tmp/diff_new_pack.XQMna5/_new  2019-09-11 10:25:01.263476309 +0200
@@ -2,8 +2,8 @@
   <service name="obs_scm" mode="disabled">
     <param name="url">https://gitlab.freedesktop.org/upower/upower.git</param>
     <param name="scm">git</param>
-    <param name="version">0.99.10</param>
-    <param name="revision">UPOWER_0_99_10</param>
+    <param name="version">0.99.11</param>
+    <param name="revision">UPOWER_0_99_11</param>
   </service>
   <service mode="disabled" name="set_version" />
 

++++++ upower-0.99.10.obscpio -> upower-0.99.11.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/.gitlab-ci.yml 
new/upower-0.99.11/.gitlab-ci.yml
--- old/upower-0.99.10/.gitlab-ci.yml   2019-02-20 14:40:19.000000000 +0100
+++ new/upower-0.99.11/.gitlab-ci.yml   2019-09-03 08:47:44.000000000 +0200
@@ -1,8 +1,7 @@
 image: fedora:rawhide
 
 variables:
-  DEPENDENCIES: gettext libtool intltool gtk-doc
-                autoconf automake
+  DEPENDENCIES: libtool gtk-doc autoconf automake gettext-devel
                 gcc redhat-rpm-config gcc-c++ glibc-devel make
                 systemd sqlite-devel gobject-introspection-devel
                 libusbx-devel libgudev-devel libimobiledevice-devel
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/NEWS new/upower-0.99.11/NEWS
--- old/upower-0.99.10/NEWS     2019-02-20 14:40:19.000000000 +0100
+++ new/upower-0.99.11/NEWS     2019-09-03 08:47:44.000000000 +0200
@@ -1,3 +1,23 @@
+Version 0.99.11
+~~~~~~~~~~~~~~~
+Released: 2019-09-03
+
+New Features:
+ - Add code of conduct document
+ - build: Migrate from intltool to gettext
+ - rules: Split off HID++ udev rules
+ - Harden systemd service
+ - Let systemd create /var/lib/upower
+ - Move D-Bus policy file to /usr/share/dbus-1/system.d/
+
+Bug fixes:
+ - Fix endless loop burning 100% CPU on keyboard plugout with external
+   backlight
+ - linux: Start polling for unknown device batteries too
+ - linux: Retry to get a battery type if it's unknown
+ - linux: Don't treat device batteries like laptop batteries
+ - Replace use of G_TYPE_INSTANCE_GET_PRIVATE and g_type_class_add_private()
+
 Version 0.99.10
 ~~~~~~~~~~~~~~~
 Released: 2019-02-20
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/autogen.sh 
new/upower-0.99.11/autogen.sh
--- old/upower-0.99.10/autogen.sh       2019-02-20 14:40:19.000000000 +0100
+++ new/upower-0.99.11/autogen.sh       2019-09-03 08:47:44.000000000 +0200
@@ -13,21 +13,14 @@
         exit 1
 fi
 
-INTLTOOLIZE=`which intltoolize`
-if test -z $INTLTOOLIZE; then
-        echo "*** No intltoolize found, please install the intltool package 
***"
-        exit 1
-fi
-
 GTKDOCIZE=`which gtkdocize`
 if test -z $GTKDOCIZE; then
         echo "*** No GTK-Doc found, please install it ***"
         exit 1
 fi
 
-gtkdocize
-autopoint --force
-AUTOPOINT='intltoolize --automake --copy' autoreconf --force --install 
--verbose
+gtkdocize --copy || exit 1
+autoreconf --verbose --force --install || exit 1
 
 cd $olddir
 test -n "$NOCONFIGURE" || "$srcdir/configure" "$@"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/code-of-conduct.md 
new/upower-0.99.11/code-of-conduct.md
--- old/upower-0.99.10/code-of-conduct.md       1970-01-01 01:00:00.000000000 
+0100
+++ new/upower-0.99.11/code-of-conduct.md       2019-09-03 08:47:44.000000000 
+0200
@@ -0,0 +1,3 @@
+This project and its community follow the [Freedesktop.org code of conduct]
+
+[Freedesktop.org code of conduct]: 
https://www.freedesktop.org/wiki/CodeOfConduct/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/configure.ac 
new/upower-0.99.11/configure.ac
--- old/upower-0.99.10/configure.ac     2019-02-20 14:40:19.000000000 +0100
+++ new/upower-0.99.11/configure.ac     2019-09-03 08:47:44.000000000 +0200
@@ -2,7 +2,7 @@
 
 m4_define([up_major_version], [0])
 m4_define([up_minor_version], [99])
-m4_define([up_micro_version], [10])
+m4_define([up_micro_version], [11])
 m4_define([up_version],
           [up_major_version.up_minor_version.up_micro_version])
 
@@ -152,7 +152,7 @@
                   [RELRO_LDFLAGS="-Wl,-z,relro,-z,now"])
 AC_SUBST([RELRO_LDFLAGS])
 
-PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.34.0 gobject-2.0])
+PKG_CHECK_MODULES(GLIB, [glib-2.0 >= 2.38.0 gobject-2.0])
 PKG_CHECK_MODULES(GIO, [gio-2.0 >= 2.16.1])
 PKG_CHECK_MODULES(GIO_UNIX, [gio-unix-2.0])
 
@@ -229,9 +229,7 @@
 fi
 
 # i18n support
-IT_PROG_INTLTOOL([0.40.0])
-
-AM_GNU_GETTEXT_VERSION([0.17])
+AM_GNU_GETTEXT_VERSION([0.19.8])
 AM_GNU_GETTEXT([external])
 
 AC_SUBST([GETTEXT_PACKAGE],[${PACKAGE_TARNAME}])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/upower-0.99.10/dbus/org.freedesktop.UPower.Device.xml 
new/upower-0.99.11/dbus/org.freedesktop.UPower.Device.xml
--- old/upower-0.99.10/dbus/org.freedesktop.UPower.Device.xml   2019-02-20 
14:40:19.000000000 +0100
+++ new/upower-0.99.11/dbus/org.freedesktop.UPower.Device.xml   2019-09-03 
08:47:44.000000000 +0200
@@ -336,6 +336,12 @@
               <doc:term>8</doc:term><doc:definition>Phone</doc:definition>
             </doc:item>
           </doc:list>
+          <doc:para>
+            If the value is set to "Battery", you will need to verify that the
+            property <doc:ref type="property" 
to="Source:PowerSupply">power-supply</doc:ref>
+            has the value "true" before considering it as a laptop battery. 
Otherwise it
+            will likely be the battery for a device of an unknown type.
+          </doc:para>
         </doc:description>
       </doc:doc>
     </property>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/libupower-glib/up-client.c 
new/upower-0.99.11/libupower-glib/up-client.c
--- old/upower-0.99.10/libupower-glib/up-client.c       2019-02-20 
14:40:19.000000000 +0100
+++ new/upower-0.99.11/libupower-glib/up-client.c       2019-09-03 
08:47:44.000000000 +0200
@@ -43,8 +43,6 @@
 static void    up_client_init                  (UpClient       *client);
 static void    up_client_finalize              (GObject        *object);
 
-#define UP_CLIENT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
UP_TYPE_CLIENT, UpClientPrivate))
-
 /**
  * UpClientPrivate:
  *
@@ -73,6 +71,7 @@
 static guint signals [UP_CLIENT_LAST_SIGNAL] = { 0 };
 
 G_DEFINE_TYPE_WITH_CODE (UpClient, up_client, G_TYPE_OBJECT,
+                        G_ADD_PRIVATE(UpClient)
                          G_IMPLEMENT_INTERFACE(G_TYPE_INITABLE, 
up_client_initable_iface_init))
 
 /**
@@ -451,8 +450,6 @@
                              G_STRUCT_OFFSET (UpClientClass, device_removed),
                              NULL, NULL, g_cclosure_marshal_VOID__STRING,
                              G_TYPE_NONE, 1, G_TYPE_STRING);
-
-       g_type_class_add_private (klass, sizeof (UpClientPrivate));
 }
 
 /*
@@ -463,7 +460,7 @@
 up_client_initable_init (GInitable *initable, GCancellable *cancellable, 
GError **error)
 {
        UpClient *client = UP_CLIENT (initable);
-       client->priv = UP_CLIENT_GET_PRIVATE (client);
+       client->priv = up_client_get_instance_private (client);
 
        /* connect to main interface */
        client->priv->proxy = up_exported_daemon_proxy_new_for_bus_sync 
(G_BUS_TYPE_SYSTEM,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/libupower-glib/up-device.c 
new/upower-0.99.11/libupower-glib/up-device.c
--- old/upower-0.99.10/libupower-glib/up-device.c       2019-02-20 
14:40:19.000000000 +0100
+++ new/upower-0.99.11/libupower-glib/up-device.c       2019-09-03 
08:47:44.000000000 +0200
@@ -44,8 +44,6 @@
 static void    up_device_init          (UpDevice       *device);
 static void    up_device_finalize      (GObject                *object);
 
-#define UP_DEVICE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
UP_TYPE_DEVICE, UpDevicePrivate))
-
 /**
  * UpDevicePrivate:
  *
@@ -94,7 +92,7 @@
        PROP_LAST
 };
 
-G_DEFINE_TYPE (UpDevice, up_device, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (UpDevice, up_device, G_TYPE_OBJECT)
 
 /*
  * up_device_changed_cb:
@@ -1202,8 +1200,6 @@
                                         g_param_spec_string ("icon-name",
                                                              NULL, NULL, NULL,
                                                              
G_PARAM_READWRITE));
-
-       g_type_class_add_private (klass, sizeof (UpDevicePrivate));
 }
 
 static void
@@ -1219,7 +1215,7 @@
 static void
 up_device_init (UpDevice *device)
 {
-       device->priv = UP_DEVICE_GET_PRIVATE (device);
+       device->priv = up_device_get_instance_private (device);
        device->priv->offline_props = g_hash_table_new_full (g_direct_hash,
                                                             g_direct_equal,
                                                             NULL,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/libupower-glib/up-history-item.c 
new/upower-0.99.11/libupower-glib/up-history-item.c
--- old/upower-0.99.10/libupower-glib/up-history-item.c 2019-02-20 
14:40:19.000000000 +0100
+++ new/upower-0.99.11/libupower-glib/up-history-item.c 2019-09-03 
08:47:44.000000000 +0200
@@ -39,8 +39,6 @@
 static void    up_history_item_init            (UpHistoryItem          
*history_item);
 static void    up_history_item_finalize                (GObject                
*object);
 
-#define UP_HISTORY_ITEM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
UP_TYPE_HISTORY_ITEM, UpHistoryItemPrivate))
-
 struct UpHistoryItemPrivate
 {
        gdouble                  value;
@@ -56,7 +54,7 @@
        PROP_LAST
 };
 
-G_DEFINE_TYPE (UpHistoryItem, up_history_item, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (UpHistoryItem, up_history_item, G_TYPE_OBJECT)
 
 /**
  * up_history_item_set_value:
@@ -321,8 +319,6 @@
                                                            0, G_MAXUINT,
                                                            
UP_DEVICE_STATE_UNKNOWN,
                                                            G_PARAM_READWRITE));
-
-       g_type_class_add_private (klass, sizeof (UpHistoryItemPrivate));
 }
 
 /**
@@ -331,7 +327,7 @@
 static void
 up_history_item_init (UpHistoryItem *history_item)
 {
-       history_item->priv = UP_HISTORY_ITEM_GET_PRIVATE (history_item);
+       history_item->priv = up_history_item_get_instance_private 
(history_item);
 }
 
 /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/libupower-glib/up-stats-item.c 
new/upower-0.99.11/libupower-glib/up-stats-item.c
--- old/upower-0.99.10/libupower-glib/up-stats-item.c   2019-02-20 
14:40:19.000000000 +0100
+++ new/upower-0.99.11/libupower-glib/up-stats-item.c   2019-09-03 
08:47:44.000000000 +0200
@@ -38,8 +38,6 @@
 static void    up_stats_item_init              (UpStatsItem            
*stats_item);
 static void    up_stats_item_finalize          (GObject                
*object);
 
-#define UP_STATS_ITEM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
UP_TYPE_STATS_ITEM, UpStatsItemPrivate))
-
 struct UpStatsItemPrivate
 {
        gdouble                  value;
@@ -53,7 +51,7 @@
        PROP_LAST
 };
 
-G_DEFINE_TYPE (UpStatsItem, up_stats_item, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (UpStatsItem, up_stats_item, G_TYPE_OBJECT)
 
 /**
  * up_stats_item_set_value:
@@ -193,8 +191,6 @@
                                         g_param_spec_double ("accuracy", NULL, 
NULL,
                                                              0.0, G_MAXDOUBLE, 
0.0,
                                                              
G_PARAM_READWRITE));
-
-       g_type_class_add_private (klass, sizeof (UpStatsItemPrivate));
 }
 
 /**
@@ -204,7 +200,7 @@
 static void
 up_stats_item_init (UpStatsItem *stats_item)
 {
-       stats_item->priv = UP_STATS_ITEM_GET_PRIVATE (stats_item);
+       stats_item->priv = up_stats_item_get_instance_private (stats_item);
 }
 
 /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/libupower-glib/up-wakeup-item.c 
new/upower-0.99.11/libupower-glib/up-wakeup-item.c
--- old/upower-0.99.10/libupower-glib/up-wakeup-item.c  2019-02-20 
14:40:19.000000000 +0100
+++ new/upower-0.99.11/libupower-glib/up-wakeup-item.c  2019-09-03 
08:47:44.000000000 +0200
@@ -38,8 +38,6 @@
 static void    up_wakeup_item_init             (UpWakeupItem           
*wakeup_item);
 static void    up_wakeup_item_finalize         (GObject                
*object);
 
-#define UP_WAKEUP_ITEM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
UP_TYPE_WAKEUP_ITEM, UpWakeupItemPrivate))
-
 struct UpWakeupItemPrivate
 {
        gboolean                 is_userspace;
@@ -61,7 +59,7 @@
        PROP_LAST
 };
 
-G_DEFINE_TYPE (UpWakeupItem, up_wakeup_item, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (UpWakeupItem, up_wakeup_item, G_TYPE_OBJECT)
 
 /**
  * up_wakeup_item_get_is_userspace:
@@ -409,8 +407,6 @@
                                         g_param_spec_string ("details", NULL, 
NULL,
                                                              NULL,
                                                              
G_PARAM_READWRITE));
-
-       g_type_class_add_private (klass, sizeof (UpWakeupItemPrivate));
 }
 
 /**
@@ -420,7 +416,7 @@
 static void
 up_wakeup_item_init (UpWakeupItem *wakeup_item)
 {
-       wakeup_item->priv = UP_WAKEUP_ITEM_GET_PRIVATE (wakeup_item);
+       wakeup_item->priv = up_wakeup_item_get_instance_private (wakeup_item);
 }
 
 /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/libupower-glib/up-wakeups.c 
new/upower-0.99.11/libupower-glib/up-wakeups.c
--- old/upower-0.99.10/libupower-glib/up-wakeups.c      2019-02-20 
14:40:19.000000000 +0100
+++ new/upower-0.99.11/libupower-glib/up-wakeups.c      2019-09-03 
08:47:44.000000000 +0200
@@ -32,8 +32,6 @@
 static void    up_wakeups_init         (UpWakeups      *wakeups);
 static void    up_wakeups_finalize     (GObject        *object);
 
-#define UP_WAKEUPS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
UP_TYPE_WAKEUPS, UpWakeupsPrivate))
-
 struct UpWakeupsPrivate
 {
        UpExportedWakeups *proxy;
@@ -47,7 +45,7 @@
 
 static guint signals [UP_WAKEUPS_LAST_SIGNAL] = { 0 };
 
-G_DEFINE_TYPE (UpWakeups, up_wakeups, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (UpWakeups, up_wakeups, G_TYPE_OBJECT)
 
 /**
  * up_wakeups_get_total_sync:
@@ -233,8 +231,6 @@
                              G_STRUCT_OFFSET (UpWakeupsClass, data_changed),
                              NULL, NULL, g_cclosure_marshal_VOID__UINT,
                              G_TYPE_NONE, 1, G_TYPE_UINT);
-
-       g_type_class_add_private (klass, sizeof (UpWakeupsPrivate));
 }
 
 /**
@@ -245,7 +241,7 @@
 {
        GError *error = NULL;
 
-       wakeups->priv = UP_WAKEUPS_GET_PRIVATE (wakeups);
+       wakeups->priv = up_wakeups_get_instance_private (wakeups);
 
        /* connect to main interface */
        wakeups->priv->proxy = up_exported_wakeups_proxy_new_for_bus_sync 
(G_BUS_TYPE_SYSTEM,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/po/Makevars 
new/upower-0.99.11/po/Makevars
--- old/upower-0.99.10/po/Makevars      1970-01-01 01:00:00.000000000 +0100
+++ new/upower-0.99.11/po/Makevars      2019-09-03 08:47:44.000000000 +0200
@@ -0,0 +1,78 @@
+# Makefile variables for PO directory in any package using GNU gettext.
+
+# Usually the message domain is the same as the package name.
+DOMAIN = $(PACKAGE)
+
+# These two variables depend on the location of this directory.
+subdir = po
+top_builddir = ..
+
+# These options get passed to xgettext.
+XGETTEXT_OPTIONS = --from-code=UTF-8 --keyword=_ --keyword=N_ 
--keyword=C_:1c,2 --keyword=NC_:1c,2 --keyword=g_dngettext:2,3 --add-comments
+
+# This is the copyright holder that gets inserted into the header of the
+# $(DOMAIN).pot file.  Set this to the copyright holder of the surrounding
+# package.  (Note that the msgstr strings, extracted from the package's
+# sources, belong to the copyright holder of the package.)  Translators are
+# expected to transfer the copyright for their translations to this person
+# or entity, or to disclaim their copyright.  The empty string stands for
+# the public domain; in this case the translators are expected to disclaim
+# their copyright.
+COPYRIGHT_HOLDER = The UPower authors.
+
+# This tells whether or not to prepend "GNU " prefix to the package
+# name that gets inserted into the header of the $(DOMAIN).pot file.
+# Possible values are "yes", "no", or empty.  If it is empty, try to
+# detect it automatically by scanning the files in $(top_srcdir) for
+# "GNU packagename" string.
+PACKAGE_GNU = no
+
+# This is the email address or URL to which the translators shall report
+# bugs in the untranslated strings:
+# - Strings which are not entire sentences, see the maintainer guidelines
+#   in the GNU gettext documentation, section 'Preparing Strings'.
+# - Strings which use unclear terms or require additional context to be
+#   understood.
+# - Strings which make invalid assumptions about notation of date, time or
+#   money.
+# - Pluralisation problems.
+# - Incorrect English spelling.
+# - Incorrect formatting.
+# It can be your email address, or a mailing list address where translators
+# can write to without being subscribed, or the URL of a web page through
+# which the translators can contact you.
+MSGID_BUGS_ADDRESS = https://gitlab.freedesktop.org/upower/upower/issues
+
+# This is the list of locale categories, beyond LC_MESSAGES, for which the
+# message catalogs shall be used.  It is usually empty.
+EXTRA_LOCALE_CATEGORIES =
+
+# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
+# context.  Possible values are "yes" and "no".  Set this to yes if the
+# package uses functions taking also a message context, like pgettext(), or
+# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
+USE_MSGCTXT = yes
+
+# These options get passed to msgmerge.
+# Useful options are in particular:
+#   --previous            to keep previous msgids of translated messages,
+#   --quiet               to reduce the verbosity.
+MSGMERGE_OPTIONS =
+
+# These options get passed to msginit.
+# If you want to disable line wrapping when writing PO files, add
+# --no-wrap to MSGMERGE_OPTIONS, XGETTEXT_OPTIONS, and
+# MSGINIT_OPTIONS.
+MSGINIT_OPTIONS =
+
+# This tells whether or not to regenerate a PO file when $(DOMAIN).pot
+# has changed.  Possible values are "yes" and "no".  Set this to no if
+# the POT file is checked in the repository and the version control
+# program ignores timestamps.
+PO_DEPENDS_ON_POT = no
+
+# This tells whether or not to forcibly update $(DOMAIN).pot and
+# regenerate PO files on "make dist".  Possible values are "yes" and
+# "no".  Set this to no if the POT file and PO files are maintained
+# externally.
+DIST_DEPENDS_ON_UPDATE_PO = no
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/po/POTFILES.in 
new/upower-0.99.11/po/POTFILES.in
--- old/upower-0.99.10/po/POTFILES.in   2019-02-20 14:40:19.000000000 +0100
+++ new/upower-0.99.11/po/POTFILES.in   2019-09-03 08:47:44.000000000 +0200
@@ -1,5 +1,4 @@
 # List of source files containing translatable strings.
 # Please keep this file sorted alphabetically.
-[encoding: UTF-8]
 src/up-main.c
 tools/up-tool.c
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/rules/95-upower-csr.rules 
new/upower-0.99.11/rules/95-upower-csr.rules
--- old/upower-0.99.10/rules/95-upower-csr.rules        2019-02-20 
14:40:19.000000000 +0100
+++ new/upower-0.99.11/rules/95-upower-csr.rules        2019-09-03 
08:47:44.000000000 +0200
@@ -19,17 +19,3 @@
 ATTR{idVendor}=="046d", ATTR{idProduct}=="c702", 
ENV{UPOWER_PRODUCT}="Presenter", ENV{UPOWER_BATTERY_TYPE}="mouse"
 
 LABEL="up_csr_end"
-
-# Unifying HID++ devices
-SUBSYSTEM!="hid", GOTO="up_unifying_end"
-# Kernel provides the battery information already
-ATTRS{idVendor}=="046d", TEST=="builtin_power_supply", GOTO="up_unifying_end"
-ATTRS{idVendor}=="046d", ENV{UPOWER_VENDOR}="Logitech, Inc."
-ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52b", 
DRIVER=="logitech-djdevice", ENV{UPOWER_BATTERY_TYPE}="unifying"
-ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c532", 
DRIVER=="logitech-djdevice", ENV{UPOWER_BATTERY_TYPE}="unifying"
-# These devices bind to the hid-logitech-hidpp module since Linux 3.19
-ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52b", 
DRIVER=="logitech-hidpp-device", ENV{UPOWER_BATTERY_TYPE}="unifying"
-ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c532", 
DRIVER=="logitech-hidpp-device", ENV{UPOWER_BATTERY_TYPE}="unifying"
-ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52f", 
ENV{UPOWER_BATTERY_TYPE}="lg-wireless"
-ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c531", 
ENV{UPOWER_BATTERY_TYPE}="lg-wireless"
-LABEL="up_unifying_end"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/rules/95-upower-hidpp.rules 
new/upower-0.99.11/rules/95-upower-hidpp.rules
--- old/upower-0.99.10/rules/95-upower-hidpp.rules      1970-01-01 
01:00:00.000000000 +0100
+++ new/upower-0.99.11/rules/95-upower-hidpp.rules      2019-09-03 
08:47:44.000000000 +0200
@@ -0,0 +1,9 @@
+##############################################################################################################
+# Unifying HID++ devices
+SUBSYSTEM!="hid", GOTO="up_unifying_end"
+# Kernel provides the battery information already
+ATTRS{idVendor}=="046d", TEST=="builtin_power_supply", GOTO="up_unifying_end"
+ATTRS{idVendor}=="046d", ENV{UPOWER_VENDOR}="Logitech, Inc."
+ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52f", 
ENV{UPOWER_BATTERY_TYPE}="lg-wireless"
+ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c531", 
ENV{UPOWER_BATTERY_TYPE}="lg-wireless"
+LABEL="up_unifying_end"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/rules/Makefile.am 
new/upower-0.99.11/rules/Makefile.am
--- old/upower-0.99.10/rules/Makefile.am        2019-02-20 14:40:19.000000000 
+0100
+++ new/upower-0.99.11/rules/Makefile.am        2019-09-03 08:47:44.000000000 
+0200
@@ -3,7 +3,8 @@
 udevrules_DATA =                                               \
        95-upower-wup.rules                                     \
        95-upower-hid.rules                                     \
-       95-upower-csr.rules
+       95-upower-csr.rules                                     \
+       95-upower-hidpp.rules
 
 EXTRA_DIST =                                                   \
        $(udevrules_DATA)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/src/Makefile.am 
new/upower-0.99.11/src/Makefile.am
--- old/upower-0.99.10/src/Makefile.am  2019-02-20 14:40:19.000000000 +0100
+++ new/upower-0.99.11/src/Makefile.am  2019-09-03 08:47:44.000000000 +0200
@@ -163,7 +163,7 @@
 $(dbusservice_DATA): $(dbusservice_in_files) Makefile
        @sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@
 
-dbusconfdir = $(sysconfdir)/dbus-1/system.d
+dbusconfdir = $(datadir)/dbus-1/system.d
 dbusconf_in_files = org.freedesktop.UPower.conf.in
 dbusconf_DATA = $(dbusconf_in_files:.conf.in=.conf)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/src/dummy/up-backend.c 
new/upower-0.99.11/src/dummy/up-backend.c
--- old/upower-0.99.10/src/dummy/up-backend.c   2019-02-20 14:40:19.000000000 
+0100
+++ new/upower-0.99.11/src/dummy/up-backend.c   2019-09-03 08:47:44.000000000 
+0200
@@ -35,8 +35,6 @@
 static void    up_backend_init (UpBackend              *backend);
 static void    up_backend_finalize     (GObject                *object);
 
-#define UP_BACKEND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
UP_TYPE_BACKEND, UpBackendPrivate))
-
 struct UpBackendPrivate
 {
        UpDaemon                *daemon;
@@ -57,7 +55,7 @@
 
 static guint signals [SIGNAL_LAST] = { 0 };
 
-G_DEFINE_TYPE (UpBackend, up_backend, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (UpBackend, up_backend, G_TYPE_OBJECT)
 
 #ifdef EGG_TEST
 /**
@@ -194,8 +192,6 @@
                              G_STRUCT_OFFSET (UpBackendClass, device_removed),
                              NULL, NULL, NULL,
                              G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_POINTER);
-
-       g_type_class_add_private (klass, sizeof (UpBackendPrivate));
 }
 
 /**
@@ -204,7 +200,7 @@
 static void
 up_backend_init (UpBackend *backend)
 {
-       backend->priv = UP_BACKEND_GET_PRIVATE (backend);
+       backend->priv = up_backend_get_instance_private (backend);
        backend->priv->daemon = NULL;
        backend->priv->device_list = NULL;
 #ifdef EGG_TEST
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/src/freebsd/up-backend.c 
new/upower-0.99.11/src/freebsd/up-backend.c
--- old/upower-0.99.10/src/freebsd/up-backend.c 2019-02-20 14:40:19.000000000 
+0100
+++ new/upower-0.99.11/src/freebsd/up-backend.c 2019-09-03 08:47:44.000000000 
+0200
@@ -54,8 +54,6 @@
 static gboolean        up_backend_create_new_device (UpBackend *backend, 
UpAcpiNative *native);
 static void    up_backend_lid_coldplug (UpBackend *backend);
 
-#define UP_BACKEND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
UP_TYPE_BACKEND, UpBackendPrivate))
-
 struct UpBackendPrivate
 {
        UpDaemon                *daemon;
@@ -74,7 +72,7 @@
 
 static guint signals [SIGNAL_LAST] = { 0 };
 
-G_DEFINE_TYPE (UpBackend, up_backend, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (UpBackend, up_backend, G_TYPE_OBJECT)
 
 static const gchar *handlers[] = {
        "battery",
@@ -404,8 +402,6 @@
                              G_STRUCT_OFFSET (UpBackendClass, device_removed),
                              NULL, NULL, NULL,
                              G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_POINTER);
-
-       g_type_class_add_private (klass, sizeof (UpBackendPrivate));
 }
 
 /**
@@ -414,7 +410,7 @@
 static void
 up_backend_init (UpBackend *backend)
 {
-       backend->priv = UP_BACKEND_GET_PRIVATE (backend);
+       backend->priv = up_backend_get_instance_private (backend);
        backend->priv->handle_map = g_hash_table_new_full (g_str_hash, 
g_str_equal, (GDestroyNotify) g_free, (GDestroyNotify) g_object_unref);
        backend->priv->config = up_config_new ();
        backend->priv->seat_manager_proxy = g_dbus_proxy_new_for_bus_sync 
(G_BUS_TYPE_SYSTEM,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/src/linux/hidpp-device.c 
new/upower-0.99.11/src/linux/hidpp-device.c
--- old/upower-0.99.10/src/linux/hidpp-device.c 2019-02-20 14:40:19.000000000 
+0100
+++ new/upower-0.99.11/src/linux/hidpp-device.c 2019-09-03 08:47:44.000000000 
+0200
@@ -163,8 +163,7 @@
        gchar                   *name;
 } HidppDeviceMap;
 
-G_DEFINE_TYPE (HidppDevice, hidpp_device, G_TYPE_OBJECT)
-#define HIDPP_DEVICE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
HIDPP_TYPE_DEVICE, HidppDevicePrivate))
+G_DEFINE_TYPE_WITH_PRIVATE (HidppDevice, hidpp_device, G_TYPE_OBJECT)
 
 /**
  * hidpp_is_error:
@@ -1033,7 +1032,7 @@
 {
        HidppDeviceMap *map;
 
-       device->priv = HIDPP_DEVICE_GET_PRIVATE (device);
+       device->priv = hidpp_device_get_instance_private (device);
        device->priv->fd = -1;
        device->priv->feature_index = g_ptr_array_new_with_free_func 
(hidpp_device_free_feature);
        device->priv->batt_status = HIDPP_DEVICE_BATT_STATUS_UNKNOWN;
@@ -1089,7 +1088,6 @@
 {
        GObjectClass *object_class = G_OBJECT_CLASS (klass);
        object_class->finalize = hidpp_device_finalize;
-       g_type_class_add_private (klass, sizeof (HidppDevicePrivate));
 }
 
 /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/src/linux/integration-test 
new/upower-0.99.11/src/linux/integration-test
--- old/upower-0.99.10/src/linux/integration-test       2019-02-20 
14:40:19.000000000 +0100
+++ new/upower-0.99.11/src/linux/integration-test       2019-09-03 
08:47:44.000000000 +0200
@@ -85,7 +85,8 @@
  UP_DEVICE_KIND_PHONE,
  UP_DEVICE_KIND_MEDIA_PLAYER,
  UP_DEVICE_KIND_TABLET,
- UP_DEVICE_KIND_COMPUTER) = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
+ UP_DEVICE_KIND_COMPUTER,
+ UP_DEVICE_KIND_GAMING_INPUT) = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
 
 class Tests(dbusmock.DBusTestCase):
     @classmethod
@@ -331,7 +332,7 @@
         self.assertEqual(self.get_dbus_property('OnBattery'), False)
         self.assertEqual(self.get_dbus_display_property('WarningLevel'), 
UP_DEVICE_LEVEL_NONE)
         self.assertEqual(self.get_dbus_dev_property(ac_up, 'PowerSupply'), 
True)
-        self.assertEqual(self.get_dbus_dev_property(ac_up, 'Type'), 1)
+        self.assertEqual(self.get_dbus_dev_property(ac_up, 'Type'), 
UP_DEVICE_KIND_LINE_POWER)
         self.assertEqual(self.get_dbus_dev_property(ac_up, 'Online'), True)
         self.assertEqual(self.get_dbus_dev_property(ac_up, 'NativePath'), 'AC')
         self.stop_daemon()
@@ -429,7 +430,7 @@
         self.assertEqual(self.get_dbus_dev_property(bat0_up, 'State'), 
UP_DEVICE_STATE_DISCHARGING)
         self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Percentage'), 
2.5)
         self.assertEqual(self.get_dbus_dev_property(bat0_up, 'PowerSupply'), 
True)
-        self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Type'), 2)
+        self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Type'), 
UP_DEVICE_KIND_BATTERY)
         self.stop_daemon()
 
         # now connect AC again
@@ -707,7 +708,7 @@
         self.assertEqual(self.get_dbus_dev_property(bat0_up, 
'EnergyFullDesign'), 132.0)
         self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Voltage'), 12.0)
         self.assertEqual(self.get_dbus_dev_property(bat0_up, 'PowerSupply'), 
True)
-        self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Type'), 2)
+        self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Type'), 
UP_DEVICE_KIND_BATTERY)
 
         self.assertEqual(self.get_dbus_property('OnBattery'), True)
         self.assertEqual(self.get_dbus_display_property('WarningLevel'), 
UP_DEVICE_LEVEL_NONE)
@@ -744,7 +745,7 @@
         self.assertEqual(self.get_dbus_dev_property(bat0_up, 
'EnergyFullDesign'), 132.0)
         self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Voltage'), 12.0)
         self.assertEqual(self.get_dbus_dev_property(bat0_up, 'PowerSupply'), 
True)
-        self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Type'), 2)
+        self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Type'), 
UP_DEVICE_KIND_BATTERY)
         # capacity_level is unused because a 'capacity' attribute is present 
and used instead
         self.assertEqual(self.get_dbus_dev_property(bat0_up, 'BatteryLevel'), 
UP_DEVICE_LEVEL_NONE)
         self.stop_daemon()
@@ -811,7 +812,7 @@
         self.assertEqual(self.get_dbus_dev_property(ups0_up, 'Percentage'), 
70.0)
         self.assertEqual(self.get_dbus_dev_property(ups0_up, 'State'), 
UP_DEVICE_STATE_CHARGING)
         self.assertEqual(self.get_dbus_dev_property(ups0_up, 'PowerSupply'), 
True)
-        self.assertEqual(self.get_dbus_dev_property(ups0_up, 'Type'), 3)
+        self.assertEqual(self.get_dbus_dev_property(ups0_up, 'Type'), 
UP_DEVICE_KIND_UPS)
 
         self.assertEqual(self.get_dbus_property('OnBattery'), False)
         self.assertEqual(self.get_dbus_display_property('WarningLevel'), 
UP_DEVICE_LEVEL_NONE)
@@ -1222,11 +1223,59 @@
         self.assertEqual(self.get_dbus_dev_property(joypadbat0_up, 'Model'), 
'Sony Interactive Entertainment Wireless Controller')
         self.assertEqual(self.get_dbus_dev_property(joypadbat0_up, 'Serial'), 
'ff:ff:ff:ff:ff:ff')
         self.assertEqual(self.get_dbus_dev_property(joypadbat0_up, 
'PowerSupply'), False)
-        # 12 == gaming input
-        self.assertEqual(self.get_dbus_dev_property(joypadbat0_up, 'Type'), 12)
+        self.assertEqual(self.get_dbus_dev_property(joypadbat0_up, 'Type'), 
UP_DEVICE_KIND_GAMING_INPUT)
         self.assertEqual(self.get_dbus_property('OnBattery'), False)
         self.assertEqual(self.get_dbus_display_property('WarningLevel'), 
UP_DEVICE_LEVEL_NONE)
 
+    def test_hidpp_touchpad_race(self):
+        '''HID++ touchpad with input node that appears later'''
+
+        dev = self.testbed.add_device('hid',
+                                      
'/devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10:1.2/0003:046D:C52B.0009/0003:046D:4101.000A',
+                                      None,
+                                      [], [])
+
+        parent = dev
+        batt_dev = self.testbed.add_device(
+            'power_supply',
+            
'/devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10:1.2/0003:046D:C52B.0009/0003:046D:4101.000A/power_supply/hidpp_battery_3',
+            parent,
+            ['type', 'Battery',
+             'scope', 'Device',
+             'present', '1',
+             'online', '1',
+             'status', 'Discharging',
+             'capacity_level', 'Full\n',
+             'serial_number', '123456',
+             'model_name', 'Logitech T650'],
+            [])
+
+        self.start_daemon()
+        devs = self.proxy.EnumerateDevices()
+        self.assertEqual(len(devs), 1)
+        mousebat0_up = devs[0]
+
+        self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Model'), 
'Logitech T650')
+        self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 
'PowerSupply'), False)
+        self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Type'), 
UP_DEVICE_KIND_BATTERY)
+        self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Serial'), 
'123456')
+        self.assertEqual(self.get_dbus_property('OnBattery'), False)
+        self.assertEqual(self.get_dbus_display_property('WarningLevel'), 
UP_DEVICE_LEVEL_NONE)
+
+        # Now test all the levels
+        self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 
'Percentage'), 100)
+        self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 
'BatteryLevel'), UP_DEVICE_LEVEL_FULL)
+
+        self.testbed.add_device(
+            'input',
+            
'/devices/pci0000:00/0000:00:14.0/usb3/3-10/3-10:1.2/0003:046D:C52B.0009/0003:046D:4101.000A/input/input22',
+            parent,
+            [], ['DEVNAME', 'input/mouse3', 'ID_INPUT_TOUCHPAD', '1'])
+        self.testbed.uevent(batt_dev, 'change')
+
+        time.sleep(0.5)
+        self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Type'), 
UP_DEVICE_KIND_MOUSE)
+
     def test_hidpp_touchpad(self):
         '''HID++ touchpad battery with 5 capacity levels'''
 
@@ -1263,8 +1312,7 @@
 
         self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Model'), 
'Logitech T650')
         self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 
'PowerSupply'), False)
-        # 5 == mouse
-        self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Type'), 5)
+        self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Type'), 
UP_DEVICE_KIND_MOUSE)
         self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Serial'), 
'123456')
         self.assertEqual(self.get_dbus_property('OnBattery'), False)
         self.assertEqual(self.get_dbus_display_property('WarningLevel'), 
UP_DEVICE_LEVEL_NONE)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/src/linux/up-backend.c 
new/upower-0.99.11/src/linux/up-backend.c
--- old/upower-0.99.10/src/linux/up-backend.c   2019-02-20 14:40:19.000000000 
+0100
+++ new/upower-0.99.11/src/linux/up-backend.c   2019-09-03 08:47:44.000000000 
+0200
@@ -57,8 +57,6 @@
 #define LOGIND_DBUS_PATH                       "/org/freedesktop/login1"
 #define LOGIND_DBUS_INTERFACE                  "org.freedesktop.login1.Manager"
 
-#define UP_BACKEND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
UP_TYPE_BACKEND, UpBackendPrivate))
-
 struct UpBackendPrivate
 {
        UpDaemon                *daemon;
@@ -83,7 +81,7 @@
 
 static guint signals [SIGNAL_LAST] = { 0 };
 
-G_DEFINE_TYPE (UpBackend, up_backend, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (UpBackend, up_backend, G_TYPE_OBJECT)
 
 static gboolean up_backend_device_add (UpBackend *backend, GUdevDevice 
*native);
 static void up_backend_device_remove (UpBackend *backend, GUdevDevice *native);
@@ -805,8 +803,6 @@
                              G_STRUCT_OFFSET (UpBackendClass, device_removed),
                              NULL, NULL, NULL,
                              G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_POINTER);
-
-       g_type_class_add_private (klass, sizeof (UpBackendPrivate));
 }
 
 static void
@@ -815,7 +811,7 @@
        GDBusConnection *bus;
        guint sleep_id;
 
-       backend->priv = UP_BACKEND_GET_PRIVATE (backend);
+       backend->priv = up_backend_get_instance_private (backend);
        backend->priv->config = up_config_new ();
        backend->priv->managed_devices = up_device_list_new ();
        backend->priv->logind_proxy = g_dbus_proxy_new_for_bus_sync 
(G_BUS_TYPE_SYSTEM,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/src/linux/up-device-bluez.c 
new/upower-0.99.11/src/linux/up-device-bluez.c
--- old/upower-0.99.10/src/linux/up-device-bluez.c      2019-02-20 
14:40:19.000000000 +0100
+++ new/upower-0.99.11/src/linux/up-device-bluez.c      2019-09-03 
08:47:44.000000000 +0200
@@ -28,7 +28,6 @@
 #include "up-device-bluez.h"
 
 G_DEFINE_TYPE (UpDeviceBluez, up_device_bluez, UP_TYPE_DEVICE)
-#define UP_DEVICE_BLUEZ_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
UP_TYPE_DEVICE_BLUEZ, UpDeviceBluezPrivate))
 
 static UpDeviceKind
 appearance_to_kind (guint16 appearance)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/src/linux/up-device-csr.c 
new/upower-0.99.11/src/linux/up-device-csr.c
--- old/upower-0.99.10/src/linux/up-device-csr.c        2019-02-20 
14:40:19.000000000 +0100
+++ new/upower-0.99.11/src/linux/up-device-csr.c        2019-09-03 
08:47:44.000000000 +0200
@@ -60,8 +60,7 @@
        libusb_device           *device;
 };
 
-G_DEFINE_TYPE (UpDeviceCsr, up_device_csr, UP_TYPE_DEVICE)
-#define UP_DEVICE_CSR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
UP_TYPE_DEVICE_CSR, UpDeviceCsrPrivate))
+G_DEFINE_TYPE_WITH_PRIVATE (UpDeviceCsr, up_device_csr, UP_TYPE_DEVICE)
 
 static gboolean                 up_device_csr_refresh          (UpDevice 
*device);
 
@@ -291,7 +290,7 @@
 up_device_csr_init (UpDeviceCsr *csr)
 {
        gint retval;
-       csr->priv = UP_DEVICE_CSR_GET_PRIVATE (csr);
+       csr->priv = up_device_csr_get_instance_private (csr);
 
        csr->priv->raw_value = -1;
        retval = libusb_init (&csr->priv->ctx);
@@ -332,8 +331,6 @@
        object_class->finalize = up_device_csr_finalize;
        device_class->coldplug = up_device_csr_coldplug;
        device_class->refresh = up_device_csr_refresh;
-
-       g_type_class_add_private (klass, sizeof (UpDeviceCsrPrivate));
 }
 
 /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/src/linux/up-device-hid.c 
new/upower-0.99.11/src/linux/up-device-hid.c
--- old/upower-0.99.10/src/linux/up-device-hid.c        2019-02-20 
14:40:19.000000000 +0100
+++ new/upower-0.99.11/src/linux/up-device-hid.c        2019-09-03 
08:47:44.000000000 +0200
@@ -90,8 +90,7 @@
        int                      fd;
 };
 
-G_DEFINE_TYPE (UpDeviceHid, up_device_hid, UP_TYPE_DEVICE)
-#define UP_DEVICE_HID_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
UP_TYPE_DEVICE_HID, UpDeviceHidPrivate))
+G_DEFINE_TYPE_WITH_PRIVATE (UpDeviceHid, up_device_hid, UP_TYPE_DEVICE)
 
 static gboolean                 up_device_hid_refresh          (UpDevice 
*device);
 
@@ -470,7 +469,7 @@
 static void
 up_device_hid_init (UpDeviceHid *hid)
 {
-       hid->priv = UP_DEVICE_HID_GET_PRIVATE (hid);
+       hid->priv = up_device_hid_get_instance_private (hid);
        hid->priv->fd = -1;
        hid->priv->poll_timer_id = g_timeout_add_seconds 
(UP_DEVICE_HID_REFRESH_TIMEOUT,
                                                          (GSourceFunc) 
up_device_hid_poll, hid);
@@ -512,8 +511,6 @@
        device_class->coldplug = up_device_hid_coldplug;
        device_class->get_on_battery = up_device_hid_get_on_battery;
        device_class->refresh = up_device_hid_refresh;
-
-       g_type_class_add_private (klass, sizeof (UpDeviceHidPrivate));
 }
 
 /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/src/linux/up-device-idevice.c 
new/upower-0.99.11/src/linux/up-device-idevice.c
--- old/upower-0.99.10/src/linux/up-device-idevice.c    2019-02-20 
14:40:19.000000000 +0100
+++ new/upower-0.99.11/src/linux/up-device-idevice.c    2019-09-03 
08:47:44.000000000 +0200
@@ -48,8 +48,7 @@
        lockdownd_client_t       client;
 };
 
-G_DEFINE_TYPE (UpDeviceIdevice, up_device_idevice, UP_TYPE_DEVICE)
-#define UP_DEVICE_IDEVICE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
UP_TYPE_DEVICE_IDEVICE, UpDeviceIdevicePrivate))
+G_DEFINE_TYPE_WITH_PRIVATE (UpDeviceIdevice, up_device_idevice, UP_TYPE_DEVICE)
 
 static gboolean                 up_device_idevice_refresh              
(UpDevice *device);
 
@@ -347,7 +346,7 @@
 static void
 up_device_idevice_init (UpDeviceIdevice *idevice)
 {
-       idevice->priv = UP_DEVICE_IDEVICE_GET_PRIVATE (idevice);
+       idevice->priv = up_device_idevice_get_instance_private (idevice);
 }
 
 /**
@@ -390,8 +389,6 @@
        object_class->finalize = up_device_idevice_finalize;
        device_class->coldplug = up_device_idevice_coldplug;
        device_class->refresh = up_device_idevice_refresh;
-
-       g_type_class_add_private (klass, sizeof (UpDeviceIdevicePrivate));
 }
 
 /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/src/linux/up-device-supply.c 
new/upower-0.99.11/src/linux/up-device-supply.c
--- old/upower-0.99.10/src/linux/up-device-supply.c     2019-02-20 
14:40:19.000000000 +0100
+++ new/upower-0.99.11/src/linux/up-device-supply.c     2019-09-03 
08:47:44.000000000 +0200
@@ -70,12 +70,13 @@
        gboolean                 shown_invalid_voltage_warning;
 };
 
-G_DEFINE_TYPE (UpDeviceSupply, up_device_supply, UP_TYPE_DEVICE)
-#define UP_DEVICE_SUPPLY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
UP_TYPE_DEVICE_SUPPLY, UpDeviceSupplyPrivate))
+G_DEFINE_TYPE_WITH_PRIVATE (UpDeviceSupply, up_device_supply, UP_TYPE_DEVICE)
 
 static gboolean                 up_device_supply_refresh               
(UpDevice *device);
 static void             up_device_supply_setup_unknown_poll    (UpDevice      
*device,
                                                                 UpDeviceState  
state);
+static UpDeviceKind     up_device_supply_guess_type            (GUdevDevice 
*native,
+                                                                const char 
*native_path);
 
 static RefreshResult
 up_device_supply_refresh_line_power (UpDeviceSupply *supply)
@@ -919,10 +920,19 @@
        GUdevDevice *native;
        gdouble percentage = 0.0f;
        UpDeviceLevel level = UP_DEVICE_LEVEL_NONE;
+       UpDeviceKind type;
 
        native = G_UDEV_DEVICE (up_device_get_native (device));
        native_path = g_udev_device_get_sysfs_path (native);
 
+       /* Try getting a more precise type again */
+       g_object_get (device, "type", &type, NULL);
+       if (type == UP_DEVICE_KIND_BATTERY) {
+               type = up_device_supply_guess_type (native, native_path);
+               if (type != UP_DEVICE_KIND_BATTERY)
+                       g_object_set (device, "type", type, NULL);
+       }
+
        /* initial values */
        if (!supply->priv->has_coldplug_values) {
                gchar *model_name;
@@ -1133,7 +1143,7 @@
            type != UP_DEVICE_KIND_BATTERY)
                up_daemon_start_poll (G_OBJECT (device), (GSourceFunc) 
up_device_supply_refresh);
        else if (type == UP_DEVICE_KIND_BATTERY &&
-                !supply->priv->disable_battery_poll)
+                (!supply->priv->disable_battery_poll || 
!supply->priv->is_power_supply))
                up_daemon_start_poll (G_OBJECT (device), (GSourceFunc) 
up_device_supply_refresh);
 
        /* coldplug values */
@@ -1193,17 +1203,14 @@
        UpDeviceState state;
 
        g_object_get (device, "type", &type, NULL);
-       switch (type) {
-       case UP_DEVICE_KIND_LINE_POWER:
+       if (type == UP_DEVICE_KIND_LINE_POWER) {
                ret = up_device_supply_refresh_line_power (supply);
-               break;
-       case UP_DEVICE_KIND_BATTERY:
+       } else if (type == UP_DEVICE_KIND_BATTERY &&
+                  supply->priv->is_power_supply) {
                up_device_supply_disable_unknown_poll (device);
                ret = up_device_supply_refresh_battery (supply, &state);
-               break;
-       default:
+       } else {
                ret = up_device_supply_refresh_device (supply, &state);
-               break;
        }
 
        /* reset time if we got new data */
@@ -1221,7 +1228,7 @@
 {
        UpConfig *config;
 
-       supply->priv = UP_DEVICE_SUPPLY_GET_PRIVATE (supply);
+       supply->priv = up_device_supply_get_instance_private (supply);
 
        /* allocate the stats for the battery charging & discharging */
        supply->priv->energy_old = g_new (gdouble, 
UP_DEVICE_SUPPLY_ENERGY_OLD_LENGTH);
@@ -1276,8 +1283,6 @@
        device_class->get_online = up_device_supply_get_online;
        device_class->coldplug = up_device_supply_coldplug;
        device_class->refresh = up_device_supply_refresh;
-
-       g_type_class_add_private (klass, sizeof (UpDeviceSupplyPrivate));
 }
 
 /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/src/linux/up-device-unifying.c 
new/upower-0.99.11/src/linux/up-device-unifying.c
--- old/upower-0.99.10/src/linux/up-device-unifying.c   2019-02-20 
14:40:19.000000000 +0100
+++ new/upower-0.99.11/src/linux/up-device-unifying.c   2019-09-03 
08:47:44.000000000 +0200
@@ -35,8 +35,7 @@
        HidppDevice             *hidpp_device;
 };
 
-G_DEFINE_TYPE (UpDeviceUnifying, up_device_unifying, UP_TYPE_DEVICE)
-#define UP_DEVICE_UNIFYING_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
UP_TYPE_DEVICE_UNIFYING, UpDeviceUnifyingPrivate))
+G_DEFINE_TYPE_WITH_PRIVATE (UpDeviceUnifying, up_device_unifying, 
UP_TYPE_DEVICE)
 
 /**
  * up_device_unifying_refresh:
@@ -300,7 +299,7 @@
 static void
 up_device_unifying_init (UpDeviceUnifying *unifying)
 {
-       unifying->priv = UP_DEVICE_UNIFYING_GET_PRIVATE (unifying);
+       unifying->priv = up_device_unifying_get_instance_private (unifying);
 }
 
 /**
@@ -335,8 +334,6 @@
        object_class->finalize = up_device_unifying_finalize;
        device_class->coldplug = up_device_unifying_coldplug;
        device_class->refresh = up_device_unifying_refresh;
-
-       g_type_class_add_private (klass, sizeof (UpDeviceUnifyingPrivate));
 }
 
 /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/src/linux/up-device-wup.c 
new/upower-0.99.11/src/linux/up-device-wup.c
--- old/upower-0.99.10/src/linux/up-device-wup.c        2019-02-20 
14:40:19.000000000 +0100
+++ new/upower-0.99.11/src/linux/up-device-wup.c        2019-09-03 
08:47:44.000000000 +0200
@@ -72,8 +72,7 @@
        int                      fd;
 };
 
-G_DEFINE_TYPE (UpDeviceWup, up_device_wup, UP_TYPE_DEVICE)
-#define UP_DEVICE_WUP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
UP_TYPE_DEVICE_WUP, UpDeviceWupPrivate))
+G_DEFINE_TYPE_WITH_PRIVATE (UpDeviceWup, up_device_wup, UP_TYPE_DEVICE)
 
 static gboolean                 up_device_wup_refresh          (UpDevice 
*device);
 
@@ -420,7 +419,7 @@
 static void
 up_device_wup_init (UpDeviceWup *wup)
 {
-       wup->priv = UP_DEVICE_WUP_GET_PRIVATE (wup);
+       wup->priv = up_device_wup_get_instance_private (wup);
        wup->priv->fd = -1;
        wup->priv->poll_timer_id = g_timeout_add_seconds 
(UP_DEVICE_WUP_REFRESH_TIMEOUT,
                                                          (GSourceFunc) 
up_device_wup_poll_cb, wup);
@@ -461,8 +460,6 @@
        object_class->finalize = up_device_wup_finalize;
        device_class->coldplug = up_device_wup_coldplug;
        device_class->refresh = up_device_wup_refresh;
-
-       g_type_class_add_private (klass, sizeof (UpDeviceWupPrivate));
 }
 
 /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/src/linux/up-input.c 
new/upower-0.99.11/src/linux/up-input.c
--- old/upower-0.99.10/src/linux/up-input.c     2019-02-20 14:40:19.000000000 
+0100
+++ new/upower-0.99.11/src/linux/up-input.c     2019-09-03 08:47:44.000000000 
+0200
@@ -54,8 +54,7 @@
        UpDaemon                *daemon;
 };
 
-G_DEFINE_TYPE (UpInput, up_input, G_TYPE_OBJECT)
-#define UP_INPUT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
UP_TYPE_INPUT, UpInputPrivate))
+G_DEFINE_TYPE_WITH_PRIVATE (UpInput, up_input, G_TYPE_OBJECT)
 
 /* we must use this kernel-compatible implementation */
 #define BITS_PER_LONG (sizeof(long) * 8)
@@ -267,7 +266,7 @@
 static void
 up_input_init (UpInput *input)
 {
-       input->priv = UP_INPUT_GET_PRIVATE (input);
+       input->priv = up_input_get_instance_private (input);
        input->priv->eventfp = -1;
 }
 
@@ -304,7 +303,6 @@
 {
        GObjectClass *object_class = G_OBJECT_CLASS (klass);
        object_class->finalize = up_input_finalize;
-       g_type_class_add_private (klass, sizeof (UpInputPrivate));
 }
 
 /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/src/openbsd/up-backend.c 
new/upower-0.99.11/src/openbsd/up-backend.c
--- old/upower-0.99.10/src/openbsd/up-backend.c 2019-02-20 14:40:19.000000000 
+0100
+++ new/upower-0.99.11/src/openbsd/up-backend.c 2019-09-03 08:47:44.000000000 
+0200
@@ -39,8 +39,6 @@
 static gboolean                up_apm_device_get_online                
(UpDevice *device, gboolean *online);
 static gboolean                up_apm_device_refresh           (UpDevice 
*device);
 
-#define UP_BACKEND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
UP_TYPE_BACKEND, UpBackendPrivate))
-
 struct UpBackendPrivate
 {
        UpDaemon                *daemon;
@@ -60,7 +58,7 @@
 
 static guint signals [SIGNAL_LAST] = { 0 };
 
-G_DEFINE_TYPE (UpBackend, up_backend, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (UpBackend, up_backend, G_TYPE_OBJECT)
 
 /**
  * functions called by upower daemon
@@ -585,8 +583,6 @@
                              G_STRUCT_OFFSET (UpBackendClass, device_removed),
                              NULL, NULL, NULL,
                              G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_POINTER);
-
-       g_type_class_add_private (klass, sizeof (UpBackendPrivate));
 }
 
 /**
@@ -599,7 +595,7 @@
        UpDeviceClass *device_class;
        gint64 current_time;
 
-       backend->priv = UP_BACKEND_GET_PRIVATE (backend);
+       backend->priv = up_backend_get_instance_private (backend);
        backend->priv->is_laptop = up_native_is_laptop();
        g_debug("is_laptop:%d",backend->priv->is_laptop);
        if (backend->priv->is_laptop)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/src/up-config.c 
new/upower-0.99.11/src/up-config.c
--- old/upower-0.99.10/src/up-config.c  2019-02-20 14:40:19.000000000 +0100
+++ new/upower-0.99.11/src/up-config.c  2019-09-03 08:47:44.000000000 +0200
@@ -28,8 +28,6 @@
 
 static void     up_config_finalize     (GObject     *object);
 
-#define UP_CONFIG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
UP_TYPE_CONFIG, UpConfigPrivate))
-
 /**
  * UpConfigPrivate:
  *
@@ -40,7 +38,7 @@
        GKeyFile                        *keyfile;
 };
 
-G_DEFINE_TYPE (UpConfig, up_config, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (UpConfig, up_config, G_TYPE_OBJECT)
 
 static gpointer up_config_object = NULL;
 
@@ -88,7 +86,6 @@
 {
        GObjectClass *object_class = G_OBJECT_CLASS (klass);
        object_class->finalize = up_config_finalize;
-       g_type_class_add_private (klass, sizeof (UpConfigPrivate));
 }
 
 /**
@@ -101,7 +98,7 @@
        GError *error = NULL;
        gchar *filename;
 
-       config->priv = UP_CONFIG_GET_PRIVATE (config);
+       config->priv = up_config_get_instance_private (config);
        config->priv->keyfile = g_key_file_new ();
 
        filename = g_strdup (g_getenv ("UPOWER_CONF_FILE_NAME"));
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/src/up-daemon.c 
new/upower-0.99.11/src/up-daemon.c
--- old/upower-0.99.10/src/up-daemon.c  2019-02-20 14:40:19.000000000 +0100
+++ new/upower-0.99.11/src/up-daemon.c  2019-09-03 08:47:44.000000000 +0200
@@ -76,9 +76,7 @@
 static gboolean        up_daemon_get_warning_level_local(UpDaemon      
*daemon);
 static gboolean        up_daemon_get_on_ac_local       (UpDaemon       
*daemon);
 
-G_DEFINE_TYPE (UpDaemon, up_daemon, UP_TYPE_EXPORTED_DAEMON_SKELETON)
-
-#define UP_DAEMON_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
UP_TYPE_DAEMON, UpDaemonPrivate))
+G_DEFINE_TYPE_WITH_PRIVATE (UpDaemon, up_daemon, 
UP_TYPE_EXPORTED_DAEMON_SKELETON)
 
 #define UP_DAEMON_ACTION_DELAY                         20 /* seconds */
 #define UP_INTERFACE_PREFIX                            
"org.freedesktop.UPower."
@@ -1082,7 +1080,7 @@
 static void
 up_daemon_init (UpDaemon *daemon)
 {
-       daemon->priv = UP_DAEMON_GET_PRIVATE (daemon);
+       daemon->priv = up_daemon_get_instance_private (daemon);
        daemon->priv->config = up_config_new ();
        daemon->priv->power_devices = up_device_list_new ();
        daemon->priv->display_device = up_device_new ();
@@ -1141,8 +1139,6 @@
 {
        GObjectClass *object_class = G_OBJECT_CLASS (klass);
        object_class->finalize = up_daemon_finalize;
-
-       g_type_class_add_private (klass, sizeof (UpDaemonPrivate));
 }
 
 /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/src/up-device-list.c 
new/upower-0.99.11/src/up-device-list.c
--- old/upower-0.99.10/src/up-device-list.c     2019-02-20 14:40:19.000000000 
+0100
+++ new/upower-0.99.11/src/up-device-list.c     2019-09-03 08:47:44.000000000 
+0200
@@ -30,15 +30,13 @@
 
 static void    up_device_list_finalize (GObject                *object);
 
-#define UP_DEVICE_LIST_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
UP_TYPE_DEVICE_LIST, UpDeviceListPrivate))
-
 struct UpDeviceListPrivate
 {
        GPtrArray               *array;
        GHashTable              *map_native_path_to_device;
 };
 
-G_DEFINE_TYPE (UpDeviceList, up_device_list, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (UpDeviceList, up_device_list, G_TYPE_OBJECT)
 
 /**
  * up_device_list_lookup:
@@ -183,7 +181,6 @@
 {
        GObjectClass *object_class = G_OBJECT_CLASS (klass);
        object_class->finalize = up_device_list_finalize;
-       g_type_class_add_private (klass, sizeof (UpDeviceListPrivate));
 }
 
 /**
@@ -193,7 +190,7 @@
 static void
 up_device_list_init (UpDeviceList *list)
 {
-       list->priv = UP_DEVICE_LIST_GET_PRIVATE (list);
+       list->priv = up_device_list_get_instance_private (list);
        list->priv->array = g_ptr_array_new_with_free_func (g_object_unref);
        list->priv->map_native_path_to_device = g_hash_table_new_full 
(g_str_hash, g_str_equal, g_free, g_object_unref);
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/src/up-device.c 
new/upower-0.99.11/src/up-device.c
--- old/upower-0.99.10/src/up-device.c  2019-02-20 14:40:19.000000000 +0100
+++ new/upower-0.99.11/src/up-device.c  2019-09-03 08:47:44.000000000 +0200
@@ -44,8 +44,7 @@
        gboolean                 has_ever_refresh;
 };
 
-G_DEFINE_TYPE (UpDevice, up_device, UP_TYPE_EXPORTED_DEVICE_SKELETON)
-#define UP_DEVICE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
UP_TYPE_DEVICE, UpDevicePrivate))
+G_DEFINE_TYPE_WITH_PRIVATE (UpDevice, up_device, 
UP_TYPE_EXPORTED_DEVICE_SKELETON)
 
 #define UP_DEVICES_DBUS_PATH "/org/freedesktop/UPower/devices"
 
@@ -711,7 +710,7 @@
 {
        UpExportedDevice *skeleton;
 
-       device->priv = UP_DEVICE_GET_PRIVATE (device);
+       device->priv = up_device_get_instance_private (device);
        device->priv->history = up_history_new ();
 
        skeleton = UP_EXPORTED_DEVICE (device);
@@ -754,8 +753,6 @@
        GObjectClass *object_class = G_OBJECT_CLASS (klass);
        object_class->notify = up_device_notify;
        object_class->finalize = up_device_finalize;
-
-       g_type_class_add_private (klass, sizeof (UpDevicePrivate));
 }
 
 /**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/src/up-history.c 
new/upower-0.99.11/src/up-history.c
--- old/upower-0.99.10/src/up-history.c 2019-02-20 14:40:19.000000000 +0100
+++ new/upower-0.99.11/src/up-history.c 2019-09-03 08:47:44.000000000 +0200
@@ -33,8 +33,6 @@
 
 static void    up_history_finalize     (GObject                *object);
 
-#define UP_HISTORY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
UP_TYPE_HISTORY, UpHistoryPrivate))
-
 #define UP_HISTORY_FILE_HEADER         "PackageKit Profile"
 #define UP_HISTORY_SAVE_INTERVAL       (10*60)         /* seconds */
 #define UP_HISTORY_DEFAULT_MAX_DATA_AGE        (7*24*60*60)    /* seconds */
@@ -61,7 +59,7 @@
        UP_HISTORY_LAST_SIGNAL
 };
 
-G_DEFINE_TYPE (UpHistory, up_history, G_TYPE_OBJECT)
+G_DEFINE_TYPE_WITH_PRIVATE (UpHistory, up_history, G_TYPE_OBJECT)
 
 /**
  * up_history_set_max_data_age:
@@ -874,7 +872,6 @@
 {
        GObjectClass *object_class = G_OBJECT_CLASS (klass);
        object_class->finalize = up_history_finalize;
-       g_type_class_add_private (klass, sizeof (UpHistoryPrivate));
 }
 
 /**
@@ -884,7 +881,7 @@
 static void
 up_history_init (UpHistory *history)
 {
-       history->priv = UP_HISTORY_GET_PRIVATE (history);
+       history->priv = up_history_get_instance_private (history);
        history->priv->data_rate = g_ptr_array_new_with_free_func 
((GDestroyNotify) g_object_unref);
        history->priv->data_charge = g_ptr_array_new_with_free_func 
((GDestroyNotify) g_object_unref);
        history->priv->data_time_full = g_ptr_array_new_with_free_func 
((GDestroyNotify) g_object_unref);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/src/up-kbd-backlight.c 
new/upower-0.99.11/src/up-kbd-backlight.c
--- old/upower-0.99.10/src/up-kbd-backlight.c   2019-02-20 14:40:19.000000000 
+0100
+++ new/upower-0.99.11/src/up-kbd-backlight.c   2019-09-03 08:47:44.000000000 
+0200
@@ -31,6 +31,7 @@
 #include <unistd.h>
 #include <string.h>
 #include <dirent.h>
+#include <errno.h>
 
 #include "up-kbd-backlight.h"
 #include "up-daemon.h"
@@ -38,8 +39,6 @@
 
 static void     up_kbd_backlight_finalize   (GObject   *object);
 
-#define UP_KBD_BACKLIGHT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
UP_TYPE_KBD_BACKLIGHT, UpKbdBacklightPrivate))
-
 struct UpKbdBacklightPrivate
 {
        gint                     fd;
@@ -48,7 +47,7 @@
        gint                     max_brightness;
 };
 
-G_DEFINE_TYPE (UpKbdBacklight, up_kbd_backlight, 
UP_TYPE_EXPORTED_KBD_BACKLIGHT_SKELETON)
+G_DEFINE_TYPE_WITH_PRIVATE (UpKbdBacklight, up_kbd_backlight, 
UP_TYPE_EXPORTED_KBD_BACKLIGHT_SKELETON)
 
 /**
  * up_kbd_backlight_emit_change:
@@ -207,8 +206,6 @@
 {
        GObjectClass *object_class = G_OBJECT_CLASS (klass);
        object_class->finalize = up_kbd_backlight_finalize;
-
-       g_type_class_add_private (klass, sizeof (UpKbdBacklightPrivate));
 }
 
 /**
@@ -224,7 +221,11 @@
                return FALSE;
 
        brightness = up_kbd_backlight_brightness_read (kbd_backlight, 
kbd_backlight->priv->fd_hw_changed);
-       up_kbd_backlight_emit_change (kbd_backlight, brightness, "internal");
+       if (brightness < 0 && errno == ENODEV)
+               return FALSE;
+
+       if (brightness >= 0)
+               up_kbd_backlight_emit_change (kbd_backlight, brightness, 
"internal");
 
        return TRUE;
 }
@@ -322,7 +323,7 @@
 static void
 up_kbd_backlight_init (UpKbdBacklight *kbd_backlight)
 {
-       kbd_backlight->priv = UP_KBD_BACKLIGHT_GET_PRIVATE (kbd_backlight);
+       kbd_backlight->priv = up_kbd_backlight_get_instance_private 
(kbd_backlight);
 
        g_signal_connect (kbd_backlight, "handle-get-brightness",
                          G_CALLBACK (up_kbd_backlight_get_brightness), 
kbd_backlight);
@@ -344,7 +345,7 @@
        g_return_if_fail (UP_IS_KBD_BACKLIGHT (object));
 
        kbd_backlight = UP_KBD_BACKLIGHT (object);
-       kbd_backlight->priv = UP_KBD_BACKLIGHT_GET_PRIVATE (kbd_backlight);
+       kbd_backlight->priv = up_kbd_backlight_get_instance_private 
(kbd_backlight);
 
        if (kbd_backlight->priv->channel_hw_changed) {
                g_io_channel_shutdown (kbd_backlight->priv->channel_hw_changed, 
FALSE, NULL);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/src/up-wakeups.c 
new/upower-0.99.11/src/up-wakeups.c
--- old/upower-0.99.10/src/up-wakeups.c 2019-02-20 14:40:19.000000000 +0100
+++ new/upower-0.99.11/src/up-wakeups.c 2019-09-03 08:47:44.000000000 +0200
@@ -33,8 +33,6 @@
 static void     up_wakeups_finalize   (GObject         *object);
 static gboolean        up_wakeups_timerstats_enable (UpWakeups *wakeups);
 
-#define UP_WAKEUPS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
UP_TYPE_WAKEUPS, UpWakeupsPrivate))
-
 #define UP_WAKEUPS_POLL_INTERVAL_KERNEL        2 /* seconds */
 #define UP_WAKEUPS_POLL_INTERVAL_USERSPACE     2 /* seconds */
 #define UP_WAKEUPS_DISABLE_INTERVAL            30 /* seconds */
@@ -54,7 +52,7 @@
        gboolean                 polling_enabled;
 };
 
-G_DEFINE_TYPE (UpWakeups, up_wakeups, UP_TYPE_EXPORTED_WAKEUPS_SKELETON)
+G_DEFINE_TYPE_WITH_PRIVATE (UpWakeups, up_wakeups, 
UP_TYPE_EXPORTED_WAKEUPS_SKELETON)
 
 /**
  * up_wakeups_get_cmdline:
@@ -656,8 +654,6 @@
 {
        GObjectClass *object_class = G_OBJECT_CLASS (klass);
        object_class->finalize = up_wakeups_finalize;
-
-       g_type_class_add_private (klass, sizeof (UpWakeupsPrivate));
 }
 
 /**
@@ -666,7 +662,7 @@
 static void
 up_wakeups_init (UpWakeups *wakeups)
 {
-       wakeups->priv = UP_WAKEUPS_GET_PRIVATE (wakeups);
+       wakeups->priv = up_wakeups_get_instance_private (wakeups);
        wakeups->priv->data = g_ptr_array_new_with_free_func ((GDestroyNotify) 
g_object_unref);
 
        /* test if we have an interface */
@@ -693,7 +689,7 @@
        g_return_if_fail (UP_IS_WAKEUPS (object));
 
        wakeups = UP_WAKEUPS (object);
-       wakeups->priv = UP_WAKEUPS_GET_PRIVATE (wakeups);
+       wakeups->priv = up_wakeups_get_instance_private (wakeups);
 
        /* stop timerstats */
        up_wakeups_timerstats_disable (wakeups);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/upower-0.99.10/src/upower.service.in 
new/upower-0.99.11/src/upower.service.in
--- old/upower-0.99.10/src/upower.service.in    2019-02-20 14:40:19.000000000 
+0100
+++ new/upower-0.99.11/src/upower.service.in    2019-09-03 08:47:44.000000000 
+0200
@@ -14,11 +14,13 @@
 ProtectKernelTunables=false
 ProtectControlGroups=true
 ReadWritePaths=@historydir@
+StateDirectory=upower
 ProtectHome=true
 PrivateTmp=true
 
 # Network
 # PrivateNetwork=true would block udev's netlink socket
+IPAddressDeny=any
 RestrictAddressFamilies=AF_UNIX AF_NETLINK
 
 # Execute Mappings
@@ -33,5 +35,21 @@
 # Privilege escalation
 NoNewPrivileges=true
 
+# Capabilities
+CapabilityBoundingSet=
+
+# System call interfaces
+LockPersonality=yes
+SystemCallArchitectures=native
+SystemCallFilter=@system-service
+SystemCallFilter=ioprio_get
+
+# Namespaces
+PrivateUsers=yes
+RestrictNamespaces=yes
+
+# Locked memory
+LimitMEMLOCK=0
+
 [Install]
 WantedBy=graphical.target

++++++ upower.obsinfo ++++++
--- /var/tmp/diff_new_pack.XQMna5/_old  2019-09-11 10:25:01.403476292 +0200
+++ /var/tmp/diff_new_pack.XQMna5/_new  2019-09-11 10:25:01.403476292 +0200
@@ -1,5 +1,5 @@
 name: upower
-version: 0.99.10
-mtime: 1550670019
-commit: 215049e7b80c5f24cb35cd229a445c6cf19bd381
+version: 0.99.11
+mtime: 1567493264
+commit: e1548bba61206a05bbc318b3d49ae24571755ac6
 


Reply via email to