diff options
author | Olli Hauer <ohauer@FreeBSD.org> | 2016-02-28 08:16:49 +0000 |
---|---|---|
committer | Olli Hauer <ohauer@FreeBSD.org> | 2016-02-28 08:16:49 +0000 |
commit | e69906ddc509389f4b0b0073ac489b9a14b1ac9c (patch) | |
tree | 95e0cd473d276636f7d248fe2e70216d0c58964b | |
parent | b66d807b3e7f6a9b9b236d3b56b28a3fffcd00f8 (diff) | |
download | ports-e69906ddc509389f4b0b0073ac489b9a14b1ac9c.tar.gz ports-e69906ddc509389f4b0b0073ac489b9a14b1ac9c.zip |
Notes
-rw-r--r-- | mail/Makefile | 2 | ||||
-rw-r--r-- | mail/postfix211-sasl/Makefile | 14 | ||||
-rw-r--r-- | mail/postfix211/Makefile | 358 | ||||
-rw-r--r-- | mail/postfix211/distinfo | 6 | ||||
-rw-r--r-- | mail/postfix211/files/mailer.conf.postfix.in | 7 | ||||
-rw-r--r-- | mail/postfix211/files/patch-makedefs | 12 | ||||
-rw-r--r-- | mail/postfix211/files/patch-src__util__sys_defs.h | 10 | ||||
-rw-r--r-- | mail/postfix211/files/pkg-install.in | 190 | ||||
-rw-r--r-- | mail/postfix211/files/pkg-message.in | 25 | ||||
-rw-r--r-- | mail/postfix211/files/postfix.in | 52 | ||||
-rw-r--r-- | mail/postfix211/pkg-descr | 15 | ||||
-rw-r--r-- | mail/postfix211/pkg-help | 15 | ||||
-rw-r--r-- | mail/postfix211/pkg-plist | 157 |
13 files changed, 863 insertions, 0 deletions
diff --git a/mail/Makefile b/mail/Makefile index 23c35e445052..6a9554a4fef1 100644 --- a/mail/Makefile +++ b/mail/Makefile @@ -497,6 +497,8 @@ SUBDIR += postfix-policyd-weight SUBDIR += postfix-postfwd SUBDIR += postfix-sasl + SUBDIR += postfix211 + SUBDIR += postfix211-sasl SUBDIR += postfixadmin SUBDIR += postgrey SUBDIR += postsrsd diff --git a/mail/postfix211-sasl/Makefile b/mail/postfix211-sasl/Makefile new file mode 100644 index 000000000000..dbf1600f88d7 --- /dev/null +++ b/mail/postfix211-sasl/Makefile @@ -0,0 +1,14 @@ +# $FreeBSD$ + +PKGNAMESUFFIX?= -sasl + +MAINTAINER= ohauer@FreeBSD.org +COMMENT= Postfix with Cyrus SASL support + +MASTERDIR= ${.CURDIR}/../postfix211 + +OPTIONS_SLAVE= SASL + +SASL_SLAVE= yes + +.include "${MASTERDIR}/Makefile" diff --git a/mail/postfix211/Makefile b/mail/postfix211/Makefile new file mode 100644 index 000000000000..69449459e688 --- /dev/null +++ b/mail/postfix211/Makefile @@ -0,0 +1,358 @@ +# Created by: Torsten Blum <torstenb@FreeBSD.org> +# $FreeBSD$ + +PORTNAME= postfix +PORTVERSION= 2.11.7 +PORTREVISION= 2 +PORTEPOCH= 1 +CATEGORIES= mail ipv6 +MASTER_SITES= ftp://ftp.porcupine.org/mirrors/postfix-release/ \ + http://de.postfix.org/ftpmirror/ \ + http://cdn.postfix.johnriley.me/mirrors/postfix-release/ \ + http://www.artfiles.org/postfix.org/postfix-release/ \ + http://mirror.lhsolutions.nl/postfix-release/ \ + ftp://postfix.mirrors.pair.com/ +MASTER_SITES:= ${MASTER_SITES:S|$|official/|} +DIST_SUBDIR= ${PORTNAME} + +MAINTAINER= ohauer@FreeBSD.org +COMMENT= Secure alternative to widely-used Sendmail + +LICENSE= IPL10 +LICENSE_NAME= IBM PUBLIC LICENSE VERSION 1.0 +LICENSE_FILE= ${WRKSRC}/LICENSE +LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept + +PORTSCOUT= limit:^2\.11\. + +VDAVERSION= 2.10.0 +CONFLICTS_INSTALL?= courier-0.* opensmtpd-[0-9]* \ + sendmail-8.* sendmail+*-8.* smail-3.* zmailer-2.* \ + postfix2?-* postfix-3.* postfix-current-* + +USERS= postfix +GROUPS= mail maildrop postfix +USES= shebangfix cpe +SHEBANG_FILES= auxiliary/qshape/qshape.pl + +USE_RC_SUBR= postfix +USE_SUBMAKE= yes +SCRIPTS_ENV+= POSTFIX_DEFAULT_MTA="${POSTFIX_DEFAULT_MTA}" + +OPTIONS_SUB= yes +OPTIONS_DEFINE= BDB CDB DOCS INST_BASE LDAP LDAP_SASL LMDB MYSQL \ + NIS PCRE PGSQL SASL SPF SQLITE TEST TLS VDA + +OPTIONS_RADIO= RG1 +OPTIONS_RADIO_RG1= SASLKRB5 SASLKMIT +OPTIONS_DEFAULT= PCRE TLS + +BDB_USE= BDB=yes +CDB_LIB_DEPENDS= libcdb.so:${PORTSDIR}/databases/tinycdb +LDAP_USE= OPENLDAP=yes +LMDB_LIB_DEPENDS= liblmdb.so:${PORTSDIR}/databases/lmdb +MYSQL_USE= MYSQL=yes +PCRE_LIB_DEPENDS= libpcre.so:${PORTSDIR}/devel/pcre +PGSQL_USES= pgsql +SASLKMIT_LIB_DEPENDS= libkrb5.so:${PORTSDIR}/security/krb5 +SASL_LIB_DEPENDS= libsasl2.so:${PORTSDIR}/security/cyrus-sasl2 +SPF_LIB_DEPENDS= libspf2.so:${PORTSDIR}/mail/libspf2 +SQLITE_USES= sqlite +TLS_USE= OPENSSL=yes + +CDB_DESC= CDB maps lookups +INST_BASE_DESC= Install into /usr and /etc/postfix +LDAP_DESC= LDAP maps (uses WITH_OPENLDAP_VER) +LDAP_SASL_DESC= LDAP client-to-server SASL auth +LMDB_DESC= LMDB maps +SPF_DESC= SPF support (via libspf2 1.2.x) +TEST_DESC= SMTP/LMTP test server and generator +VDA_DESC= VDA (Virtual Delivery Agent) + +SASL_DESC= Cyrus SASL support (Dovecot SASL is always built in) +RG1_DESC= Kerberos network authentication protocol type +SASLKRB5_DESC= If your SASL req. Kerberos5, select this +SASLKMIT_DESC= If your SASL req. MIT Kerberos5, select this + +.include <bsd.port.options.mk> + +HTML1= body_checks.5.html bounce.5.html postfix-power.png \ + scache.8.html tlsmgr.8.html + +STRIP_LIBEXEC= anvil bounce cleanup discard dnsblog error flush lmtp local master \ + nqmgr oqmgr pickup pipe postscreen proxymap qmgr qmqpd scache showq \ + smtp smtpd spawn tlsmgr tlsproxy trivial-rewrite verify virtual + +.if !defined(BATCH) && !defined(PACKAGE_BUILDING) && exists(/etc/mail/mailer.conf) +OLD_MAILER!= ${GREP} -m 1 '^purgestat' /etc/mail/mailer.conf || ${ECHO_CMD} +.if !empty(OLD_MAILER) +IS_INTERACTIVE= yes +.endif +.endif + +.if !defined(DEBUG) +MAKEFILEFLAGS+= DEBUG= +.endif + +MAKEFILEFLAGS+= CC="${CC}" OPT="${CFLAGS}" + +.if ${PORT_OPTIONS:MINST_BASE} +.if defined(SASL_SLAVE) +PKGNAMESUFFIX= -base-sasl +.else +PKGNAMESUFFIX= -base +.endif +PREFIX= /usr +ETCDIR= /etc/postfix +PLIST_SUB+= BMAN="share/" +.else +PLIST_SUB+= BMAN="" +.endif + +PLIST_SUB+= PFETC=${ETCDIR} + +# check if mailwrapper supports $LOCALBASE +.if ${OPSYS} == FreeBSD && (${OSVERSION} >= 1002506 || ${OSVERSION} >= 1100094) +SUB_LIST+= USE_LOCALBASE_MAILER_CONF="yes" MC_PREFIX=${LOCALBASE} +.else +SUB_LIST+= USE_LOCALBASE_MAILER_CONF="no" MC_PREFIX="" +.endif + +.if ${PORT_OPTIONS:MDOCS} +PORTDOCS= * +READMEDIR= ${DOCSDIR} +.else +READMEDIR= no +.endif + +DAEMONDIR= ${PREFIX}/libexec/postfix + +SUB_LIST+= REQUIRE="${_REQUIRE}" READMEDIR="${READMEDIR}" \ + DAEMONDIR="${DAEMONDIR}" +SUB_FILES+= pkg-install pkg-message mailer.conf.postfix + +POSTFIX_CCARGS+= -DDEF_CONFIG_DIR=\\\"${ETCDIR}\\\" \ + -DDEF_DAEMON_DIR=\\\"${DAEMONDIR}\\\" \ + -DDEF_COMMAND_DIR=\\\"${PREFIX}/sbin\\\" \ + -DDEF_SENDMAIL_PATH=\\\"${PREFIX}/sbin/sendmail\\\" \ + -DDEF_NEWALIAS_PATH=\\\"${PREFIX}/bin/newaliases\\\" \ + -DDEF_MAILQ_PATH=\\\"${PREFIX}/bin/mailq\\\" \ + -DDEF_MANPAGE_DIR=\\\"${MANPREFIX}/man\\\" \ + -DDEF_README_DIR=\\\"${READMEDIR}\\\" \ + -DDEF_HTML_DIR=\\\"${READMEDIR}\\\" \ + -DDEF_QUEUE_DIR=\\\"/var/spool/postfix\\\" \ + -DDEF_DATA_DIR=\\\"/var/db/postfix\\\" \ + -DDEF_MAIL_OWNER=\\\"postfix\\\" \ + -DDEF_SGID_GROUP=\\\"maildrop\\\" \ + -Wmissing-prototypes -Wformat -Wno-comment + +# Default requirement for postfix rc script +_REQUIRE= LOGIN cleanvar dovecot + +# Always build with Dovecot SASL support, Cyrus is optional +# see Postfix HISTORY 20051222 +POSTFIX_CCARGS+= -DUSE_SASL_AUTH + +.if ${PORT_OPTIONS:MPCRE} +POSTFIX_CCARGS+= -DHAS_PCRE -I${LOCALBASE}/include +POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -lpcre +.else +POSTFIX_CCARGS+= -DNO_PCRE +.endif + +.if ${PORT_OPTIONS:MSASL} +POSTFIX_CCARGS+= -DUSE_CYRUS_SASL -I${LOCALBASE}/include -I${LOCALBASE}/include/sasl +POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -lsasl2 -lpam -lcrypt +.else +POSTFIX_CCARGS+= -DDEF_SERVER_SASL_TYPE=\\\"dovecot\\\" +.endif + +.if ${PORT_OPTIONS:MSASLKRB5} +POSTFIX_AUXLIBS+= -lkrb5 -lhx509 -lcrypto -lcrypt -lcom_err -lasn1 -lroken +.endif + +.if ${PORT_OPTIONS:MSASLKMIT} +POSTFIX_AUXLIBS+= -Wl,--rpath,$${KRB5_HOME:-${LOCALBASE}}/lib -lkrb5 -lcrypto -lcrypt -lcom_err +.endif + +.if ${PORT_OPTIONS:MTLS} +POSTFIX_CCARGS+= -DUSE_TLS -I${OPENSSLINC} +POSTFIX_AUXLIBS+= -L${OPENSSLLIB} ${LDFLAGS} -lssl -lcrypto +.else +POSTFIX_CCARGS+= -DNO_TLS +.endif + +.if ${PORT_OPTIONS:MSPF} +PATCH_SITES+= LOCAL/mm +PATCHFILES+= postfix-2.8.0-libspf2-1.2.x-0.patch.gz:-p1 +POSTFIX_CCARGS+= -DHAVE_NS_TYPE -DHAS_SPF -I${LOCALBASE}/include +POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -lspf2 +.endif + +.if ${PORT_OPTIONS:MBDB} +INVALID_BDB_VER= 6 +POSTFIX_CCARGS+= -I${BDB_INCLUDE_DIR} +POSTFIX_AUXLIBS+= -L${BDB_LIB_DIR} -l${BDB_LIB_NAME} +.endif + +.if ${PORT_OPTIONS:MMYSQL} +POSTFIX_CCARGS+= -DHAS_MYSQL -I${LOCALBASE}/include/mysql +POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib/mysql -lmysqlclient -lz -lcrypt -lm +_REQUIRE+= mysql +.endif + +.if ${PORT_OPTIONS:MPGSQL} +POSTFIX_CCARGS+= -DHAS_PGSQL -I${LOCALBASE}/include -I${LOCALBASE}/pgsql/include +POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -L${LOCALBASE}/pgsql/lib -lpq -lcrypt +_REQUIRE+= postgresql +.endif + +.if ${PORT_OPTIONS:MSQLITE} +POSTFIX_CCARGS+= -DHAS_SQLITE -I${LOCALBASE}/include +POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -lsqlite3 +.endif + +.if ${PORT_OPTIONS:MLDAP} +. if defined(WITH_OPENLDAP_VER) +WANT_OPENLDAP_VER= ${WITH_OPENLDAP_VER} +. endif +POSTFIX_CCARGS+= -DHAS_LDAP -I${LOCALBASE}/include +POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -lldap -llber +_REQUIRE+= slapd +. if ${PORT_OPTIONS:MLDAP_SASL} +. if ! ${PORT_OPTIONS:MSASL} +LIB_DEPENDS+= libsasl2.so:${PORTSDIR}/security/cyrus-sasl2 +. endif +WANT_OPENLDAP_SASL= yes +POSTFIX_CCARGS+= -I${LOCALBASE}/include/sasl -DUSE_LDAP_SASL +. endif +.endif + +.if ${PORT_OPTIONS:MCDB} +POSTFIX_CCARGS+= -DHAS_CDB -I${LOCALBASE}/include +POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -lcdb +.endif + +.if ${PORT_OPTIONS:MNIS} +POSTFIX_CCARGS+= -DHAS_NIS +_REQUIRE+= ypserv +.endif + +.if ${PORT_OPTIONS:MVDA} +PATCH_SITES+= http://vda.sourceforge.net/VDA/:vda +PATCHFILES+= postfix-vda-v13-${VDAVERSION}.patch:-p1:vda +.endif + +.if ${PORT_OPTIONS:MTEST} +BINTEST= qmqp-sink qmqp-source smtp-sink smtp-source +MANTEST= qmqp-sink.1 qmqp-source.1 smtp-sink.1 smtp-source.1 +.endif + +.if ${PORT_OPTIONS:MLMDB} +POSTFIX_CCARGS+= -DHAS_LMDB -I${LOCALBASE}/include +POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -llmdb +.endif + +# sed script for files in ${WRKSRC}/README_FILES ${WRKSRC}/conf ${WRKSRC}/man +REINPLACE= s!^PATH=.*!PATH=/bin:/sbin:/usr/bin:/usr/sbin:${PREFIX}/bin:${PREFIX}/sbin!;\ + s!(_directory = )/usr/!\1${PREFIX}/!g;\ + s!^(data_directory = /var/)lib/!\1db/!g;\ + s!^\#(mynetworks_style = host)!\1!g;\ + s!^(sendmail_path =)!\1 ${PREFIX}/sbin/sendmail!g;\ + s!^(newaliases_path =)!\1 ${PREFIX}/bin/newaliases!g;\ + s!^(mailq_path =)!\1 ${PREFIX}/bin/mailq!g;\ + s!^(setgid_group =)!\1 maildrop!g;\ + s!^(manpage_directory =)!\1 ${MANPREFIX}/man!g;\ + s!^((html|readme)_directory =)!\1 ${READMEDIR}!g;\ + \!^\#alias_database = dbm:/etc/mail/aliases$$!d;\ + s!(:|= )/etc/postfix!\1$$config_directory!g;\ + s!/etc/postfix!${ETCDIR}!g;\ + s!^(sample_directory =)!\1 ${ETCDIR}!g;\ + s!($config_directory/(access|aliases|canonical|generic|header_checks|relocated|transport|virtual):f:root:-:644:)p1!\1o!; + +pre-patch: +.if ${PORT_OPTIONS:MSASL} && ! ${PORT_OPTIONS:MMYSQL} && exists(${LOCALBASE}/lib/libsasl2.a) + @if /usr/bin/nm ${LOCALBASE}/lib/libsasl2.a | ${GREP} -wq "mysql_init"; then \ + ${ECHO_MSG}; \ + ${ECHO_MSG} "Your SASL library it's compiled with MYSQL"; \ + ${ECHO_MSG} "If you use MYSQL in ${PORTNAME} consider CTRL+C and"; \ + ${ECHO_MSG} "select MYSQL OPTION in config menu."; \ + ${ECHO_MSG} "# make clean config"; \ + ${ECHO_MSG}; \ + sleep 5; \ + fi +.endif + + @${ECHO} '<HTML><BODY>See <A HREF="header_checks.5.html">header_checks.5.html</A></BODY></HTML>' \ + > ${WRKSRC}/html/body_checks.5.html + @${REINPLACE_CMD} -E -e 's!^(#define DEF_SGID_GROUP[^"]+)"postdrop"$$!\1"maildrop"!' \ + ${WRKSRC}/src/global/mail_params.h + @${FIND} -X ${WRKSRC}/README_FILES ${WRKSRC}/conf ${WRKSRC}/man \ + -type f -a ! \( -name INSTALL -o -name aliases \) | ${XARGS} \ + ${REINPLACE_CMD} -E -e '${REINPLACE}' + +post-patch: +.for f in ${HTML1} + @${ECHO} '$$html_directory/$f:f:root:-:644' \ + >> ${WRKSRC}/conf/postfix-files +.endfor + @${ECHO} '$$manpage_directory/man1/posttls-finger.1:f:root:-:644' \ + >> ${WRKSRC}/conf/postfix-files + @${ECHO} '$$command_directory/posttls-finger:f:root:-:755' \ + >> ${WRKSRC}/conf/postfix-files + +post-patch-SPF-on: + @${ECHO} '$$readme_directory/SPF_README:f:root:-:644' \ + >> ${WRKSRC}/conf/postfix-files + @${REINPLACE_CMD} -E -e '${REINPLACE}' \ + ${WRKSRC}/README_FILES/SPF_README + +post-patch-VDA-on: + @${ECHO} '$$readme_directory/VDA_README:f:root:-:644' \ + >> ${WRKSRC}/conf/postfix-files + @${REINPLACE_CMD} -E -e '${REINPLACE}' \ + ${WRKSRC}/README_FILES/VDA_README + +do-configure: + (cd ${WRKSRC} && ${MAKE} -f Makefile.init makefiles \ + ${MAKEFILEFLAGS} CCARGS="${POSTFIX_CCARGS}" \ + AUXLIBS="${POSTFIX_AUXLIBS}" && \ + ${ECHO} "all: default" >> Makefile) + +pre-install-INST_BASE-on: + ${MKDIR} ${STAGEDIR}/etc/rc.d + +do-install: + @(cd ${WRKSRC} && ${MAKE} non-interactive-package \ + install_root=${STAGEDIR} tempdir=${WRKDIR} \ + config_directory=${ETCDIR} \ + command_directory=${PREFIX}/sbin \ + daemon_directory=${DAEMONDIR} \ + html_directory=${READMEDIR} \ + mailq_path=${PREFIX}/bin/mailq \ + manpage_directory=${MANPREFIX}/man \ + newaliases_path=${PREFIX}/bin/newaliases \ + readme_directory=${READMEDIR} \ + sendmail_path=${PREFIX}/sbin/sendmail ) + + ${INSTALL_SCRIPT} ${WRKSRC}/auxiliary/rmail/rmail ${STAGEDIR}${PREFIX}/bin/rmail + ${INSTALL_SCRIPT} ${WRKSRC}/auxiliary/qshape/qshape.pl ${STAGEDIR}${PREFIX}/bin/qshape + ${INSTALL_MAN} ${WRKSRC}/man/man1/qshape.1 ${STAGEDIR}${MANPREFIX}/man/man1 + +do-install-TEST-on: + ${INSTALL_PROGRAM} ${BINTEST:S|^|${WRKSRC}/bin/|} ${STAGEDIR}${PREFIX}/bin + ${INSTALL_MAN} ${MANTEST:S|^|${WRKSRC}/man/man1/|} ${STAGEDIR}${MANPREFIX}/man/man1 + +post-stage: +# == do not overwrite existing config + ${MV} ${STAGEDIR}${ETCDIR}/main.cf ${STAGEDIR}${ETCDIR}/main.cf.sample + ${MV} ${STAGEDIR}${ETCDIR}/master.cf ${STAGEDIR}${ETCDIR}/master.cf.sample + ${MKDIR} ${STAGEDIR}${DATADIR} + ${INSTALL_DATA} ${WRKDIR}/mailer.conf.postfix ${STAGEDIR}${DATADIR} + +# Fix compressed man pages and strip executables + ${SED} -i '' -E -e "s|(man[158]/.*.[158]):|\1.gz:|g" ${STAGEDIR}${DAEMONDIR}/postfix-files + -@${STRIP_CMD} ${STRIP_LIBEXEC:S|^|${STAGEDIR}${DAEMONDIR}/|} + -@${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/* + +.include <bsd.port.mk> diff --git a/mail/postfix211/distinfo b/mail/postfix211/distinfo new file mode 100644 index 000000000000..3b8795de141e --- /dev/null +++ b/mail/postfix211/distinfo @@ -0,0 +1,6 @@ +SHA256 (postfix/postfix-2.11.7.tar.gz) = 05828b5b846e48fdc80db67d85409066010614af521070df4733459fbf447e20 +SIZE (postfix/postfix-2.11.7.tar.gz) = 4031689 +SHA256 (postfix/postfix-2.8.0-libspf2-1.2.x-0.patch.gz) = e5c38e5bc226cab109c02a4e530ab1aefd3bb06f2169f3e052bdf83d2727aacc +SIZE (postfix/postfix-2.8.0-libspf2-1.2.x-0.patch.gz) = 8191 +SHA256 (postfix/postfix-vda-v13-2.10.0.patch) = 6208021eb0b37ac6482e334e538ed5700cc22c4d4dd66ed9e975ae5f20bf935f +SIZE (postfix/postfix-vda-v13-2.10.0.patch) = 55701 diff --git a/mail/postfix211/files/mailer.conf.postfix.in b/mail/postfix211/files/mailer.conf.postfix.in new file mode 100644 index 000000000000..08f2b2c00f35 --- /dev/null +++ b/mail/postfix211/files/mailer.conf.postfix.in @@ -0,0 +1,7 @@ +# +# Execute the Postfix sendmail program, named %%PREFIX%%/sbin/sendmail +# +sendmail %%PREFIX%%/sbin/sendmail +send-mail %%PREFIX%%/sbin/sendmail +mailq %%PREFIX%%/sbin/sendmail +newaliases %%PREFIX%%/sbin/sendmail diff --git a/mail/postfix211/files/patch-makedefs b/mail/postfix211/files/patch-makedefs new file mode 100644 index 000000000000..56b0c3830fb5 --- /dev/null +++ b/mail/postfix211/files/patch-makedefs @@ -0,0 +1,12 @@ +--- makedefs.orig 2015-04-19 10:19:57 UTC ++++ makedefs +@@ -161,6 +161,9 @@ case "$SYSTEM.$RELEASE" in + FreeBSD.10*) SYSTYPE=FREEBSD10 + : ${CC=cc} + ;; ++ FreeBSD.11*) SYSTYPE=FREEBSD11 ++ : ${CC=cc} ++ ;; + DragonFly.*) SYSTYPE=DRAGONFLY + ;; + OpenBSD.2*) SYSTYPE=OPENBSD2 diff --git a/mail/postfix211/files/patch-src__util__sys_defs.h b/mail/postfix211/files/patch-src__util__sys_defs.h new file mode 100644 index 000000000000..d977481d19a1 --- /dev/null +++ b/mail/postfix211/files/patch-src__util__sys_defs.h @@ -0,0 +1,10 @@ +--- src/util/sys_defs.h.orig 2015-04-19 10:22:40 UTC ++++ src/util/sys_defs.h +@@ -26,6 +26,7 @@ + #if defined(FREEBSD2) || defined(FREEBSD3) || defined(FREEBSD4) \ + || defined(FREEBSD5) || defined(FREEBSD6) || defined(FREEBSD7) \ + || defined(FREEBSD8) || defined(FREEBSD9) || defined(FREEBSD10) \ ++ || defined(FREEBSD11) \ + || defined(BSDI2) || defined(BSDI3) || defined(BSDI4) \ + || defined(OPENBSD2) || defined(OPENBSD3) || defined(OPENBSD4) \ + || defined(OPENBSD5) \ diff --git a/mail/postfix211/files/pkg-install.in b/mail/postfix211/files/pkg-install.in new file mode 100644 index 000000000000..73f621e3c934 --- /dev/null +++ b/mail/postfix211/files/pkg-install.in @@ -0,0 +1,190 @@ +#!/bin/sh +# +# $FreeBSD: /tmp/pcvs/ports/mail/postfix/files/pkg-install.in,v 1.6 2012-02-11 05:14:34 sahil Exp $ +# + +# If the POSTFIX_DEFAULT_MTA environment variable is set to YES, it +# will make the port/package use defaults which make postfix replace +# sendmail as much as possible. + +# allowed vars during package installation +BATCH=${BATCH:=no} +POSTFIX_DEFAULT_MTA=${POSTFIX_DEFAULT_MTA:=no} + +# fixed vars +PREFIX="%%PREFIX%%" +ETCDIR="%%ETCDIR%%" +DAEMONDIR="%%DAEMONDIR%%" +READMEDIR="%%READMEDIR%%" +MC_TEMPLATE="%%DATADIR%%/mailer.conf.postfix" + +# FreeBSD <= 10.3 +MC_BASE="/etc/mail/mailer.conf" +# FreeBSD >= 10.3 (and current) +MC_LOCALBASE="%%LOCALBASE%%/etc/mail/mailer.conf" +USE_LOCALBASE_MAILER_CONF="%%USE_LOCALBASE_MAILER_CONF%%" + +if [ "${POSTFIX_DEFAULT_MTA}" = "no" ]; then + DEFAULT_REPLACE_MAILERCONF=n +else + DEFAULT_REPLACE_MAILERCONF=y +fi + +ask() { + local question default answer + + question=$1 + default=$2 + if [ -z "${PACKAGE_BUILDING}" -a "${BATCH}" = "no" ]; then + read -p "${question} [${default}]? " answer + fi + if [ -z "${answer}" ]; then + answer=${default} + fi + echo ${answer} +} + +yesno() { + local question default answer + + question=$1 + default=$2 + while :; do + answer=$(ask "${question}" "${default}") + case "${answer}" in + [Yy]*) return 0;; + [Nn]*) return 1;; + esac + echo "Please answer yes or no." + done +} + +# ============================================================================== +# Respect POSTFIX_DEFAULT_MTA, do not ask for confirmation! +# (This helps tools like salt, ansible or puppet on new installations) +# ============================================================================== +install_choise(){ + local mailerconf + mailerconf=$1 + + if [ "${DEFAULT_REPLACE_MAILERCONF}" = "y" ]; then + install_mailer_conf ${mailerconf} + elif [ "${DEFAULT_REPLACE_MAILERCONF}" = "n" -a -t 0 ]; then + if yesno "Would you like to activate Postfix in ${mailerconf}" ${DEFAULT_REPLACE_MAILERCONF:="n"}; then + install_mailer_conf ${mailerconf} + else + show_not_activated_msg ${mailerconf} + fi + else + show_not_activated_msg ${mailerconf} + fi +} + +show_not_activated_msg() { + local mailerconf + + mailerconf=$1 + echo + echo "===============================================================" + echo "Postfix was *not* activated in ${mailerconf}! " + echo + echo "To finish installation run the following commands:" + echo + if [ "${USE_LOCALBASE_MAILER_CONF}" = "yes" ]; then + echo " mkdir -p %%LOCALBASE%%/etc/mail" + else + echo " mv -f ${mailerconf} ${mailerconf}.old" + fi + echo " install -m 0644 ${MC_TEMPLATE} ${mailerconf}" + echo "===============================================================" + echo +} + +show_activated_msg() { + local mailerconf + + mailerconf=$1 + echo "===============================================================" + echo "Postfix already activated in ${mailerconf}" + echo "===============================================================" +} + +cmp_mailer() { + local mailerconf + + mailerconf=$1 + cmp -s ${mailerconf} ${MC_TEMPLATE} + return $? +} + +install_mailer_conf() { + local mailerconf + + mailerconf=$1 + echo "Activate Postfix in ${mailerconf}" + if [ "${USE_LOCALBASE_MAILER_CONF}" = "yes" ]; then + [ -d %%LOCALBASE%%/etc/mail ] || mkdir -p %%LOCALBASE%%/etc/mail + fi + [ -f ${mailerconf} ] && mv -f ${mailerconf} ${mailerconf}.old + install -m 644 ${MC_TEMPLATE} ${mailerconf} +} + +# ============================================================================== +# Run postfix reload +# This is a candidate for a dedicated pkg-post-upgrade script, but it seems +# this not fully implemented in pkg :(see upstream PR 941) +# ============================================================================== +try_reload(){ + ${PREFIX}/sbin/postfix status 2>/dev/null +if [ $? -eq 0 ]; then + ${PREFIX}/sbin/postfix reload +else + echo "postfix not running" +fi +} + +# ============================================================================== +# Run postfix post-install to fix permissions and new config values +# ============================================================================== +if [ "$2" = "POST-INSTALL" ]; then + /bin/sh ${DAEMONDIR}/post-install tempdir=/tmp \ + daemon_directory=${DAEMONDIR} \ + html_directory=${READMEDIR} \ + readme_directory=${READMEDIR} \ + upgrade-package +fi + +# ============================================================================== +# If FreeBSD <= 10.2 is deprecated check only LOCALBASE and remove BASE checks, +# regardless if installed in BASE or LOCALBASE +# Iff postfix is activated in BASE, also activate postfix in LOCALBASE! +# ============================================================================== +if [ "$2" = "POST-INSTALL" -a -z "${PACKAGE_BUILDING}" ]; then +if [ -f "${MC_BASE}" ]; then + if [ "${USE_LOCALBASE_MAILER_CONF}" = "yes" ]; then + cmp_mailer ${MC_BASE} + if [ $? -eq 0 ]; then + show_activated_msg ${MC_BASE} + cmp_mailer ${MC_LOCALBASE} || install_mailer_conf ${MC_LOCALBASE} + try_reload + else + cmp_mailer ${MC_LOCALBASE} || install_choise ${MC_LOCALBASE} + fi + else + cmp_mailer ${MC_BASE} + if [ $? -ne 0 ]; then + install_choise ${MC_BASE} + else + show_activated_msg ${MC_BASE} + try_reload + fi + fi + +else + if [ "${USE_LOCALBASE_MAILER_CONF}" = "yes" ]; then + show_not_activated_msg ${MC_LOCALBASE} + else + show_not_activated_msg ${MC_BASE} + fi +fi # -f "${MC_BASE}" +fi # "$2" = "POST-INSTALL" -a -z "${PACKAGE_BUILDING}" diff --git a/mail/postfix211/files/pkg-message.in b/mail/postfix211/files/pkg-message.in new file mode 100644 index 000000000000..6ba402774402 --- /dev/null +++ b/mail/postfix211/files/pkg-message.in @@ -0,0 +1,25 @@ +To use postfix instead of sendmail: + - clear sendmail queue and stop the sendmail daemons + +Run the following commands to enable postfix during startup: + - sysrc postfix_enable="YES" + - sysrc sendmail_enable="NONE" + +If postfix is *not* already activated in %%MC_PREFIX%%/etc/mail/mailer.conf + - mv %%MC_PREFIX%%/etc/mail/mailer.conf %%MC_PREFIX%%/etc/mail/mailer.conf.old + - install -m 0644 %%DATADIR%%/mailer.conf.postfix %%MC_PREFIX%%/etc/mail/mailer.conf + +Disable sendmail(8) specific tasks, +add the following lines to /etc/periodic.conf(.local): + daily_clean_hoststat_enable="NO" + daily_status_mail_rejects_enable="NO" + daily_status_include_submit_mailq="NO" + daily_submit_queuerun="NO" + +If you are using SASL, you need to make sure that postfix has access to read +the sasldb file. This is accomplished by adding postfix to group mail and +making the %%PREFIX%%/etc/sasldb* file(s) readable by group mail (this should +be the default for new installs). + +If you are upgrading from prior postfix version, review the RELEASE_NOTES to +familiarize yourself with new features and incompatabilities. diff --git a/mail/postfix211/files/postfix.in b/mail/postfix211/files/postfix.in new file mode 100644 index 000000000000..74c1550bf984 --- /dev/null +++ b/mail/postfix211/files/postfix.in @@ -0,0 +1,52 @@ +#!/bin/sh +# +# $FreeBSD$ +# +# PROVIDE: postfix mail +# REQUIRE: %%REQUIRE%% +# KEYWORD: shutdown +# +# Add the following lines to /etc/rc.conf to enable postfix: +# postfix_enable (bool): Set it to "YES" to enable postfix. +# Default is "NO". +# postfix_pidfile (path): Set full path to master.pid. +# Default is "/var/spool/postfix/pid/master.pid". +# postfix_procname (command): Set command that start master. Used to verify if +# postfix is running. +# Default is "%%PREFIX%%/libexec/postfix/master". +# postfix_flags (str): Flags passed to postfix-script on startup. +# Default is "". +# + +. /etc/rc.subr + +name="postfix" +rcvar=postfix_enable + +load_rc_config $name + +: ${postfix_enable:="NO"} +: ${postfix_pidfile:="/var/spool/postfix/pid/master.pid"} +: ${postfix_procname:="%%PREFIX%%/libexec/postfix/master"} + +start_cmd=${name}_start +stop_cmd=${name}_stop +extra_commands="reload" +reload_cmd="${name}_reload" + +pidfile=${postfix_pidfile} +procname=${postfix_procname} + +postfix_start() { + %%PREFIX%%/sbin/postfix ${postfix_flags} start +} + +postfix_stop() { + %%PREFIX%%/sbin/postfix ${postfix_flags} stop +} + +postfix_reload() { + %%PREFIX%%/sbin/postfix ${postfix_flags} reload +} + +run_rc_command "$1" diff --git a/mail/postfix211/pkg-descr b/mail/postfix211/pkg-descr new file mode 100644 index 000000000000..bcbf2703fea9 --- /dev/null +++ b/mail/postfix211/pkg-descr @@ -0,0 +1,15 @@ +Postfix attempts to be fast, easy to administer, and secure, while at the same +time being sendmail compatible enough to not upset existing users. Thus, the +outside has a sendmail-ish flavor, but the inside is completely different. + +Some feautures: + +Connection cache for SMTP, DSN status notifications, IP version 6, Plug-in +support for multiple SASL implementations (Cyrus, Dovecot), TLS encryption and +authentication, Configurable status notification message text, Access control +per client/sender/recipient/etc, Content filter (built-in, external before +queue, external after queue), Berkeley DB database, LDAP database, MySQL +database, PostgreSQL database, Maildir and mailbox format, Virtual domains, +VERP envelope return addresses and others. + +WWW: http://www.postfix.org/ diff --git a/mail/postfix211/pkg-help b/mail/postfix211/pkg-help new file mode 100644 index 000000000000..f28015a0b496 --- /dev/null +++ b/mail/postfix211/pkg-help @@ -0,0 +1,15 @@ +Readme SASL: + +Dovecot uses its own daemon process for authentication. Because there is no +need to link extra libraries into Postfix, Dovecot SASL will be build into +Postfix by default. + +Cyrus SASL is optional and will be the default if build with SASL=on + +To find out what SASL implementations are compiled into Postfix, use the +following commands: + + % postconf -a (SASL support in the SMTP server) + % postconf -A (SASL support in the SMTP+LMTP client) + % postconf smtpd_sasl_type (show default SASL) + diff --git a/mail/postfix211/pkg-plist b/mail/postfix211/pkg-plist new file mode 100644 index 000000000000..38c2fcff4592 --- /dev/null +++ b/mail/postfix211/pkg-plist @@ -0,0 +1,157 @@ +bin/mailq +bin/newaliases +%%TEST%%bin/qmqp-sink +%%TEST%%bin/qmqp-source +bin/qshape +bin/rmail +%%TEST%%bin/smtp-sink +%%TEST%%bin/smtp-source +%%PFETC%%/LICENSE +%%PFETC%%/TLS_LICENSE +%%PFETC%%/bounce.cf.default +%%PFETC%%/main.cf.default +@sample %%PFETC%%/main.cf.sample +%%PFETC%%/makedefs.out +@sample %%PFETC%%/master.cf.sample +libexec/postfix/anvil +libexec/postfix/bounce +libexec/postfix/cleanup +libexec/postfix/discard +libexec/postfix/dnsblog +libexec/postfix/error +libexec/postfix/flush +libexec/postfix/lmtp +libexec/postfix/local +libexec/postfix/main.cf +libexec/postfix/master +libexec/postfix/master.cf +libexec/postfix/nqmgr +libexec/postfix/oqmgr +libexec/postfix/pickup +libexec/postfix/pipe +libexec/postfix/post-install +libexec/postfix/postfix-files +libexec/postfix/postfix-script +libexec/postfix/postfix-wrapper +libexec/postfix/postmulti-script +libexec/postfix/postscreen +libexec/postfix/proxymap +libexec/postfix/qmgr +libexec/postfix/qmqpd +libexec/postfix/scache +libexec/postfix/showq +libexec/postfix/smtp +libexec/postfix/smtpd +libexec/postfix/spawn +libexec/postfix/tlsmgr +libexec/postfix/tlsproxy +libexec/postfix/trivial-rewrite +libexec/postfix/verify +libexec/postfix/virtual +%%BMAN%%man/man1/mailq.1.gz +%%BMAN%%man/man1/newaliases.1.gz +%%BMAN%%man/man1/postalias.1.gz +%%BMAN%%man/man1/postcat.1.gz +%%BMAN%%man/man1/postconf.1.gz +%%BMAN%%man/man1/postdrop.1.gz +%%BMAN%%man/man1/postfix.1.gz +%%BMAN%%man/man1/postkick.1.gz +%%BMAN%%man/man1/postlock.1.gz +%%BMAN%%man/man1/postlog.1.gz +%%BMAN%%man/man1/postmap.1.gz +%%BMAN%%man/man1/postmulti.1.gz +%%BMAN%%man/man1/postqueue.1.gz +%%BMAN%%man/man1/postsuper.1.gz +%%BMAN%%man/man1/posttls-finger.1.gz +%%TEST%%%%BMAN%%man/man1/qmqp-sink.1.gz +%%TEST%%%%BMAN%%man/man1/qmqp-source.1.gz +%%BMAN%%man/man1/qshape.1.gz +%%BMAN%%man/man1/sendmail.1.gz +%%TEST%%%%BMAN%%man/man1/smtp-sink.1.gz +%%TEST%%%%BMAN%%man/man1/smtp-source.1.gz +%%BMAN%%man/man5/access.5.gz +%%BMAN%%man/man5/aliases.5.gz +%%BMAN%%man/man5/body_checks.5.gz +%%BMAN%%man/man5/bounce.5.gz +%%BMAN%%man/man5/canonical.5.gz +%%BMAN%%man/man5/cidr_table.5.gz +%%BMAN%%man/man5/generic.5.gz +%%BMAN%%man/man5/header_checks.5.gz +%%BMAN%%man/man5/ldap_table.5.gz +%%BMAN%%man/man5/lmdb_table.5.gz +%%BMAN%%man/man5/master.5.gz +%%BMAN%%man/man5/memcache_table.5.gz +%%BMAN%%man/man5/mysql_table.5.gz +%%BMAN%%man/man5/nisplus_table.5.gz +%%BMAN%%man/man5/pcre_table.5.gz +%%BMAN%%man/man5/pgsql_table.5.gz +%%BMAN%%man/man5/postconf.5.gz +%%BMAN%%man/man5/postfix-wrapper.5.gz +%%BMAN%%man/man5/regexp_table.5.gz +%%BMAN%%man/man5/relocated.5.gz +%%BMAN%%man/man5/socketmap_table.5.gz +%%BMAN%%man/man5/sqlite_table.5.gz +%%BMAN%%man/man5/tcp_table.5.gz +%%BMAN%%man/man5/transport.5.gz +%%BMAN%%man/man5/virtual.5.gz +%%BMAN%%man/man8/anvil.8.gz +%%BMAN%%man/man8/bounce.8.gz +%%BMAN%%man/man8/cleanup.8.gz +%%BMAN%%man/man8/defer.8.gz +%%BMAN%%man/man8/discard.8.gz +%%BMAN%%man/man8/dnsblog.8.gz +%%BMAN%%man/man8/error.8.gz +%%BMAN%%man/man8/flush.8.gz +%%BMAN%%man/man8/lmtp.8.gz +%%BMAN%%man/man8/local.8.gz +%%BMAN%%man/man8/master.8.gz +%%BMAN%%man/man8/oqmgr.8.gz +%%BMAN%%man/man8/pickup.8.gz +%%BMAN%%man/man8/pipe.8.gz +%%BMAN%%man/man8/postscreen.8.gz +%%BMAN%%man/man8/proxymap.8.gz +%%BMAN%%man/man8/qmgr.8.gz +%%BMAN%%man/man8/qmqpd.8.gz +%%BMAN%%man/man8/scache.8.gz +%%BMAN%%man/man8/showq.8.gz +%%BMAN%%man/man8/smtp.8.gz +%%BMAN%%man/man8/smtpd.8.gz +%%BMAN%%man/man8/spawn.8.gz +%%BMAN%%man/man8/tlsmgr.8.gz +%%BMAN%%man/man8/tlsproxy.8.gz +%%BMAN%%man/man8/trace.8.gz +%%BMAN%%man/man8/trivial-rewrite.8.gz +%%BMAN%%man/man8/verify.8.gz +%%BMAN%%man/man8/virtual.8.gz +sbin/postalias +sbin/postcat +sbin/postconf +@(,maildrop,2755) sbin/postdrop +sbin/postfix +sbin/postkick +sbin/postlock +sbin/postlog +sbin/postmap +sbin/postmulti +@(,maildrop,2755) sbin/postqueue +sbin/postsuper +sbin/posttls-finger +sbin/sendmail +%%DATADIR%%/mailer.conf.postfix +@dir %%PFETC%% +@dir(postfix,,700) /var/db/postfix +@dir(postfix,,700) /var/spool/postfix/active +@dir(postfix,,700) /var/spool/postfix/bounce +@dir(postfix,,700) /var/spool/postfix/corrupt +@dir(postfix,,700) /var/spool/postfix/defer +@dir(postfix,,700) /var/spool/postfix/deferred +@dir(postfix,,700) /var/spool/postfix/flush +@dir(postfix,,700) /var/spool/postfix/hold +@dir(postfix,,700) /var/spool/postfix/incoming +@dir(postfix,maildrop,730) /var/spool/postfix/maildrop +@dir(,postfix,755) /var/spool/postfix/pid +@dir(postfix,,700) /var/spool/postfix/private +@dir(postfix,maildrop,710) /var/spool/postfix/public +@dir(postfix,,700) /var/spool/postfix/saved +@dir(postfix,,700) /var/spool/postfix/trace +@dir(,,755) /var/spool/postfix |