added community/courier-mta

This commit is contained in:
Kevin Mihelich 2012-03-22 01:40:23 -04:00
parent c1e9b0f0e3
commit 85f57f7ebc
14 changed files with 700 additions and 0 deletions

View file

@ -0,0 +1,150 @@
# $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
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - fix LDFLAGS setting for us
plugrel=1
pkgname=courier-mta
pkgver=0.67.0
pkgrel=2
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' 'gamin' 'gcc-libs' 'gdbm' 'pcre' 'mime-types' 'ca-certificates')
optdepends=('libldap')
makedepends=('apache' 'pam' 'expect' 'gnupg' 'libldap' 'gamin')
provides=('smtp-server' 'smtp-forwarder' 'imap-server' 'pop3-server' 'courier-imap' 'courier-maildrop')
conflicts=('courier-imap' 'smtp-forwarder' '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.rc.d
courier-mta.rc.d
courier-mta.conf.d
esmtpd.rc.d
esmtpd-ssl.rc.d
esmtpd-msa.rc.d
imapd.rc.d
imapd-ssl.rc.d
pop3d.rc.d
pop3d-ssl.rc.d
webmaild.rc.d)
md5sums=('c2e26499f9f48577aa7a0735f5e96997'
'9055ba622efd37603186ce1f37277224'
'5cbeb5c323706058e545f74ad7752ebe'
'f3ff70b40c7a1f7a017e8c4cc4d92f4f'
'caabce8c7b66296b602316aa5af5d4c5'
'1c8b1b66ebafa4ff09ffc0106a9dc82c'
'dae6c7d5ff0cce0fba5729fedf2a9051'
'd0cc5eab5d3e0ec33dadd0392421f63e'
'5873a96aa149edda281730010fb4db34'
'faa09e06a5dc41ee89ab1f8fa6886b63'
'520501daa66c0a94f2e9844ce4919a09'
'33a93f400c3e87bcd207295b7d7333ca')
# MIGRATION NOTE:
# In 2012, support for courier-mta.conf.d and courier-mta.rc.d will be removed.
# Remove those files and this note and also courier-mta.install
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
LDFLAGS+="-L /usr/lib/courier-authlib -lcourierauth"
echo $LDFLAGS
# 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 -D -m 755 ${srcdir}/courier.rc.d ${pkgdir}/etc/rc.d/courier
install -D -m 755 ${srcdir}/imapd.rc.d ${pkgdir}/etc/rc.d/imapd
install -D -m 755 ${srcdir}/imapd-ssl.rc.d ${pkgdir}/etc/rc.d/imapd-ssl
install -D -m 755 ${srcdir}/pop3d.rc.d ${pkgdir}/etc/rc.d/pop3d
install -D -m 755 ${srcdir}/pop3d-ssl.rc.d ${pkgdir}/etc/rc.d/pop3d-ssl
install -D -m 755 ${srcdir}/esmtpd.rc.d ${pkgdir}/etc/rc.d/esmtpd
install -D -m 755 ${srcdir}/esmtpd-ssl.rc.d ${pkgdir}/etc/rc.d/esmtpd-ssl
install -D -m 755 ${srcdir}/esmtpd-msa.rc.d ${pkgdir}/etc/rc.d/esmtpd-msa
install -D -m 755 ${srcdir}/webmaild.rc.d ${pkgdir}/etc/rc.d/webmaild
#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
rm -r ${pkgdir}/var/run
#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
}

View file

@ -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

View file

