summaryrefslogtreecommitdiff
path: root/community/courier-mta
diff options
context:
space:
mode:
authorParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
committerParabola <dev@list.parabolagnulinux.org>2011-04-05 14:26:38 +0000
commit415856bdd4f48ab4f2732996f0bae58595092bbe (patch)
treeede2018b591f6dfb477fe9341ba17b9bc000fab9 /community/courier-mta
Tue Apr 5 14:26:38 UTC 2011
Diffstat (limited to 'community/courier-mta')
-rw-r--r--community/courier-mta/PKGBUILD111
-rw-r--r--community/courier-mta/courier-mta.conf.d18
-rw-r--r--community/courier-mta/courier-mta.install46
-rw-r--r--community/courier-mta/courier-mta.rc.d56
-rw-r--r--community/courier-mta/courier-webmail-cleancache.cron.hourly6
5 files changed, 237 insertions, 0 deletions
diff --git a/community/courier-mta/PKGBUILD b/community/courier-mta/PKGBUILD
new file mode 100644
index 000000000..7b74f25fb
--- /dev/null
+++ b/community/courier-mta/PKGBUILD
@@ -0,0 +1,111 @@
+# $Id: PKGBUILD 75460 2010-04-01 16:56:22Z giovanni $
+# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com>
+# Contributor: tobias <tobias@archlinux.org>
+# Contributor: Tobias Kieslich <tobias@justdreams.de>
+
+# ----------- NOTE TO ALL USERS ------------
+# Go read http://www.courier-mta.org/install.html b4 running or building courier
+
+
+pkgname=courier-mta
+pkgver=0.65.3
+pkgrel=1
+pkgdesc="IMAP(s)/POP3(s) and SMTP Server with ML-manager, webmail and webconfig"
+arch=(i686 x86_64)
+license=('GPL2')
+backup=('etc/courier/imapd.cnf' 'etc/courier/pop3d.cnf' \
+ 'etc/courier/imapd' 'etc/courier/imapd-ssl' \
+ 'etc/courier/pop3d' 'etc/courier/pop3d-ssl' \
+ 'etc/courier/courierd' 'etc/courier/sqwebmaild' \
+ 'etc/courier/esmtpd' 'etc/courier/esmtpd-ssl' \
+ 'etc/courier/esmtpd.cnf' 'etc/courier/esmtpd-msa' \
+ 'etc/courier/webadmin/password' 'etc/courier/esmtpauthclient' \
+ 'etc/conf.d/courier-mta')
+url="http://courier-mta.org"
+depends=('courier-authlib>=0.63.0' 'fam' 'gcc-libs' 'gdbm' 'pcre' 'mime-types' 'ca-certificates')
+optdepends=('libldap')
+makedepends=('apache>=2.2.9-3' 'pam>=1.0.1-2' 'expect' 'gnupg' 'libldap' 'fam')
+provides=('smtp-server' 'imap-server' 'pop3-server' 'courier-imap' 'courier-maildrop')
+conflicts=('courier-imap' 'smtp-server' 'imap-server' 'courier-maildrop' 'ucspi-tcp')
+options=('!libtool')
+install=courier-mta.install
+source=(http://downloads.sourceforge.net/project/courier/courier/${pkgver}/courier-${pkgver}.tar.bz2
+ courier-mta.rc.d courier-mta.conf.d )
+md5sums=('581f73ffad17e0a106177ff1209b042d'
+ '6b05b7f4f633201e8ae471a185e779df'
+ 'f3ff70b40c7a1f7a017e8c4cc4d92f4f')
+
+build() {
+ cd ${srcdir}/courier-${pkgver}
+
+ # fix a tiny bug
+ sed -i -e \
+ 's|--with-authchangepwdir=/var/tmp/dev/null|--with-authchangepwdir=$libexecdir/authlib|' \
+ configure && chmod 755 configure
+
+ # courier is more about configuring than compiling :-), lets start the mess
+ ./configure --prefix=/usr \
+ --sysconfdir=/etc/courier \
+ --libdir=/usr/lib \
+ --libexecdir=/usr/lib \
+ --localstatedir=/var/spool/courier \
+ --disable-root-check \
+ --enable-unicode \
+ --enable-workarounds-for-imap-client-bugs \
+ --enable-mimetypes=/etc/mime.types \
+ --with-piddir=/var/run/courier \
+ --with-locking-method=lockf \
+ --with-trashquota \
+ --with-db=gdbm \
+ --with-trashquota \
+ --with-random=/dev/urandom --without-ispell \
+ --with-mailuser=courier --with-mailgroup=courier \
+ --with-certdb=/etc/ssl/certs/
+ make
+}
+
+package() {
+ cd ${srcdir}/courier-${pkgver}
+
+ #chown mail.mail ${pkgdir}/var/spool/courier
+ make DESTDIR=${pkgdir} install
+ # docs say we can get rid of those after make
+ find ${pkgdir} -name '*\.a' -exec -rm -f {} \;
+ # install the perftest-script for testings
+ install -Dm755 courier/perftest1 ${pkgdir}/usr/lib/courier/perftest1
+ ###############################################################################
+ # this is what usually "make install-configure" does
+ # *.dist files get rid of "dist"
+ for distfile in ${pkgdir}/etc/courier/*.dist; do
+ mv ${distfile} ${pkgdir}/etc/courier/$(basename ${distfile} .dist)
+ done
+ # install pam files according to the layout used in Archlinux
+ for pamfile in ${pkgdir}/etc/courier/*.authpam; do
+ sed -i 's|/lib/security/pam_pwdb\.so|pam_unix.so|' ${pamfile}
+ #echo "password required pam_unix.so" >> $pamfile
+ install -Dm 644 ${pamfile} \
+ ${pkgdir}/etc/pam.d/$(basename ${pamfile} .authpam | sed "s/d$//")
+ rm -f ${pamfile}
+ done
+
+ ###############################################################################
+ # Arch Linux specific tweaks to make things easier for the user
+ # create passwordfile for webadmin -> standard archwebadmin
+ sed -i 's|/etc/courier/webadmin/password|$(DESTDIR)/etc/courier/webadmin/password|g' Makefile
+ yes "archwebadmin" | make DESTDIR=${pkgdir} install-webadmin-password
+ # arch specific scripts
+ install -Dm 644 ${srcdir}/${pkgname}.conf.d ${pkgdir}/etc/conf.d/courier-mta
+ install -Dm 755 ${srcdir}/${pkgname}.rc.d ${pkgdir}/etc/rc.d/courier-mta
+ #install -Dm 655 ${srcdir}/courier-webmail-cleancache.cron.hourly \
+ # ${pkgdir}/etc/cron.hourly/courier-webmail-cleancache
+ # bug http://bugs.archlinux.org/task/5154
+ find ${pkgdir}/usr/lib -name '*\.a' -exec rm -f {} \;
+ # fixing some permissions
+ chown -R courier:courier ${pkgdir}/usr/lib/courier/modules
+ chown -R courier:courier ${pkgdir}/var/run/courier
+ chown root.root ${pkgdir}/usr/{.,bin,lib,sbin,share}
+ # make a link to /usr/sbin/sendmail
+ install -dm 755 ${pkgdir}/usr/sbin
+ cd ${pkgdir}/usr/sbin
+ ln -s ../bin/sendmail ./sendmail
+}
diff --git a/community/courier-mta/courier-mta.conf.d b/community/courier-mta/courier-mta.conf.d
new file mode 100644
index 000000000..5856a5cda
--- /dev/null
+++ b/community/courier-mta/courier-mta.conf.d
@@ -0,0 +1,18 @@
+#
+# Parameters to be passed to courier-imap
+#
+#
+# Select the service you want started with courier-imap
+#
+# Available options :
+# esmtpd imapd pop3d esmtpd-ssl imapd-ssl pop3d-ssl webmaild
+#
+CI_DAEMONS="courier esmtpd imapd pop3d"
+
+# If you want authdaemond to be automatically started and
+# stopped by courier-imap, set this to "true"
+AUTO_AUTHDAEMON="false"
+
+# Courier will start this many seconds after autodaemond if
+# AUTO_AUTHDAEMON is set to "true"
+AUTO_AUTHDAEMON_LAG=2
diff --git a/community/courier-mta/courier-mta.install b/community/courier-mta/courier-mta.install
new file mode 100644
index 000000000..eac627867
--- /dev/null
+++ b/community/courier-mta/courier-mta.install
@@ -0,0 +1,46 @@
+# arg 1: the new package version
+post_install() {
+ cat << EOM
+ --> if you are using LDAP services to provide lookup in sqwebmail or aliases
+ --> then you have to install:
+ libldap
+EOM
+ # create the *.dat files
+ makealiases
+ makesmtpaccess
+}
+
+pre_upgrade() {
+ pre_remove $1
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_upgrade() {
+ post_install $1
+}
+
+
+pre_remove() {
+ # manual backup, since courier is always processing the whole directory
+ # - so it would process "system" AND "system.pacsave" -> bad
+ [ ! -d /etc/courier/_backup ] && mkdir /etc/courier/_backup
+ cp /etc/courier/aliases/system /etc/courier/_backup/aliases.system
+ cp /etc/courier/smtpaccess/default /etc/courier/_backup/smtpaccess.default
+ cat << EOM
+ --> the /etc/courier/aliase/system and the /etc/courier/smtpaccess/default
+ --> files have been backed up to /etc/courier/_backup since the *.pacsave
+ --> files cannot stay in place. Read about couriers alias handling from the
+ --> documentation!
+EOM
+}
+
+# arg 1: the old package version
+post_remove() {
+ /bin/true
+}
+
+op=$1
+shift
+
+$op $*
diff --git a/community/courier-mta/courier-mta.rc.d b/community/courier-mta/courier-mta.rc.d
new file mode 100644
index 000000000..71970c6a3
--- /dev/null
+++ b/community/courier-mta/courier-mta.rc.d
@@ -0,0 +1,56 @@
+#!/bin/bash
+
+# source application-specific settings
+[ -f /etc/conf.d/courier-mta ] && . /etc/conf.d/courier-mta
+[ -z $AUTO_AUTHDAEMON_LAG ] && AUTO_AUTHDAEMON_LAG=2
+[ -z $AUTO_AUTHDAEMON ] && AUTO_AUTHDAEMON="false"
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+case "$1" in
+ start)
+ if [ "$AUTO_AUTHDAEMON" == "true" ]; then
+ /etc/rc.d/authdaemond start
+ sleep ${AUTO_AUTHDAEMON_LAG}
+ fi
+ if [ ! -f /var/run/daemons/authdaemond ]; then
+ echo "ERROR: authdaemond is not running"
+ stat_fail
+ exit 1
+ fi
+ for daemon in $CI_DAEMONS; do
+ stat_busy "Starting Courier ${daemon}"
+ /usr/sbin/${daemon} start
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ add_daemon $daemon
+ stat_done
+ fi
+ done
+ ;;
+ stop)
+ for daemon in $CI_DAEMONS; do
+ stat_busy "Stopping Courier ${daemon}"
+ /usr/sbin/${daemon} stop > /dev/null
+ if [ $? -gt 0 ]; then
+ stat_fail
+ else
+ rm_daemon $daemon
+ stat_done
+ fi
+ done
+ if [ "$AUTO_AUTHDAEMON" == "true" ]; then
+ /etc/rc.d/authdaemond stop
+ fi
+ ;;
+ restart)
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "usage: $0 {start|stop|restart}"
+esac
+exit 0
diff --git a/community/courier-mta/courier-webmail-cleancache.cron.hourly b/community/courier-mta/courier-webmail-cleancache.cron.hourly
new file mode 100644
index 000000000..6c541321e
--- /dev/null
+++ b/community/courier-mta/courier-webmail-cleancache.cron.hourly
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+# Cleans the cache of the sqwebmail server
+if [ -x /usr/share/sqwebmail/cleancache.pl ]; then
+ su -c "/usr/share/sqwebmail/cleancache.pl" bin
+fi