Search the web
Sign In
New User? Sign Up
gbuffy · GBuffy Tool Discussion
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Want to share photos of your group with the world? Add a group photo to Flickr.

Best of Y! Groups

   Check them out and nominate your group.
Having problems with message search? Fill out this form to ensure your group is one of the first to be migrated to the new message search system.

Messages

  Messages Help
Advanced
[Patch] gtk2 and better mutt/imap integration   Message List  
Reply | Forward Message #231 of 231 | Next >
First, apply the gtk2 patch from the debian contributors:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=515274 .

The patch below fixes the following bugs

* Mailbox buttons do not resize properly in response to mailbox changes

* Window moves to (0,0) after closing configuration dialog

* gtk2 patch, when run with autoconf 2.61, produces configure which is
incompatible with Makefile.in (the original configure was generated with
autoconf 2.13)--the patch hacks configure to work with the old Makefile.in

* When opening an imap folder with mutt, the \Recent flag is unset on all
messages, so the new mail count drops to 0 in gbuffy (regardless of the
imap_peek config setting or the method used to exit mutt)--the patch counts
UNSEEN messages as new instead of RECENT messages

* Previewing headers for an imap mailbox issues a mailbox SELECT command which
inhibits updates of subsequent STATUS commands on that mailbox--the patch
UNSELECTS the mailbox after previewing

The patch adds the following features

* The password for an imap mailbox is passed to the mailbox command by way of a
pipe whose read file descriptor (hardcoded to /dev/fd/23 in the patch) is
available in the environment variable $IMAP_PASS_FILE
- this allows you to avoid having to retype your imap password when the
mailbox command is invoked by setting the mailbox command as follows, for
example: command = "xterm -e mutt -e 'set imap_pass=`cat $IMAP_PASS_FILE`' -f
=archive";

* Main window widget name "GbuffyMainWindow" so gbuffy can be styled
specifically in gtkrc

--- ./msocket.c.orig 2009-05-19 12:29:06.722446173 -0400
+++ ./msocket.c 2009-05-19 11:04:35.781608714 -0400
@@ -132,6 +132,7 @@
conn->ssl = NULL;
conn->ssl_mode = 0;
conn->next = Connections;
+ conn->auth_box = NULL;
Connections = conn;

return conn;

--- ./system.c.orig 2009-05-19 12:29:14.164343714 -0400
+++ ./system.c 2009-05-19 10:43:39.008875242 -0400
@@ -26,88 +26,114 @@
#include <sys/wait.h>
#include <unistd.h>

