From 9d1a5d07d1b35b7d75904802e04be6544265e413 Mon Sep 17 00:00:00 2001 From: Florian Pritz Date: Fri, 23 Apr 2010 21:52:10 +0200 Subject: add dovecot-managesieve Signed-off-by: Florian Pritz --- dovecot-managesieve/PKGBUILD | 76 +++++++++++++++++++++++++ dovecot-managesieve/dovecot-managesieve.install | 26 +++++++++ dovecot-managesieve/dovecot.sh | 36 ++++++++++++ 3 files changed, 138 insertions(+) create mode 100644 dovecot-managesieve/PKGBUILD create mode 100644 dovecot-managesieve/dovecot-managesieve.install create mode 100755 dovecot-managesieve/dovecot.sh diff --git a/dovecot-managesieve/PKGBUILD b/dovecot-managesieve/PKGBUILD new file mode 100644 index 0000000..59671d7 --- /dev/null +++ b/dovecot-managesieve/PKGBUILD @@ -0,0 +1,76 @@ +# Contributor: Paul Ezvan +# Based on dovecot PKGBUILD + +pkgname=dovecot-managesieve +pkgver=1.2.11 +_managesievever=0.11.11 +_dovecotvers=1.2 +_sievever=0.1.15 +pkgrel=1 +pkgdesc="An IMAP and POP3 server written with security primarily in mind with managesieve and sieve support" +arch=('i686' 'x86_64') +url="http://dovecot.org/" +license=("LGPL") +depends=('pam' 'libmysqlclient' 'postgresql-libs' 'heimdal' 'libcap' 'bzip2') +makedepends=('dovecot') +provides=('imap-server' 'pop3-server' "dovecot=$pkgver" "dovecot-sive=${_sievever}") +conflicts=('dovecot') +options=('!libtool') +install=$pkgname.install +source=(dovecot.sh + http://www.rename-it.nl/dovecot/${_dovecotvers}/dovecot-${_dovecotvers}-managesieve-${_managesievever}.tar.gz + http://dovecot.org/releases/$_dovecotvers/dovecot-$pkgver.tar.gz + http://www.rename-it.nl/dovecot/$_dovecotvers/dovecot-$pkgver-managesieve-${_managesievever}.diff.gz + http://www.rename-it.nl/dovecot/$_dovecotvers/dovecot-$_dovecotvers-sieve-${_sievever}.tar.gz) + +build() { + # configure and make dovecot source + cd $startdir/src/dovecot-$pkgver || return 1 + # patch with managesieve support + patch -p1 -i $startdir/src/dovecot-$pkgver-managesieve-${_managesievever}.diff || return 1 + # configure with openssl, mysql, and postgresql support + ./configure --prefix=/usr --sysconfdir=/etc/dovecot --localstatedir=/var \ + --libexecdir=/usr/lib --with-moduledir=/usr/lib/dovecot/modules \ + --with-db --with-mysql --with-pgsql --with-sqlite \ + --with-ssl=openssl --with-ssldir=/etc/dovecot/ssl \ + --with-gssapi --with-ldap=plugin --enable-header-install --with-docs || return 1 + # build + make || return 1 + # install + make DESTDIR=$startdir/pkg install || return 1 + # remove empty directories for cleanliness + # /usr/share will usually end up empty except for documentation, but we + # should not rely on that to remain true, so we do it this way + rm -rf $startdir/pkg/usr/share/doc || return 1 + rmdir $startdir/pkg/usr/share || return 1 + # install the launch script + install -D -m755 $startdir/src/dovecot.sh $startdir/pkg/etc/rc.d/dovecot || return 1 + # fix paths in the config example file where we have a different layout + sed -i 's|/usr/lib/dovecot|/usr/lib/dovecot/modules|g; + s|libexec|lib|g; + s|lib/sendmail|sbin/sendmail|g' $pkgdir/etc/dovecot/dovecot-example.conf || return 1 + + + # configure dovecot sieve source + cd $srcdir/dovecot-${_dovecotvers}-sieve-${_sievever} || return 1 + ./configure --prefix=/usr --with-dovecot=$srcdir/dovecot-$pkgver || return 1 + # build + make || return 1 + # install + make DESTDIR="$pkgdir" install || return 1 + + # configure dovecot managesieve plugin + cd $srcdir/dovecot-${_dovecotvers}-managesieve-${_managesievever} || return 1 + ./configure --prefix=/usr --with-dovecot=$srcdir/dovecot-$pkgver \ + --with-dovecot-sieve=$srcdir/dovecot-${_dovecotvers}-sieve-${_sievever} \ + --libexecdir=/usr/lib || return 1 + # build + make || return 1 + # install + make DESTDIR="$pkgdir" install || return 1 +} +md5sums=('d020d43eab4ded6fb379dadc570a9490' + '32ba8d47a3695f8514bd2c2bf7348f96' + 'bdac013fd57aa616ea4bdd9ac34557c6' + 'd773909c5da6ccab092818cf691237bd' + '2246fbbcf304d3ec1df0db2d091fe05a') diff --git a/dovecot-managesieve/dovecot-managesieve.install b/dovecot-managesieve/dovecot-managesieve.install new file mode 100644 index 0000000..5175734 --- /dev/null +++ b/dovecot-managesieve/dovecot-managesieve.install @@ -0,0 +1,26 @@ +# arg 1: the new package version +post_install() { + if [ -z "`grep '^dovecot:' /etc/group`" ]; then + groupadd -g 76 dovecot >& /dev/null + fi + if [ -z "`grep '^dovecot:' /etc/passwd`" ]; then + useradd -u 76 -d /var/run/dovecot/login -g dovecot -s /bin/false dovecot + fi +} + +# arg 1: the new package version +# arg 2: the old package version +post_upgrade() { + post_install $1 +} + +# arg 1: the old package version +pre_remove() { + userdel dovecot &> /dev/null + groupdel dovecot &> /dev/null +} + +op=$1 +shift + +$op $* diff --git a/dovecot-managesieve/dovecot.sh b/dovecot-managesieve/dovecot.sh new file mode 100755 index 0000000..b7555fe --- /dev/null +++ b/dovecot-managesieve/dovecot.sh @@ -0,0 +1,36 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +PID=`pidof -o %PPID /usr/sbin/dovecot` +case "$1" in + start) + stat_busy "Starting Dovecot" + [ -z "$PID" ] && /usr/sbin/dovecot + if [ $? -gt 0 ]; then + stat_fail + else + add_daemon dovecot + stat_done + fi + ;; + stop) + stat_busy "Stopping Dovecot" + [ ! -z "$PID" ] && kill $PID &> /dev/null + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon dovecot + stat_done + fi + ;; + restart) + $0 stop + sleep 2 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 -- cgit v1.2.3-24-g4f1b