@@ -, +, @@ --- mail/Makefile | 1 - mail/postfix-current-sasl/Makefile | 12 -- mail/postfix-current/Makefile | 207 +++++++++++++++++------------ 3 files changed, 119 insertions(+), 101 deletions(-) delete mode 100644 mail/postfix-current-sasl/Makefile --- b/mail/Makefile +++ b/mail/Makefile @@ -468,7 +468,6 @@ SUBDIR += postfinger SUBDIR += postfix SUBDIR += postfix-current - SUBDIR += postfix-current-sasl SUBDIR += postfix-ldap-sasl SUBDIR += postfix-logwatch SUBDIR += postfix-policyd-sf --- a/mail/postfix-current-sasl/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -PKGNAMESUFFIX?= -current-sasl - -MAINTAINER= ohauer@FreeBSD.org -COMMENT= Postfix with Cyrus SASL support - -MASTERDIR= ${.CURDIR}/../postfix-current - -OPTIONS_SLAVE= SASL - -SASL_SLAVE= yes - -.include "${MASTERDIR}/Makefile" --- b/mail/postfix-current/Makefile +++ b/mail/postfix-current/Makefile @@ -13,69 +13,106 @@ MASTER_SITES= http://ftp.porcupine.org/mirrors/postfix-release/ \ ftp://postfix.mirrors.pair.com/ MASTER_SITES:= ${MASTER_SITES:S|$|experimental/|} #MASTER_SITES:= ${MASTER_SITES:S|$|official/|} -PKGNAMESUFFIX?= -current +PKGNAMESUFFIX= -current DIST_SUBDIR= ${PORTNAME} MAINTAINER= ohauer@FreeBSD.org -COMMENT= Experimental Postfix version +COMMENT= Experimental Postfix version ${COMMENT_${FLAVOR}} -LICENSE= IPL10 EPL +LICENSE= EPL IPL10 LICENSE_COMB= multi -LICENSE_FILE= ${WRKSRC}/LICENSE LICENSE_NAME_IPL10= IBM PUBLIC LICENSE VERSION 1.0 +LICENSE_FILE= ${WRKSRC}/LICENSE LICENSE_PERMS_IPL10= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept -CONFLICTS_INSTALL?= courier-0.* opensmtpd-[0-9]* sendmail-8.* sendmail+*-8.* \ - postfix35-* postfix-3.* postfix-base-3.* postfix-sasl-3.* +FLAVORS= default ldap_sasl sasl +default_CONFLICTS_INSTALL= courier-0.* opensmtpd-[0-9]* opensmtpd-devel-* \ + postfix-[0-9]* postfix-base-* \ + postfix-current-base-ldab-sasl-* \ + postfix-current-base-sasl-* \ + postfix-current-ldap-sasl-* \ + postfix-current-sasl-* postfix-ldap-sasl-* \ + postfix-sasl-* postfix35-* sendmail-[0-9]* \ + sendmail-devel-* +ldap_sasl_PKGNAMESUFFIX= -current-ldap-sasl +ldap_sasl_CONFLICTS_INSTALL= courier-0.* opensmtpd-[0-9]* opensmtpd-devel-* \ + postfix-[0-9]* postfix-base-* \ + postfix-current-[0-9]* \ + postfix-current-base-[0-9] \ + postfix-current-base-sasl-* \ + postfix-current-sasl-* postfix-ldap-sasl-* \ + postfix-sasl-* postfix35-* sendmail-[0-9]* \ + sendmail-devel-* +sasl_PKGNAMESUFFIX= -current-sasl +sasl_CONFLICTS_INSTALL= courier-0.* opensmtpd-[0-9]* opensmtpd-devel-* \ + postfix-[0-9]* postfix-base-* \ + postfix-current-[0-9]* \ + postfix-current-base-[0-9] \ + postfix-current-base-ldap-sasl-* \ + postfix-current-ldap-sasl-* postfix-ldap-sasl-* \ + postfix-sasl-* postfix35-* sendmail-[0-9]* \ + sendmail-devel-* + +COMMENT_ldap-sasl= (with OpenLDAP and Cyrus SASL support) +COMMENT_sasl= (with Cyrus SASL support) + +USES= cpe shebangfix ssl +USE_RC_SUBR= postfix +USE_SUBMAKE= yes -USERS= postfix -GROUPS= mail maildrop postfix -USES= shebangfix cpe ssl 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 BLACKLISTD CDB DOCS EAI INST_BASE LDAP LDAP_SASL \ - LMDB MYSQL NIS PCRE PGSQL SASL SQLITE TEST TLS +USERS= postfix +GROUPS= mail maildrop postfix -OPTIONS_RADIO= RG1 -OPTIONS_RADIO_RG1= SASLKRB5 SASLKMIT +OPTIONS_DEFINE= BDB BLACKLISTD CDB DOCS EAI INST_BASE LDAP LDAP_SASL \ + LMDB MYSQL NIS PCRE PGSQL SASL SQLITE TEST TLS OPTIONS_DEFAULT?= BLACKLISTD EAI PCRE TLS +OPTIONS_RADIO= RG1 +OPTIONS_RADIO_RG1= SASLKMIT SASLKRB5 +.if ${FLAVOR:U} == ldap_sasl +OPTIONS_SLAVE= LDAP LDAP_SASL SASL +.elif ${FLAVOR:U} == sasl +OPTIONS_SLAVE= SASL +.endif +OPTIONS_SUB= yes -BDB_USES= bdb -BLACKLISTD_EXTRA_PATCHES= ${FILESDIR}/extra-patch-blacklistd -CDB_LIB_DEPENDS= libcdb.so:databases/tinycdb -EAI_LIB_DEPENDS= libicuuc.so:devel/icu -LDAP_USE= OPENLDAP=yes -LMDB_LIB_DEPENDS= liblmdb.so:databases/lmdb -MYSQL_USES?= mysql -PCRE_LIB_DEPENDS= libpcre.so:devel/pcre -PGSQL_USES= pgsql -SASLKMIT_LIB_DEPENDS= libkrb5.so:security/krb5 -SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2 -SQLITE_USES= sqlite +.if !empty(FLAVOR) && ${FLAVOR:U} != default +OPTIONS_FILE= ${PORT_DBDIR}/${OPTIONS_NAME}/${FLAVOR}-options +.endif BLACKLISTD_DESC= Enable blacklistd support (FreeBSD 11.0 and later only) -CDB_DESC= CDB maps lookups -EAI_DESC= Email Address Internationalization (SMTPUTF8) support -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 -TEST_DESC= SMTP/LMTP test server and generator - -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 +CDB_DESC= CDB maps lookups +EAI_DESC= Email Address Internationalization (SMTPUTF8) support +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 +RG1_DESC= Kerberos network authentication protocol type +SASLKMIT_DESC= If your SASL req. MIT Kerberos5, select this +SASLKRB5_DESC= If your SASL req. Kerberos5, select this +SASL_DESC= Cyrus SASL support (Dovecot SASL is always built in) +TEST_DESC= SMTP/LMTP test server and generator + +BDB_USES= bdb +BLACKLISTD_EXTRA_PATCHES= ${FILESDIR}/extra-patch-blacklistd +CDB_LIB_DEPENDS= libcdb.so:databases/tinycdb +EAI_LIB_DEPENDS= libicuuc.so:devel/icu +LDAP_USE= OPENLDAP=yes +LMDB_LIB_DEPENDS= liblmdb.so:databases/lmdb +MYSQL_USES?= mysql +PCRE_LIB_DEPENDS= libpcre.so:devel/pcre +PGSQL_USES= pgsql +SASLKMIT_LIB_DEPENDS= libkrb5.so:security/krb5 +SASL_LIB_DEPENDS= libsasl2.so:security/cyrus-sasl2 +SQLITE_USES= sqlite .include -HTML1= body_checks.5.html bounce.5.html postfix-power.png \ - scache.8.html tlsmgr.8.html +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 postlogd postscreen proxymap \ @@ -93,8 +130,10 @@ BROKEN_FreeBSD_11= error: OpenSSL-1.1.1 is the minimum supported version .endif .if ${PORT_OPTIONS:MINST_BASE} -.if defined(SASL_SLAVE) -PKGNAMESUFFIX= -current-base-sasl +.if ${FLAVOR:U} == ldap_sasl +PKGNAMESUFFIX= -current-base-ldap-sasl2 +.elif ${FLAVOR:U} == sasl +PKGNAMESUFFIX= -current-base-sasl2 .else PKGNAMESUFFIX= -current-base .endif @@ -109,9 +148,11 @@ PLIST_SUB+= PFETC=${ETCDIR} # check if mailwrapper supports $LOCALBASE .if ${OPSYS} == FreeBSD -SUB_LIST+= USE_LOCALBASE_MAILER_CONF="yes" MC_PREFIX="${LOCALBASE}" +SUB_LIST+= MC_PREFIX="${LOCALBASE}" \ + USE_LOCALBASE_MAILER_CONF="yes" .else -SUB_LIST+= USE_LOCALBASE_MAILER_CONF="no" MC_PREFIX="" +SUB_LIST+= MC_PREFIX="" \ + USE_LOCALBASE_MAILER_CONF="no" .endif .if ${PORT_OPTIONS:MDOCS} @@ -122,34 +163,22 @@ READMEDIR= no .endif # dynamic direcory location -DAEMONDIR= ${PREFIX}/libexec/postfix -SHLIB_DIRECTORY=${PREFIX}/lib/postfix +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}" META_DIRECTORY="${META_DIRECTORY}" -SUB_FILES+= pkg-install pkg-message mailer.conf.postfix - -POSTFIX_CCARGS+= -DDEF_CONFIG_DIR=\\\"${ETCDIR}\\\" \ - -DDEF_DAEMON_DIR=\\\"${DAEMONDIR}\\\" \ - -DDEF_META_DIR=\\\"${META_DIRECTORY}\\\" \ - -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 +META_DIRECTORY= ${DAEMONDIR} + +SUB_LIST+= DAEMONDIR="${DAEMONDIR}" \ + META_DIRECTORY="${META_DIRECTORY}" \ + READMEDIR="${READMEDIR}" \ + REQUIRE="${_REQUIRE}" +SUB_FILES+= mailer.conf.postfix pkg-install pkg-message + +POSTFIX_CCARGS+= -DDEF_CONFIG_DIR=\\\"${ETCDIR}\\\" -DDEF_DAEMON_DIR=\\\"${DAEMONDIR}\\\" -DDEF_META_DIR=\\\"${META_DIRECTORY}\\\" -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 +_REQUIRE= LOGIN cleanvar dovecot # always build with Dovecot SASL support, Cyrus is optional # see Postfix HISTORY 20051222 @@ -172,18 +201,21 @@ POSTFIX_CCARGS+= -DNO_PCRE .endif .if ${PORT_OPTIONS:MSASL} -POSTFIX_CCARGS+= -DUSE_CYRUS_SASL -I${LOCALBASE}/include -I${LOCALBASE}/include/sasl +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 +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 +POSTFIX_AUXLIBS+= -Wl,--rpath,$${KRB5_HOME:-${LOCALBASE}}/lib -lkrb5 \ + -lcrypto -lcrypt -lcom_err .endif .if ${PORT_OPTIONS:MTLS} @@ -203,7 +235,7 @@ POSTFIX_AUXLIBS+= -L${BDB_LIB_DIR} -l${BDB_LIB_NAME} . if ${OPSYS} == FreeBSD POSTFIX_AUXLIBS+= -lblacklist . else -IGNORE= blacklistd is only supported on FreeBSD >= 11.0 +IGNORE= blacklistd is only supported on FreeBSD >= 11.0 . endif .endif @@ -267,20 +299,19 @@ POSTFIX_DYN_AUXLIBS+= "AUXLIBS_LMDB=-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;\ +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: --