diff options
author | Parabola <dev@list.parabolagnulinux.org> | 2011-04-05 14:26:38 +0000 |
---|---|---|
committer | Parabola <dev@list.parabolagnulinux.org> | 2011-04-05 14:26:38 +0000 |
commit | 415856bdd4f48ab4f2732996f0bae58595092bbe (patch) | |
tree | ede2018b591f6dfb477fe9341ba17b9bc000fab9 /extra/postfix |
Tue Apr 5 14:26:38 UTC 2011
Diffstat (limited to 'extra/postfix')
-rw-r--r-- | extra/postfix/PKGBUILD | 64 | ||||
-rw-r--r-- | extra/postfix/aliases.patch | 18 | ||||
-rw-r--r-- | extra/postfix/install | 35 | ||||
-rwxr-xr-x | extra/postfix/rc.d | 37 |
4 files changed, 154 insertions, 0 deletions
diff --git a/extra/postfix/PKGBUILD b/extra/postfix/PKGBUILD new file mode 100644 index 000000000..d38b2648c --- /dev/null +++ b/extra/postfix/PKGBUILD @@ -0,0 +1,64 @@ +# $Id: PKGBUILD 117190 2011-03-29 13:39:06Z bisson $ +# Contributor: Jeff Brodnax <tullyarcher@bellsouth.net> +# Maintainer: Gaetan Bisson <bisson@archlinux.org> +# Maintainer: Paul Mattal <paul@archlinux.org> + +pkgname=postfix +pkgver=2.8.2 +pkgrel=3 +pkgdesc='Secure, fast, easy to administer drop in replacement for Sendmail (MTA)' +url='http://www.postfix.org/' +arch=('i686' 'x86_64') +license=('custom') +depends=('pcre' 'libsasl' 'libmysqlclient' 'postgresql-libs' 'sqlite3' 'libldap' 'db') +backup=('etc/postfix/'{access,aliases,canonical,generic,header_checks,main.cf,master.cf,relocated,transport,virtual}) +source=("ftp://ftp.porcupine.org/mirrors/postfix-release/official/${pkgname}-${pkgver}.tar.gz" \ + 'aliases.patch' \ + 'rc.d') +sha1sums=('224e0b6dd161f4648114de8902124c9dec64aa8c' + '5fc3de6c7df1e5851a0a379e825148868808318b' + '050e6afc5886049682c945ce147b3c47fe113939') + +provides=('smtp-server' 'smtp-forwarder') +replaces=('postfix-mysql' 'postfix-pgsql') +conflicts=('postfix-mysql' 'postfix-pgsql' 'smtp-server' 'smtp-forwarder') + +install=install + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + + make makefiles CCARGS=' \ + -DUSE_SASL_AUTH -I/usr/include/sasl \ + -DUSE_CYRUS_SASL \ + -DHAS_LDAP \ + -DUSE_TLS \ + -DHAS_MYSQL -I/usr/include/mysql \ + -DHAS_PGSQL -I/usr/include/postgresql \ + -DHAS_SQLITE \ + ' AUXLIBS=' \ + -lsasl2 -lssl -lcrypto \ + -lldap -llber \ + -lmysqlclient -lz -lm \ + -lpq \ + -lsqlite3 -lpthread \ + ' + + make OPT="${CFLAGS}" +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + + sh postfix-install -non-interactive \ + install_root="${pkgdir}" \ + daemon_directory="/usr/lib/${pkgname}" \ + sample_directory="/etc/${pkgname}/sample" \ + manpage_directory="/usr/share/man" + + install -D -m755 ../rc.d "${pkgdir}/etc/rc.d/${pkgname}" + install -D -m644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" + + cd "${pkgdir}" + patch -p0 < "${srcdir}"/aliases.patch +} diff --git a/extra/postfix/aliases.patch b/extra/postfix/aliases.patch new file mode 100644 index 000000000..6767870b7 --- /dev/null +++ b/extra/postfix/aliases.patch @@ -0,0 +1,18 @@ +--- etc/postfix/main.cf.orig 2010-12-13 20:18:22.000000000 +0100 ++++ etc/postfix/main.cf 2010-12-13 20:18:24.000000000 +0100 +@@ -382,6 +382,7 @@ + #alias_maps = hash:/etc/aliases + #alias_maps = hash:/etc/aliases, nis:mail.aliases + #alias_maps = netinfo:/aliases ++alias_maps = hash:/etc/postfix/aliases + + # The alias_database parameter specifies the alias database(s) that + # are built with "newaliases" or "sendmail -bi". This is a separate +@@ -392,6 +393,7 @@ + #alias_database = dbm:/etc/mail/aliases + #alias_database = hash:/etc/aliases + #alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases ++alias_database = $alias_maps + + # ADDRESS EXTENSIONS (e.g., user+foo) + # diff --git a/extra/postfix/install b/extra/postfix/install new file mode 100644 index 000000000..f5d81a565 --- /dev/null +++ b/extra/postfix/install @@ -0,0 +1,35 @@ +post_install() { + getent group postdrop &>/dev/null || groupadd -g 75 postdrop >/dev/null + getent group postfix &>/dev/null || groupadd -g 73 postfix >/dev/null + getent passwd postfix &>/dev/null || useradd -u 73 -d /var/spool/postfix -g postfix -s /bin/false postfix >/dev/null + + cd var/spool/postfix + chown postfix active bounce corrupt defer deferred flush hold incoming private public maildrop trace saved + chgrp postdrop public maildrop + cd ../../../usr/sbin + chgrp postdrop postqueue postdrop + chmod g+s postqueue postdrop + cd ../.. + chown postfix var/lib/postfix + + newaliases +} + +post_upgrade() { + post_install + + if [ `vercmp $2 2.8` = -1 ]; then cat <<EOF + +==> You must now execute "/etc/rc.d/postfix reload" (or restart). +==> This is needed because the queue manager to delivery agent +==> protocol has changed. + +EOF + fi +} + +pre_remove() { + getent passwd postfix &>/dev/null && userdel postfix >/dev/null + getent group postfix &>/dev/null && groupdel postfix >/dev/null + getent group postdrop &>/dev/null && groupdel postdrop >/dev/null +} diff --git a/extra/postfix/rc.d b/extra/postfix/rc.d new file mode 100755 index 000000000..94ccc2af0 --- /dev/null +++ b/extra/postfix/rc.d @@ -0,0 +1,37 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions + +name=postfix +PID=$(pidof -o %PPID /usr/lib/postfix/master) + +case "$1" in +start) + stat_busy "Starting $name daemon" + [[ -z "$PID" ]] && /usr/sbin/postfix start &>/dev/null \ + && { add_daemon $name; stat_done; } \ + || { stat_fail; exit 1; } + ;; +stop) + stat_busy "Stopping $name daemon" + [[ -n "$PID" ]] && /usr/sbin/postfix stop &>/dev/null \ + && { rm_daemon $name; stat_done; } \ + || { stat_fail; exit 1; } + ;; +reload) + stat_busy "Reloading $name daemon" + [[ -n "$PID" ]] && kill -HUP $PID &>/dev/null \ + && { stat_done; } \ + || { stat_fail; exit 1; } + ;; +restart) + $0 stop + sleep 1 + $0 start + ;; +*) + echo "usage: $0 {start|stop|restart|reload}" + ;; +esac +exit 0 |