ports/88444: [PATCH] mail/fetchmail: fix IMAP timeout and fetchmailconf wrapper
Matthias Andree
matthias.andree at gmx.de
Thu Nov 3 11:30:19 UTC 2005
>Number: 88444
>Category: ports
>Synopsis: [PATCH] mail/fetchmail: fix IMAP timeout and fetchmailconf wrapper
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Thu Nov 03 11:30:14 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Matthias Andree
>Release: FreeBSD 4.11-RELEASE-p13 i386
>Organization:
>Environment:
System: FreeBSD libertas.emma.line.org 4.11-RELEASE-p13 FreeBSD 4.11-RELEASE-p13 #2: Mon Oct 24 12:35:08 CEST 2005
>Description:
- fix IMAP client timeout bug with upstream servers that do not send updated
EXISTS counts after acknowledging EXPUNGE see <http://bugs.debian.org/314509>
- add fetchmailconf wrapper check for _tkinter.so (if python was installed but
not Tkinter, the wrapper would still try to run fetchmailconf.bin, which
gives a less clear error message to the user than was intended)
- let fetchmailconf wrapper pass command line arguments to fetchmailconf.bin
(it supports -d and -f FILE)
- replace PREFIX with LOCALBASE where appropriate
- bump PORTREVISION
Added file(s):
- files/patch-imap-timeout
Port maintainer (barner at FreeBSD.org) is cc'd.
Generated with FreeBSD Port Tools 0.63
>How-To-Repeat:
>Fix:
--- fetchmail-6.2.5.2_2.patch begins here ---
diff -ruN --exclude=CVS /usr/ports/mail/fetchmail/Makefile /usr/home/emma/ports/mail/fetchmail/Makefile
--- /usr/ports/mail/fetchmail/Makefile Tue Nov 1 22:16:45 2005
+++ /usr/home/emma/ports/mail/fetchmail/Makefile Thu Nov 3 11:52:13 2005
@@ -11,7 +11,7 @@
PORTNAME= fetchmail
PORTVERSION= 6.2.5.2
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= mail ipv6
MASTER_SITES= http://download.berlios.de/%SUBDIR%/:fetchmail_site,fetchmailconf_site \
http://www.catb.org/~esr/%SUBDIR%/:fetchmail_site \
@@ -112,10 +112,10 @@
# Use fetchmailconf-1.43.2 to avoid a password exposure
# caused by insecure file creation
@${GZCAT} ${DISTDIR}/fetchmailconf-${FETCHMAILCONF_VER}.gz | \
- ${SED} -e "s,^#!/.*/python,#!${PREFIX}/bin/python,g" \
+ ${SED} -e "s,^#!/.*/python,#!${LOCALBASE}/bin/python,g" \
> ${WRKDIR}/fetchmailconf.temp
@${MV} -f ${WRKDIR}/fetchmailconf.temp ${WRKSRC}/fetchmailconf
- @${SED} -e "s, at PREFIX@,${PREFIX},g" \
+ @${SED} -e "s, at LOCALBASE@,${LOCALBASE},g" \
${FILESDIR}/fetchmailconf > ${WRKDIR}/fetchmailconf
@${REINPLACE_CMD} -e "s, at l@,,;s, at GT_NO@,," \
${WRKSRC}/intl/Makefile.in
diff -ruN --exclude=CVS /usr/ports/mail/fetchmail/files/fetchmailconf /usr/home/emma/ports/mail/fetchmail/files/fetchmailconf
--- /usr/ports/mail/fetchmail/files/fetchmailconf Wed Jul 27 11:43:22 2005
+++ /usr/home/emma/ports/mail/fetchmail/files/fetchmailconf Thu Nov 3 11:59:27 2005
@@ -1,19 +1,22 @@
#!/bin/sh
#
-# Wrapper for the real fetchmailconf. Checks whether Python is installed,
-# and runs the real fetchmailconf or alerts the user, as appropriate.
+# Wrapper for the real fetchmailconf. Checks whether Python and Tkinter are
+# installed, and runs the real fetchmailconf or alerts the user, as appropriate.
#
# $FreeBSD: ports/mail/fetchmail/files/fetchmailconf,v 1.5 2005/07/21 10:25:32 barner Exp $
-PREFIX=@PREFIX@
+LOCALBASE=@LOCALBASE@
-if [ -e $PREFIX/bin/python ]; then
- exec $PREFIX/libexec/fetchmailconf.bin
-else
- cat <<EOF
-The fetchmailconf program requires Python with Tkinter, which does not
-appear to be installed on this system. Python/Tkinter can be found in
-the FreeBSD Ports Collection under x11-toolkits/py-tkinter.
-EOF
- exit 1
+if [ -x $LOCALBASE/bin/python ] ; then
+ PYTHON_VERSION=python$(${LOCALBASE}/bin/python -c 'import sys; print sys.version[:3]' 2>/dev/null)
+ if [ -e ${LOCALBASE}/lib/${PYTHON_VERSION}/site-packages/_tkinter.so ]; then
+ exec ${LOCALBASE}/libexec/fetchmailconf.bin "$@"
+ fi
fi
+cat <<EOF
+The fetchmailconf program requires Python with Tkinter, which does
+not appear to be installed on this system. Python can be found in
+the FreeBSD Ports Collection in lang/python, and Tkinter for Python
+can be found in x11-toolkits/py-tkinter.
+EOF
+exit 1
diff -ruN --exclude=CVS /usr/ports/mail/fetchmail/files/patch-imap-timeout /usr/home/emma/ports/mail/fetchmail/files/patch-imap-timeout
--- /usr/ports/mail/fetchmail/files/patch-imap-timeout Thu Jan 1 01:00:00 1970
+++ /usr/home/emma/ports/mail/fetchmail/files/patch-imap-timeout Thu Nov 3 12:08:51 2005
@@ -0,0 +1,18 @@
+--- ./imap.c.orig 2003-10-15 21:17:41.000000000 +0200
++++ ./imap.c 2005-10-29 15:19:58.000000000 +0200
+@@ -105,6 +105,15 @@
+ {
+ recentcount = atoi(buf+2);
+ }
++ /* servers are not required to update the EXISTS counts,
++ * so count down by ourselves */
++ else if (strstr(buf, " EXPUNGE"))
++ {
++ if (atoi(buf+2) > 0) {
++ if (count > 0)
++ count --;
++ }
++ }
+ else if (strstr(buf, "PREAUTH"))
+ preauth = TRUE;
+ /*
--- fetchmail-6.2.5.2_2.patch ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list