Your message dated Fri, 30 May 2014 12:34:29 +0000
with message-id <[email protected]>
and subject line Bug#748931: fixed in mate-power-manager 1.8.0+dfsg1-3
has caused the Debian Bug report #748931,
regarding fails to build from source with upower 0.99
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
748931: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=748931
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: mate-power-manager
Version: 1.8.0+dfsg1-2
User: [email protected]
Usertags: upower-1.0

We're preparing to transition the new upower release
into unstable. The new version breaks the API/ABI
and will in some cases require porting.

Reverse dependencies has been build-tested and your
package failed to build.

Build log can be found at:
http://people.debian.org/~biebl/upower-1.0/

For more information see:
http://lists.freedesktop.org/archives/devkit-devel/2013-October/001519.html
http://www.hadess.net/2013/10/more-power-management-changes.html

I've attached a build-tested patch backporting changes from upstream
for your convenience. Please test if this works.
(Rumour has it mate-screensaver has a bug which will make it
segfault once m-p-m is updated.)
diff -uriNp mate-power-manager-1.8.0+dfsg1/debian/changelog 
u1-mate-power-manager-1.8.0+dfsg1/debian/changelog
--- mate-power-manager-1.8.0+dfsg1/debian/changelog     2014-05-05 
10:15:38.000000000 +0200
+++ u1-mate-power-manager-1.8.0+dfsg1/debian/changelog  2014-05-22 
10:44:38.210035262 +0200
@@ -1,3 +1,17 @@
+mate-power-manager (1.8.0+dfsg1-2.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Bump build-dependency on libupower-glib-dev to >= 0.99
+  * Bump dependency on upower to >= 0.99
+  * Add patches from upstream for upower 0.99 support:
+    0001-avoid-levels-is-0-warning-if-no-kbd-backlight-presen.patch
+    0002-remove-battery-recall-logic.patch
+    0003-port-mate-power-manager-to-upower-0.99-API.patch
+    0005-Improve-UPower1-support.patch
+    0006-Other-round-of-fixes-for-UPower-0.99-API-changes.patch
+
+ -- Andreas Henriksson <[email protected]>  Thu, 22 May 2014 10:36:11 +0200
+
 mate-power-manager (1.8.0+dfsg1-2) unstable; urgency=low
 
   * debian/rules:
diff -uriNp mate-power-manager-1.8.0+dfsg1/debian/control 
u1-mate-power-manager-1.8.0+dfsg1/debian/control
--- mate-power-manager-1.8.0+dfsg1/debian/control       2014-04-21 
23:29:33.000000000 +0200
+++ u1-mate-power-manager-1.8.0+dfsg1/debian/control    2014-05-22 
10:36:09.235959226 +0200
@@ -23,7 +23,7 @@ Build-Depends: debhelper (>= 9),
                libxrandr-dev,
                xmlto,
                yelp-tools,
-               libupower-glib-dev,
+               libupower-glib-dev (>= 0.99),
                libcanberra-gtk-dev,
                libunique-dev,
                libgnome-keyring-dev,
@@ -47,7 +47,7 @@ Depends: ${shlibs:Depends},
          mate-notification-daemon | notification-daemon, 
          dbus-x11,
          consolekit,
-         upower,
+         upower (>= 0.99),
          mate-power-manager-common (= ${source:Version})
 Recommends: udisks
 Suggests: policykit-1
diff -uriNp 
mate-power-manager-1.8.0+dfsg1/debian/patches/0001-avoid-levels-is-0-warning-if-no-kbd-backlight-presen.patch
 
u1-mate-power-manager-1.8.0+dfsg1/debian/patches/0001-avoid-levels-is-0-warning-if-no-kbd-backlight-presen.patch
--- 
mate-power-manager-1.8.0+dfsg1/debian/patches/0001-avoid-levels-is-0-warning-if-no-kbd-backlight-presen.patch
       1970-01-01 01:00:00.000000000 +0100
+++ 
u1-mate-power-manager-1.8.0+dfsg1/debian/patches/0001-avoid-levels-is-0-warning-if-no-kbd-backlight-presen.patch
    2014-05-22 10:42:53.427132913 +0200
@@ -0,0 +1,26 @@
+From 2b3cf01f84204dd5d8204d519e2167b41cda6bc0 Mon Sep 17 00:00:00 2001
+From: Stefan Seyfried <[email protected]>
+Date: Wed, 9 Apr 2014 14:43:44 +0200
+Subject: [PATCH 01/15] avoid "levels is 0" warning if no kbd backlight present
+
+---
+ src/gpm-kbd-backlight.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/src/gpm-kbd-backlight.c b/src/gpm-kbd-backlight.c
+index 0ac6801..a439e94 100644
+--- a/src/gpm-kbd-backlight.c
++++ b/src/gpm-kbd-backlight.c
+@@ -113,6 +113,9 @@ gpm_kbd_backlight_set (GpmKbdBacklight *backlight,
+    guint goal;
+ 
+    g_return_val_if_fail (GPM_IS_KBD_BACKLIGHT (backlight), FALSE);
++   /* avoid warnings if no keyboard brightness is available */
++   if (backlight->priv->max_brightness < 1)
++       return FALSE;
+    /* if we're setting the same we are, don't bother */
+    //g_return_val_if_fail (backlight->priv->brightness_percent != percentage, 
FALSE);
+ 
+-- 
+2.0.0.rc2
+
diff -uriNp 
mate-power-manager-1.8.0+dfsg1/debian/patches/0002-remove-battery-recall-logic.patch
 
u1-mate-power-manager-1.8.0+dfsg1/debian/patches/0002-remove-battery-recall-logic.patch
--- 
mate-power-manager-1.8.0+dfsg1/debian/patches/0002-remove-battery-recall-logic.patch
        1970-01-01 01:00:00.000000000 +0100
+++ 
u1-mate-power-manager-1.8.0+dfsg1/debian/patches/0002-remove-battery-recall-logic.patch
     2014-05-22 10:42:59.907312341 +0200
@@ -0,0 +1,281 @@
+From 220a4e0a64aca0579f50e6e57d4eca848b3ac57f Mon Sep 17 00:00:00 2001
+From: Stefan Seyfried <[email protected]>
+Date: Wed, 9 Apr 2014 14:58:29 +0200
+Subject: [PATCH 02/15] remove "battery recall" logic
+
+the database is outdated several years now and the whole interface is
+removed from current UPower release anyway, so let's get rid of it in
+m-p-m, too
+---
+ data/org.mate.power-manager.gschema.xml.in |   5 --
+ src/gpm-common.h                           |   1 -
+ src/gpm-engine.c                           |  47 -------------
+ src/gpm-engine.h                           |   4 --
+ src/gpm-manager.c                          | 108 -----------------------------
+ 5 files changed, 165 deletions(-)
+
+diff --git a/data/org.mate.power-manager.gschema.xml.in 
b/data/org.mate.power-manager.gschema.xml.in
+index adecce0..ca009b5 100644
+--- a/data/org.mate.power-manager.gschema.xml.in
++++ b/data/org.mate.power-manager.gschema.xml.in
+@@ -211,11 +211,6 @@
+       <_summary>Seconds of inactivity to spin down when on battery</_summary>
+       <_description>The number of seconds of inactivity to spin down the 
disks when on battery power.</_description>
+     </key>
+-    <key name="notify-perhaps-recall" type="b">
+-      <default>true</default>
+-      <_summary>If we should show the recalled battery warning for a broken 
battery</_summary>
+-      <_description>If we should show the recalled battery warning for a 
broken battery. Set this to false only if you know your battery is 
okay.</_description>
+-    </key>
+     <key name="notify-low-capacity" type="b">
+       <default>true</default>
+       <_summary>If we should show the low capacity warning for a broken 
battery</_summary>
+diff --git a/src/gpm-common.h b/src/gpm-common.h
+index ef20f88..303bdd1 100644
+--- a/src/gpm-common.h
++++ b/src/gpm-common.h
+@@ -98,7 +98,6 @@ G_BEGIN_DECLS
+ #define GPM_SETTINGS_SPINDOWN_TIMEOUT_BATT            
"spindown-timeout-battery"
+ 
+ /* notify */
+-#define GPM_SETTINGS_NOTIFY_PERHAPS_RECALL            "notify-perhaps-recall"
+ #define GPM_SETTINGS_NOTIFY_LOW_CAPACITY              "notify-low-capacity"
+ #define GPM_SETTINGS_NOTIFY_DISCHARGING                       
"notify-discharging"
+ #define GPM_SETTINGS_NOTIFY_FULLY_CHARGED             "notify-fully-charged"
+diff --git a/src/gpm-engine.c b/src/gpm-engine.c
+index 0f9d0c1..96a043e 100644
+--- a/src/gpm-engine.c
++++ b/src/gpm-engine.c
+@@ -72,7 +72,6 @@ enum {
+       CHARGE_ACTION,
+       DISCHARGING,
+       LOW_CAPACITY,
+-      PERHAPS_RECALL,
+       LAST_SIGNAL
+ };
+ 
+@@ -761,42 +760,6 @@ gpm_engine_device_add (GpmEngine *engine, UpDevice 
*device)
+ }
+ 
+ /**
+- * gpm_engine_check_recall:
+- **/
+-static gboolean
+-gpm_engine_check_recall (GpmEngine *engine, UpDevice *device)
+-{
+-      UpDeviceKind kind;
+-      gboolean recall_notice = FALSE;
+-      gchar *recall_vendor = NULL;
+-      gchar *recall_url = NULL;
+-
+-      /* get device properties */
+-      g_object_get (device,
+-                    "kind", &kind,
+-                    "recall-notice", &recall_notice,
+-                    "recall-vendor", &recall_vendor,
+-                    "recall-url", &recall_url,
+-                    NULL);
+-
+-      /* not battery */
+-      if (kind != UP_DEVICE_KIND_BATTERY)
+-              goto out;
+-
+-      /* no recall data */
+-      if (!recall_notice)
+-              goto out;
+-
+-      /* emit signal for manager */
+-      egg_debug ("** EMIT: perhaps-recall");
+-      g_signal_emit (engine, signals [PERHAPS_RECALL], 0, device, 
recall_vendor, recall_url);
+-out:
+-      g_free (recall_vendor);
+-      g_free (recall_url);
+-      return recall_notice;
+-}
+-
+-/**
+  * gpm_engine_coldplug_idle_cb:
+  **/
+ static gboolean
+@@ -829,7 +792,6 @@ gpm_engine_coldplug_idle_cb (GpmEngine *engine)
+       for (i=0;i<array->len;i++) {
+               device = g_ptr_array_index (array, i);
+               gpm_engine_device_add (engine, device);
+-              gpm_engine_check_recall (engine, device);
+       }
+ out:
+       if (array != NULL)
+@@ -846,7 +808,6 @@ gpm_engine_device_added_cb (UpClient *client, UpDevice 
*device, GpmEngine *engin
+ {
+       /* add to list */
+       g_ptr_array_add (engine->priv->array, g_object_ref (device));
+-      gpm_engine_check_recall (engine, device);
+ 
+       gpm_engine_recalculate_state (engine);
+ }
+@@ -1134,14 +1095,6 @@ gpm_engine_class_init (GpmEngineClass *klass)
+                             G_STRUCT_OFFSET (GpmEngineClass, low_capacity),
+                             NULL, NULL, g_cclosure_marshal_VOID__POINTER,
+                             G_TYPE_NONE, 1, G_TYPE_POINTER);
+-      signals [PERHAPS_RECALL] =
+-              g_signal_new ("perhaps-recall",
+-                            G_TYPE_FROM_CLASS (object_class),
+-                            G_SIGNAL_RUN_LAST,
+-                            G_STRUCT_OFFSET (GpmEngineClass, perhaps_recall),
+-                            NULL, NULL, 
gpm_marshal_VOID__POINTER_STRING_STRING,
+-                            G_TYPE_NONE,
+-                            3, G_TYPE_POINTER, G_TYPE_STRING, G_TYPE_STRING);
+       signals [FULLY_CHARGED] =
+               g_signal_new ("fully-charged",
+                             G_TYPE_FROM_CLASS (object_class),
+diff --git a/src/gpm-engine.h b/src/gpm-engine.h
+index be1ccd6..43f8956 100644
+--- a/src/gpm-engine.h
++++ b/src/gpm-engine.h
+@@ -49,10 +49,6 @@ typedef struct
+                                                gchar          *icon);
+       void            (* summary_changed)     (GpmEngine      *engine,
+                                                gchar          *status);
+-      void            (* perhaps_recall)      (GpmEngine      *engine,
+-                                               UpDevice       *device,
+-                                               const gchar    *oem_vendor,
+-                                               const gchar    *website);
+       void            (* low_capacity)        (GpmEngine      *engine,
+                                                UpDevice       *device);
+       void            (* charge_low)          (GpmEngine      *engine,
+diff --git a/src/gpm-manager.c b/src/gpm-manager.c
+index 6ca9dea..c4d0530 100644
+--- a/src/gpm-manager.c
++++ b/src/gpm-manager.c
+@@ -68,7 +68,6 @@
+ static void     gpm_manager_finalize  (GObject         *object);
+ 
+ #define GPM_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), 
GPM_TYPE_MANAGER, GpmManagerPrivate))
+-#define GPM_MANAGER_RECALL_DELAY              30 /* seconds */
+ #define GPM_MANAGER_NOTIFY_TIMEOUT_NEVER      0 /* ms */
+ #define GPM_MANAGER_NOTIFY_TIMEOUT_SHORT      10 * 1000 /* ms */
+ #define GPM_MANAGER_NOTIFY_TIMEOUT_LONG               30 * 1000 /* ms */
+@@ -1092,111 +1091,6 @@ gpm_manager_settings_changed_cb (GSettings *settings, 
const gchar *key, GpmManag
+ }
+ 
+ /**
+- * gpm_manager_perhaps_recall_response_cb:
+- */
+-static void
+-gpm_manager_perhaps_recall_response_cb (GtkDialog *dialog, gint response_id, 
GpmManager *manager)
+-{
+-      GdkScreen *screen;
+-      GtkWidget *dialog_error;
+-      GError *error = NULL;
+-      gboolean ret;
+-      const gchar *website;
+-
+-      /* don't show this again */
+-      if (response_id == GTK_RESPONSE_CANCEL) {
+-              g_settings_set_boolean (manager->priv->settings, 
GPM_SETTINGS_NOTIFY_PERHAPS_RECALL, FALSE);
+-              goto out;
+-      }
+-
+-      /* visit recall website */
+-      if (response_id == GTK_RESPONSE_OK) {
+-              screen = gdk_screen_get_default();
+-              website = (const gchar *) g_object_get_data (G_OBJECT 
(manager), "recall-oem-website");
+-              ret = gtk_show_uri (screen, website, gtk_get_current_event_time 
(), &error);
+-              if (!ret) {
+-                      dialog_error = gtk_message_dialog_new (NULL, 
GTK_DIALOG_MODAL, GTK_MESSAGE_INFO, GTK_BUTTONS_OK,
+-                                                             "Failed to show 
url %s", error->message);
+-                      gtk_dialog_run (GTK_DIALOG (dialog_error));
+-                      g_error_free (error);
+-              }
+-              goto out;
+-      }
+-out:
+-      gtk_widget_destroy (GTK_WIDGET (dialog));
+-      return;
+-}
+-
+-/**
+- * gpm_manager_perhaps_recall_delay_cb:
+- */
+-static gboolean
+-gpm_manager_perhaps_recall_delay_cb (GpmManager *manager)
+-{
+-      const gchar *oem_vendor;
+-      gchar *title = NULL;
+-      gchar *message = NULL;
+-      GtkWidget *dialog;
+-
+-      oem_vendor = (const gchar *) g_object_get_data (G_OBJECT (manager), 
"recall-oem-vendor");
+-
+-      /* TRANSLATORS: the battery may be recalled by it's vendor */
+-      title = g_strdup_printf ("%s: %s", GPM_NAME, _("Battery may be 
recalled"));
+-      message = g_strdup_printf (_("A battery in your computer may have been "
+-                                   "recalled by %s and you may be at 
risk.\n\n"
+-                                   "For more information visit the battery 
recall website."), oem_vendor);
+-      dialog = gtk_message_dialog_new_with_markup (NULL, 
GTK_DIALOG_DESTROY_WITH_PARENT,
+-                                                   GTK_MESSAGE_INFO, 
GTK_BUTTONS_CLOSE,
+-                                                   "<span 
size='larger'><b>%s</b></span>", title);
+-
+-      gtk_message_dialog_format_secondary_markup (GTK_MESSAGE_DIALOG 
(dialog), "%s", message);
+-
+-      /* TRANSLATORS: button text, visit the manufacturers recall website */
+-      gtk_dialog_add_button (GTK_DIALOG (dialog), _("Visit recall website"), 
GTK_RESPONSE_OK);
+-
+-      /* TRANSLATORS: button text, do not show this bubble again */
+-      gtk_dialog_add_button (GTK_DIALOG (dialog), _("Do not show me this 
again"), GTK_RESPONSE_CANCEL);
+-
+-      /* wait async for response */
+-      gtk_widget_show (dialog);
+-      g_signal_connect (dialog, "response", G_CALLBACK 
(gpm_manager_perhaps_recall_response_cb), manager);
+-
+-      g_free (title);
+-      g_free (message);
+-
+-      /* never repeat */
+-      return FALSE;
+-}
+-
+-/**
+- * gpm_manager_engine_perhaps_recall_cb:
+- */
+-static void
+-gpm_manager_engine_perhaps_recall_cb (GpmEngine *engine, UpDevice *device, 
gchar *oem_vendor, gchar *website, GpmManager *manager)
+-{
+-      gboolean ret;
+-
+-      /* don't show when running under GDM */
+-      if (g_getenv ("RUNNING_UNDER_GDM") != NULL) {
+-              egg_debug ("running under gdm, so no notification");
+-              return;
+-      }
+-
+-      /* already shown, and dismissed */
+-      ret = g_settings_get_boolean (manager->priv->settings, 
GPM_SETTINGS_NOTIFY_PERHAPS_RECALL);
+-      if (!ret) {
+-              egg_debug ("Gsettings prevents notification: %s", 
GPM_SETTINGS_NOTIFY_PERHAPS_RECALL);
+-              return;
+-      }
+-
+-      g_object_set_data_full (G_OBJECT (manager), "recall-oem-vendor", 
(gpointer) g_strdup (oem_vendor), (GDestroyNotify) g_free);
+-      g_object_set_data_full (G_OBJECT (manager), "recall-oem-website", 
(gpointer) g_strdup (website), (GDestroyNotify) g_free);
+-
+-      /* delay by a few seconds so the panel can load */
+-      g_timeout_add_seconds (GPM_MANAGER_RECALL_DELAY, (GSourceFunc) 
gpm_manager_perhaps_recall_delay_cb, manager);
+-}
+-
+-/**
+  * gpm_manager_engine_icon_changed_cb:
+  */
+ static void
+@@ -2023,8 +1917,6 @@ gpm_manager_init (GpmManager *manager)
+       gpm_manager_sync_policy_sleep (manager);
+ 
+       manager->priv->engine = gpm_engine_new ();
+-      g_signal_connect (manager->priv->engine, "perhaps-recall",
+-                        G_CALLBACK (gpm_manager_engine_perhaps_recall_cb), 
manager);
+       g_signal_connect (manager->priv->engine, "low-capacity",
+                         G_CALLBACK (gpm_manager_engine_low_capacity_cb), 
manager);
+       g_signal_connect (manager->priv->engine, "icon-changed",
+-- 
+2.0.0.rc2
+
diff -uriNp 
mate-power-manager-1.8.0+dfsg1/debian/patches/0003-port-mate-power-manager-to-upower-0.99-API.patch
 
u1-mate-power-manager-1.8.0+dfsg1/debian/patches/0003-port-mate-power-manager-to-upower-0.99-API.patch
--- 
mate-power-manager-1.8.0+dfsg1/debian/patches/0003-port-mate-power-manager-to-upower-0.99-API.patch
 1970-01-01 01:00:00.000000000 +0100
+++ 
u1-mate-power-manager-1.8.0+dfsg1/debian/patches/0003-port-mate-power-manager-to-upower-0.99-API.patch
      2014-05-22 10:43:06.211486903 +0200
@@ -0,0 +1,409 @@
+From d59f4b8bd38e1628af3a992ae8e96b8e069ab738 Mon Sep 17 00:00:00 2001
+From: Stefan Seyfried <[email protected]>
+Date: Wed, 9 Apr 2014 15:12:17 +0200
+Subject: [PATCH 03/15] port mate-power-manager to upower-0.99 API
+
+fix mate-power-manager for current upower versions
+---
+ src/gpm-backlight.c     |  9 ++++++++
+ src/gpm-button.c        | 10 ++++++++-
+ src/gpm-control.c       |  6 ++++--
+ src/gpm-engine.c        | 55 +++++++++++++++++++++++++++++++++++++++++++++----
+ src/gpm-kbd-backlight.c |  8 +++++++
+ src/gpm-manager.c       |  9 ++++++++
+ src/gpm-prefs-core.c    |  8 +++++--
+ src/gpm-statistics.c    | 17 +++++++++++++--
+ 8 files changed, 111 insertions(+), 11 deletions(-)
+
+diff --git a/src/gpm-backlight.c b/src/gpm-backlight.c
+index 1f1d834..d2938a4 100644
+--- a/src/gpm-backlight.c
++++ b/src/gpm-backlight.c
+@@ -410,7 +410,11 @@ gpm_settings_key_changed_cb (GSettings *settings, const 
gchar *key, GpmBacklight
+  * Does the actions when the ac power source is inserted/removed.
+  **/
+ static void
++#if UP_CHECK_VERSION(0, 99, 0)
++gpm_backlight_client_changed_cb (UpClient *client, GParamSpec *pspec, 
GpmBacklight *backlight)
++#else
+ gpm_backlight_client_changed_cb (UpClient *client, GpmBacklight *backlight)
++#endif
+ {
+       gpm_backlight_brightness_evaluate_and_set (backlight, FALSE, TRUE);
+ }
+@@ -727,8 +731,13 @@ gpm_backlight_init (GpmBacklight *backlight)
+ 
+       /* we use up_client for the ac-adapter-changed signal */
+       backlight->priv->client = up_client_new ();
++#if UP_CHECK_VERSION(0, 99, 0)
++      g_signal_connect (backlight->priv->client, "notify",
++                        G_CALLBACK (gpm_backlight_client_changed_cb), 
backlight);
++#else
+       g_signal_connect (backlight->priv->client, "changed",
+                         G_CALLBACK (gpm_backlight_client_changed_cb), 
backlight);
++#endif
+ 
+       /* gets caps */
+       backlight->priv->can_dim = gpm_brightness_has_hw 
(backlight->priv->brightness);
+diff --git a/src/gpm-button.c b/src/gpm-button.c
+index 1e38173..b331cf6 100644
+--- a/src/gpm-button.c
++++ b/src/gpm-button.c
+@@ -324,7 +324,11 @@ gpm_button_reset_time (GpmButton *button)
+  * gpm_button_client_changed_cb
+  **/
+ static void
++#if UP_CHECK_VERSION(0, 99, 0)
++gpm_button_client_changed_cb (UpClient *client, GParamSpec *pspec, GpmButton 
*button)
++#else
+ gpm_button_client_changed_cb (UpClient *client, GpmButton *button)
++#endif
+ {
+       gboolean lid_is_closed;
+ 
+@@ -363,9 +367,13 @@ gpm_button_init (GpmButton *button)
+ 
+       button->priv->client = up_client_new ();
+       button->priv->lid_is_closed = up_client_get_lid_is_closed 
(button->priv->client);
++#if UP_CHECK_VERSION(0, 99, 0)
++      g_signal_connect (button->priv->client, "notify",
++                        G_CALLBACK (gpm_button_client_changed_cb), button);
++#else
+       g_signal_connect (button->priv->client, "changed",
+                         G_CALLBACK (gpm_button_client_changed_cb), button);
+-
++#endif
+       /* register the brightness keys */
+       gpm_button_xevent_key (button, XF86XK_PowerOff, GPM_BUTTON_POWER);
+ #ifdef HAVE_XF86XK_SUSPEND
+diff --git a/src/gpm-control.c b/src/gpm-control.c
+index ec50136..0562d38 100644
+--- a/src/gpm-control.c
++++ b/src/gpm-control.c
+@@ -289,10 +289,11 @@ gpm_control_suspend (GpmControl *control, GError **error)
+               }
+               g_object_unref(proxy);
+       }
++#if !UP_CHECK_VERSION(0, 99, 0)
+       else {
+               ret = up_client_suspend_sync (control->priv->client, NULL, 
error);
+       }
+-
++#endif
+       egg_debug ("emitting resume");
+       g_signal_emit (control, signals [RESUME], 0, 
GPM_CONTROL_ACTION_SUSPEND);
+ 
+@@ -399,10 +400,11 @@ gpm_control_hibernate (GpmControl *control, GError 
**error)
+                       ret = TRUE;
+               }
+       }
++#if !UP_CHECK_VERSION(0, 99, 0)
+       else {
+               ret = up_client_hibernate_sync (control->priv->client, NULL, 
error);
+       }
+-
++#endif
+       egg_debug ("emitting resume");
+       g_signal_emit (control, signals [RESUME], 0, 
GPM_CONTROL_ACTION_HIBERNATE);
+ 
+diff --git a/src/gpm-engine.c b/src/gpm-engine.c
+index 96a043e..e6c6bf2 100644
+--- a/src/gpm-engine.c
++++ b/src/gpm-engine.c
+@@ -768,12 +768,14 @@ gpm_engine_coldplug_idle_cb (GpmEngine *engine)
+       guint i;
+       GPtrArray *array = NULL;
+       UpDevice *device;
++#if !UP_CHECK_VERSION(0, 99, 0)
+       gboolean ret;
+       GError *error = NULL;
++#endif
+ 
+       g_return_val_if_fail (engine != NULL, FALSE);
+       g_return_val_if_fail (GPM_IS_ENGINE (engine), FALSE);
+-
++#if !UP_CHECK_VERSION(0, 99, 0)
+       /* get devices from UPower */
+       ret = up_client_enumerate_devices_sync (engine->priv->client, NULL, 
&error);
+       if (!ret) {
+@@ -781,7 +783,7 @@ gpm_engine_coldplug_idle_cb (GpmEngine *engine)
+               g_error_free (error);
+               goto out;
+       }
+-
++#endif
+       /* connected mobile phones */
+       gpm_phone_coldplug (engine->priv->phone);
+ 
+@@ -793,7 +795,9 @@ gpm_engine_coldplug_idle_cb (GpmEngine *engine)
+               device = g_ptr_array_index (array, i);
+               gpm_engine_device_add (engine, device);
+       }
++#if !UP_CHECK_VERSION(0, 99, 0)
+ out:
++#endif
+       if (array != NULL)
+               g_ptr_array_unref (array);
+       /* never repeat */
+@@ -816,6 +820,22 @@ gpm_engine_device_added_cb (UpClient *client, UpDevice 
*device, GpmEngine *engin
+  * gpm_engine_device_removed_cb:
+  **/
+ static void
++#if UP_CHECK_VERSION(0, 99, 0)
++gpm_engine_device_removed_cb (UpClient *client, const char *object_path, 
GpmEngine *engine)
++{
++      guint i;
++
++      for (i = 0; i < engine->priv->array->len; i++) {
++              UpDevice *device = g_ptr_array_index (engine->priv->array, i);
++
++              if (g_strcmp0 (object_path, up_device_get_object_path (device)) 
== 0) {
++                      g_ptr_array_remove_index (engine->priv->array, i);
++                      break;
++              }
++      }
++      gpm_engine_recalculate_state (engine);
++}
++#else
+ gpm_engine_device_removed_cb (UpClient *client, UpDevice *device, GpmEngine 
*engine)
+ {
+       gboolean ret;
+@@ -824,12 +844,18 @@ gpm_engine_device_removed_cb (UpClient *client, UpDevice 
*device, GpmEngine *eng
+               return;
+       gpm_engine_recalculate_state (engine);
+ }
+-
++#endif
+ 
+ /**
+  * gpm_engine_device_changed_cb:
+  **/
+ static void
++#if UP_CHECK_VERSION(0, 99, 0)
++gpm_engine_device_changed_cb (UpClient *client, GParamSpec *pspec, GpmEngine 
*engine)
++{
++      gpm_engine_recalculate_state (engine);
++}
++#else
+ gpm_engine_device_changed_cb (UpClient *client, UpDevice *device, GpmEngine 
*engine)
+ {
+       UpDeviceKind kind;
+@@ -891,6 +917,7 @@ gpm_engine_device_changed_cb (UpClient *client, UpDevice 
*device, GpmEngine *eng
+ 
+       gpm_engine_recalculate_state (engine);
+ }
++#endif
+ 
+ /**
+  * gpm_engine_get_devices:
+@@ -1003,7 +1030,10 @@ phone_device_refresh_cb (GpmPhone *phone, guint idx, 
GpmEngine *engine)
+ static void
+ gpm_engine_init (GpmEngine *engine)
+ {
+-
++#if UP_CHECK_VERSION(0, 99, 0)
++      GPtrArray *array = NULL;
++      guint i;
++#endif
+       engine->priv = GPM_ENGINE_GET_PRIVATE (engine);
+ 
+       engine->priv->array = g_ptr_array_new_with_free_func (g_object_unref);
+@@ -1012,8 +1042,13 @@ gpm_engine_init (GpmEngine *engine)
+                         G_CALLBACK (gpm_engine_device_added_cb), engine);
+       g_signal_connect (engine->priv->client, "device-removed",
+                         G_CALLBACK (gpm_engine_device_removed_cb), engine);
++#if UP_CHECK_VERSION(0, 99, 0)
++      g_signal_connect (engine->priv->client, "notify",
++                        G_CALLBACK (gpm_engine_device_changed_cb), engine);
++#else
+       g_signal_connect (engine->priv->client, "device-changed",
+                         G_CALLBACK (gpm_engine_device_changed_cb), engine);
++#endif
+ 
+       engine->priv->settings = g_settings_new (GPM_SETTINGS_SCHEMA);
+       g_signal_connect (engine->priv->settings, "changed",
+@@ -1027,6 +1062,18 @@ gpm_engine_init (GpmEngine *engine)
+       g_signal_connect (engine->priv->phone, "device-refresh",
+                         G_CALLBACK (phone_device_refresh_cb), engine);
+ 
++#if UP_CHECK_VERSION(0, 99, 0)
++      /* coldplug */
++      array = up_client_get_devices(engine->priv->client);
++      if (array) {
++              for (i = 0; i < array->len; i++) {
++                      UpDevice *device = g_ptr_array_index (array, i);
++                      gpm_engine_device_added_cb(engine->priv->client, 
device, engine);
++              }
++              g_ptr_array_free (array, TRUE);
++      }
++#endif
++
+       /* create a fake virtual composite battery */
+       engine->priv->battery_composite = up_device_new ();
+       g_object_set (engine->priv->battery_composite,
+diff --git a/src/gpm-kbd-backlight.c b/src/gpm-kbd-backlight.c
+index a439e94..3a0f6e6 100644
+--- a/src/gpm-kbd-backlight.c
++++ b/src/gpm-kbd-backlight.c
+@@ -486,6 +486,9 @@ gpm_kbd_backlight_control_resume_cb (GpmControl *control,
+  **/
+ static void
+ gpm_kbd_backlight_client_changed_cb (UpClient *client,
++#if UP_CHECK_VERSION(0, 99, 0)
++                    GParamSpec *pspec,
++#endif
+                     GpmKbdBacklight *backlight)
+ {
+    gpm_kbd_backlight_evaluate_power_source_and_set (backlight);
+@@ -755,8 +758,13 @@ noerr:
+ 
+    /* Use upower for ac changed signal */
+    backlight->priv->client = up_client_new ();
++#if UP_CHECK_VERSION(0, 99, 0)
++   g_signal_connect (backlight->priv->client, "notify",
++             G_CALLBACK (gpm_kbd_backlight_client_changed_cb), backlight);
++#else
+    g_signal_connect (backlight->priv->client, "changed",
+              G_CALLBACK (gpm_kbd_backlight_client_changed_cb), backlight);
++#endif
+ 
+     backlight->priv->settings = g_settings_new (GPM_SETTINGS_SCHEMA);
+       //g_signal_connect (backlight->priv->settings, "changed", G_CALLBACK 
(gpm_settings_key_changed_cb), backlight);
+diff --git a/src/gpm-manager.c b/src/gpm-manager.c
+index c4d0530..df84cac 100644
+--- a/src/gpm-manager.c
++++ b/src/gpm-manager.c
+@@ -971,7 +971,11 @@ gpm_manager_get_spindown_timeout (GpmManager *manager)
+  * gpm_manager_client_changed_cb:
+  **/
+ static void
++#if UP_CHECK_VERSION(0, 99, 0)
++gpm_manager_client_changed_cb (UpClient *client, GParamSpec *pspec, 
GpmManager *manager)
++#else
+ gpm_manager_client_changed_cb (UpClient *client, GpmManager *manager)
++#endif
+ {
+       gboolean event_when_closed;
+       gint timeout;
+@@ -1853,8 +1857,13 @@ gpm_manager_init (GpmManager *manager)
+       g_signal_connect (manager->priv->settings, "changed",
+                         G_CALLBACK (gpm_manager_settings_changed_cb), 
manager);
+       manager->priv->client = up_client_new ();
++#if UP_CHECK_VERSION(0, 99, 0)
++      g_signal_connect (manager->priv->client, "notify",
++                        G_CALLBACK (gpm_manager_client_changed_cb), manager);
++#else
+       g_signal_connect (manager->priv->client, "changed",
+                         G_CALLBACK (gpm_manager_client_changed_cb), manager);
++#endif
+ 
+       /* use libmatenotify */
+       notify_init (GPM_NAME);
+diff --git a/src/gpm-prefs-core.c b/src/gpm-prefs-core.c
+index 7a2662d..6abb792 100644
+--- a/src/gpm-prefs-core.c
++++ b/src/gpm-prefs-core.c
+@@ -811,7 +811,9 @@ gpm_prefs_init (GpmPrefs *prefs)
+       UpDevice *device;
+       UpDeviceKind kind;
+       GpmBrightness *brightness;
++#if !UP_CHECK_VERSION(0, 99, 0)
+       gboolean ret;
++#endif
+       guint i;
+ 
+       GDBusProxy *proxy;
+@@ -897,9 +899,11 @@ gpm_prefs_init (GpmPrefs *prefs)
+       else {
+               /* are we allowed to shutdown? */
+               egg_console_kit_can_stop (prefs->priv->console, 
&prefs->priv->can_shutdown, NULL);
++#if !UP_CHECK_VERSION(0, 99, 0)
+               /* get values from UpClient */
+               prefs->priv->can_suspend = up_client_get_can_suspend 
(prefs->priv->client);
+               prefs->priv->can_hibernate = up_client_get_can_hibernate 
(prefs->priv->client);
++#endif
+       }
+ 
+       if (LOGIND_RUNNING()) {
+@@ -953,14 +957,14 @@ gpm_prefs_init (GpmPrefs *prefs)
+       brightness = gpm_brightness_new ();
+       prefs->priv->has_lcd = gpm_brightness_has_hw (brightness);
+       g_object_unref (brightness);
+-
++#if !UP_CHECK_VERSION(0, 99, 0)
+       /* get device list */
+       ret = up_client_enumerate_devices_sync (prefs->priv->client, NULL, 
&error);
+       if (!ret) {
+               egg_warning ("failed to get device list: %s", error->message);
+               g_error_free (error);
+       }
+-
++#endif
+       devices = up_client_get_devices (prefs->priv->client);
+       for (i=0; i<devices->len; i++) {
+               device = g_ptr_array_index (devices, i);
+diff --git a/src/gpm-statistics.c b/src/gpm-statistics.c
+index 98b5632..13489dc 100644
+--- a/src/gpm-statistics.c
++++ b/src/gpm-statistics.c
+@@ -1236,6 +1236,12 @@ gpm_stats_device_added_cb (UpClient *client, UpDevice 
*device, gpointer user_dat
+  * gpm_stats_device_changed_cb:
+  **/
+ static void
++#if UP_CHECK_VERSION(0, 99, 0)
++gpm_stats_device_changed_cb (UpClient *client, GParamSpec *pspec, gpointer 
user_data)
++{
++      gpm_stats_button_update_ui();
++}
++#else
+ gpm_stats_device_changed_cb (UpClient *client, UpDevice *device, gpointer 
user_data)
+ {
+       const gchar *object_path;
+@@ -1246,6 +1252,7 @@ gpm_stats_device_changed_cb (UpClient *client, UpDevice 
*device, gpointer user_d
+       if (g_strcmp0 (current_device, object_path) == 0)
+               gpm_stats_update_info_data (device);
+ }
++#endif
+ 
+ /**
+  * gpm_stats_device_removed_cb:
+@@ -1794,11 +1801,12 @@ main (int argc, char *argv[])
+ 
+       wakeups = up_wakeups_new ();
+       g_signal_connect (wakeups, "data-changed", G_CALLBACK 
(gpm_stats_data_changed_cb), NULL);
+-
++#if !UP_CHECK_VERSION(0, 99, 0)
+       /* coldplug */
+       ret = up_client_enumerate_devices_sync (client, NULL, NULL);
+       if (!ret)
+               goto out;
++#endif
+       devices = up_client_get_devices (client);
+ 
+       /* add devices in visually pleasing order */
+@@ -1814,7 +1822,11 @@ main (int argc, char *argv[])
+       /* connect now the coldplug is done */
+       g_signal_connect (client, "device-added", G_CALLBACK 
(gpm_stats_device_added_cb), NULL);
+       g_signal_connect (client, "device-removed", G_CALLBACK 
(gpm_stats_device_removed_cb), NULL);
++#if UP_CHECK_VERSION(0, 99, 0)
++      g_signal_connect (client, "notify", G_CALLBACK 
(gpm_stats_device_changed_cb), NULL);
++#else
+       g_signal_connect (client, "device-changed", G_CALLBACK 
(gpm_stats_device_changed_cb), NULL);
++#endif
+ 
+       /* set current device */
+       if (devices->len > 0) {
+@@ -1854,8 +1866,9 @@ main (int argc, char *argv[])
+       gtk_widget_show (widget);
+ 
+       gtk_main ();
+-
++#if !UP_CHECK_VERSION(0, 99, 0)
+ out:
++#endif
+       g_object_unref (settings);
+       g_object_unref (client);
+       g_object_unref (wakeups);
+-- 
+2.0.0.rc2
+
diff -uriNp 
mate-power-manager-1.8.0+dfsg1/debian/patches/0005-Improve-UPower1-support.patch
 
u1-mate-power-manager-1.8.0+dfsg1/debian/patches/0005-Improve-UPower1-support.patch
--- 
mate-power-manager-1.8.0+dfsg1/debian/patches/0005-Improve-UPower1-support.patch
    1970-01-01 01:00:00.000000000 +0100
+++ 
u1-mate-power-manager-1.8.0+dfsg1/debian/patches/0005-Improve-UPower1-support.patch
 2014-05-22 10:43:27.560078101 +0200
@@ -0,0 +1,113 @@
+From 1fb28703f76a97421f3554d5c553b06707f890a7 Mon Sep 17 00:00:00 2001
+From: Stefano Karapetsas <[email protected]>
+Date: Thu, 24 Apr 2014 18:17:35 +0200
+Subject: [PATCH 05/15] Improve UPower1 support
+
+---
+ src/gpm-engine.c | 32 +++++++++++++++++++++++---------
+ 1 file changed, 23 insertions(+), 9 deletions(-)
+
+diff --git a/src/gpm-engine.c b/src/gpm-engine.c
+index e6c6bf2..fe458e3 100644
+--- a/src/gpm-engine.c
++++ b/src/gpm-engine.c
+@@ -82,6 +82,9 @@ G_DEFINE_TYPE (GpmEngine, gpm_engine, G_TYPE_OBJECT)
+ 
+ static UpDevice *gpm_engine_get_composite_device (GpmEngine *engine, UpDevice 
*original_device);
+ static UpDevice *gpm_engine_update_composite_device (GpmEngine *engine, 
UpDevice *original_device);
++#if UP_CHECK_VERSION (0, 99, 0)
++static void gpm_engine_device_changed_cb (UpDevice *device, GParamSpec 
*pspec, GpmEngine *engine);
++#endif
+ 
+ typedef enum {
+       GPM_ENGINE_WARNING_NONE = 0,
+@@ -757,6 +760,13 @@ gpm_engine_device_add (GpmEngine *engine, UpDevice 
*device)
+               g_object_get (composite, "state", &state, NULL);
+               g_object_set_data (G_OBJECT(composite), "engine-state-old", 
GUINT_TO_POINTER(state));
+       }
++
++#if UP_CHECK_VERSION (0, 99, 0)
++      if (kind == UP_DEVICE_KIND_BATTERY || kind == UP_DEVICE_KIND_UPS || 
kind == UP_DEVICE_KIND_LINE_POWER)
++              return;
++      g_signal_connect (device, "notify", G_CALLBACK 
(gpm_engine_device_changed_cb), engine);
++#endif
++
+ }
+ 
+ /**
+@@ -851,19 +861,20 @@ gpm_engine_device_removed_cb (UpClient *client, UpDevice 
*device, GpmEngine *eng
+  **/
+ static void
+ #if UP_CHECK_VERSION(0, 99, 0)
+-gpm_engine_device_changed_cb (UpClient *client, GParamSpec *pspec, GpmEngine 
*engine)
+-{
+-      gpm_engine_recalculate_state (engine);
+-}
++gpm_engine_device_changed_cb (UpDevice *device, GParamSpec *pspec, GpmEngine 
*engine)
+ #else
+ gpm_engine_device_changed_cb (UpClient *client, UpDevice *device, GpmEngine 
*engine)
++#endif
+ {
++#if !UP_CHECK_VERSION(0, 99, 0)
+       UpDeviceKind kind;
++#endif
+       UpDeviceState state;
+       UpDeviceState state_old;
+       GpmEngineWarning warning_old;
+       GpmEngineWarning warning;
+ 
++#if !UP_CHECK_VERSION(0, 99, 0)
+       /* get device properties */
+       g_object_get (device,
+                     "kind", &kind,
+@@ -874,6 +885,7 @@ gpm_engine_device_changed_cb (UpClient *client, UpDevice 
*device, GpmEngine *eng
+               egg_debug ("updating because %s changed", 
up_device_get_object_path (device));
+               device = gpm_engine_update_composite_device (engine, device);
+       }
++#endif
+ 
+       /* get device properties (may be composite) */
+       g_object_get (device,
+@@ -917,7 +929,6 @@ gpm_engine_device_changed_cb (UpClient *client, UpDevice 
*device, GpmEngine *eng
+ 
+       gpm_engine_recalculate_state (engine);
+ }
+-#endif
+ 
+ /**
+  * gpm_engine_get_devices:
+@@ -1042,10 +1053,7 @@ gpm_engine_init (GpmEngine *engine)
+                         G_CALLBACK (gpm_engine_device_added_cb), engine);
+       g_signal_connect (engine->priv->client, "device-removed",
+                         G_CALLBACK (gpm_engine_device_removed_cb), engine);
+-#if UP_CHECK_VERSION(0, 99, 0)
+-      g_signal_connect (engine->priv->client, "notify",
+-                        G_CALLBACK (gpm_engine_device_changed_cb), engine);
+-#else
++#if !UP_CHECK_VERSION(0, 99, 0)
+       g_signal_connect (engine->priv->client, "device-changed",
+                         G_CALLBACK (gpm_engine_device_changed_cb), engine);
+ #endif
+@@ -1075,6 +1083,11 @@ gpm_engine_init (GpmEngine *engine)
+ #endif
+ 
+       /* create a fake virtual composite battery */
++#if UP_CHECK_VERSION(0, 99, 0)
++      engine->priv->battery_composite = up_client_get_display_device 
(engine->priv->client);
++      g_signal_connect (engine->priv->client, "notify",
++                        G_CALLBACK (gpm_engine_device_changed_cb), engine);
++#else
+       engine->priv->battery_composite = up_device_new ();
+       g_object_set (engine->priv->battery_composite,
+                     "kind", UP_DEVICE_KIND_BATTERY,
+@@ -1083,6 +1096,7 @@ gpm_engine_init (GpmEngine *engine)
+                     "power-supply", TRUE,
+                     "is-present", TRUE,
+                     NULL);
++#endif
+ 
+       engine->priv->previous_icon = NULL;
+       engine->priv->previous_summary = NULL;
+-- 
+2.0.0.rc2
+
diff -uriNp 
mate-power-manager-1.8.0+dfsg1/debian/patches/0006-Other-round-of-fixes-for-UPower-0.99-API-changes.patch
 
u1-mate-power-manager-1.8.0+dfsg1/debian/patches/0006-Other-round-of-fixes-for-UPower-0.99-API-changes.patch
--- 
mate-power-manager-1.8.0+dfsg1/debian/patches/0006-Other-round-of-fixes-for-UPower-0.99-API-changes.patch
   1970-01-01 01:00:00.000000000 +0100
+++ 
u1-mate-power-manager-1.8.0+dfsg1/debian/patches/0006-Other-round-of-fixes-for-UPower-0.99-API-changes.patch
        2014-05-22 10:43:41.208456112 +0200
@@ -0,0 +1,229 @@
+From 8f734c679de61292f0ae1bd9923fc67801ab041c Mon Sep 17 00:00:00 2001
+From: Stefano Karapetsas <[email protected]>
+Date: Thu, 24 Apr 2014 20:19:01 +0200
+Subject: [PATCH 06/15] Other round of fixes for UPower 0.99 API changes
+
+---
+ src/gpm-engine.c  | 85 ++++++++++++++++++++++++++++++++++++++++++-------------
+ src/gpm-manager.c |  4 ++-
+ 2 files changed, 68 insertions(+), 21 deletions(-)
+
+diff --git a/src/gpm-engine.c b/src/gpm-engine.c
+index fe458e3..56d19e2 100644
+--- a/src/gpm-engine.c
++++ b/src/gpm-engine.c
+@@ -84,7 +84,29 @@ static UpDevice *gpm_engine_get_composite_device (GpmEngine 
*engine, UpDevice *o
+ static UpDevice *gpm_engine_update_composite_device (GpmEngine *engine, 
UpDevice *original_device);
+ #if UP_CHECK_VERSION (0, 99, 0)
+ static void gpm_engine_device_changed_cb (UpDevice *device, GParamSpec 
*pspec, GpmEngine *engine);
+-#endif
++
++#define GPM_ENGINE_WARNING_NONE UP_DEVICE_LEVEL_NONE
++#define GPM_ENGINE_WARNING_DISCHARGING UP_DEVICE_LEVEL_DISCHARGING
++#define GPM_ENGINE_WARNING_LOW UP_DEVICE_LEVEL_LOW
++#define GPM_ENGINE_WARNING_CRITICAL UP_DEVICE_LEVEL_CRITICAL
++#define GPM_ENGINE_WARNING_ACTION UP_DEVICE_LEVEL_ACTION
++
++/**
++ * gpm_engine_get_warning:
++ *
++ * This gets the possible engine state for the device according to the
++ * policy, which could be per-percent, or per-time.
++ *
++ * Return value: A GpmEngine state, e.g. GPM_ENGINE_WARNING_DISCHARGING
++ **/
++static UpDeviceLevel
++gpm_engine_get_warning (GpmEngine *engine, UpDevice *device)
++{
++      UpDeviceLevel warning;
++      g_object_get (device, "warning-level", &warning, NULL);
++      return warning;
++}
++#else
+ 
+ typedef enum {
+       GPM_ENGINE_WARNING_NONE = 0,
+@@ -226,6 +248,7 @@ gpm_engine_get_warning (GpmEngine *engine, UpDevice 
*device)
+  out:
+       return warning_type;
+ }
++#endif
+ 
+ /**
+  * gpm_engine_get_summary:
+@@ -282,12 +305,20 @@ gpm_engine_get_summary (GpmEngine *engine)
+  * Returns the icon
+  **/
+ static gchar *
++#if UP_CHECK_VERSION (0, 99, 0)
++gpm_engine_get_icon_priv (GpmEngine *engine, UpDeviceKind device_kind, 
UpDeviceLevel warning, gboolean use_state)
++#else
+ gpm_engine_get_icon_priv (GpmEngine *engine, UpDeviceKind device_kind, 
GpmEngineWarning warning, gboolean use_state)
++#endif
+ {
+       guint i;
+       GPtrArray *array;
+       UpDevice *device;
++#if UP_CHECK_VERSION (0, 99, 0)
++      UpDeviceLevel warning_temp;
++#else
+       GpmEngineWarning warning_temp;
++#endif
+       UpDeviceKind kind;
+       UpDeviceState state;
+       gboolean is_present;
+@@ -572,6 +603,9 @@ gpm_engine_device_check_capacity (GpmEngine *engine, 
UpDevice *device)
+ static UpDevice *
+ gpm_engine_get_composite_device (GpmEngine *engine, UpDevice *original_device)
+ {
++#if UP_CHECK_VERSION (0, 99, 0)
++      return engine->priv->battery_composite;
++#else
+       guint battery_devices = 0;
+       GPtrArray *array;
+       UpDevice *device;
+@@ -601,6 +635,7 @@ gpm_engine_get_composite_device (GpmEngine *engine, 
UpDevice *original_device)
+ out:
+       /* return composite device or original device */
+       return device;
++#endif
+ }
+ 
+ /**
+@@ -609,6 +644,18 @@ out:
+ static UpDevice *
+ gpm_engine_update_composite_device (GpmEngine *engine, UpDevice 
*original_device)
+ {
++#if UP_CHECK_VERSION (0, 99, 0)
++      gchar *text;
++
++      text = up_device_to_text (engine->priv->battery_composite);
++      egg_debug ("composite:\n%s", text);
++      g_free (text);
++
++      /* force update of icon */
++      gpm_engine_recalculate_state_icon (engine);
++
++      return engine->priv->battery_composite;
++#else
+       guint i;
+       gdouble percentage = 0.0;
+       gdouble energy = 0.0;
+@@ -720,6 +767,7 @@ gpm_engine_update_composite_device (GpmEngine *engine, 
UpDevice *original_device
+ out:
+       /* return composite device or original device */
+       return device;
++#endif
+ }
+ 
+ /**
+@@ -728,7 +776,11 @@ out:
+ static void
+ gpm_engine_device_add (GpmEngine *engine, UpDevice *device)
+ {
++#if UP_CHECK_VERSION (0, 99, 0)
++      UpDeviceLevel warning;
++#else
+       GpmEngineWarning warning;
++#endif
+       UpDeviceState state;
+       UpDeviceKind kind;
+       UpDevice *composite;
+@@ -762,9 +814,9 @@ gpm_engine_device_add (GpmEngine *engine, UpDevice *device)
+       }
+ 
+ #if UP_CHECK_VERSION (0, 99, 0)
+-      if (kind == UP_DEVICE_KIND_BATTERY || kind == UP_DEVICE_KIND_UPS || 
kind == UP_DEVICE_KIND_LINE_POWER)
+-              return;
+       g_signal_connect (device, "notify", G_CALLBACK 
(gpm_engine_device_changed_cb), engine);
++      g_ptr_array_add (engine->priv->array, g_object_ref (device));
++      gpm_engine_recalculate_state (engine);
+ #endif
+ 
+ }
+@@ -820,10 +872,14 @@ out:
+ static void
+ gpm_engine_device_added_cb (UpClient *client, UpDevice *device, GpmEngine 
*engine)
+ {
++#if UP_CHECK_VERSION (0, 99, 0)
++      gpm_engine_device_add (engine, device);
++#else
+       /* add to list */
+       g_ptr_array_add (engine->priv->array, g_object_ref (device));
+ 
+       gpm_engine_recalculate_state (engine);
++#endif
+ }
+ 
+ /**
+@@ -866,15 +922,17 @@ gpm_engine_device_changed_cb (UpDevice *device, 
GParamSpec *pspec, GpmEngine *en
+ gpm_engine_device_changed_cb (UpClient *client, UpDevice *device, GpmEngine 
*engine)
+ #endif
+ {
+-#if !UP_CHECK_VERSION(0, 99, 0)
+       UpDeviceKind kind;
+-#endif
+       UpDeviceState state;
+       UpDeviceState state_old;
++#if UP_CHECK_VERSION(0, 99, 0)
++      UpDeviceLevel warning_old;
++      UpDeviceLevel warning;
++#else
+       GpmEngineWarning warning_old;
+       GpmEngineWarning warning;
++#endif
+ 
+-#if !UP_CHECK_VERSION(0, 99, 0)
+       /* get device properties */
+       g_object_get (device,
+                     "kind", &kind,
+@@ -885,7 +943,6 @@ gpm_engine_device_changed_cb (UpClient *client, UpDevice 
*device, GpmEngine *eng
+               egg_debug ("updating because %s changed", 
up_device_get_object_path (device));
+               device = gpm_engine_update_composite_device (engine, device);
+       }
+-#endif
+ 
+       /* get device properties (may be composite) */
+       g_object_get (device,
+@@ -1070,22 +1127,10 @@ gpm_engine_init (GpmEngine *engine)
+       g_signal_connect (engine->priv->phone, "device-refresh",
+                         G_CALLBACK (phone_device_refresh_cb), engine);
+ 
+-#if UP_CHECK_VERSION(0, 99, 0)
+-      /* coldplug */
+-      array = up_client_get_devices(engine->priv->client);
+-      if (array) {
+-              for (i = 0; i < array->len; i++) {
+-                      UpDevice *device = g_ptr_array_index (array, i);
+-                      gpm_engine_device_added_cb(engine->priv->client, 
device, engine);
+-              }
+-              g_ptr_array_free (array, TRUE);
+-      }
+-#endif
+-
+       /* create a fake virtual composite battery */
+ #if UP_CHECK_VERSION(0, 99, 0)
+       engine->priv->battery_composite = up_client_get_display_device 
(engine->priv->client);
+-      g_signal_connect (engine->priv->client, "notify",
++      g_signal_connect (engine->priv->battery_composite, "notify",
+                         G_CALLBACK (gpm_engine_device_changed_cb), engine);
+ #else
+       engine->priv->battery_composite = up_device_new ();
+diff --git a/src/gpm-manager.c b/src/gpm-manager.c
+index df84cac..09bd0c0 100644
+--- a/src/gpm-manager.c
++++ b/src/gpm-manager.c
+@@ -1858,7 +1858,9 @@ gpm_manager_init (GpmManager *manager)
+                         G_CALLBACK (gpm_manager_settings_changed_cb), 
manager);
+       manager->priv->client = up_client_new ();
+ #if UP_CHECK_VERSION(0, 99, 0)
+-      g_signal_connect (manager->priv->client, "notify",
++      g_signal_connect (manager->priv->client, "notify::lid-is-closed",
++                        G_CALLBACK (gpm_manager_client_changed_cb), manager);
++      g_signal_connect (manager->priv->client, "notify::on-battery",
+                         G_CALLBACK (gpm_manager_client_changed_cb), manager);
+ #else
+       g_signal_connect (manager->priv->client, "changed",
+-- 
+2.0.0.rc2
+
diff -uriNp mate-power-manager-1.8.0+dfsg1/debian/patches/series 
u1-mate-power-manager-1.8.0+dfsg1/debian/patches/series
--- mate-power-manager-1.8.0+dfsg1/debian/patches/series        2014-04-21 
22:45:43.000000000 +0200
+++ u1-mate-power-manager-1.8.0+dfsg1/debian/patches/series     2014-05-22 
10:43:56.152870062 +0200
@@ -1,3 +1,8 @@
 1002_add-keywords-key-to-desktop-files.patch
 2001_omit-gfdl-licensed-help-files.patch
 2002_compile-extra-man-pages.patch
+0001-avoid-levels-is-0-warning-if-no-kbd-backlight-presen.patch
+0002-remove-battery-recall-logic.patch
+0003-port-mate-power-manager-to-upower-0.99-API.patch
+0005-Improve-UPower1-support.patch
+0006-Other-round-of-fixes-for-UPower-0.99-API-changes.patch

--- End Message ---
--- Begin Message ---
Source: mate-power-manager
Source-Version: 1.8.0+dfsg1-3

We believe that the bug you reported is fixed in the latest version of
mate-power-manager, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Mike Gabriel <[email protected]> (supplier of updated mate-power-manager 
package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Fri, 30 May 2014 14:13:03 +0200
Source: mate-power-manager
Binary: mate-power-manager mate-power-manager-common mate-power-manager-dbg
Architecture: source amd64 all
Version: 1.8.0+dfsg1-3
Distribution: unstable
Urgency: low
Maintainer: MATE Packaging Team <[email protected]>
Changed-By: Mike Gabriel <[email protected]>
Description: 
 mate-power-manager - power management tool for the MATE desktop
 mate-power-manager-common - power management tool for the MATE desktop (common 
files)
 mate-power-manager-dbg - power management tool for the MATE desktop (debugging 
symbols)
Closes: 748931
Changes: 
 mate-power-manager (1.8.0+dfsg1-3) unstable; urgency=low
 .
   [ Vangelis Mouhtsis ]
   * debian/rules:
     + Replace on dh_install --list-missing -> --fail-missing.
     + Remove non-packaged *.convert files after build.
 .
   [ Mike Gabriel ]
   * debian/patches: Pull-in three upstream-commits as patches
     (0001_upower-1.0_patch[1-3].patch). Fix FTBFS against upower
     (>= 0.99). (Closes: #748931).
Checksums-Sha1: 
 dec83d79daf54816ae3bcd2d52f3ebfd0fcf1d09 2833 
mate-power-manager_1.8.0+dfsg1-3.dsc
 312587bcadfda8aca7e79b0c3ac7d5790bc043d4 11320 
mate-power-manager_1.8.0+dfsg1-3.debian.tar.xz
 4246600fd13fb5861663bde95a868e5eac7e72e3 120632 
mate-power-manager_1.8.0+dfsg1-3_amd64.deb
 3380318aefb20095c6c865725bee32e020100d3c 914244 
mate-power-manager-common_1.8.0+dfsg1-3_all.deb
 60fd510d7fa2a12e6e3e059725a37ca07c82323a 510470 
mate-power-manager-dbg_1.8.0+dfsg1-3_amd64.deb
Checksums-Sha256: 
 f4b1fdd7c238f01815ea14daca69705922cd6f2039d5b7a2931774e797f608e4 2833 
mate-power-manager_1.8.0+dfsg1-3.dsc
 af54c83b90e2c9b2d57524083b3028205a144a94415c3ec343297724d539cc60 11320 
mate-power-manager_1.8.0+dfsg1-3.debian.tar.xz
 b070a886ca78c094b7bae1ac833a3b85ec78720e435d31f43a3a9271a9162ba2 120632 
mate-power-manager_1.8.0+dfsg1-3_amd64.deb
 9cfece80feb4da7e0657d8773649fb5491a85558d89bfca00756c548878d79cc 914244 
mate-power-manager-common_1.8.0+dfsg1-3_all.deb
 9259cbf4c8a4a4d830c09d352632ee83c1ec4655896afe13b287bb3b6aeef76e 510470 
mate-power-manager-dbg_1.8.0+dfsg1-3_amd64.deb
Files: 
 f6a4666ff824618f748f5d9179798671 120632 x11 optional 
mate-power-manager_1.8.0+dfsg1-3_amd64.deb
 8506558bed6106e3a1347a6076ecf05a 914244 x11 optional 
mate-power-manager-common_1.8.0+dfsg1-3_all.deb
 fe4589cde9fe998753187d2a9fcf2701 510470 debug extra 
mate-power-manager-dbg_1.8.0+dfsg1-3_amd64.deb
 4f719f252f6a251c26365f8612ad2a58 2833 x11 optional 
mate-power-manager_1.8.0+dfsg1-3.dsc
 2afe8e6f3d45237e99e258f82a238159 11320 x11 optional 
mate-power-manager_1.8.0+dfsg1-3.debian.tar.xz

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBCAAGBQJTiHddAAoJEJr0azAldxsx+OEP+QGqhAYQI7FGC6GLYfx1X4oE
BAK19IPerA04QEKN444IClPsmPToh9sa5oqE1r+KZvbj+5XV6xPZP2U2bkB8dV85
pfW2xewUxMtO9tD02mcCqtdh5Eio8YyKadFEyxlc0HD3PLi7PrbuIaEWJWHmlNLZ
sTSMJPj4S2q1z/CoHEW2Tw3ZRQ9B7WRMY9dxPn4YdjaYmxrjUrlV2EpPplAyLAz/
bhhR45zcTmDNHQzp3gFdPZm9qolvZp7V73AkHuIoled5YUMdAJYBSHzfIl6pIUjC
C/6aE/6FqsNBTRBxA32AnwYB115okSwfIRqu6BHP1kax3Zs/wfI8cKDYpn0PL2ld
oi8H5j80t5kG1+7wqij5T1OEgjQnaBx3RSS1FGE71WqFU1SvnD5YZOcK74dkzgfG
CcDCfaq0Lt9OWS3ONhSjDFWVmk7wK0/N+rmH87epOdH+YljWILCNzMF4hcG5jx8N
0rAW9RpLYN3XRGbnYhAbZk7T4O8H0zhv9P51dx3yFotkcAUG73xRlWVKUpb2XfrB
VxTy6N9CqvaS3t4KqgbNhiPycwh7vgybFaNNZ14PON2FNt0uaIGtuQ+HYg2/7UL/
JvvZLQC7yCnrOsTWp+yNqJ8uvGqER6qt0OaiWO32p6Z9TRmROA69Np+vpZ3jyuZM
3eV2/8VjzSX/85FAi9nt
=STso
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to