diff options
-rw-r--r-- | extra/dovecot/APKBUILD | 34 | ||||
-rw-r--r-- | extra/dovecot/dovecot-1.1.11-4736327a8740.patch | 20 | ||||
-rw-r--r-- | extra/dovecot/dovecot-1.1.11-bdc5391e52df.patch | 49 | ||||
-rw-r--r-- | extra/dovecot/dovecot-1.1.11-c08c602ca0dc.patch | 26 | ||||
-rw-r--r-- | extra/dovecot/dovecot.install | 11 | ||||
-rw-r--r-- | extra/dovecot/dovecot.pre-install | 4 |
6 files changed, 123 insertions, 21 deletions
diff --git a/extra/dovecot/APKBUILD b/extra/dovecot/APKBUILD index c4ec937f2..17d9faec3 100644 --- a/extra/dovecot/APKBUILD +++ b/extra/dovecot/APKBUILD @@ -1,34 +1,48 @@ # Contributor: Michael Mason <ms13sp@gmail.com> -# Maintainer: +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=dovecot pkgver=1.1.11 -pkgrel=0 +pkgrel=1 pkgdesc="IMAP and POP3 server" url="http://www.dovecot.org/" -license="GPL" -depends="uclibc libcap zlib" -makedepends="libcap-dev zlib-dev" -install="dovecot.install" +license="LGPL-2.1" +depends="uclibc libcap zlib openssl" +makedepends="libcap-dev zlib-dev openssl-dev" +install="dovecot.pre-install" subpackages="$pkgname-doc $pkgname-dev" source="http://www.dovecot.org/releases/1.1/$pkgname-$pkgver.tar.gz dovecot.initd + dovecot-1.1.11-4736327a8740.patch + dovecot-1.1.11-bdc5391e52df.patch + dovecot-1.1.11-c08c602ca0dc.patch $install " build() { cd "$srcdir/$pkgname-$pkgver" + for i in ../*.patch; do + msg "Applying $i.." + patch -p1 < $i || return 1 + done + ./configure --prefix=/usr \ --sysconfdir=/etc \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ - --with-pop3d + --enable-ipv6 \ + --with-pop3d \ + --with-ssl=openssl || return 1 + make || return 1 make DESTDIR="$pkgdir" install - # install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname + install -m755 -D "$srcdir"/$pkgname.initd "$pkgdir"/etc/init.d/$pkgname } md5sums="c973eb41aca79fb16630a16f0d84f765 dovecot-1.1.11.tar.gz -ca3f9a2d8a75609b1edfa55f2709f598 dovecot.initd -766fcfe110ce0be9c416e669b08349b6 dovecot.install" +573e14589a6f8424d55753a2794ab99a dovecot.initd +7e1cd399255fbacff197c0ba79b0c2c2 dovecot-1.1.11-4736327a8740.patch +f95cc06111ba3b83399a28cb1459fca0 dovecot-1.1.11-bdc5391e52df.patch +d15abfa0c41426b99423d140d35b2fbd dovecot-1.1.11-c08c602ca0dc.patch +f0f8893411f5e482e14f40a81a177b19 dovecot.pre-install" diff --git a/extra/dovecot/dovecot-1.1.11-4736327a8740.patch b/extra/dovecot/dovecot-1.1.11-4736327a8740.patch new file mode 100644 index 000000000..7f0418e68 --- /dev/null +++ b/extra/dovecot/dovecot-1.1.11-4736327a8740.patch @@ -0,0 +1,20 @@ + +# HG changeset patch +# User Timo Sirainen <tss@iki.fi> +# Date 1233868321 18000 +# Node ID 4736327a8740579e7c89a8b386de9af0266b07fa +# Parent 7d175e4ea57d21162abbf43a61c5305cfe1995b3 +Maildir: Fix to earlier >26 keywords handling change. + +--- a/src/lib-storage/index/maildir/maildir-sync-index.c Wed Feb 04 17:44:01 2009 -0500 ++++ b/src/lib-storage/index/maildir/maildir-sync-index.c Thu Feb 05 16:12:01 2009 -0500 +@@ -336,7 +336,7 @@ maildir_sync_mail_keywords(struct maildi + ones. we can get these lists easily by removing common elements + from old and new keywords. */ + new_indexes = array_get_modifiable(&ctx->keywords, &new_count); +- for (i = 0; i < old_count && j < new_count; ) { ++ for (i = j = 0; i < old_count && j < new_count; ) { + diff = (int)old_indexes[i] - (int)new_indexes[j]; + if (diff == 0) { + array_delete(&ctx->keywords, j, 1); + diff --git a/extra/dovecot/dovecot-1.1.11-bdc5391e52df.patch b/extra/dovecot/dovecot-1.1.11-bdc5391e52df.patch new file mode 100644 index 000000000..ac1dc2598 --- /dev/null +++ b/extra/dovecot/dovecot-1.1.11-bdc5391e52df.patch @@ -0,0 +1,49 @@ + +# HG changeset patch +# User Timo Sirainen <tss@iki.fi> +# Date 1234226629 18000 +# Node ID bdc5391e52dfe4590e9e291eba2603ed87caef57 +# Parent 4ddf36b9ee8182f10d8d69af6577b677cda282a0 +master: Don't crash if auth process dies too early. + +--- a/src/master/auth-process.c Thu Feb 05 18:29:06 2009 -0500 ++++ b/src/master/auth-process.c Mon Feb 09 19:43:49 2009 -0500 +@@ -353,7 +353,7 @@ static void auth_process_destroy(struct + + if (!p->initialized && io_loop_is_running(ioloop) && !p->external) { + /* log the process exit and kill ourself */ +- child_processes_deinit(); ++ child_processes_flush(); + log_deinit(); + i_fatal("Auth process died too early - shutting down"); + } +--- a/src/master/child-process.c Thu Feb 05 18:29:06 2009 -0500 ++++ b/src/master/child-process.c Mon Feb 09 19:43:49 2009 -0500 +@@ -219,10 +219,15 @@ void child_processes_init(void) + lib_signals_set_handler(SIGCHLD, TRUE, sigchld_handler, NULL); + } + +-void child_processes_deinit(void) ++void child_processes_flush(void) + { + /* make sure we log if child processes died unexpectedly */ + sigchld_handler(SIGCHLD, NULL); ++} ++ ++void child_processes_deinit(void) ++{ ++ child_processes_flush(); + lib_signals_unset_handler(SIGCHLD, sigchld_handler, NULL); + hash_destroy(&processes); + } +--- a/src/master/child-process.h Thu Feb 05 18:29:06 2009 -0500 ++++ b/src/master/child-process.h Mon Feb 09 19:43:49 2009 -0500 +@@ -40,6 +40,7 @@ void child_process_set_destroy_callback( + child_process_destroy_callback_t *cb); + + void child_processes_init(void); ++void child_processes_flush(void); + void child_processes_deinit(void); + + #endif + diff --git a/extra/dovecot/dovecot-1.1.11-c08c602ca0dc.patch b/extra/dovecot/dovecot-1.1.11-c08c602ca0dc.patch new file mode 100644 index 000000000..17ce27051 --- /dev/null +++ b/extra/dovecot/dovecot-1.1.11-c08c602ca0dc.patch @@ -0,0 +1,26 @@ + +# HG changeset patch +# User Timo Sirainen <tss@iki.fi> +# Date 1234481874 18000 +# Node ID c08c602ca0dcbc137a4ca965b3722953cabfa4fc +# Parent 4044df5a4d12fef4086d7e604444467eb105f348 +"Maildir filename has wrong W value" error was missing new/cur directory in the middle. + +--- a/src/lib-storage/index/maildir/maildir-mail.c Tue Feb 10 12:19:05 2009 -0500 ++++ b/src/lib-storage/index/maildir/maildir-mail.c Thu Feb 12 18:37:54 2009 -0500 +@@ -485,8 +485,12 @@ static void maildir_mail_set_cache_corru + _mail->uid, &flags); + if (maildir_filename_get_size(fname, MAILDIR_EXTRA_VIRTUAL_SIZE, + &size)) { +- i_error("Maildir filename has wrong W value: %s/%s", +- mbox->path, fname); ++ const char *subdir = ++ (flags & MAILDIR_UIDLIST_REC_FLAG_NEW_DIR) != 0 ? ++ "new" : "cur"; ++ mail_storage_set_critical(_mail->box->storage, ++ "Maildir filename has wrong W value: %s/%s/%s", ++ mbox->path, subdir, fname); + } else if (maildir_uidlist_lookup_ext(mbox->uidlist, _mail->uid, + MAILDIR_UIDLIST_REC_EXT_VSIZE) != NULL) { + maildir_uidlist_set_ext(mbox->uidlist, _mail->uid, + diff --git a/extra/dovecot/dovecot.install b/extra/dovecot/dovecot.install deleted file mode 100644 index ab8a28762..000000000 --- a/extra/dovecot/dovecot.install +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -case "$1" in - pre_install) - adduser -h /dev/null -s /bin/false -D dovecot 2>/dev/null - ;; - post_deinstall) - deluser dovecot - delgroup dovecot - ;; -esac diff --git a/extra/dovecot/dovecot.pre-install b/extra/dovecot/dovecot.pre-install new file mode 100644 index 000000000..5acdcb5c8 --- /dev/null +++ b/extra/dovecot/dovecot.pre-install @@ -0,0 +1,4 @@ +#!/bin/sh + +adduser -H -h /dev/null -s /bin/false -D dovecot 2>/dev/null +exit 0 |