packages: libgnomesu/libgnomesu-drop-libgnomeui.patch (NEW) - merged from O...

hawk hawk at pld-linux.org
Thu Nov 25 10:40:48 CET 2010


Author: hawk                         Date: Thu Nov 25 09:40:48 2010 GMT
Module: packages                      Tag: HEAD
---- Log message:
- merged from OpenSUSE: drop libgnomeui dependency

---- Files affected:
packages/libgnomesu:
   libgnomesu-drop-libgnomeui.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/libgnomesu/libgnomesu-drop-libgnomeui.patch
diff -u /dev/null packages/libgnomesu/libgnomesu-drop-libgnomeui.patch:1.1
--- /dev/null	Thu Nov 25 10:40:48 2010
+++ packages/libgnomesu/libgnomesu-drop-libgnomeui.patch	Thu Nov 25 10:40:43 2010
@@ -0,0 +1,146 @@
+Index: libgnomesu-1.0.0/tools/gnomesu.c
+===================================================================
+--- libgnomesu-1.0.0.orig/tools/gnomesu.c
++++ libgnomesu-1.0.0/tools/gnomesu.c
+@@ -18,8 +18,8 @@
+  * Boston, MA 02111-1307, USA.
+  */
+ 
++#include <glib/gi18n.h>
+ #include <gtk/gtk.h>
+-#include <gnome.h>
+ #include <gconf/gconf-client.h>
+ 
+ #include <string.h>
+@@ -36,17 +36,12 @@ static gchar *user = NULL;
+ static gint   final_status = 0;
+ GMainLoop    *main_loop;
+ 
+-static struct poptOption options[] = {
+-	{ "command", 'c', POPT_ARG_STRING, &command, 0,
+-	  N_("Pass the command to execute as one single string."),
+-	  N_("COMMAND") },
+-
+-	{ "user", 'u', POPT_ARG_STRING, &user, 0,
+-	  N_("Run as this user instead of as root."),
+-	  N_("USERNAME") },
+-
+-	{ NULL, '\0', 0, NULL, 0 }
+-};
++static GOptionEntry entries[] =
++{
++  { "command", 'c', 0, G_OPTION_ARG_STRING, &command, N_("Pass the command to execute as one single string."), N_("COMMAND") },
++  { "user", 'u', 0, G_OPTION_ARG_STRING, &user, N_("Run as this user instead of as root."), N_("USERNAME") },
++  { NULL }
++  };
+ 
+ static void
+ child_exit_cb (GPid pid, gint status, gpointer data)
+@@ -58,9 +53,7 @@ child_exit_cb (GPid pid, gint status, gp
+ int
+ main (int argc, char *argv[])
+ {
+-	GnomeProgram *program;
+-	GValue value = { 0 };
+-	poptContext pctx;
++	GError *error;
+ 	const char *desktop_startup_id;
+ 
+ 	bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
+@@ -73,30 +66,38 @@ main (int argc, char *argv[])
+ 	if (desktop_startup_id)
+ 		g_setenv ("_GNOMESU_DESKTOP_STARTUP_ID", desktop_startup_id, TRUE);
+ 
+-	program = gnome_program_init ("gnomesu", VERSION,
+-			LIBGNOMEUI_MODULE, argc, argv,
+-			GNOME_PARAM_POPT_TABLE, options,
+-			GNOME_PARAM_HUMAN_READABLE_NAME, _("GNOME SuperUser"),
+-			GNOME_PARAM_APP_PREFIX, GNOMESU_PREFIX,
+-			NULL);
+-	g_object_get_property (G_OBJECT (program),
+-		GNOME_PARAM_POPT_CONTEXT,
+-		g_value_init (&value, G_TYPE_POINTER));
+-	pctx = g_value_get_pointer (&value);
++	error = NULL;
++	if (!gtk_init_with_args (&argc, &argv, NULL, entries, GETTEXT_PACKAGE, &error)) {
++		if (error) {
++			g_printerr ("%s\n", error->message);
++			g_error_free (error);
++		} else
++			g_printerr (_("An unknown error occurred.\n"));
++
++		return 1;
++	}
+ 
++	g_set_application_name (_("GNOME SuperUser"));
+ 	gtk_window_set_default_icon_name (GTK_STOCK_DIALOG_AUTHENTICATION);
+ 
+ 	main_loop = g_main_loop_new (NULL, FALSE);
+ 
+ 	if (!command) {
+-		GList *arglist = NULL;
+-		gchar *arg, **args;
+-		int status, pid, i = 0;
++		gchar **args;
++		int pid, i = 0;
+ 
+-		while ((arg = (gchar *) poptGetArg (pctx)) != NULL)
+-			arglist = g_list_append (arglist, arg);
++		/* skipping the program at argv[0] */
++		argc--;
++		argv++;
++
++		/* Skip any potential leading "--" in argv.
++		 * This can happen with "gnomesu -- gnomesu -- ls" */
++		while (argc > 0 && argv[0] && strcmp (argv[0], "--") == 0) {
++			argc--;
++			argv++;
++		}
+ 
+-		if (g_list_length (arglist) == 0) {
++		if (argc == 0) {
+ 			gchar *terminal;
+ 
+ 			terminal = gconf_client_get_string (gconf_client_get_default (),
+@@ -114,11 +115,10 @@ main (int argc, char *argv[])
+ 			return WEXITSTATUS (final_status);
+ 		}
+ 
+-		args = g_new0 (gchar *, g_list_length (arglist) + 1);
+-		for (arglist = g_list_first (arglist); arglist != NULL; arglist = arglist->next) {
+-			args[i] = arglist->data;
+-			i++;
+-		}
++		/* we have to copy argv to have a NULL-terminated array */
++		args = g_new0 (gchar *, argc + 1);
++		for (i = 0; i < argc; i++)
++			args[i] = argv[i];
+ 
+ 		if (!gnomesu_spawn_async (user, args, &pid))
+ 			return 255;
+@@ -126,12 +126,11 @@ main (int argc, char *argv[])
+ 		g_child_watch_add (pid, child_exit_cb, NULL);
+ 		g_main_loop_run (main_loop);
+ 
+-		g_list_free (arglist);
+ 		g_free (args);
+ 		return WEXITSTATUS (final_status);
+ 
+ 	} else {
+-		int status, pid;
++		int pid;
+ 
+ 		if (!gnomesu_spawn_command_async (user, command, &pid))
+ 			return 255;
+Index: libgnomesu-1.0.0/configure.in
+===================================================================
+--- libgnomesu-1.0.0.orig/configure.in
++++ libgnomesu-1.0.0/configure.in
+@@ -48,7 +48,6 @@ AC_TRY_LINK(
+ 
+ 
+ PKG_CHECK_MODULES(GNOMESU,[
+-	libgnomeui-2.0
+ 	gconf-2.0
+ ])
+ AC_SUBST(GNOMESU_CFLAGS)
================================================================


More information about the pld-cvs-commit mailing list