@ -0,0 +1,61 @@
# 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
echo "Please migrate to the new daemon format:"
echo "/etc/rc.d/courier-imap has been split into separate daemons:"
echo " imapd, imapd-ssl, pop3d, pop3d-ssl"
echo "This elimates the need for /etc/conf.d/courier-imap"
echo "Update your /etc/rc.conf and manually add the desired daemons. Make sure"
echo "you first start authdaemond before any other of these daemons."
echo "Example prior to this change:"
echo " DAEMONS=( ... courier-mta ...)"
echo "Example after this change:"
echo " DAEMONS=( ... authdaemond courier esmtpd esmtpd-ssl imapd imapd-ssl"
echo " pop3d pop3d-ssl webmaild ... )"
echo "This allows better control over the daemons and will generate"
echo "correct entries in /run/daemons"
echo "An old configuration will keep working but please do migrate in time"
echo "as support for this will be removed some time in 2012."
}
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/aliases/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 $*

View file

@ -0,0 +1,60 @@
#!/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)
[ -d /var/run/courier ] || mkdir -p /var/run/courier
chown courier:courier /var/run/courier
if [ "$AUTO_AUTHDAEMON" == "true" ]; then
/etc/rc.d/authdaemond start
sleep ${AUTO_AUTHDAEMON_LAG}
fi
if ck_daemon 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

View file

@ -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

View file

@ -0,0 +1,45 @@
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
case "$1" in
start)
[ -d /var/run/courier ] || mkdir -p /var/run/courier
chown courier:courier /var/run/courier
if ck_daemon authdaemond; then
echo "ERROR: authdaemond is not running"
stat_fail
exit 1
fi
stat_busy "Starting Courier daemon"
/usr/sbin/courier start
if [ $? -gt 0 ]; then
stat_fail
else
add_daemon courier
stat_done
fi
;;
stop)
stat_busy "Stopping Courier daemon"
/usr/sbin/courier stop > /dev/null
if [ $? -gt 0 ]; then
stat_fail
else
rm_daemon courier
stat_done
fi
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac
exit 0

View file

@ -0,0 +1,45 @@
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
case "$1" in
start)
[ -d /var/run/courier ] || mkdir -p /var/run/courier
chown courier:courier /var/run/courier
if ck_daemon authdaemond; then
echo "ERROR: authdaemond is not running"
stat_fail
exit 1
fi
stat_busy "Starting Courier esmtpd-msa"
/usr/sbin/esmtpd-msa start
if [ $? -gt 0 ]; then
stat_fail
else
add_daemon esmtpd-msa
stat_done
fi
;;
stop)
stat_busy "Stopping Courier esmtpd-msa"
/usr/sbin/esmtpd-msa stop > /dev/null
if [ $? -gt 0 ]; then
stat_fail
else
rm_daemon esmtpd-msa
stat_done
fi
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac
exit 0

View file

@ -0,0 +1,45 @@
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
case "$1" in
start)
[ -d /var/run/courier ] || mkdir -p /var/run/courier
chown courier:courier /var/run/courier
if ck_daemon authdaemond; then
echo "ERROR: authdaemond is not running"
stat_fail
exit 1
fi
stat_busy "Starting Courier esmtpd-ssl"
/usr/sbin/esmtpd-ssl start
if [ $? -gt 0 ]; then
stat_fail
else
add_daemon esmtpd-ssl
stat_done
fi
;;
stop)
stat_busy "Stopping Courier esmtpd-ssl"
/usr/sbin/esmtpd-ssl stop > /dev/null
if [ $? -gt 0 ]; then
stat_fail
else
rm_daemon esmtpd-ssl
stat_done
fi
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac
exit 0

View file

@ -0,0 +1,45 @@
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
case "$1" in
start)
[ -d /var/run/courier ] || mkdir -p /var/run/courier
chown courier:courier /var/run/courier
if ck_daemon authdaemond; then
echo "ERROR: authdaemond is not running"
stat_fail
exit 1
fi
stat_busy "Starting Courier esmtpd"
/usr/sbin/esmtpd start
if [ $? -gt 0 ]; then
stat_fail
else
add_daemon esmtpd
stat_done
fi
;;
stop)
stat_busy "Stopping Courier esmtpd"
/usr/sbin/esmtpd stop > /dev/null
if [ $? -gt 0 ]; then
stat_fail
else
rm_daemon esmtpd
stat_done
fi
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac
exit 0

