summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2009-03-12 20:18:38 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2009-03-12 20:18:38 +0000
commitf44e81160a21aea22c6a8271128e89e3738588dd (patch)
treea4c4a688767d041d76e01b6051c4fd147c8f4c6f
parentf7460473e0f62576af952f986ebf72e5064c218f (diff)
downloadaports-f44e81160a21aea22c6a8271128e89e3738588dd.tar.bz2
aports-f44e81160a21aea22c6a8271128e89e3738588dd.tar.xz
extra/dovecot: add upstream patches, enable ssl and ipv6, install init.d
also update to proper pre-install script
-rw-r--r--extra/dovecot/APKBUILD34
-rw-r--r--extra/dovecot/dovecot-1.1.11-4736327a8740.patch20
-rw-r--r--extra/dovecot/dovecot-1.1.11-bdc5391e52df.patch49
-rw-r--r--extra/dovecot/dovecot-1.1.11-c08c602ca0dc.patch26
-rw-r--r--extra/dovecot/dovecot.install11
-rw-r--r--extra/dovecot/dovecot.pre-install4
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