Control: tags -1 + upstream fixed-upstream patch pending Le samedi 17 août 2013 à 23:12 +0200, Sébastien Villemot a écrit : > Package: workrave > Version: 1.10.1-1 > Severity: important
> Since the upload of gjs 1.36 in unstable, the GNOME workrave extension no > longer starts. The error message is: I have uploaded to DELAYED/10 a NMU of workrave fixing this bug. The debdiff is attached, and is based on an changeset that I pushed upstream. Please let me know if I should delay the upload longer. Cheers, -- .''`. Sébastien Villemot : :' : Debian Developer `. `' http://www.dynare.org/sebastien `- GPG Key: 4096R/381A7594
diff -Nru workrave-1.10.1/debian/changelog workrave-1.10.1/debian/changelog --- workrave-1.10.1/debian/changelog 2013-06-15 03:03:09.000000000 +0200 +++ workrave-1.10.1/debian/changelog 2013-09-01 22:09:22.000000000 +0200 @@ -1,3 +1,11 @@ +workrave (1.10.1-1.1) unstable; urgency=low + + * Non-maintainer upload. + * gnome_3.8.patch: makes the GNOME Shell extension compatible with GNOME 3.8 + (Closes: #720037) + + -- Sébastien Villemot <sebast...@debian.org> Sun, 01 Sep 2013 22:07:56 +0200 + workrave (1.10.1-1) unstable; urgency=low * New upstream version diff -Nru workrave-1.10.1/debian/patches/gnome_3.8.patch workrave-1.10.1/debian/patches/gnome_3.8.patch --- workrave-1.10.1/debian/patches/gnome_3.8.patch 1970-01-01 01:00:00.000000000 +0100 +++ workrave-1.10.1/debian/patches/gnome_3.8.patch 2013-09-01 22:11:33.000000000 +0200 @@ -0,0 +1,178 @@ +Description: Make the GNOME shell extension compatible with GNOME 3.8 + The D-Bus Glib bindings, which were deprecated since GNOME 3.4, have been + removed in GNOME 3.8. This commit replaces them by the new Gio bindings. +Author: Sébastien Villemot <sebast...@debian.org> +Bug: http://issues.workrave.org/show_bug.cgi?id=1120 +Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=720037 +Applied-Upstream: https://github.com/rcaelers/workrave/commit/15f09d8a626e0c1251adc842e5cc5ed05a4cb690 +Last-Update: 2013-09-01 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +diff --git a/frontend/applets/gnome-shell/src/extension.js b/frontend/applets/gnome-shell/src/extension.js +index ffc640d..cec7ebc 100644 +--- a/frontend/applets/gnome-shell/src/extension.js ++++ b/frontend/applets/gnome-shell/src/extension.js +@@ -13,7 +13,7 @@ const GLib = imports.gi.GLib; + const Cairo = imports.cairo; + const Clutter = imports.gi.Clutter; + const Util = imports.misc.util; +-const DBus = imports.dbus; ++const Gio = imports.gi.Gio; + const Workrave = imports.gi.Workrave; + + const _ = Gettext.gettext; +@@ -21,33 +21,28 @@ const _ = Gettext.gettext; + let start = GLib.get_monotonic_time(); + global.log('workrave-applet: start @ ' + start); + +-const IndicatorIface = { +- name: 'org.workrave.AppletInterface', +- methods: [ { name: 'Embed', +- inSignature: 'bs', +- outSignature: '' +- }, +- { name: 'GetMenu', +- inSignature: '', +- outSignature: 'a(siii)' +- }, +- { name: 'Command', +- inSignature: 'i', +- outSignature: '' +- } +- ], +- +- signals: [ { name: 'TimersUpdated', +- inSignature: '(siuuuuuu)(siuuuuuu)(siuuuuuu)' +- }, +- { name: 'MenuUpdated', +- inSignature: 'a(siii)' +- } +- ], +- properties: [] +-}; +- +-let IndicatorProxy = DBus.makeProxyClass(IndicatorIface); ++const IndicatorIface = <interface name="org.workrave.AppletInterface"> ++<method name="Embed"> ++ <arg type="b" name="enabled" direction="in" /> ++ <arg type="s" name="sender" direction="in" /> ++</method> ++<method name="Command"> ++ <arg type="i" name="command" direction="in" /> ++</method> ++<method name="GetMenu"> ++ <arg type="a(sii)" name="menuitems" direction="out" /> ++</method> ++<signal name="TimersUpdated"> ++ <arg type="(siuuuuuu)" /> ++ <arg type="(siuuuuuu)" /> ++ <arg type="(siuuuuuu)" /> ++</signal> ++<signal name="MenuUpdated"> ++ <arg type="a(sii)" /> ++</signal> ++</interface> ++ ++let IndicatorProxy = Gio.DBusProxy.makeProxyWrapper(IndicatorIface); + + function _workraveButton() { + this._init(); +@@ -73,17 +68,16 @@ _workraveButton.prototype = { + + this.actor.connect('destroy', Lang.bind(this, this._onDestroy)); + +- this._proxy = new IndicatorProxy(DBus.session, 'org.workrave.Workrave', '/org/workrave/Workrave/UI'); +- this._timers_updated_id = this._proxy.connect("TimersUpdated", Lang.bind(this, this._onTimersUpdated)); +- this._menu_updated_id = this._proxy.connect("MenuUpdated", Lang.bind(this, this._onMenuUpdated)); ++ this._proxy = new IndicatorProxy(Gio.DBus.session, 'org.workrave.Workrave', '/org/workrave/Workrave/UI'); ++ this._timers_updated_id = this._proxy.connectSignal("TimersUpdated", Lang.bind(this, this._onTimersUpdated)); ++ this._menu_updated_id = this._proxy.connectSignal("MenuUpdated", Lang.bind(this, this._onMenuUpdated)); + + this._updateMenu(null); + +- DBus.session.watch_name('org.workrave.Workrave', +- false, // no auto launch +- Lang.bind(this, this._onWorkraveAppeared), +- Lang.bind(this, this._onWorkraveVanished)); +- DBus.session.start_service('org.workrave.Workrave'); ++ Gio.DBus.session.watch_name('org.workrave.Workrave', ++ Gio.BusNameWatcherFlags.NONE, // no auto launch ++ Lang.bind(this, this._onWorkraveAppeared), ++ Lang.bind(this, this._onWorkraveVanished)); + }, + + _onDestroy: function() +@@ -96,8 +90,8 @@ _workraveButton.prototype = { + + _destroy: function() { + global.log('workrave-applet: _destroy'); +- this._proxy.disconnect(this._timers_updated_id); +- this._proxy.disconnect(this._menu_updated_id); ++ this._proxy.disconnectSignal(this._timers_updated_id); ++ this._proxy.disconnectSignal(this._menu_updated_id); + this._proxy = null; + + this.actor.destroy(); +@@ -108,7 +102,7 @@ _workraveButton.prototype = { + global.log('workrave-applet: starting'); + if (! this._alive) + { +- this._bus_id = DBus.session.acquire_name(this._bus_name, 0, null, null); ++ this._bus_id = Gio.DBus.session.own_name(this._bus_name, Gio.BusNameOwnerFlags.NONE, null, null); + this._proxy.GetMenuRemote(Lang.bind(this, this._onGetMenuReply)); + this._proxy.EmbedRemote(true, this._bus_name); + this._timeoutId = Mainloop.timeout_add(5000, Lang.bind(this, this._onTimer)); +@@ -123,7 +117,7 @@ _workraveButton.prototype = { + { + global.log('workrave-applet: stopping'); + Mainloop.source_remove(this._timeoutId); +- DBus.session.release_name_by_id(this._bus_id); ++ Gio.DBus.session.unown_name(this._bus_id); + this._bus_id = 0; + this._timerbox.set_enabled(false); + this._area.queue_repaint(); +@@ -166,7 +160,7 @@ _workraveButton.prototype = { + this._stop(); + }, + +- _onTimersUpdated : function(result, microbreak, restbreak, daily) { ++ _onTimersUpdated : function(emitter, senderName, [microbreak, restbreak, daily]) { + + if (! this._alive) + { +@@ -213,11 +207,11 @@ _workraveButton.prototype = { + this._area.queue_repaint(); + }, + +- _onGetMenuReply : function(menuitems) { ++ _onGetMenuReply : function([menuitems], excp) { + this._updateMenu(menuitems); + }, + +- _onMenuUpdated : function(result, menuitems) { ++ _onMenuUpdated : function(emitter, senderName, [menuitems]) { + this._updateMenu(menuitems); + }, + +@@ -230,7 +224,7 @@ _workraveButton.prototype = { + + _onMenuOpenCommand: function(item, event) { + global.log('workrave-applet: open'); +- DBus.session.start_service('org.workrave.Workrave'); ++ this._proxy.GetMenuRemote(); // A dummy method call to re-activate the service + }, + + _updateMenu : function(menuitems) { +diff --git a/frontend/applets/gnome-shell/src/metadata.json.in b/frontend/applets/gnome-shell/src/metadata.json.in +index d34d5e7..016f095 100644 +--- a/frontend/applets/gnome-shell/src/metadata.json.in ++++ b/frontend/applets/gnome-shell/src/metadata.json.in +@@ -3,7 +3,7 @@ + "uuid": "@uuid@", + "name": "Workrave", + "description": "Applet that shows all the Workrave timers.", +- "shell-version": [ "3.1.90", "3.1.91", "3.1.92", "3.2", "3.3", "3.4", "3.5", "3.5.4", "3.6.0", "3.6", "@shell_current@" ], ++ "shell-version": [ "3.1.90", "3.1.91", "3.1.92", "3.2", "3.3", "3.4", "3.5", "3.5.4", "3.6.0", "3.6", "3.8", "@shell_current@" ], + "localedir": "@LOCALEDIR@", + "url": "@url@" + } diff -Nru workrave-1.10.1/debian/patches/series workrave-1.10.1/debian/patches/series --- workrave-1.10.1/debian/patches/series 2013-06-15 03:03:09.000000000 +0200 +++ workrave-1.10.1/debian/patches/series 2013-09-01 22:09:34.000000000 +0200 @@ -1,2 +1,3 @@ #private_dirs.patch git_fix_desktop_bugs.patch +gnome_3.8.patch
signature.asc
Description: This is a digitally signed message part