-int gbuffy_system (const char *cmd, int flags)
+#include <errno.h>
+
+int gbuffy_system (const char *cmd, int flags, char *pass)
{
- int rc = -1;
- struct sigaction act;
- struct sigaction oldcont;
- struct sigaction oldtstp;
- struct sigaction oldint;
- struct sigaction oldquit;
- struct sigaction oldchld;
- sigset_t set;
- pid_t thepid;
-
- /* must block SIGCHLD and ignore SIGINT and SIGQUIT */
-
- act.sa_handler = SIG_IGN;
- act.sa_flags = 0;
- sigemptyset (&(act.sa_mask));
- sigaction (SIGINT, &act, &oldint);
- sigaction (SIGQUIT, &act, &oldquit);
- if (flags & GB_DETACH_PROCESS)
- {
- act.sa_flags = SA_NOCLDSTOP;
- sigaction (SIGCHLD, &act, &oldchld);
- act.sa_flags = 0;
- }
- else
- {
- sigemptyset (&set);
- sigaddset (&set, SIGCHLD);
- sigprocmask (SIG_BLOCK, &set, NULL);
- }
-
- act.sa_handler = SIG_DFL;
- sigaction (SIGTSTP, &act, &oldtstp);
- sigaction (SIGCONT, &act, &oldcont);
-
- if ((thepid = fork ()) == 0)
- {
- /* reset signals for the child */
- sigaction (SIGINT, &act, NULL);
- sigaction (SIGQUIT, &act, NULL);
-
- if (flags & GB_DETACH_PROCESS)
- {
- setsid ();
- switch (fork ())
+ int rc = -1;
+ struct sigaction act;
+ struct sigaction oldcont;
+ struct sigaction oldtstp;
+ struct sigaction oldint;
+ struct sigaction oldquit;
+ struct sigaction oldchld;
+ sigset_t set;
+ pid_t thepid;
+ int pipefds[2];
+ int forward_pass = pass && *pass;
+ /* must block SIGCHLD and ignore SIGINT and SIGQUIT */
+
+ act.sa_handler = SIG_IGN;
+ act.sa_flags = 0;
+ sigemptyset (&(act.sa_mask));
+ sigaction (SIGINT, &act, &oldint);
+ sigaction (SIGQUIT, &act, &oldquit);
+ if (flags & GB_DETACH_PROCESS)
+ {
+ act.sa_flags = SA_NOCLDSTOP;
+ sigaction (SIGCHLD, &act, &oldchld);
+ act.sa_flags = 0;
+ }
+ else
+ {
+ sigemptyset (&set);
+ sigaddset (&set, SIGCHLD);
+ sigprocmask (SIG_BLOCK, &set, NULL);
+ }
+ if (forward_pass) {
+ if (pipe(pipefds) < 0) {
+ g_printf ("Failed opening pipe: %s\n", strerror (errno));
+ forward_pass = 0;
+ }
+ }
+
+ act.sa_handler = SIG_DFL;
+ sigaction (SIGTSTP, &act, &oldtstp);
+ sigaction (SIGCONT, &act, &oldcont);
+
+ if ((thepid = fork ()) == 0)
+ {
+ /* reset signals for the child */
+ sigaction (SIGINT, &act, NULL);
+ sigaction (SIGQUIT, &act, NULL);
+
+ if (flags & GB_DETACH_PROCESS)
{
- case 0:
- sigaction (SIGCHLD, &act, NULL);
- break;
+ setsid ();
+ switch (fork ())
+ {
+ case 0:
+ sigaction (SIGCHLD, &act, NULL);
+ break;
+
+ case -1:
+ _exit (127);
+
+ default:
+ _exit (0);
+ }
+ }
+ else
+ sigprocmask (SIG_UNBLOCK, &set, NULL);

- case -1:
- _exit (127);
+ if (forward_pass) {
+ close (pipefds[1]);
+ if (dup2 (pipefds[0], PASS_FD) < 0) {
+ g_printf ("dup2 failed: %s\n", strerror (errno));
+ close (pipefds[0]);
+ }
+ }

- default:
- _exit (0);
+ execl (EXECSHELL, "sh", "-c", cmd, NULL);
+ _exit (127); /* execl error */
+ }
+ else if (thepid != -1)
+ {
+ if (forward_pass) {
+ size_t pl = strlen (pass);
+ ssize_t ret;
+ close (pipefds[0]);
+ if ((size_t) (ret = write (pipefds[1], pass, pl)) != pl) {
+ g_printf ("Failed writing to pipe: %s\n", strerror (errno));
+ }
+ close(pipefds[1]);
}
- }
- else
+ /* wait for the child process to finish */
+ waitpid (thepid, &rc, 0);
+ }
+
+ /* reset SIGINT, SIGQUIT and SIGCHLD */
+ sigaction (SIGINT, &oldint, NULL);
+ sigaction (SIGQUIT, &oldquit, NULL);
+ if (flags & GB_DETACH_PROCESS)
+ sigaction (SIGCHLD, &oldchld, NULL);
+ else
sigprocmask (SIG_UNBLOCK, &set, NULL);

- execl (EXECSHELL, "sh", "-c", cmd, NULL);
- _exit (127); /* execl error */
- }
- else if (thepid != -1)
- {
- /* wait for the child process to finish */
- waitpid (thepid, &rc, 0);
- }
-
- /* reset SIGINT, SIGQUIT and SIGCHLD */
- sigaction (SIGINT, &oldint, NULL);
- sigaction (SIGQUIT, &oldquit, NULL);
- if (flags & GB_DETACH_PROCESS)
- sigaction (SIGCHLD, &oldchld, NULL);
- else
- sigprocmask (SIG_UNBLOCK, &set, NULL);
-
- sigaction (SIGCONT, &oldcont, NULL);
- sigaction (SIGTSTP, &oldtstp, NULL);
+ sigaction (SIGCONT, &oldcont, NULL);
+ sigaction (SIGTSTP, &oldtstp, NULL);

- rc = WIFEXITED (rc) ? WEXITSTATUS (rc) : -1;
+ rc = WIFEXITED (rc) ? WEXITSTATUS (rc) : -1;

- return (rc);
+ return (rc);
}

