Bug#690903: unblock: gnome-panel/3.4.2.1-3
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Please unblock package gnome-panel
>From the changelog:
gnome-panel (3.4.2.1-3) unstable; urgency=low
[ Josselin Mouette ]
* Drop obsolete suggests on epiphany & evolution.
[ Michael Biebl ]
* Avoid double-forking when starting applications via the menu or the Alt-F2
launcher since this breaks pkexec. Closes: #690338
* Rebuild with xz compression.
-- Michael Biebl <biebl@debian.org> Thu, 18 Oct 2012 20:05:21 +0200
full debdiff is attached.
Enabling xz compression gives us around 1.5 Mb for gnome-panel-data.
The patch to void double-forking has been provided by upstream after
filing this issue on bugs.gnome.org
Thanks for your work,
Michael
unblock gnome-panel/3.4.2.1-3
-- System Information:
Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable'), (200, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.2.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff -Nru gnome-panel-3.4.2.1/debian/changelog gnome-panel-3.4.2.1/debian/changelog
--- gnome-panel-3.4.2.1/debian/changelog 2012-05-22 08:59:22.000000000 +0200
+++ gnome-panel-3.4.2.1/debian/changelog 2012-10-18 20:05:23.000000000 +0200
@@ -1,3 +1,15 @@
+gnome-panel (3.4.2.1-3) unstable; urgency=low
+
+ [ Josselin Mouette ]
+ * Drop obsolete suggests on epiphany & evolution.
+
+ [ Michael Biebl ]
+ * Avoid double-forking when starting applications via the menu or the Alt-F2
+ launcher since this breaks pkexec. Closes: #690338
+ * Rebuild with xz compression.
+
+ -- Michael Biebl <biebl@debian.org> Thu, 18 Oct 2012 20:05:21 +0200
+
gnome-panel (3.4.2.1-2) unstable; urgency=low
[ Michael Biebl ]
diff -Nru gnome-panel-3.4.2.1/debian/control gnome-panel-3.4.2.1/debian/control
--- gnome-panel-3.4.2.1/debian/control 2012-05-22 09:12:05.000000000 +0200
+++ gnome-panel-3.4.2.1/debian/control 2012-10-18 21:35:18.000000000 +0200
@@ -7,7 +7,7 @@
Section: gnome
Priority: optional
Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org>
-Uploaders: Emilio Pozuelo Monfort <pochu@debian.org>, Gustavo Noronha Silva <kov@debian.org>, Josselin Mouette <joss@debian.org>, Michael Biebl <biebl@debian.org>
+Uploaders: Gustavo Noronha Silva <kov@debian.org>, Josselin Mouette <joss@debian.org>, Michael Biebl <biebl@debian.org>
Standards-Version: 3.9.3
Build-Depends: cdbs (>= 0.4.41),
debhelper (>= 8),
@@ -65,9 +65,7 @@
Suggests: yelp,
gnome-user-guide,
gnome-terminal | x-terminal-emulator,
- nautilus,
- evolution,
- epiphany-browser
+ nautilus
Breaks: gnome-session (<< 2.26),
gnome-power-manager (<< 2.26),
gnome-control-center (<< 1:2.91),
diff -Nru gnome-panel-3.4.2.1/debian/control.in gnome-panel-3.4.2.1/debian/control.in
--- gnome-panel-3.4.2.1/debian/control.in 2012-05-22 08:53:32.000000000 +0200
+++ gnome-panel-3.4.2.1/debian/control.in 2012-09-23 17:12:10.000000000 +0200
@@ -60,9 +60,7 @@
Suggests: yelp,
gnome-user-guide,
gnome-terminal | x-terminal-emulator,
- nautilus,
- evolution,
- epiphany-browser
+ nautilus
Breaks: gnome-session (<< 2.26),
gnome-power-manager (<< 2.26),
gnome-control-center (<< 1:2.91),
diff -Nru gnome-panel-3.4.2.1/debian/patches/17_avoid_double_forking.patch gnome-panel-3.4.2.1/debian/patches/17_avoid_double_forking.patch
--- gnome-panel-3.4.2.1/debian/patches/17_avoid_double_forking.patch 1970-01-01 01:00:00.000000000 +0100
+++ gnome-panel-3.4.2.1/debian/patches/17_avoid_double_forking.patch 2012-10-15 05:48:36.000000000 +0200
@@ -0,0 +1,155 @@
+From 755f4f16532379e01766363d281ef6ed67c1ba23 Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters@verbum.org>
+Date: Fri, 12 Oct 2012 18:21:18 -0400
+Subject: [PATCH] Avoid double forking when launching apps; it breaks "pkexec"
+
+See https://bugzilla.gnome.org/show_bug.cgi?id=675789
+
+https://bugzilla.gnome.org/show_bug.cgi?id=686059
+
+Signed-off-by: Colin Walters <walters@verbum.org>
+---
+ gnome-panel/libpanel-util/panel-launch.c | 41 +++++++++++++++++++++++++-------
+ gnome-panel/panel-run-dialog.c | 20 +++++++++++++---
+ 2 files changed, 50 insertions(+), 11 deletions(-)
+
+Index: gnome-panel-3.4.2.1/gnome-panel/libpanel-util/panel-launch.c
+===================================================================
+--- gnome-panel-3.4.2.1.orig/gnome-panel/libpanel-util/panel-launch.c 2012-03-15 09:56:50.000000000 +0100
++++ gnome-panel-3.4.2.1/gnome-panel/libpanel-util/panel-launch.c 2012-10-15 05:48:31.614293866 +0200
+@@ -82,6 +82,25 @@
+ return FALSE;
+ }
+
++static void
++dummy_child_watch (GPid pid,
++ gint status,
++ gpointer user_data)
++{
++ /* Nothing, this is just to ensure we don't double fork
++ * and break pkexec:
++ * https://bugzilla.gnome.org/show_bug.cgi?id=675789
++ */
++}
++
++static void
++gather_pid_callback (GDesktopAppInfo *gapp,
++ GPid pid,
++ gpointer data)
++{
++ g_child_watch_add (pid, dummy_child_watch, NULL);
++}
++
+ gboolean
+ panel_app_info_launch_uris (GAppInfo *appinfo,
+ GList *uris,
+@@ -93,7 +112,7 @@
+ GError *local_error;
+ GdkDisplay *display;
+
+- g_return_val_if_fail (G_IS_APP_INFO (appinfo), FALSE);
++ g_return_val_if_fail (G_IS_DESKTOP_APP_INFO (appinfo), FALSE);
+ g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE);
+ g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+
+@@ -103,13 +122,15 @@
+ gdk_app_launch_context_set_timestamp (context, timestamp);
+
+ local_error = NULL;
+- g_app_info_launch_uris (appinfo, uris,
+- (GAppLaunchContext *) context,
+- &local_error);
++ g_desktop_app_info_launch_uris_as_manager ((GDesktopAppInfo*)appinfo, uris,
++ (GAppLaunchContext *) context,
++ G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD,
++ NULL, NULL, gather_pid_callback, appinfo,
++ &local_error);
+
+ g_object_unref (context);
+
+- return _panel_launch_handle_error (g_app_info_get_name (appinfo),
++ return _panel_launch_handle_error (g_app_info_get_name ((GAppInfo*) appinfo),
+ screen, local_error, error);
+ }
+
+@@ -222,7 +243,8 @@
+ {
+ char *argv[2] = { (char *) fallback_exec, NULL };
+ GError *local_error;
+- char *display;
++ char *display;
++ GPid pid;
+
+ g_return_val_if_fail (desktop_file != NULL, FALSE);
+ g_return_val_if_fail (fallback_exec != NULL, FALSE);
+@@ -244,11 +266,14 @@
+ g_spawn_async (NULL, /* working directory */
+ argv,
+ NULL, /* envp */
+- G_SPAWN_SEARCH_PATH,
++ G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD,
+ set_environment,
+ display,
+- NULL,
++ &pid,
+ &local_error);
++ if (local_error == NULL) {
++ g_child_watch_add (pid, dummy_child_watch, NULL);
++ }
+
+ g_free (display);
+
+Index: gnome-panel-3.4.2.1/gnome-panel/panel-run-dialog.c
+===================================================================
+--- gnome-panel-3.4.2.1.orig/gnome-panel/panel-run-dialog.c 2012-03-15 09:56:50.000000000 +0100
++++ gnome-panel-3.4.2.1/gnome-panel/panel-run-dialog.c 2012-10-15 05:48:31.618293906 +0200
+@@ -324,6 +324,17 @@
+ g_setenv ("DISPLAY", display, TRUE);
+ }
+
++static void
++dummy_child_watch (GPid pid,
++ gint status,
++ gpointer user_data)
++{
++ /* Nothing, this is just to ensure we don't double fork
++ * and break pkexec:
++ * https://bugzilla.gnome.org/show_bug.cgi?id=675789
++ */
++}
++
+ static gboolean
+ panel_run_dialog_launch_command (PanelRunDialog *dialog,
+ const char *command,
+@@ -334,7 +345,8 @@
+ GError *error = NULL;
+ char **argv;
+ int argc;
+- char *display;
++ char *display;
++ GPid pid;
+
+ if (!command_is_executable (locale_command, &argc, &argv))
+ return FALSE;
+@@ -349,10 +361,10 @@
+ result = g_spawn_async (NULL, /* working directory */
+ argv,
+ NULL, /* envp */
+- G_SPAWN_SEARCH_PATH,
++ G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD,
+ set_environment,
+ display,
+- NULL,
++ &pid,
+ &error);
+
+ if (!result) {
+@@ -366,6 +378,8 @@
+ g_free (primary);
+
+ g_error_free (error);
++ } else {
++ g_child_watch_add (pid, dummy_child_watch, NULL);
+ }
+
+ g_free (display);
diff -Nru gnome-panel-3.4.2.1/debian/patches/series gnome-panel-3.4.2.1/debian/patches/series
--- gnome-panel-3.4.2.1/debian/patches/series 2012-05-22 08:18:11.000000000 +0200
+++ gnome-panel-3.4.2.1/debian/patches/series 2012-10-15 05:48:26.000000000 +0200
@@ -5,3 +5,4 @@
14_revert_timedate_change.patch
15_avoid_applet_loading_failures.patch
16_remove_online_accounts_from_user_menu.patch
+17_avoid_double_forking.patch
Reply to: