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)
================================================================
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to