View file

@ -0,0 +1,45 @@
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
case "$1" in
start)
[ -d /var/run/courier ] || mkdir -p /var/run/courier
chown courier:courier /var/run/courier
if ck_daemon authdaemond; then
echo "ERROR: authdaemond is not running"
stat_fail
exit 1
fi
stat_busy "Starting Courier imapd-ssl"
/usr/sbin/imapd-ssl start
if [ $? -gt 0 ]; then
stat_fail
else
add_daemon imapd-ssl
stat_done
fi
;;
stop)
stat_busy "Stopping Courier imapd-ssl"
/usr/sbin/imapd-ssl stop > /dev/null
if [ $? -gt 0 ]; then
stat_fail
else
rm_daemon imapd-ssl
stat_done
fi
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac
exit 0

View file

@ -0,0 +1,45 @@
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
case "$1" in
start)
[ -d /var/run/courier ] || mkdir -p /var/run/courier
chown courier:courier /var/run/courier
if ck_daemon authdaemond; then
echo "ERROR: authdaemond is not running"
stat_fail
exit 1
fi
stat_busy "Starting Courier imapd"
/usr/sbin/imapd start
if [ $? -gt 0 ]; then
stat_fail
else
add_daemon imapd
stat_done
fi
;;
stop)
stat_busy "Stopping Courier imapd"
/usr/sbin/imapd stop > /dev/null
if [ $? -gt 0 ]; then
stat_fail
else
rm_daemon imapd
stat_done
fi
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac
exit 0

View file

@ -0,0 +1,45 @@
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
case "$1" in
start)
[ -d /var/run/courier ] || mkdir -p /var/run/courier
chown courier:courier /var/run/courier
if ck_daemon authdaemond; then
echo "ERROR: authdaemond is not running"
stat_fail
exit 1
fi
stat_busy "Starting Courier pop3d-ssl"
/usr/sbin/pop3d-ssl start
if [ $? -gt 0 ]; then
stat_fail
else
add_daemon pop3d-ssl
stat_done
fi
;;
stop)
stat_busy "Stopping Courier pop3d-ssl"
/usr/sbin/pop3d-ssl stop > /dev/null
if [ $? -gt 0 ]; then
stat_fail
else
rm_daemon pop3d-ssl
stat_done
fi
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac
exit 0

View file

@ -0,0 +1,45 @@
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
case "$1" in
start)
[ -d /var/run/courier ] || mkdir -p /var/run/courier
chown courier:courier /var/run/courier
if ck_daemon authdaemond; then
echo "ERROR: authdaemond is not running"
stat_fail
exit 1
fi
stat_busy "Starting Courier pop3d"
/usr/sbin/pop3d start
if [ $? -gt 0 ]; then
stat_fail
else
add_daemon pop3d
stat_done
fi
;;
stop)
stat_busy "Stopping Courier pop3d"
/usr/sbin/pop3d stop > /dev/null
if [ $? -gt 0 ]; then
stat_fail
else
rm_daemon pop3d
stat_done
fi
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac
exit 0

View file

@ -0,0 +1,45 @@
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
case "$1" in
start)
[ -d /var/run/courier ] || mkdir -p /var/run/courier
chown courier:courier /var/run/courier
if ck_daemon authdaemond; then
echo "ERROR: authdaemond is not running"
stat_fail
exit 1
fi
stat_busy "Starting Courier webmaild"
/usr/sbin/webmaild start
if [ $? -gt 0 ]; then
stat_fail
else
add_daemon webmaild
stat_done
fi
;;
stop)
stat_busy "Stopping Courier webmaild"
/usr/sbin/webmaild stop > /dev/null
if [ $? -gt 0 ]; then
stat_fail
else
rm_daemon webmaild
stat_done
fi
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
esac
exit 0