--- ./gbuffy.h.orig 2009-05-19 12:29:41.021582870 -0400
+++ ./gbuffy.h 2009-05-19 17:20:37.145585643 -0400
@@ -15,6 +15,9 @@
#define IMAPS_PORT 993
#define NNTP_PORT 119

+#define PASS_FD 23
+#define IMAP_PASS_FILE "/dev/fd/23"
+
#define SHORT_STRING 128
#define STRING 256
#define LONG_STRING 1024
@@ -143,5 +146,5 @@


/* system.c */
-int gbuffy_system (const char *cmd, int flags);
+int gbuffy_system (const char *cmd, int flags, char *pass);
#endif /* _GBUFFY_H_ */

--- ./msocket.h.orig 2009-05-19 12:31:20.361563912 -0400
+++ ./msocket.h 2009-05-18 17:47:36.657102970 -0400
@@ -39,6 +39,8 @@
int bufpos;
int available;

+ BOX_INFO *auth_box;
+
void *data;

struct _connection *next;


--- imap.c.orig 2009-05-21 18:37:41.116360903 -0400
+++ imap.c 2009-05-21 18:39:47.055333514 -0400
@@ -355,14 +355,31 @@
s = imap_next_word (s);
if (*s == '(')
s++;
+
+ if (*s == ')') {
+ /* No flags: treat as recent */
+ recent = 1;
+ } else {
while (*s && (*s != ')') && !recent)
{
- if (strncasecmp ("\\Recent", s, 7) == 0)
+ /* Display "Old" headers to be consistent with unseen count */
+ if (strncasecmp ("\\Recent", s, 7) == 0
+ || strncasecmp ("Old", s, 3) == 0) {
recent = 1;
+ }
+
+ /* Explicitly flagged as not recent: treat as such */
+ /* \Seen overrides all other flags */
+ if (strncasecmp ("\\Seen", s, 5) == 0) {
+ recent = 0;
+ break;
+ }
+
while (*s && (*s != ')') && !ISSPACE (*s))
s++;
SKIPWS (s);
}
+ }

do
{
@@ -468,11 +485,12 @@
s = imap_next_word (s);
if (strncasecmp ("EXISTS", s, 6) == 0)
ibox->num_messages = num;
- else if (strncasecmp ("RECENT", s, 6) == 0)
+ else if (strncasecmp ("UNSEEN", s, 6) == 0) {
ibox->new_messages = num;
}
}
}
+ }
while ((strncmp (buf, seq, SEQLEN) != 0));

/* if the EXAMINE wasn't successful, return */
@@ -493,6 +511,31 @@
if (parse_fetch (ibox, conn, headers, unseen) < 0)
return (-1);

+ /* Close the mailbox so STATUS works again */
+ imap_make_sequence (seq, sizeof (seq));
+ snprintf (buf, sizeof (buf), "%s UNSELECT %s\r\n", seq, ibox->path);
+ msocket_write (conn, buf);
+
+ if (msocket_read_line_d (buf, sizeof (buf), conn) < 0)
+ {
+ conn->uses = 0;
+ return (-1);
+ }
+
+ s = imap_next_word (buf);
+ if (strncasecmp ("OK", s, 2) != 0) {
+ /* shamelessly copy-pasted from above */
+ char *pc;
+
+ dprint (1, (debugfile, "imap_fetch_new_headers(): command failed: %s\n",
buf));
+ pc = buf + SEQLEN;
+ SKIPWS (pc);
+ pc = imap_next_word (pc);
+ /* mutt_error (pc); */
+ sleep (1);
+ return (-1);
+ }
+
return 0;
}

@@ -519,6 +562,8 @@
if (imap_open_connection (ibox, conn) < 0)
return (-1);
/* For this application, this is only an "in use" variable */
+
+ conn->auth_box = ibox;
conn->uses++;
}

