Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Feb 2005 09:31:51 +0100 (CET)
From:      Udo Schweigert <udo.schweigert@siemens.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/77296: maintainer-update of mail/mutt-devel
Message-ID:  <200502090831.j198VpQ5057793@alaska.cert.siemens.com>
Resent-Message-ID: <200502090840.j198ePr8052564@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         77296
>Category:       ports
>Synopsis:       maintainer-update of mail/mutt-devel
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Wed Feb 09 08:40:25 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator:     Udo Schweigert
>Release:        FreeBSD 5.3-STABLE i386
>Organization:
>Environment:

>Description:

Maintainer update of mail/mutt-devel:

	- Fix the MAN1-manual-pages (for pointyhat.freebsd.org)

	- While I'm here: simplify the maildir-mtime patches
	  (from mutt-dev list)

>How-To-Repeat:
>Fix:

diff -ru  /usr/ports/mail/mutt-devel/Makefile ./Makefile
--- /usr/ports/mail/mutt-devel/Makefile	Tue Feb  8 06:06:55 2005
+++ ./Makefile	Wed Feb  9 08:43:58 2005
@@ -367,7 +367,7 @@
 .endif
 
 WRKSRC=		${WRKDIR}/${DISTNAME:S/i$//}
-MAN1=		mutt.1 mutt_dotlock.1
+MAN1=		mutt.1 mutt_dotlock.1 flea.1 muttbug.1
 MAN5=		muttrc.5 mbox.5 mmdf.5
 
 post-patch::
diff -ru  /usr/ports/mail/mutt-devel/files/extra-patch-maildir-mtime ./files/extra-patch-maildir-mtime
--- /usr/ports/mail/mutt-devel/files/extra-patch-maildir-mtime	Sun Feb  6 11:00:40 2005
+++ ./files/extra-patch-maildir-mtime	Wed Feb  9 09:21:54 2005
@@ -1,125 +1,52 @@
 --- PATCHES Dec 2002 17:44:54 -0000	3.6
 +++ PATCHES Feb 2004 13:19:42 -0000
 @@ -0,0 +1 @@
-+patch-1.5.7.ust.maildir-mtime.1
---- browser.c Sep 2003 13:03:25 -0000	3.9
-+++ browser.c Feb 2004 13:19:42 -0000
-@@ -29,2 +29,3 @@
++patch-1.5.7.ust.maildir-mtime.2
+--- browser.c.orig	Wed Jan 26 13:41:04 2005
++++ browser.c	Wed Feb  9 09:20:14 2005
+@@ -27,6 +27,7 @@
+ #ifdef USE_IMAP
+ #include "imap.h"
  #endif
 +#include "mx.h"
  
-@@ -304,4 +305,6 @@ folder_format_str (char *dest, size_t de
- static void add_folder (MUTTMENU *m, struct browser_state *state,
--			const char *name, const struct stat *s, int new)
-+			const char *name, struct stat *s, BUFFY *mbuf)
- {
-+  int new = (mbuf) ? mbuf->new : 0;
+ #include <stdlib.h>
+ #include <dirent.h>
+@@ -346,6 +347,21 @@
+     menu->data = state->entry;
+ }
+ 
++static void check_maildir_times (BUFFY *buf, struct stat *st)
++{
++  char buffer[_POSIX_PATH_MAX + SHORT_STRING];
++  struct stat s;
 +
-   if (state->entrylen == state->entrymax)
-@@ -317,2 +320,5 @@ static void add_folder (MUTTMENU *m, str
- 
-+  if (mbuf && mbuf->magic == M_MAILDIR && mbuf->mtime)
-+    s->st_mtime = mbuf->mtime;
++  if(!buf || buf->magic != M_MAILDIR)
++    return;
++
++  snprintf (buffer, sizeof (buffer), "%s/tmp", buf->path);
++  if (lstat (buffer, &s) != 0)
++    return;
 +
-   if (s != NULL)
-@@ -411,3 +417,3 @@ static int examine_directory (MUTTMENU *
++  st->st_mtime = s.st_mtime;
++}
++
+ static int examine_directory (MUTTMENU *menu, struct browser_state *state,
+ 			      char *d, const char *prefix)
+ {
+@@ -409,6 +425,7 @@
+     tmp = Incoming;
+     while (tmp && mutt_strcmp (buffer, tmp->path))
        tmp = tmp->next;
--    add_folder (menu, state, de->d_name, &s, (tmp) ? tmp->new : 0);
-+    add_folder (menu, state, de->d_name, &s, tmp);
++    check_maildir_times (tmp, &s);
+     add_folder (menu, state, de->d_name, &s, (tmp) ? tmp->new : 0);
    }
-@@ -435,3 +441,3 @@ static int examine_mailboxes (MUTTMENU *
-     {
--      add_folder (menu, state, tmp->path, NULL, tmp->new);
-+      add_folder (menu, state, tmp->path, NULL, tmp);
-       continue;
-@@ -442,3 +448,3 @@ static int examine_mailboxes (MUTTMENU *
-     {
--      add_folder (menu, state, tmp->path, NULL, tmp->new);
-+      add_folder (menu, state, tmp->path, NULL, tmp);
-       continue;
-@@ -456,3 +462,3 @@ static int examine_mailboxes (MUTTMENU *
+   closedir (dp);  
+@@ -454,6 +471,7 @@
+     strfcpy (buffer, NONULL(tmp->path), sizeof (buffer));
+     mutt_pretty_mailbox (buffer);
  
--    add_folder (menu, state, buffer, &s, tmp->new);
-+    add_folder (menu, state, buffer, &s, tmp);
++    check_maildir_times (tmp, &s);
+     add_folder (menu, state, buffer, &s, tmp->new);
    }
---- buffy.c.orig	Sat Oct 30 23:40:07 2004
-+++ buffy.c	Sat Feb  5 13:57:07 2005
-@@ -227,6 +227,7 @@
-     (*tmp)->new = 0;
-     (*tmp)->notified = 1;
-     (*tmp)->newly_created = 0;
-+    (*tmp)->mtime = 0;
- 
- #ifdef BUFFY_SIZE
-     /* for buffy_size, it is important that if the folder is new (tested by
-@@ -258,6 +259,7 @@
- {
-   BUFFY *tmp;
-   struct stat sb;
-+  struct stat smd;
-   struct dirent *de;
-   DIR *dirp;
-   char path[_POSIX_PATH_MAX];
-@@ -297,6 +299,7 @@
-   for (tmp = Incoming; tmp; tmp = tmp->next)
-   {
-     tmp->new = 0;
-+    tmp->mtime = 0;
- 
- #ifdef USE_IMAP
-     if (mx_is_imap (tmp->path))
-@@ -370,21 +373,31 @@
-       case M_MAILDIR:
- 
- 	snprintf (path, sizeof (path), "%s/new", tmp->path);
-+        stat (path, &smd);
-+	tmp->mtime = smd.st_mtime;
- 	if ((dirp = opendir (path)) == NULL)
- 	{
- 	  tmp->magic = 0;
- 	  break;
- 	}
-+
- 	while ((de = readdir (dirp)) != NULL)
- 	{
- 	  char *p;
- 	  if (*de->d_name != '.' && 
- 	      (!(p = strstr (de->d_name, ":2,")) || !strchr (p + 3, 'T')))
- 	  {
--	    /* one new and undeleted message is enough */
--	    BuffyCount++;
--	    tmp->new = 1;
--	    break;
-+	    if (!tmp->new)
-+	    {
-+	      /* one new and undeleted message is enough */
-+	      BuffyCount++;
-+	      tmp->new = 1;
-+	    }
-+	    snprintf (path, sizeof (path), "%s/new/%s", tmp->path, de->d_name);
-+	    if (!stat (path, &smd) && smd.st_mtime > tmp->mtime)
-+	    {
-+	      tmp->mtime = smd.st_mtime;
-+	    }
- 	  }
- 	}
- 	closedir (dirp);
-@@ -414,6 +427,12 @@
- #ifdef BUFFY_SIZE
-     else if (Context && Context->path)
-       tmp->size = (long) sb.st_size;	/* update the size */
-+#else
-+    else if(tmp->magic == M_MAILDIR) {
-+	snprintf (path, sizeof (path), "%s/new", tmp->path);
-+        stat (path, &smd);
-+	tmp->mtime = smd.st_mtime;
-+    }
- #endif
- 
-     if (!tmp->new)
---- buffy.h Dec 2002 11:19:39 -0000	3.2
-+++ buffy.h Feb 2004 13:19:42 -0000
-@@ -29,2 +29,3 @@ typedef struct buffy_t
-   struct buffy_t *next;
-+  time_t mtime;			/* for maildirs...time of newest entry */
-   short new;			/* mailbox has new mail */
+   while ((tmp = tmp->next));
diff -ru  /usr/ports/mail/mutt-devel/files/extra-patch-maildir-mtime-nntp ./files/extra-patch-maildir-mtime-nntp
--- /usr/ports/mail/mutt-devel/files/extra-patch-maildir-mtime-nntp	Sun Feb  6 11:00:40 2005
+++ ./files/extra-patch-maildir-mtime-nntp	Wed Feb  9 09:22:48 2005
@@ -1,189 +1,44 @@
 --- PATCHES Dec 2002 17:44:54 -0000	3.6
 +++ PATCHES Feb 2004 13:19:42 -0000
 @@ -0,0 +1 @@
-+patch-1.5.7.ust.maildir-mtime.1
---- browser.c.orig	Sat Feb  5 23:45:00 2005
-+++ browser.c	Sat Feb  5 23:47:50 2005
-@@ -30,6 +30,7 @@
- #ifdef USE_NNTP
++patch-1.5.7.ust.maildir-mtime.2
+--- browser.c.orig	Tue Feb  8 10:29:57 2005
++++ browser.c	Tue Feb  8 10:29:58 2005
+@@ -31,4 +31,5 @@
  #include "nntp.h"
  #endif
 +#include "mx.h"
  
  #include <stdlib.h>
- #include <dirent.h>
-@@ -423,9 +424,11 @@
- #endif /* USE_NNTP */
+@@ -473,4 +474,19 @@
+ }
  
- static void add_folder (MUTTMENU *m, struct browser_state *state,
--			const char *name, const struct stat *s,
--			void *data, int new)
-+			const char *name, struct stat *s,
-+			void *data, BUFFY *mbuf)
- {
-+  int new = (mbuf) ? mbuf->new : 0;
++static void check_maildir_times (BUFFY *buf, struct stat *st)
++{
++  char buffer[_POSIX_PATH_MAX + SHORT_STRING];
++  struct stat s;
 +
-   if (state->entrylen == state->entrymax)
-   {
-     /* need to allocate more space */
-@@ -437,6 +440,9 @@
-       m->data = state->entry;
-   }
- 
-+  if (mbuf && mbuf->magic == M_MAILDIR && mbuf->mtime)
-+    s->st_mtime = mbuf->mtime;
++  if(!buf || buf->magic != M_MAILDIR)
++    return;
 +
-   if (s != NULL)
-   {
-     (state->entry)[state->entrylen].mode = s->st_mode;
-@@ -495,7 +501,7 @@
- 	continue;
-       if (!((regexec (Mask.rx, data->group, 0, NULL, 0) == 0) ^ Mask.not))
- 	continue;
--      add_folder (menu, state, data->group, NULL, data, data->new);
-+      add_folder (menu, state, data->group, NULL, data, tmp);
-     }
-   }
-   else
-@@ -561,7 +567,7 @@
-     tmp = Incoming;
++  snprintf (buffer, sizeof (buffer), "%s/tmp", buf->path);
++  if (lstat (buffer, &s) != 0)
++    return;
++
++  st->st_mtime = s.st_mtime;
++}
++
+ /* get list of all files/newsgroups with mask */
+ static int examine_directory (MUTTMENU *menu, struct browser_state *state,
+@@ -562,4 +578,5 @@
      while (tmp && mutt_strcmp (buffer, tmp->path))
        tmp = tmp->next;
--    add_folder (menu, state, de->d_name, &s, NULL, (tmp) ? tmp->new : 0);
-+    add_folder (menu, state, de->d_name, &s, NULL, tmp);
++    check_maildir_times (tmp, &s);
+     add_folder (menu, state, de->d_name, &s, NULL, (tmp) ? tmp->new : 0);
    }
-   closedir (dp);
-   }
-@@ -589,7 +595,7 @@
-     {
-       if ((data = (NNTP_DATA *) tmp->data) != NULL && (data->new ||
- 	  (data->subscribed && (!option (OPTSHOWONLYUNREAD) || data->unread))))
--        add_folder (menu, state, data->group, NULL, data, data->new);
-+        add_folder (menu, state, data->group, NULL, data, tmp);
-     }
-   }
-   else
-@@ -608,21 +614,21 @@
- #ifdef USE_IMAP
-     if (mx_is_imap (tmp->path))
-     {
--      add_folder (menu, state, tmp->path, NULL, NULL, tmp->new);
-+      add_folder (menu, state, tmp->path, NULL, NULL, tmp);
-       continue;
-     }
- #endif
- #ifdef USE_POP
-     if (mx_is_pop (tmp->path))
-     {
--      add_folder (menu, state, tmp->path, NULL, NULL, tmp->new);
-+      add_folder (menu, state, tmp->path, NULL, NULL, tmp);
-       continue;
-     }
- #endif
- #ifdef USE_NNTP
-     if (mx_is_nntp (tmp->path))
-     {
--      add_folder (menu, state, tmp->path, NULL, NULL, tmp->new);
-+      add_folder (menu, state, tmp->path, NULL, NULL, tmp);
-       continue;
-     }
- #endif
-@@ -636,7 +642,7 @@
-     strfcpy (buffer, NONULL(tmp->path), sizeof (buffer));
+@@ -637,4 +654,5 @@
      mutt_pretty_mailbox (buffer);
  
--    add_folder (menu, state, buffer, &s, NULL, tmp->new);
-+    add_folder (menu, state, buffer, &s, NULL, tmp);
-   }
-   while ((tmp = tmp->next));
++    check_maildir_times (tmp, &s);
+     add_folder (menu, state, buffer, &s, NULL, tmp->new);
    }
