From 415856bdd4f48ab4f2732996f0bae58595092bbe Mon Sep 17 00:00:00 2001 From: Parabola Date: Tue, 5 Apr 2011 14:26:38 +0000 Subject: Tue Apr 5 14:26:38 UTC 2011 --- community/courier-mta/PKGBUILD | 111 +++++++++++++++++++++ community/courier-mta/courier-mta.conf.d | 18 ++++ community/courier-mta/courier-mta.install | 46 +++++++++ community/courier-mta/courier-mta.rc.d | 56 +++++++++++ .../courier-webmail-cleancache.cron.hourly | 6 ++ 5 files changed, 237 insertions(+) create mode 100644 community/courier-mta/PKGBUILD create mode 100644 community/courier-mta/courier-mta.conf.d create mode 100644 community/courier-mta/courier-mta.install create mode 100644 community/courier-mta/courier-mta.rc.d create mode 100644 community/courier-mta/courier-webmail-cleancache.cron.hourly (limited to 'community/courier-mta') 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 +# Contributor: tobias +# Contributor: Tobias Kieslich + +# ----------- 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 -- cgit v1.2.3-54-g00ecf