@@ -528,8 +573,9 @@
* mailbox (including us) they message is no longer RECENT. I don't
* think we want that, so use UNSEEN instead */
/* Go back to using RECENT, as it shouldn't be updated on EXAMINE */
+ /* Go back to using UNSEEN, as mutt unsets \Recent on mail check */
imap_make_sequence (seq, sizeof (seq));
- snprintf (buf, sizeof (buf), "%s STATUS %s (MESSAGES RECENT)\r\n", seq,
+ snprintf (buf, sizeof (buf), "%s STATUS %s (MESSAGES UNSEEN)\r\n", seq,
ibox->path);

msocket_write (conn, buf);
@@ -563,16 +609,16 @@
s = imap_next_word (s);
if (isdigit (*s))
{
-/* g_print ("-I- %s has %d messages\n", ibox->path, atoi (s)); */
+ /* g_print ("-I- %s has %d messages\n", ibox->path,
atoi (s)); */
ibox->num_messages = atoi (s);
}
}
- else if (strncmp ("RECENT", s, 6) == 0)
+ else if (strncmp ("UNSEEN", s, 6) == 0)
{
s = imap_next_word (s);
if (isdigit (*s))
{
-/* g_print ("-I- %s has %d new\n", ibox->path, atoi (s)); */
+ /* g_print ("-I- %s has %d new\n", ibox->path, atoi
(s)); */
ibox->new_messages = atoi (s);
}
}

--- ./gbuffy.c.orig 2009-05-19 12:25:59.517867982 -0400
+++ ./gbuffy.c 2009-05-21 18:02:06.859648027 -0400
@@ -13,6 +13,7 @@
#include <langinfo.h>

#include "gbuffy.h"
+#include "msocket.h"

#define NEGATIVE -1
#define POSITIVE 1
@@ -475,8 +456,18 @@
gbuffy_display_box (box, event->x_root, event->y_root);
break;
case 2:
- if (box->command != NULL)
- gbuffy_system (box->command, GB_DETACH_PROCESS);
+ if (box->command != NULL) {
+ if (box->type == GB_IMAP) {
+ CONNECTION *conn =
+ msocket_select_connection (box->server, box->port, 0);
+ char *pass = NULL;
+ if (conn->auth_box)
+ pass = conn->auth_box->pass;
+ gbuffy_system (box->command, GB_DETACH_PROCESS, pass);
+ }
+ else
+ gbuffy_system (box->command, GB_DETACH_PROCESS, NULL);
+ }
break;
case 3:
#ifdef GNOME_APPLET
@@ -628,6 +597,19 @@
}
#endif

+/*
+ * Saves main window position/dimensions in case it's destroyed and remade.
+ */
+gint main_window_configure_event (GtkWidget *widget, GdkEventConfigure *event,
gpointer user_data)
+{
+ HorizPos.value = event->x;
+ VertPos.value = event->y;
+ HorizPos.sign = VertPos.sign = POSITIVE;
+ Width = event->width;
+ Height = event->height;
+ return FALSE;
+}
+
void gbuffy_display ()
{
GtkWidget *box;
@@ -669,9 +651,10 @@
gtk_widget_destroy (MainWindow);
}
MainWindow = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ gtk_window_set_decorated (GTK_WINDOW (MainWindow), 0);
#endif

- gtk_widget_set_name (MainWindow, "main MainWindow");
+ gtk_widget_set_name (MainWindow, "GbuffyMainWindow");

gtk_signal_connect (GTK_OBJECT (MainWindow), "delete_event",
GTK_SIGNAL_FUNC (gbuffy_exit), NULL);
@@ -721,120 +704,128 @@
if (mbox->new_messages)
gtk_widget_set_state (mbox->button, GTK_STATE_SELECTED);

- //gtk_box_pack_start (GTK_BOX (box), mbox->button, TRUE, TRUE, TRUE);
x = box_count / rows;
y = box_count % rows;
gtk_table_attach (GTK_TABLE (box), mbox->button,
x, x + 1, y, y + 1,
- GTK_FILL | GTK_SHRINK,
- GTK_FILL | GTK_SHRINK,
+ GTK_EXPAND | GTK_FILL, GTK_EXPAND | GTK_FILL,
0, 0);
gtk_widget_show (mbox->button);
- gtk_signal_connect_after (GTK_OBJECT (mbox->button), "button_press_event",
- GTK_SIGNAL_FUNC (gbuffy_button_callback), mbox);
+
+ gtk_signal_connect (GTK_OBJECT (mbox->button), "button_press_event",
+ GTK_SIGNAL_FUNC (gbuffy_button_callback), (gpointer) mbox);
gtk_signal_connect (GTK_OBJECT (mbox->button), "button_release_event",
- GTK_SIGNAL_FUNC (gbuffy_delete_box), mbox);
- gtk_signal_connect_after (GTK_OBJECT (mbox->button), "leave_notify_event",
- GTK_SIGNAL_FUNC (gbuffy_leave_box), mbox);
+ GTK_SIGNAL_FUNC (gbuffy_delete_box), (gpointer) mbox);
+ gtk_signal_connect (GTK_OBJECT (mbox->button), "leave_notify_event",
+ GTK_SIGNAL_FUNC (gbuffy_leave_box), (gpointer) mbox);
mbox = mbox->next;
box_count++;
}

