Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Dear release team, Could you please unblock package gnome-shell/3.14.2-2. This upload includes a patch that defers the startup of the caribou daemon (on screen keyboard) that is unfortunatelly known to consume quite some resources (CPU time, memory and dbus trafic) even if a11y is disabled on the user machine. (see: #769489). Cheers, Laurent Bigonville unblock gnome-shell/3.14.2-2 -- System Information: Debian Release: 8.0 APT prefers unstable APT policy: (500, 'unstable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.16.0-4-amd64 (SMP w/8 CPU cores) Locale: LANG=fr_BE.utf8, LC_CTYPE=fr_BE.utf8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)
diff -Nru gnome-shell-3.14.2/debian/changelog gnome-shell-3.14.2/debian/changelog --- gnome-shell-3.14.2/debian/changelog 2014-11-30 15:31:15.000000000 +0100 +++ gnome-shell-3.14.2/debian/changelog 2014-12-09 17:05:29.000000000 +0100 @@ -1,3 +1,11 @@ +gnome-shell (3.14.2-2) unstable; urgency=medium + + * Add debian/patches/51-Delay-caribou-daemon-invocation.patch: Delay the + invocation of the caribou daemon until it's really needed, this should + workaround bugs like #769489. + + -- Laurent Bigonville <bi...@debian.org> Tue, 09 Dec 2014 17:05:28 +0100 + gnome-shell (3.14.2-1) unstable; urgency=medium * gnome-shell.gsettings-override: remove shotwell which is no longer diff -Nru gnome-shell-3.14.2/debian/patches/51-Delay-caribou-daemon-invocation.patch gnome-shell-3.14.2/debian/patches/51-Delay-caribou-daemon-invocation.patch --- gnome-shell-3.14.2/debian/patches/51-Delay-caribou-daemon-invocation.patch 1970-01-01 01:00:00.000000000 +0100 +++ gnome-shell-3.14.2/debian/patches/51-Delay-caribou-daemon-invocation.patch 2014-12-08 17:30:59.000000000 +0100 @@ -0,0 +1,75 @@ +From 68d6389ee6b0b90fbc8a7532c98f758f1a2f2223 Mon Sep 17 00:00:00 2001 +From: Daiki Ueno <du...@src.gnome.org> +Date: Thu, 6 Nov 2014 16:40:34 +0900 +Subject: [PATCH] keyboard: Delay caribou daemon invocation until really needed + +Calling g_dbus_proxy_new without any flag means that the caribou +daemon will be launched through D-Bus activation, when creating +a proxy. It smoked out some corner cases in caribou and at-spi2-core, +but generally it would be good to avoid creating unused process. + +This patch delays the invocation until the "Run" method is called. + +https://bugzilla.gnome.org/show_bug.cgi?id=739712 +--- + js/ui/keyboard.js | 34 ++++++++++++++++++++-------------- + 1 file changed, 20 insertions(+), 14 deletions(-) + +diff --git a/js/ui/keyboard.js b/js/ui/keyboard.js +index 1855adc..8dc154b 100644 +--- a/js/ui/keyboard.js ++++ b/js/ui/keyboard.js +@@ -187,14 +187,7 @@ const Keyboard = new Lang.Class({ + this._watchNameId = Gio.bus_watch_name(Gio.BusType.SESSION, CURSOR_BUS_NAME, 0, + Lang.bind(this, this._sync), + Lang.bind(this, this._sync)); +- this._daemonProxy = new CaribouDaemonProxy(Gio.DBus.session, CARIBOU_BUS_NAME, +- CARIBOU_OBJECT_PATH, +- Lang.bind(this, function(proxy, error) { +- if (error) { +- log(error.message); +- return; +- } +- })); ++ this._daemonProxy = null; + this._cursorProxy = new CursorManagerProxy(Gio.DBus.session, CURSOR_BUS_NAME, + CURSOR_OBJECT_PATH, + Lang.bind(this, function(proxy, error) { +@@ -256,15 +249,28 @@ const Keyboard = new Lang.Class({ + this.actor = null; + + this._destroySource(); +- this._daemonProxy.QuitRemote(function (result, error) { +- if (error) { +- log(error.message); +- return; +- } +- }); ++ if (this._daemonProxy) { ++ this._daemonProxy.QuitRemote(function (result, error) { ++ if (error) { ++ log(error.message); ++ return; ++ } ++ }); ++ this._daemonProxy = null; ++ } + }, + + _setupKeyboard: function() { ++ if (!this._daemonProxy) { ++ this._daemonProxy = new CaribouDaemonProxy(Gio.DBus.session, CARIBOU_BUS_NAME, ++ CARIBOU_OBJECT_PATH, ++ Lang.bind(this, function(proxy, error) { ++ if (error) { ++ log(error.message); ++ return; ++ } ++ })); ++ } + this._daemonProxy.RunRemote(function (result, error) { + if (error) { + log(error.message); +-- +2.1.3 + diff -Nru gnome-shell-3.14.2/debian/patches/series gnome-shell-3.14.2/debian/patches/series --- gnome-shell-3.14.2/debian/patches/series 2014-11-30 15:31:15.000000000 +0100 +++ gnome-shell-3.14.2/debian/patches/series 2014-12-08 17:47:50.000000000 +0100 @@ -5,3 +5,4 @@ #30-remoteMenu-Prevent-the-shell-from-becoming-unrespons.patch 41-handle-logind-fail.patch 50-compute-weeknumber-with-gdatetime.patch +51-Delay-caribou-daemon-invocation.patch