- update to version 3.0.1

- rename OPTIONS to match default name of most ports
  - SASL2 -> SASL
  - OPENLDAP -> LDAP
- install main.cf and master.cf with the @sample macro
- rework pkg-install
- fix wrong permission for /var/db/postfix [1]
- sets WANT_OPENLDAP_SASL option for openldap port when
  postfix LDAP_SASL option is set [2]
- make usage of new ${opt}_DEPENDS notation

Release 3.0.1 or 3.0.2 is now a strong candidate to become the new
default mail/postfix port (missing components are VDA and SPF).

Changelog:
20150211
	Cleanup: strncasecmp_utf8() streamlining. Files: util/stringops.h,
	util/allascii.c, util/strcasecmp_utf8.c.

20150214
	Bugfix (introduced: Postfix 3.0): missing #ifdef USE_TLS
	inside #ifdef USE_SASL_AUTH.  Viktor Dukhovni. File:
	smtpd/smtpd.c.

20150217
	Cleanup: missing <string.h> include. File: util/allascii.c.

20150221
	Bugfix (introduced: Postfix 3.0): don't append '.' to the
	DNS resource record value, when converting TXT records to
	the string form that is used used by xxx_dns_reply_filter.
	File: dns/dns_strrecord.c.

20150313
	Documentation: incorrect Postfix version number for
	postscreen_dnsbl_timeout. Quanah Gibson-Mount. File:
	postscreen/postscreen.c.

20150324
	Bugfix (introduced: Postfix 2.6): sender_dependent_relayhost_maps
	ignored the relayhost setting in the case of a DUNNO lookup
	result.  It would use the recipient domain instead.  Viktor
	Dukhovni. Wietse took the pieces of code that enforce the
	precedence of a sender-dependent relayhost, the global
	relayhost, and the recipient domain, and put that code
	together in once place so that it is easier to maintain.
	File: trivial-rewrite/resolve.c.

20150328
	Bugfix (introduced: Postfix 1.1.0): post-install expanded
	macros in parameter values when trying to detect parameter
	overrides, causing unnecessary main.cf updates during Postfix
	start-up. Julian Reich, Viktor Dukhovni, and Wietse.  File:
	conf/post-install.

20150330
	Bitrot: prepare for future changes in OpenSSL API. Viktor
	Dukhovni. File: tls_dane.c.

PR:	198215 [1]
PR:	198857 [2]
This commit is contained in:
Olli Hauer 2015-05-10 15:24:31 +00:00
parent 6efaeef862
commit f11c883807
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=385964
4 changed files with 92 additions and 70 deletions

View file

