diff --git a/srcpkgs/postfix/INSTALL b/srcpkgs/postfix/INSTALL new file mode 100644 index 00000000000..4bdda64baad --- /dev/null +++ b/srcpkgs/postfix/INSTALL @@ -0,0 +1,11 @@ +case "${ACTION}" in +post) + # set up correct permissions. + cd usr/sbin + chgrp postdrop postqueue postdrop + chmod g+s postqueue postdrop + + # run newaliases. + newaliases + ;; +esac diff --git a/srcpkgs/postfix/files/aliases.patch b/srcpkgs/postfix/files/aliases.patch new file mode 100644 index 00000000000..6767870b7b0 --- /dev/null +++ b/srcpkgs/postfix/files/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/srcpkgs/postfix/files/postfix.service b/srcpkgs/postfix/files/postfix.service new file mode 100644 index 00000000000..6ea92147800 --- /dev/null +++ b/srcpkgs/postfix/files/postfix.service @@ -0,0 +1,14 @@ +[Unit] +Description=Postfix Mail Transport Agent +After=syslog.target network.target +Conflicts=sendmail.service exim.service + +[Service] +Type=forking +PIDFile=/var/spool/postfix/pid/master.pid +ExecStart=/usr/sbin/postfix start +ExecReload=/usr/sbin/postfix reload +ExecStop=/usr/sbin/postfix stop + +[Install] +WantedBy=multi-user.target diff --git a/srcpkgs/postfix/patches/postfix-install-dont-overwrite-path.patch b/srcpkgs/postfix/patches/postfix-install-dont-overwrite-path.patch new file mode 100644 index 00000000000..cd5ae250e7c --- /dev/null +++ b/srcpkgs/postfix/patches/postfix-install-dont-overwrite-path.patch @@ -0,0 +1,11 @@ +--- postfix-install.orig 2012-01-31 16:18:56.687116320 +0100 ++++ postfix-install 2012-01-31 16:19:00.198032219 +0100 +@@ -168,7 +168,7 @@ + # By now, shells must have functions. Ultrix users must use sh5 or lose. + + umask 022 +-PATH=/bin:/usr/bin:/usr/sbin:/usr/etc:/sbin:/etc:/usr/contrib/bin:/usr/gnu/bin:/usr/ucb:/usr/bsd ++#PATH=/bin:/usr/bin:/usr/sbin:/usr/etc:/sbin:/etc:/usr/contrib/bin:/usr/gnu/bin:/usr/ucb:/usr/bsd + SHELL=/bin/sh + IFS=" + " diff --git a/srcpkgs/postfix/postfix.rshlibs b/srcpkgs/postfix/postfix.rshlibs new file mode 100644 index 00000000000..6602128e952 --- /dev/null +++ b/srcpkgs/postfix/postfix.rshlibs @@ -0,0 +1,14 @@ +libldap-2.4.so.2 +liblber-2.4.so.2 +libmysqlclient.so.16 +libpq.so.5 +libsqlite3.so.0 +libpthread.so.0 +libpcre.so.0 +libdb-4.8.so +libnsl.so.1 +libc.so.6 +libresolv.so.2 +libsasl2.so.2 +libssl.so.1 +libcrypto.so.1 diff --git a/srcpkgs/postfix/template b/srcpkgs/postfix/template new file mode 100644 index 00000000000..f7259b337b7 --- /dev/null +++ b/srcpkgs/postfix/template @@ -0,0 +1,105 @@ +# Template file for 'postfix' +pkgname=postfix +version=2.8.7 +homepage="http://www.postfix.org/" +distfiles="ftp://ftp.porcupine.org/mirrors/postfix-release/official/$pkgname-$version.tar.gz" +short_desc="High-performance mail transport agent" +maintainer="Juan RP " +license="IBM Public License 1.0, BSD-alike" +checksum=5c13465ab47414e9aa2e857851eff1a3f020cebd056e0dde6094ece3552806e5 +long_desc=" + It is Wietse Venema's mail server that started life at IBM research as an + alternative to the widely-used Sendmail program. + + Postfix attempts to be fast, easy to administer, and secure. The outside has + a definite Sendmail-ish flavor, but the inside is completely different." + +conf_files=" +/etc/postfix/access +/etc/postfix/aliases +/etc/postfix/canonical +/etc/postfix/generic +/etc/postfix/header_checks +/etc/postfix/main.cf +/etc/postfix/master.cf +/etc/postfix/relocated +/etc/postfix/transport +/etc/postfix/virtual" + +make_dirs=" +/var/lib/postfix 0750 postfix root +/var/spool/postfix/active 0750 postfix root +/var/spool/postfix/bounce 0750 postfix root +/var/spool/postfix/corrupt 0750 postfix root +/var/spool/postfix/defer 0750 postfix root +/var/spool/postfix/deferred 0750 postfix root +/var/spool/postfix/flush 0750 postfix root +/var/spool/postfix/hold 0750 postfix root +/var/spool/postfix/incoming 0750 postfix root +/var/spool/postfix/private 0750 postfix root +/var/spool/postfix/maildrop 0750 postfix postdrop +/var/spool/postfix/public 0750 postfix postdrop +/var/spool/postfix/pid 0750 root root +/var/spool/postfix/saved 0750 postfix root +/var/spool/postfix/trace 0750 postfix root" + +systemd_services="postfix.service true" + +system_accounts="postfix" +postfix_homedir="/var/spool/postfix" +system_groups="postdrop" + +provides="smtp-server-0" +replaces="smtp-server>=0" + +Add_dependency build perl ">=0" +Add_dependency build openssl-devel +Add_dependency build db-devel +Add_dependency build pcre-devel +Add_dependency build libsasl-devel +Add_dependency build libldap-devel +Add_dependency build libmysqlclient-devel +Add_dependency build postgresql-libs-devel +Add_dependency build sqlite-devel + +do_build() { + make makefiles DEBUG='' CCARGS=' \ + -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I/usr/include/sasl \ + -DHAS_LDAP \ + -DUSE_TLS \ + -DHAS_MYSQL -I/usr/include/mysql \ + -DHAS_PGSQL -I/usr/include/postgresql \ + -DHAS_SQLITE \ + ' AUXLIBS=' \ + -lsasl2 \ + -lldap -llber \ + -lssl -lcrypto \ + -lmysqlclient -lz -lm \ + -lpq \ + -lsqlite3 -lpthread \ + ' OPT="${CFLAGS} ${LDFLAGS}" + + make ${makejobs} +} + +do_install() { + sh postfix-install -non-interactive \ + install_root="${DESTDIR}" \ + daemon_directory="/usr/lib/${pkgname}" \ + sample_directory="/etc/${pkgname}/sample" \ + manpage_directory="/usr/share/man" + + vinstall LICENSE 644 usr/share/licenses/${pkgname} + vinstall TLS_LICENSE 644 usr/share/licenses/${pkgname} + + sed 's/\(^\$manpage[^:]*\):/\1.gz:/' -i \ + ${DESTDIR}/usr/lib/${pkgname}/postfix-files + cd ${DESTDIR}; patch -p0 -i ${FILESDIR}/aliases.patch + + # Remove unused stuff. + rm -f ${DESTDIR}/etc/postfix/*LICENSE + rm -f ${DESTDIR}/etc/postfix/*.default + + # systemd. + vinstall ${FILESDIR}/postfix.service 644 lib/systemd/system +}