- gtk_widget_show (box);
+ gbuffy_poll_boxes (NULL);

+ gtk_widget_show (box);
gtk_widget_show (MainWindow);
+
gdk_window_get_size(MainWindow->window, &cur_width, &cur_height);
Width = (Width == -1) ? cur_width : Width;
Height = (Height == -1) ? cur_height : Height;
gdk_window_resize(MainWindow->window, Width, Height);
-
- gbuffy_poll_boxes (NULL);
-
- PollId = gtk_timeout_add (PollTime * 1000, gbuffy_poll_boxes, NULL);

- if (!(HorizPos.sign != 0 && VertPos.sign != 0))
- return;
+ // place window according to HorizPos/VertPos
new_horizontal = (HorizPos.sign == POSITIVE) ? HorizPos.value :
ScrW - Width - HorizPos.value;
new_vertical = (VertPos.sign == POSITIVE) ? VertPos.value :
ScrH - Height - VertPos.value;
gdk_window_move(MainWindow->window, new_horizontal, new_vertical);

+ gtk_signal_connect (GTK_OBJECT (MainWindow), "configure_event",
+ GTK_SIGNAL_FUNC (main_window_configure_event), NULL);
+
+ PollId = gtk_timeout_add (PollTime * 1000, gbuffy_poll_boxes, NULL);
}