@ -2,7 +2,7 @@
# $FreeBSD$
PORTNAME= postfix
DISTVERSION= 3.0-20150208
DISTVERSION= 3.0-20150410
PORTEPOCH= 4
CATEGORIES= mail ipv6
MASTER_SITES= ftp://ftp.porcupine.org/mirrors/postfix-release/ \
@ -14,7 +14,7 @@ MASTER_SITES= ftp://ftp.porcupine.org/mirrors/postfix-release/ \
#MASTER_SITES:= ${MASTER_SITES:S|$|experimental/|}
MASTER_SITES:= ${MASTER_SITES:S|$|official/|}
PKGNAMESUFFIX= -current
DISTNAME= ${PORTNAME}-3.0.0
DISTNAME= ${PORTNAME}-3.0.1
DIST_SUBDIR= ${PORTNAME}
MAINTAINER= ohauer@FreeBSD.org
@ -26,7 +26,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
CONFLICTS_INSTALL?= courier-0.* opensmtpd-[0-9]* \
postfix-2.* postfix-base-2.* postfix2[789]-* \
postfix-2.* postfix-base-2.* \
postfix21?-* postfix-tls-* \
sendmail-8.* sendmail+*-8.* smail-3.* zmailer-2.*
@ -41,37 +41,44 @@ 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
OPTIONS_DEFINE= BDB CDB DOCS EAI INST_BASE LDAP LDAP_SASL LMDB MYSQL \
NIS PCRE PGSQL SASL SPF SQLITE TEST TLS VDA
OPTIONS_RADIO= RG1 RG2
OPTIONS_RADIO_RG1= DOVECOT DOVECOT2
OPTIONS_RADIO_RG2= SASLKRB5 SASLKMIT
OPTIONS_DEFAULT= PCRE TLS
PCRE_DESC= Perl Compatible Regular Expressions
BDB_USE= BDB=yes
CDB_LIB_DEPENDS= libcdb.so:${PORTSDIR}/databases/tinycdb
EAI_LIB_DEPENDS= libicuuc.so:${PORTSDIR}/devel/icu
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_USE= SQLITE=yes
TLS_USE= OPENSSL=yes
CDB_DESC= CDB maps lookups
EAI_DESC= Email Address Internationalization (EAI, RFC 6531..6533)
SASL2_DESC= Cyrus SASLv2 (Simple Auth. and Sec. Layer)
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 32Bit)
RG1_DESC= Dovecot SASL authentication methods
DOVECOT_DESC= Dovecot 1.x SASL authentication method
DOVECOT2_DESC= Dovecot 2.x SASL authentication method
RG2_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
TLS_DESC= SSL and TLS support
BDB_DESC= Berkeley DB (uses WITH_BDB_VER)
MYSQL_DESC= MySQL maps (uses WITH_MYSQL_VER)
PGSQL_DESC= PostgreSQL maps (uses DEFAULT_PGSQL_VER)
SQLITE_DESC= SQLite maps
OPENLDAP_DESC= OpenLDAP maps (uses WITH_OPENLDAP_VER)
LDAP_SASL_DESC= OpenLDAP client-to-server SASL auth
CDB_DESC= CDB maps lookups
NIS_DESC= NIS maps lookups
VDA_DESC= VDA (Virtual Delivery Agent 32Bit)
TEST_DESC= SMTP/LMTP test server and generator
SPF_DESC= SPF support (via libspf2 1.2.x)
INST_BASE_DESC= Install into /usr and /etc/postfix
LMDB_DESC= LMDB maps
RG1_DESC= Dovecot SASL authentication methods
RG2_DESC= Kerberos network authentication protocol type
.include <bsd.port.options.mk>
@ -146,7 +153,6 @@ POSTFIX_CCARGS+= -DDEF_CONFIG_DIR=\\\"${ETCDIR}\\\" \
_REQUIRE= LOGIN cleanvar
.if ${PORT_OPTIONS:MEAI}
LIB_DEPENDS+= libicuuc.so:${PORTSDIR}/devel/icu
POSTFIX_CCARGS+= -DHAS_EAI -I${LOCALBASE}/include
POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -licuuc
.else
@ -154,15 +160,14 @@ POSTFIX_CCARGS+= -DNO_EAI
.endif
.if ${PORT_OPTIONS:MPCRE}
LIB_DEPENDS+= libpcre.so:${PORTSDIR}/devel/pcre
DYN_EXT+= pcre
POSTFIX_CCARGS+= -DHAS_PCRE -I${LOCALBASE}/include
POSTFIX_DYN_AUXLIBS+= "AUXLIBS_PCRE=`${LOCALBASE}/bin/pcre-config --libs`"
.else
POSTFIX_CCARGS+= -DNO_PCRE
.endif
.if ${PORT_OPTIONS:MSASL2}
LIB_DEPENDS+= libsasl2.so:${PORTSDIR}/security/cyrus-sasl2
.if ${PORT_OPTIONS:MSASL}
POSTFIX_CCARGS+= -DUSE_SASL_AUTH -DUSE_CYRUS_SASL -I${LOCALBASE}/include -I${LOCALBASE}/include/sasl
POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -lsasl2 -lpam -lcrypt
.endif
@ -182,12 +187,10 @@ POSTFIX_AUXLIBS+= -lkrb5 -lhx509 -lcrypto -lcrypt -lcom_err -lasn1 -lroken
.endif
.if ${PORT_OPTIONS:MSASLKMIT}
LIB_DEPENDS+= libkrb5.so:${PORTSDIR}/security/krb5
POSTFIX_AUXLIBS+= -Wl,--rpath,$${KRB5_HOME:-${LOCALBASE}}/lib -lkrb5 -lcrypto -lcrypt -lcom_err
.endif
.if ${PORT_OPTIONS:MTLS}
USE_OPENSSL= yes
POSTFIX_CCARGS+= -DUSE_TLS -I${OPENSSLINC}
# XXX LDFLAGS possible breaks dynamic building
POSTFIX_AUXLIBS+= -L${OPENSSLLIB} ${LDFLAGS} -lssl -lcrypto
@ -197,7 +200,6 @@ POSTFIX_CCARGS+= -DNO_TLS
.if ${PORT_OPTIONS:MSPF}
BROKEN= At the moment, SPF support is unavailable for ${PORTNAME}-${DISTVERSION}
LIB_DEPENDS+= libspf2.so:${PORTSDIR}/mail/libspf2
PATCH_SITES+= ${MASTER_SITE_LOCAL}
PATCH_SITE_SUBDIR= mm
PATCHFILES+= postfix-2.8.0-libspf2-1.2.x-0.patch.gz
@ -207,33 +209,32 @@ POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -lspf2
.endif
.if ${PORT_OPTIONS:MBDB}
USE_BDB= yes
POSTFIX_CCARGS+= -I${BDB_INCLUDE_DIR}
POSTFIX_AUXLIBS+= -L${BDB_LIB_DIR} -l${BDB_LIB_NAME}
.endif
.if ${PORT_OPTIONS:MMYSQL}
USE_MYSQL= yes
DYN_EXT+= mysql
POSTFIX_CCARGS+= -DHAS_MYSQL -I${LOCALBASE}/include/mysql
POSTFIX_DYN_AUXLIBS+= "AUXLIBS_MYSQL=-L${LOCALBASE}/lib/mysql -lmysqlclient -lz -lm"
_REQUIRE+= mysql
.endif
.if ${PORT_OPTIONS:MPGSQL}
USES+= pgsql
DYN_EXT+= pgsql
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
DYN_EXT+= sqlite
POSTFIX_CCARGS+= -DHAS_SQLITE -I${LOCALBASE}/include
POSTFIX_DYN_AUXLIBS+= "AUXLIBS_SQLITE=-L${LOCALBASE}/lib -lsqlite3 -lpthread"
.endif
.if ${PORT_OPTIONS:MOPENLDAP}
USE_OPENLDAP= yes
.if ${PORT_OPTIONS:MLDAP}
DYN_EXT+= ldap
. if defined(WITH_OPENLDAP_VER)
WANT_OPENLDAP_VER= ${WITH_OPENLDAP_VER}
. endif
@ -241,15 +242,16 @@ POSTFIX_CCARGS+= -DHAS_LDAP -I${LOCALBASE}/include
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: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}
LIB_DEPENDS+= libcdb.so:${PORTSDIR}/databases/tinycdb
DYN_EXT+= cdb
POSTFIX_CCARGS+= -DHAS_CDB -I${LOCALBASE}/include
POSTFIX_DYN_AUXLIBS+= "AUXLIBS_CDB=-L${LOCALBASE}/lib -lcdb"
.endif
@ -269,7 +271,7 @@ MANTEST= qmqp-sink.1 qmqp-source.1 smtp-sink.1 smtp-source.1
.endif
.if ${PORT_OPTIONS:MLMDB}
LIB_DEPENDS+= liblmdb.so:${PORTSDIR}/databases/lmdb
DYN_EXT+= lmdb
POSTFIX_CCARGS+= -DHAS_LMDB -I${LOCALBASE}/include
POSTFIX_DYN_AUXLIBS+= "AUXLIBS_LMDB=-L${LOCALBASE}/lib -llmdb"
.endif
@ -292,10 +294,10 @@ REINPLACE= s!^PATH=.*!PATH=/bin:/sbin:/usr/bin:/usr/sbin:${PREFIX}/bin:${PREFIX}
s!($config_directory/(access|aliases|canonical|generic|header_checks|relocated|transport|virtual):f:root:-:644:)p1!\1o!;
pre-patch:
.if ${PORT_OPTIONS:MSASL2} && ! ${PORT_OPTIONS:MMYSQL} && exists(${LOCALBASE}/lib/libsasl2.a)
.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 SASL2 library it's compiled with MYSQL"; \
${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"; \
@ -359,8 +361,6 @@ do-install:
readme_directory=${READMEDIR} \
sendmail_path=${PREFIX}/sbin/sendmail )
# == do not overwrite existing config
${RM} ${STAGEDIR}${ETCDIR}/main.cf ${STAGEDIR}${ETCDIR}/master.cf
${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
@ -369,10 +369,31 @@ do-install:
${INSTALL_MAN} ${MANTEST:S|^|${WRKSRC}/man/man1/|} ${STAGEDIR}${MANPREFIX}/man/man1
.endif
post-install:
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
# == chop dynamicmaps.cf entries into dedicated .cf files
# for future sub-packages support
.for f in ${DYN_EXT}
# adjust dynamicmaps.cf
${GREP} -e "^#" -e "^${f}" ${STAGEDIR}${META_DIRECTORY}/dynamicmaps.cf \
> ${STAGEDIR}${META_DIRECTORY}/dynamicmaps.cf.d/${f}.cf && \
${SED} -i '' -e '/${f}/d' ${STAGEDIR}${META_DIRECTORY}/dynamicmaps.cf
# adjust / generate postfix-files for dynamic modules
${SED} -i '' -e '/postfix-${f}.so/d' ${STAGEDIR}${META_DIRECTORY}/postfix-files && \
${PRINTF} '# Do not edit this file.\
\n$$shlib_directory/postfix-${f}.so:f:root:-:755\
\n$$meta_directory/postfix-files.d/${f}-files:f:root:-:644\
\n$$meta_directory/dynamicmaps.cf.d/${f}.cf:f:root:-:644\n' \
> ${STAGEDIR}${META_DIRECTORY}/postfix-files.d/${f}-files
.endfor
# Fix compressed man pages and strip executables
${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/|}
${SED} -i '' -E -e "s|(man[158]/.*.[158]):|\1.gz:|g" ${STAGEDIR}${META_DIRECTORY}/postfix-files
-@${STRIP_CMD} ${STRIP_LIBEXEC:S|^|${STAGEDIR}${DAEMONDIR}/|}
-@${STRIP_CMD} ${STAGEDIR}${PREFIX}/sbin/*
-@${STRIP_CMD} ${STAGEDIR}${SHLIB_DIRECTORY}/*.so

View file

@ -1,2 +1,2 @@
SHA256 (postfix/postfix-3.0.0.tar.gz) = c2f2f10aa3e6b7090ba979e9c515e42b3140c5c1c17a33d58787569df7ae0955
SIZE (postfix/postfix-3.0.0.tar.gz) = 4239248
SHA256 (postfix/postfix-3.0.1.tar.gz) = cd2bd6447fe3368bb1a39f482f8dd1eec87c63067a0eb75f9aec8e4eadd21328
SIZE (postfix/postfix-3.0.1.tar.gz) = 4265677

View file

@ -58,23 +58,12 @@ yesno() {
}
if [ "$2" = "POST-INSTALL" ]; then
SAMPLES="main.cf master.cf"
for file in $SAMPLES
do
if [ ! -f ${ETCDIR}/$file ]; then
cp ${DAEMONDIR}/$file.proto ${ETCDIR}/$file
fi
done
cmp ${DAEMONDIR}/main.cf.proto ${ETCDIR}/main.cf >/dev/null 2>&1 \
|| POSTARG="upgrade-package"
/bin/sh ${DAEMONDIR}/post-install tempdir=/tmp \
daemon_directory=${DAEMONDIR} \
meta_directory=${META_DIRECTORY} \
html_directory=${READMEDIR} \
readme_directory=${READMEDIR} \
meta_directory=${META_DIRECTORY} \
set-permissions ${POSTARG}
upgrade-package
fi
if [ "$2" = "POST-INSTALL" -a -z "${PACKAGE_BUILDING}" -a -f "${MC}" ]; then

View file

@ -1,5 +1,3 @@
@unexec if cmp -s %D/libexec/postfix/main.cf.proto %%PFETC%%/main.cf; then rm -f %%PFETC%%/main.cf; fi
@unexec if cmp -s %D/libexec/postfix/master.cf.proto %%PFETC%%/master.cf; then rm -f %%PFETC%%/master.cf; fi
bin/mailq
bin/newaliases
%%TEST%%bin/qmqp-sink
@ -8,19 +6,19 @@ bin/qshape
bin/rmail
%%TEST%%bin/smtp-sink
%%TEST%%bin/smtp-source
%%INST_BASE%%@cwd /
etc/postfix/LICENSE
etc/postfix/TLS_LICENSE
etc/postfix/bounce.cf.default
etc/postfix/main.cf.default
@cwd %%RESETPREFIX%%
%%PFETC%%/LICENSE
%%PFETC%%/TLS_LICENSE
%%PFETC%%/bounce.cf.default
%%PFETC%%/main.cf.default
@sample %%PFETC%%/main.cf.sample
@sample %%PFETC%%/master.cf.sample
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
%%LDAP%%lib/postfix/postfix-ldap.so
%%LMDB%%lib/postfix/postfix-lmdb.so
%%MYSQL%%lib/postfix/postfix-mysql.so
%%PCRE%%lib/postfix/postfix-pcre.so
@ -32,6 +30,13 @@ libexec/postfix/cleanup
libexec/postfix/discard
libexec/postfix/dnsblog
libexec/postfix/dynamicmaps.cf
%%CDB%%libexec/postfix/dynamicmaps.cf.d/cdb.cf
%%LDAP%%libexec/postfix/dynamicmaps.cf.d/ldap.cf
%%LMDB%%libexec/postfix/dynamicmaps.cf.d/lmdb.cf
%%MYSQL%%libexec/postfix/dynamicmaps.cf.d/mysql.cf
%%PCRE%%libexec/postfix/dynamicmaps.cf.d/pcre.cf
%%PGSQL%%libexec/postfix/dynamicmaps.cf.d/pgsql.cf
%%SQLITE%%libexec/postfix/dynamicmaps.cf.d/sqlite.cf
libexec/postfix/error
libexec/postfix/flush
libexec/postfix/lmtp
@ -46,6 +51,13 @@ libexec/postfix/pickup
libexec/postfix/pipe
libexec/postfix/post-install
libexec/postfix/postfix-files
%%CDB%%libexec/postfix/postfix-files.d/cdb-files
%%LDAP%%libexec/postfix/postfix-files.d/ldap-files
%%LMDB%%libexec/postfix/postfix-files.d/lmdb-files
%%MYSQL%%libexec/postfix/postfix-files.d/mysql-files
%%PCRE%%libexec/postfix/postfix-files.d/pcre-files
%%PGSQL%%libexec/postfix/postfix-files.d/pgsql-files
%%SQLITE%%libexec/postfix/postfix-files.d/sqlite-files
libexec/postfix/postfix-script
libexec/postfix/postfix-wrapper
libexec/postfix/postmulti-script