From 33d75f4db7730b58a2d166169548d2b2d8229d1c Mon Sep 17 00:00:00 2001 From: Eygene Ryabinkin Date: Fri, 4 Oct 2013 17:40:00 +0400 Subject: [PATCH] OfflineIMAP 6.5.5 Changes since 6.5.4: * Avoid lockups for IMAP synchronizations running with the "-1" command-line switch (X-Ryl669 ) * Dump stacktrace for all threads on SIGQUIT: ease debugging of threading and other issues * SIGHUP is now handled as the termination notification rather than the signal to reread the configuration (Dmitrijs Ledkovs) * Honor the timezone of emails (Tobias Thierer) * Allow mbnames output to be sorted by a custom sort key by specifying a 'sort_keyfunc' function in the [mbnames] section of the config. * Support SASL PLAIN authentication method. (Andreas Mack) * Support transport-only tunnels that requre full IMAP authentication. (Steve Purcell) * Make the list of authentication mechanisms to be configurable. (Andreas Mack) * Allow to set message access and modification timestamps based on the "Date" header of the message itself. (Cyril Russo) * "peritem" format string for [mbnames] got new expansion key "localfolders" that corresponds to the same parameter of the local repository for the account being processed. * [regression] pass folder names to the foldersort function, revert the documented behaviour * Fix handling of zero-sized IMAP data items (GitHub#15). * Updated bundled imaplib2 to 2.35: - fix for Gmail sending a BYE response after reading >100 messages in a session; - includes fix for GitHub#15: patch was accepted upstream. * Updated bundled imaplib2 to 2.36: it includes support for SSL version override that was integrated into our code before, no other changes. * Fixed parsing of quoted strings in IMAP responses: strings like "\\" were treated as having \" as the escaped quote, rather than treating it as the quoted escaped backslash (GitHub#53). * Execute pre/post-sync hooks during synchronizations toggled by IMAP IDLE message processing. (maxgerer@gmail.com) * Catch unsuccessful local mail uploads when IMAP server responds with "NO" status; that resulted in a loss of such local messages. (Adam Spiers) * Don't create folders if readonly is enabled. * Learn to deal with readonly folders to properly detect this condition and act accordingly. One example is Gmail's "Chats" folder that is read-only, but contains logs of the quick chats. (E. Ryabinkin) * Fix str.format() calls for Python 2.6 (D. Logie) * Remove APPENDUID hack, previously introduced to fix Gmail, no longer necessary, it might have been breaking things. (J. Wiegley) * Improve regex that could lead to 'NoneType' object has no attribute 'group' (D. Franke) * Improved error throwing on repository misconfiguration Port changes: * adopted to USE_GITHUB; * fixed spacing and capitalization in pkg-descr. QA page: http://codelabs.ru/fbsd/ports/qa/mail/offlineimap/6.5.5 Signed-off-by: Eygene Ryabinkin --- mail/offlineimap/Makefile | 18 ++++---- mail/offlineimap/distinfo | 6 +-- mail/offlineimap/files/patch-use-interpolation | 62 -------------------------- mail/offlineimap/pkg-descr | 4 +- mail/offlineimap/pkg-plist | 16 +++++++ 5 files changed, 28 insertions(+), 78 deletions(-) delete mode 100644 mail/offlineimap/files/patch-use-interpolation diff --git a/mail/offlineimap/Makefile b/mail/offlineimap/Makefile index f201c84..e03039c 100644 --- a/mail/offlineimap/Makefile +++ b/mail/offlineimap/Makefile @@ -2,13 +2,11 @@ # $FreeBSD$ PORTNAME= offlineimap -DISTVERSION= 6.5.4 -PORTREVISION= 1 +DISTVERSION= 6.5.5 CATEGORIES= mail python -MASTER_SITES= http://cloud.github.com/downloads/spaetz/offlineimap/ \ - http://dist.codelabs.ru/fbsd/offlineimap/ +MASTER_SITES= http://dist.codelabs.ru/fbsd/offlineimap/ + PATCH_SITES= http://codelabs.ru/patches/offlineimap/ -DISTNAME= ${PORTNAME}-v${DISTVERSION} MAINTAINER= rea@FreeBSD.org COMMENT= Powerful IMAP/Maildir synchronization and reader support @@ -21,14 +19,14 @@ LICENSE_FILE_GPLv2=${WRKSRC}/COPYING OPTIONS_DEFINE= HTMLDOCS EXAMPLES HTMLDOCS_DESC= Generate HTML documentation -WRKSRC= ${WRKDIR}/${GITHUB_USER}-${PORTNAME}-${GITHUB_HASH} +WRKSRC?= ${WRKDIR}/${DISTNAME} SUB_FILES= pkg-message PATCH_STRIP= -p1 -PATCH_DIST_STRIP= -p1 -PATCHFILES= 2012-properly-detect-readonly-folders.diff -GITHUB_USER= spaetz -GITHUB_HASH= c9e9690 +USE_GITHUB= yes +GH_ACCOUNT= OfflineIMAP +GH_TAGNAME= v${DISTVERSION} +GH_COMMIT= 8bc2f35 USE_PYTHON= 2.6+ USE_PYDISTUTILS= yes diff --git a/mail/offlineimap/distinfo b/mail/offlineimap/distinfo index 6eedc37..ff8844a 100644 --- a/mail/offlineimap/distinfo +++ b/mail/offlineimap/distinfo @@ -1,4 +1,2 @@ -SHA256 (offlineimap-v6.5.4.tar.gz) = 831a97b5154f398b65e1c06427668b78cf833d99fac36cc8278ad2cf0c393a0c -SIZE (offlineimap-v6.5.4.tar.gz) = 167023 -SHA256 (2012-properly-detect-readonly-folders.diff) = 461dc50ba198d7460a196a9f85c69b0221678a2bb2244bc43c8ca8b4672b44bf -SIZE (2012-properly-detect-readonly-folders.diff) = 1131 +SHA256 (offlineimap-6.5.5.tar.gz) = 578cd6d8706a15ee65faa43bb71dfacf1ed083a97d66a375b77dc0fb14266802 +SIZE (offlineimap-6.5.5.tar.gz) = 175348 diff --git a/mail/offlineimap/files/patch-use-interpolation b/mail/offlineimap/files/patch-use-interpolation deleted file mode 100644 index a6004f2..0000000 --- a/mail/offlineimap/files/patch-use-interpolation +++ /dev/null @@ -1,62 +0,0 @@ -From 8cf576b9edd7f7fe245d4590206ff740d3ed31e3 Mon Sep 17 00:00:00 2001 -From: Eygene Ryabinkin -Date: Wed, 6 Jun 2012 07:45:01 +0400 -Subject: [PATCH] Use '%' instead of String.format() - -Python 2.6 doesn't like empty {} specifications for -String.format(), but the ones that were changed don't -really need the full machinery of String.format() here. - -Signed-off-by: Eygene Ryabinkin ---- - offlineimap/folder/Base.py | 2 +- - offlineimap/ui/UIBase.py | 6 +++--- - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/offlineimap/folder/Base.py b/offlineimap/folder/Base.py -index 6f6f364..4c3f1ca 100644 ---- a/offlineimap/folder/Base.py -+++ b/offlineimap/folder/Base.py -@@ -386,7 +386,7 @@ class BaseFolder(object): - self.getmessageuidlist()) - num_to_copy = len(copylist) - if num_to_copy and self.repository.account.dryrun: -- self.ui.info("[DRYRUN] Copy {} messages from {}[{}] to {}".format( -+ self.ui.info("[DRYRUN] Copy %d messages from %s[%s] to %s" % ( - num_to_copy, self, self.repository, dstfolder.repository)) - return - for num, uid in enumerate(copylist): -diff --git a/offlineimap/ui/UIBase.py b/offlineimap/ui/UIBase.py -index eea929d..6608d6d 100644 ---- a/offlineimap/ui/UIBase.py -+++ b/offlineimap/ui/UIBase.py -@@ -301,7 +301,7 @@ class UIBase(object): - def makefolder(self, repo, foldername): - """Called when a folder is created""" - prefix = "[DRYRUN] " if self.dryrun else "" -- self.info("{}Creating folder {}[{}]".format( -+ self.info("%sCreating folder %s[%s]" % ( - prefix, foldername, repo)) - - def syncingfolder(self, srcrepos, srcfolder, destrepos, destfolder): -@@ -346,7 +346,7 @@ class UIBase(object): - def deletingmessages(self, uidlist, destlist): - ds = self.folderlist(destlist) - prefix = "[DRYRUN] " if self.dryrun else "" -- self.info("{}Deleting {} messages ({}) in {}".format( -+ self.info("%sDeleting %s messages (%s) in %s" % ( - prefix, len(uidlist), - offlineimap.imaputil.uid_sequence(uidlist), ds)) - -@@ -474,7 +474,7 @@ class UIBase(object): - - def callhook(self, msg): - if self.dryrun: -- self.info("[DRYRUN] {}".format(msg)) -+ self.info("[DRYRUN] %s" % (msg)) - else: - self.info(msg) - --- -1.7.10.3 - diff --git a/mail/offlineimap/pkg-descr b/mail/offlineimap/pkg-descr index 71d5476..851050b 100644 --- a/mail/offlineimap/pkg-descr +++ b/mail/offlineimap/pkg-descr @@ -1,4 +1,4 @@ -OfflineImap synchronizes emails between two repositories, +OfflineIMAP synchronizes emails between two repositories, so that you can read the same mailbox from multiple computers. It supports IMAP as REMOTE repository and Maildir/IMAP as LOCAL repository. @@ -7,4 +7,4 @@ OfflineIMAP is also useful if you want to use a mail reader that does not have IMAP support, has poor IMAP support, or does not provide disconnected operation. -WWW: http://offlineimap.org/ +WWW: http://offlineimap.org/ diff --git a/mail/offlineimap/pkg-plist b/mail/offlineimap/pkg-plist index 4a3d98f..e9eb07a 100644 --- a/mail/offlineimap/pkg-plist +++ b/mail/offlineimap/pkg-plist @@ -66,6 +66,16 @@ bin/offlineimap %%PYTHON_SITELIBDIR%%/offlineimap/ui/debuglock.pyc %%PYTHON_SITELIBDIR%%/offlineimap/ui/debuglock.pyo @dirrm %%PYTHON_SITELIBDIR%%/offlineimap/ui +%%PYTHON_SITELIBDIR%%/offlineimap/utils/__init__.py +%%PYTHON_SITELIBDIR%%/offlineimap/utils/__init__.pyc +%%PYTHON_SITELIBDIR%%/offlineimap/utils/__init__.pyo +%%PYTHON_SITELIBDIR%%/offlineimap/utils/const.py +%%PYTHON_SITELIBDIR%%/offlineimap/utils/const.pyc +%%PYTHON_SITELIBDIR%%/offlineimap/utils/const.pyo +%%PYTHON_SITELIBDIR%%/offlineimap/utils/stacktrace.py +%%PYTHON_SITELIBDIR%%/offlineimap/utils/stacktrace.pyc +%%PYTHON_SITELIBDIR%%/offlineimap/utils/stacktrace.pyo +@dirrm %%PYTHON_SITELIBDIR%%/offlineimap/utils %%PYTHON_SITELIBDIR%%/offlineimap/CustomConfig.py %%PYTHON_SITELIBDIR%%/offlineimap/CustomConfig.pyc %%PYTHON_SITELIBDIR%%/offlineimap/CustomConfig.pyo @@ -75,9 +85,15 @@ bin/offlineimap %%PYTHON_SITELIBDIR%%/offlineimap/accounts.py %%PYTHON_SITELIBDIR%%/offlineimap/accounts.pyc %%PYTHON_SITELIBDIR%%/offlineimap/accounts.pyo +%%PYTHON_SITELIBDIR%%/offlineimap/emailutil.py +%%PYTHON_SITELIBDIR%%/offlineimap/emailutil.pyc +%%PYTHON_SITELIBDIR%%/offlineimap/emailutil.pyo %%PYTHON_SITELIBDIR%%/offlineimap/error.py %%PYTHON_SITELIBDIR%%/offlineimap/error.pyc %%PYTHON_SITELIBDIR%%/offlineimap/error.pyo +%%PYTHON_SITELIBDIR%%/offlineimap/globals.py +%%PYTHON_SITELIBDIR%%/offlineimap/globals.pyc +%%PYTHON_SITELIBDIR%%/offlineimap/globals.pyo %%PYTHON_SITELIBDIR%%/offlineimap/imaplib2.py %%PYTHON_SITELIBDIR%%/offlineimap/imaplib2.pyc %%PYTHON_SITELIBDIR%%/offlineimap/imaplib2.pyo -- 1.8.1