void parse_geometry(int *argc, char ***argv)
{
- gint i, remove=0;
- gchar *p;
+ gint i, remove=0;
+ gchar *p;

- HorizPos.value=-1;
- HorizPos.sign=0;
- VertPos.value=-1;
- VertPos.sign=0;
-
- ScrH = gdk_screen_height();
- ScrW = gdk_screen_width();
-
- for (i=0; i<*argc; i++)
- {
- if (strcmp("--geometry", (*argv)[i]) == 0 ||
- strncmp("--geometry", (*argv)[i], 10) == 0 ||
- strcmp("-geometry", (*argv)[i]) == 0 ||
- strncmp("-geometry", (*argv)[i], 9) == 0)
- {
- if((i+1) == *argc)
- { /* '-(-)geometry' was the _last_ argument */
- (*argv)[i] = NULL;
- remove = -1;
- break;
- }
- p = (*argv)[i+1];
- while(*p)
- {
- switch(*p)
- {
- case 'x':
- Height = strtol(p + 1, &p, 10);
- break;
- case '-':
- case '+':
- if (HorizPos.value == -1)
- {
- HorizPos.sign = (*p == '-') ? NEGATIVE : POSITIVE;
- HorizPos.value = strtol(p+1, &p, 10);
- }
- else
- {
- VertPos.sign = (*p == '-') ? NEGATIVE : POSITIVE;
- VertPos.value = strtol(p+1, &p, 10);
- }
- break;
- default:
- Width = strtol(p, &p, 10);
- break;
- }
- } /* while(p) */
- (*argv)[i] = NULL;
- (*argv)[i+1] = NULL;
- break; /* We are done here */
- }
- }
- if (remove == -1)
- {
- argc--;
- }
- else
- {
- for(i=1;i<*argc;i++)
- { /* Remove NULL:ed argv entries */
- if ((*argv)[i] == NULL)
- {
- (*argv)[i] = (*argv)[i+2];
- remove++;
+ HorizPos.value=-1;
+ HorizPos.sign=0;
+ VertPos.value=-1;
+ VertPos.sign=0;
+
+ ScrH = gdk_screen_height();
+ ScrW = gdk_screen_width();
+
+ for (i=0; i<*argc; i++)
+ {
+ if (strcmp("--geometry", (*argv)[i]) == 0 ||
+ strncmp("--geometry", (*argv)[i], 10) == 0 ||
+ strcmp("-geometry", (*argv)[i]) == 0 ||
+ strncmp("-geometry", (*argv)[i], 9) == 0)
+ {
+ if((i+1) == *argc)
+ { /* '-(-)geometry' was the _last_ argument */
+ (*argv)[i] = NULL;
+ remove = -1;
+ break;
+ }
+ p = (*argv)[i+1];
+ while(*p)
+ {
+ switch(*p)
+ {
+ case 'x':
+ Height = strtol(p + 1, &p, 10);
+ break;
+ case '-':
+ case '+':
+ if (HorizPos.value == -1)
+ {
+ HorizPos.sign = (*p == '-') ? NEGATIVE : POSITIVE;
+ HorizPos.value = strtol(p+1, &p, 10);
+ }
+ else
+ {
+ VertPos.sign = (*p == '-') ? NEGATIVE : POSITIVE;
+ VertPos.value = strtol(p+1, &p, 10);
+ }
+ break;
+ default:
+ Width = strtol(p, &p, 10);
+ break;
+ }
+ } /* while(p) */
+ (*argv)[i] = NULL;
+ (*argv)[i+1] = NULL;
+ break; /* We are done here */
+ }
+ }
+ if (HorizPos.value == -1) {
+ HorizPos.value = 1;
+ HorizPos.sign = POSITIVE;
+ }
+ if (VertPos.value == -1) {
+ VertPos.value = 1;
+ VertPos.sign = POSITIVE;
+ }
+ if (remove == -1)
+ {
+ argc--;
+ }
+ else
+ {
+ for(i=1;i<*argc;i++)
+ { /* Remove NULL:ed argv entries */
+ if ((*argv)[i] == NULL)
+ {
+ (*argv)[i] = (*argv)[i+2];
+ remove++;
+ }
}
- }
- }
- *argc-=remove;
+ }
+ *argc-=remove;
}

int main (int argc, char *argv[])
@@ -870,6 +861,10 @@
if (!Homedir)
Homedir = safe_strdup (pw->pw_dir);
}
+
+ if (setenv ("IMAP_PASS_FILE", IMAP_PASS_FILE, TRUE) < 0)
+ g_print ("Unable to set environment variable\n");
+
parse_geometry(&argc, &argv);

#ifdef DEBUG
@@ -4,6 +4,7 @@
#include <string.h>
#include "gtklib.h"
#include "gbuffy.h"
+#include <gdk/gdkkeysyms.h>

GtkWidget * create_option_menu (OptionMenuItem items[], gint num_items)
{

--- ./configure.orig 2009-05-20 14:08:06.703364076 -0400
+++ ./configure 2009-05-20 14:08:00.330593686 -0400
@@ -4680,20 +4680,20 @@

DEFS=-DHAVE_CONFIG_H

-ac_libobjs=
-ac_ltlibobjs=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
+#ac_libobjs=
+#ac_ltlibobjs=
+#for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+# # 1. Remove the extension, and $U if already installed.
+# ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+# ac_i=`echo "$ac_i" | sed "$ac_script"`
+# # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+# # will be set to the directory where LIBOBJS objects are built.
+# ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+# ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
+#done
+#LIBOBJS=$ac_libobjs
+#
+#LTLIBOBJS=$ac_ltlibobjs



@@ -5525,8 +5525,12 @@
' $ac_file_inputs` in
*datarootdir*) ac_datarootdir_seen=yes;;
*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the
--datarootdir setting" >&5
-echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir
setting" >&2;}
+ {
+# XXX: disabling since Makefile.in was generated with old automake and we no
+# longer have the Makefile.am
+#echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the
--datarootdir setting" >&5
+#echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir
setting" >&2
+ true; }
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_datarootdir_hack='




Thu May 21, 2009 10:54 pm

ku.kelvin...
Offline Offline
Send Email Send Email

Forward
Message #231 of 231 | Next >
Expand Messages Author Sort by Date

First, apply the gtk2 patch from the debian contributors: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=515274 . The patch below fixes the following bugs *...
ku.kelvin@...
ku.kelvin...
Offline Send Email
May 21, 2009
11:16 pm
< Prev Topic  |  Next Topic >
Advanced

Copyright © 2009 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines - Help