1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-19 03:52:17 +00:00

- update to 2.12-20141228

- use new AUXLIBS_(CDB|LDAP|LMDB|MYSQL|PCRE|PGSQL) build instructions
- use OPTIONS_SUB
- install posttls-finger
- build dynamic AUXLIBS (shared=yes and dynamicmaps=yes)
- set META_DIRECTORY to DAEMONDIR (this may change in future to ETCDIR)

Parts from HISTORY (heavily shortened)

20141126
	Cleanup: report nullmx DNS records as "domain does not
	accept mail", instead of "invalid DNS response".  The Postfix
	SMTP client already bounced mail for such domains, and the
	Postfix SMTP server already rejected such domains with
	reject_unknown_sender/recipient_domain. This introduces a
	new SMTP server configuration parameter nullmx_reject_code
	(default: 556).

20141127
	Feature: DNS reply filter, configured with smtp_dns_reply_filter,

20141130
	Cleanup: when searching multiple DNS record types for a
	specific name, and not all queries return the same result
	status, do not blindly return the last query's rcode and
	diagnostic text.  Instead, return rcode and text that is
	consistent with the aggregate result status.

	Documentation: added note on Milter-signing bounces.

20141202
	Cleanup: to increase clarity. rename DNS result status from
	DNS_UNAVAIL to DNS_NULLMX. If someone uses the same zero-length
	name trick with some other resource type, then we will worry
	about that later.

20141203
	Feature: support to match UTF8 domain names against ASCII
	names in TLS certificates.

20141212
	Cleanup: nullmx SMTP reply codes 550 and 556, and enhanced
	status codes X.1.10 and X.7.27. The nullmx SMTP reply codes
	are no longer configurable.

20141224
	Cleanup: the compile-time argument typechecks for attribute-value
	APIs are now by default implemented with inline functions.
	Compile with -DNO_INLINE to implement the argument typechecks
	with ternary operators and unreachable assignments.

20141227
	Feature: smtp_address_verify_target (default: rcpt) that
	determines what protocol stage decides if a recipient is
	valid. Specify "data" for servers that reject recipients
	after the DATA command.

20141228
	Cleanup: the IDNA conversion routines now accept both
	ASCII and UTF8 inputs. The functions als verify that
	either their result is a valid ASCII domain name or that
	it converts into a valid ASCII domain name.

Approved by:	sahil (implicit)
This commit is contained in:
Olli Hauer 2015-01-11 21:05:21 +00:00
parent fefb6d9c12
commit 803871c6ee
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=376803
5 changed files with 68 additions and 38 deletions

View File