-@@ -1555,7 +1561,7 @@
- 		if (regexec (rx, nd->group, 0, NULL, 0) == 0)
- 		{
- 		  mutt_newsgroup_subscribe (news, nd->group);
--		  add_folder (menu, &state, nd->group, NULL, nd, nd->new);
-+		  add_folder (menu, &state, nd->group, NULL, nd, nd);
- 		}
- 	      }
- 	    }
---- buffy.c.orig	Sat Oct 30 23:40:07 2004
-+++ buffy.c	Sat Feb  5 13:57:07 2005
-@@ -227,6 +227,7 @@
-     (*tmp)->new = 0;
-     (*tmp)->notified = 1;
-     (*tmp)->newly_created = 0;
-+    (*tmp)->mtime = 0;
- 
- #ifdef BUFFY_SIZE
-     /* for buffy_size, it is important that if the folder is new (tested by
-@@ -258,6 +259,7 @@
- {
-   BUFFY *tmp;
-   struct stat sb;
-+  struct stat smd;
-   struct dirent *de;
-   DIR *dirp;
-   char path[_POSIX_PATH_MAX];
-@@ -297,6 +299,7 @@
-   for (tmp = Incoming; tmp; tmp = tmp->next)
-   {
-     tmp->new = 0;
-+    tmp->mtime = 0;
- 
- #ifdef USE_IMAP
-     if (mx_is_imap (tmp->path))
-@@ -370,21 +373,31 @@
-       case M_MAILDIR:
- 
- 	snprintf (path, sizeof (path), "%s/new", tmp->path);
-+        stat (path, &smd);
-+	tmp->mtime = smd.st_mtime;
- 	if ((dirp = opendir (path)) == NULL)
- 	{
- 	  tmp->magic = 0;
- 	  break;
- 	}
-+
- 	while ((de = readdir (dirp)) != NULL)
- 	{
- 	  char *p;
- 	  if (*de->d_name != '.' && 
- 	      (!(p = strstr (de->d_name, ":2,")) || !strchr (p + 3, 'T')))
- 	  {
--	    /* one new and undeleted message is enough */
--	    BuffyCount++;
--	    tmp->new = 1;
--	    break;
-+	    if (!tmp->new)
-+	    {
-+	      /* one new and undeleted message is enough */
-+	      BuffyCount++;
-+	      tmp->new = 1;
-+	    }
-+	    snprintf (path, sizeof (path), "%s/new/%s", tmp->path, de->d_name);
-+	    if (!stat (path, &smd) && smd.st_mtime > tmp->mtime)
-+	    {
-+	      tmp->mtime = smd.st_mtime;
-+	    }
- 	  }
- 	}
- 	closedir (dirp);
-@@ -414,6 +427,12 @@
- #ifdef BUFFY_SIZE
-     else if (Context && Context->path)
-       tmp->size = (long) sb.st_size;	/* update the size */
-+#else
-+    else if(tmp->magic == M_MAILDIR) {
-+	snprintf (path, sizeof (path), "%s/new", tmp->path);
-+        stat (path, &smd);
-+	tmp->mtime = smd.st_mtime;
-+    }
- #endif
- 
-     if (!tmp->new)
---- buffy.h Dec 2002 11:19:39 -0000	3.2
-+++ buffy.h Feb 2004 13:19:42 -0000
-@@ -29,2 +29,3 @@ typedef struct buffy_t
-   struct buffy_t *next;
-+  time_t mtime;			/* for maildirs...time of newest entry */
-   short new;			/* mailbox has new mail */
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200502090831.j198VpQ5057793>