@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= postfix
DISTVERSION= 2.12-20141106
PORTREVISION= 1
DISTVERSION= 2.12-20141228
PORTEPOCH= 4
CATEGORIES= mail ipv6
MASTER_SITES= ftp://ftp.porcupine.org/mirrors/postfix-release/experimental/ \
@ -37,6 +36,7 @@ USE_SUBMAKE= yes
USE_PERL5= build
SCRIPTS_ENV+= POSTFIX_DEFAULT_MTA="${POSTFIX_DEFAULT_MTA}"
OPTIONS_SUB= yes
OPTIONS_DEFINE= BDB CDB DOCS EAI INST_BASE LDAP_SASL LMDB MYSQL NIS \
OPENLDAP PCRE PGSQL SASL2 SPF SQLITE TEST TLS VDA
@ -96,10 +96,10 @@ PKGNAMESUFFIX= -base
PREFIX= /usr
ETCDIR= /etc/postfix
USE_RCORDER= postfix
PLIST_SUB+= BASE="" BMAN="share/"
PLIST_SUB+= BMAN="share/"
.else
USE_RC_SUBR= postfix
PLIST_SUB+= BASE="@comment " BMAN=""
PLIST_SUB+= BMAN=""
.endif
PLIST_SUB+= PFETC=${ETCDIR}
@ -111,14 +111,20 @@ READMEDIR= ${DOCSDIR}
READMEDIR= no
.endif
# dynamic direcory location
DAEMONDIR= ${PREFIX}/libexec/postfix
SHLIB_DIRECTORY=${PREFIX}/lib/postfix
# new proposed location is ETCDIR (see README_FILES/INSTALL)
# keep compatiblity with Postfix 2.6 .. 2.11 and use DAEMOMDIR
META_DIRECTORY= ${DAEMONDIR}
SUB_LIST+= REQUIRE="${_REQUIRE}" READMEDIR="${READMEDIR}" DAEMONDIR="${DAEMONDIR}"
SUB_LIST+= REQUIRE="${_REQUIRE}" READMEDIR="${READMEDIR}" \
DAEMONDIR="${DAEMONDIR}" META_DIRECTORY="${META_DIRECTORY}"
SUB_FILES+= pkg-install pkg-message
POSTFIX_CCARGS+= -DDEF_CONFIG_DIR=\\\"${ETCDIR}\\\" \
-DDEF_DAEMON_DIR=\\\"${DAEMONDIR}\\\" \
-DDEF_META_DIR=\\\"${DAEMONDIR}\\\" \
-DDEF_META_DIR=\\\"${META_DIRECTORY}\\\" \
-DDEF_COMMAND_DIR=\\\"${PREFIX}/sbin\\\" \
-DDEF_SENDMAIL_PATH=\\\"${PREFIX}/sbin/sendmail\\\" \
-DDEF_NEWALIAS_PATH=\\\"${PREFIX}/bin/newaliases\\\" \
@ -146,7 +152,7 @@ POSTFIX_CCARGS+= -DNO_EAI
.if ${PORT_OPTIONS:MPCRE}
LIB_DEPENDS+= libpcre.so:${PORTSDIR}/devel/pcre
POSTFIX_CCARGS+= -DHAS_PCRE -I${LOCALBASE}/include
POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -lpcre
POSTFIX_DYN_AUXLIBS+= "AUXLIBS_PCRE=`${LOCALBASE}/bin/pcre-config --libs`"
.else
POSTFIX_CCARGS+= -DNO_PCRE
.endif
@ -179,6 +185,7 @@ POSTFIX_AUXLIBS+= -Wl,--rpath,$${KRB5_HOME:-${LOCALBASE}}/lib -lkrb5 -lcrypto -l
.if ${PORT_OPTIONS:MTLS}
.include "${PORTSDIR}/Mk/bsd.openssl.mk"
POSTFIX_CCARGS+= -DUSE_TLS -I${OPENSSLINC}
# XXX LDFLAGS possible distrubs dynamic building
POSTFIX_AUXLIBS+= -L${OPENSSLLIB} ${LDFLAGS} -lssl -lcrypto
.endif
@ -205,43 +212,43 @@ POSTFIX_AUXLIBS+= -L${BDB_LIB_DIR} -l${BDB_LIB_NAME}
.if ${PORT_OPTIONS:MMYSQL}
USE_MYSQL= yes
POSTFIX_CCARGS+= -DHAS_MYSQL -I${LOCALBASE}/include/mysql
POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib/mysql -lmysqlclient -lz -lcrypt -lm
POSTFIX_DYN_AUXLIBS+= "AUXLIBS_MYSQL=-L${LOCALBASE}/lib/mysql -lmysqlclient -lz -lm"
_REQUIRE+= mysql
.endif
.if ${PORT_OPTIONS:MPGSQL}
USES+= pgsql
POSTFIX_CCARGS+= -DHAS_PGSQL -I${LOCALBASE}/include -I${LOCALBASE}/pgsql/include
POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -L${LOCALBASE}/pgsql/lib -lpq -lcrypt
POSTFIX_CCARGS+= -DHAS_PGSQL -I${LOCALBASE}/include
POSTFIX_DYN_AUXLIBS+= "AUXLIBS_PGSQL=-L${LOCALBASE}/lib -lpq"
_REQUIRE+= postgresql
.endif
.if ${PORT_OPTIONS:MSQLITE}
USE_SQLITE= yes
POSTFIX_CCARGS+= -DHAS_SQLITE -I${LOCALBASE}/include
POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -lsqlite3
POSTFIX_DYN_AUXLIBS+= "AUXLIBS_SQLITE=-L${LOCALBASE}/lib -lsqlite3 -lpthread"
.endif
.if ${PORT_OPTIONS:MOPENLDAP}
USE_OPENLDAP= yes
.if defined(WITH_OPENLDAP_VER)
. if defined(WITH_OPENLDAP_VER)
WANT_OPENLDAP_VER= ${WITH_OPENLDAP_VER}
.endif
. endif
POSTFIX_CCARGS+= -DHAS_LDAP -I${LOCALBASE}/include
POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -lldap -llber
POSTFIX_DYN_AUXLIBS+= "AUXLIBS_LDAP=-L${LOCALBASE}/lib -lldap -L${LOCALBASE}/lib -llber"
_REQUIRE+= slapd
.if ${PORT_OPTIONS:MLDAP_SASL}
.if ! ${PORT_OPTIONS:MSASL2}
. if ${PORT_OPTIONS:MLDAP_SASL}
. if ! ${PORT_OPTIONS:MSASL2}
LIB_DEPENDS+= libsasl2.so:${PORTSDIR}/security/cyrus-sasl2
.endif
. endif
POSTFIX_CCARGS+= -I${LOCALBASE}/include/sasl -DUSE_LDAP_SASL
.endif
. endif
.endif
.if ${PORT_OPTIONS:MCDB}
LIB_DEPENDS+= libcdb.so:${PORTSDIR}/databases/tinycdb
POSTFIX_CCARGS+= -DHAS_CDB -I${LOCALBASE}/include
POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -lcdb
POSTFIX_DYN_AUXLIBS+= "AUXLIBS_CDB=-L${LOCALBASE}/lib -lcdb"
.endif
.if ${PORT_OPTIONS:MNIS}
@ -264,7 +271,7 @@ PLIST_SUB+= TEST="@comment "
.if ${PORT_OPTIONS:MLMDB}
LIB_DEPENDS+= liblmdb.so:${PORTSDIR}/databases/lmdb
POSTFIX_CCARGS+= -DHAS_LMDB -I${LOCALBASE}/include
POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -llmdb
POSTFIX_DYN_AUXLIBS+= "AUXLIBS_LMDB=-L${LOCALBASE}/lib -llmdb"
.endif
# sed script for files in ${WRKSRC}/README_FILES ${WRKSRC}/conf ${WRKSRC}/man
@ -318,10 +325,17 @@ post-patch:
@${REINPLACE_CMD} -E -e '${REINPLACE}' \
${WRKSRC}/README_FILES/SPF_README
.endif
@${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
do-configure:
(cd ${WRKSRC} && ${MAKE} -f Makefile.init makefiles ${MAKEFILEFLAGS} \
CCARGS="${POSTFIX_CCARGS}" AUXLIBS="${POSTFIX_AUXLIBS}" && \
(cd ${WRKSRC} && ${MAKE} -f Makefile.init makefiles \
${MAKEFILEFLAGS} CCARGS="${POSTFIX_CCARGS}" \
shared=yes shlib_directory=${SHLIB_DIRECTORY} \
dynamicmaps=yes \
${POSTFIX_DYN_AUXLIBS} AUXLIBS="${POSTFIX_AUXLIBS}" && \
${ECHO} "all: default" >> Makefile)
pre-install:
@ -330,11 +344,13 @@ pre-install:
.endif
do-install:
@(cd ${WRKSRC} && ${SH} postfix-install -non-interactive install_root=${STAGEDIR} tempdir=${WRKDIR} \
@(cd ${WRKSRC} && ${MAKE} non-interactive-package \
install_root=${STAGEDIR} tempdir=${WRKDIR} \
shlib_directory=${SHLIB_DIRECTORY} \
config_directory=${ETCDIR} \
command_directory=${PREFIX}/sbin \
daemon_directory=${DAEMONDIR} \
meta_directory=${DAEMONDIR} \
meta_directory=${META_DIRECTORY} \
html_directory=${READMEDIR} \
mailq_path=${PREFIX}/bin/mailq \
manpage_directory=${MANPREFIX}/man \
@ -354,8 +370,9 @@ do-install:
post-install:
# Fix compressed man pages and strip executables
${REINPLACE_CMD} -i '' -E -e "s|(man[158]/.*.[158]):|\1.gz:|g" ${STAGEDIR}${DAEMONDIR}/postfix-files
${REINPLACE_CMD} -i '' -E -e "s|(man[158]/.*.[158]):|\1.gz:|g" ${STAGEDIR}${META_DIRECTORY}/postfix-files
-@${STRIP_CMD} ${STRIP_LIBEXEC:S|^|${STAGEDIR}${PREFIX}/libexec/postfix/|}
-@${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/*
-@${STRIP_CMD} ${STAGEDIR}${SHLIB_DIRECTORY}/*.so
.include <bsd.port.mk>

View File

@ -1,2 +1,2 @@
SHA256 (postfix/postfix-2.12-20141106.tar.gz) = 1491bab76c8fbe56f77f763a07bdc627365958babc85dab20a8b124b69608021
SIZE (postfix/postfix-2.12-20141106.tar.gz) = 4185630
SHA256 (postfix/postfix-2.12-20141228.tar.gz) = e9a6fc4dc8aab6cdbfff15aff58c15bd1839ce294c53afb032f2d1c4b29ddddc
SIZE (postfix/postfix-2.12-20141228.tar.gz) = 4236173

View File

@ -1,11 +1,9 @@
--- src/util/sys_defs.h.orig 2013-10-27 02:03:59.000000000 +0000
+++ src/util/sys_defs.h 2013-10-27 02:04:50.000000000 +0000
@@ -25,7 +25,8 @@
*/
--- src/util/sys_defs.h.orig 2014-12-25 22:33:02 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(FREEBSD8) || defined(FREEBSD9) || defined(FREEBSD10) \
|| defined(FREEBSD8) || defined(FREEBSD9) || defined(FREEBSD10) \
+ || defined(FREEBSD11) \
|| defined(BSDI2) || defined(BSDI3) || defined(BSDI4) \
|| defined(OPENBSD2) || defined(OPENBSD3) || defined(OPENBSD4) \

View File

@ -10,6 +10,7 @@
PREFIX=${PKG_PREFIX:=%%PREFIX%%}
ETCDIR=${ETCDIR:=%%ETCDIR%%}
DAEMONDIR=${DAEMONDIR:=%%DAEMONDIR%%}
META_DIRECTORY=${META_DIRECTORY:=%%META_DIRECTORY%%}
READMEDIR=${READMEDIR:=%%READMEDIR%%}
BATCH=${BATCH:=no}
POSTFIX_DEFAULT_MTA=${POSTFIX_DEFAULT_MTA:=no}
@ -72,7 +73,7 @@ if [ "$2" = "POST-INSTALL" ]; then
daemon_directory=${DAEMONDIR} \
html_directory=${READMEDIR} \
readme_directory=${READMEDIR} \
meta_directory=${DAEMONDIR} \
meta_directory=${META_DIRECTORY} \
set-permissions ${POSTARG}
fi

View File

@ -8,17 +8,30 @@ bin/qshape
bin/rmail
%%TEST%%bin/smtp-sink
%%TEST%%bin/smtp-source
%%BASE%%@cwd /
%%INST_BASE%%@cwd /
etc/postfix/LICENSE
etc/postfix/TLS_LICENSE
etc/postfix/bounce.cf.default
etc/postfix/main.cf.default
@cwd %%RESETPREFIX%%
lib/postfix/libpostfix-dns.so
lib/postfix/libpostfix-global.so
lib/postfix/libpostfix-master.so
lib/postfix/libpostfix-tls.so
lib/postfix/libpostfix-util.so
%%CDB%%lib/postfix/postfix-cdb.so
%%OPENLDAP%%lib/postfix/postfix-ldap.so
%%LMDB%%lib/postfix/postfix-lmdb.so
%%MYSQL%%lib/postfix/postfix-mysql.so
%%PCRE%%lib/postfix/postfix-pcre.so
%%PGSQL%%lib/postfix/postfix-pgsql.so
%%SQLITE%%lib/postfix/postfix-sqlite.so
libexec/postfix/anvil
libexec/postfix/bounce
libexec/postfix/cleanup
libexec/postfix/discard
libexec/postfix/dnsblog
libexec/postfix/dynamicmaps.cf
libexec/postfix/error
libexec/postfix/flush
libexec/postfix/lmtp
@ -64,6 +77,7 @@ libexec/postfix/virtual
%%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
@ -140,8 +154,11 @@ sbin/postqueue
@group
@mode
sbin/postsuper
sbin/posttls-finger
sbin/sendmail
@dir libexec/postfix/dynamicmaps.cf.d
@dir libexec/postfix/postfix-files.d
@dir %%PFETC%%
@dir /var/db/postfix
@dir(postfix,,700) /var/spool/postfix/active
@dir(postfix,,700) /var/spool/postfix/bounce
@ -158,6 +175,3 @@ sbin/sendmail
@dir(postfix,,700) /var/spool/postfix/saved
@dir(postfix,,700) /var/spool/postfix/trace
@dir(,,755) /var/spool/postfix
%%BASE%%@cwd /
@dir etc/postfix
@cwd %%RESETPREFIX%%