git: a5beb688f7ab - main - mail/postfix-current{,-sasl}: Flavorize
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 28 Oct 2021 00:07:23 UTC
The branch main has been updated by yasu: URL: https://cgit.FreeBSD.org/ports/commit/?id=a5beb688f7ab952880e1018d6a11f9b41007882d commit a5beb688f7ab952880e1018d6a11f9b41007882d Author: Yasuhiro Kimura <yasu@FreeBSD.org> AuthorDate: 2021-05-06 01:07:46 +0000 Commit: Yasuhiro Kimura <yasu@FreeBSD.org> CommitDate: 2021-10-28 00:06:28 +0000 mail/postfix-current{,-sasl}: Flavorize * Add entry for slave port to MOVED * Pet portlint and portclippy * Reformat Makefile with portfmt PR: 255647 Approved by: maintainer timeout (> 2 months) Differential Revision: https://reviews.freebsd.org/D32362 --- MOVED | 1 + mail/Makefile | 1 - mail/postfix-current-sasl/Makefile | 12 --- mail/postfix-current/Makefile | 202 ++++++++++++++++++++----------------- 4 files changed, 113 insertions(+), 103 deletions(-) diff --git a/MOVED b/MOVED index 596282571612..f84665436f30 100644 --- a/MOVED +++ b/MOVED @@ -16586,3 +16586,4 @@ devel/google-gdata||2021-10-27|Has expired: Google is no longer using GoogleData net/irrd-legacy|net/irrd|2021-10-27|Has expired: Use net/irrd mail/postfix-ldap-sasl|mail/postfix@ldap|2021-10-28|Converted to flavor mail/postfix-sasl|mail/postfix@sasl|2021-10-28|Converted to flavor +mail/postfix-current-sasl|mail/postfix-current@sasl|2021-10-28|Converted to flavor diff --git a/mail/Makefile b/mail/Makefile index 6178c099db96..fe52f7df0018 100644 --- a/mail/Makefile +++ b/mail/Makefile @@ -468,7 +468,6 @@ SUBDIR += postfinger SUBDIR += postfix SUBDIR += postfix-current - SUBDIR += postfix-current-sasl SUBDIR += postfix-logwatch SUBDIR += postfix-policyd-sf SUBDIR += postfix-policyd-spf-perl diff --git a/mail/postfix-current-sasl/Makefile b/mail/postfix-current-sasl/Makefile deleted file mode 100644 index 114dd6ab3104..000000000000 --- a/mail/postfix-current-sasl/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -PKGNAMESUFFIX?= -current-sasl - -MAINTAINER= otis@FreeBSD.org -COMMENT= Postfix with Cyrus SASL support - -MASTERDIR= ${.CURDIR}/../postfix-current - -OPTIONS_SLAVE= SASL - -SASL_SLAVE= yes - -.include "${MASTERDIR}/Makefile" diff --git a/mail/postfix-current/Makefile b/mail/postfix-current/Makefile index deeb92d4f18c..c70e66159116 100644 --- a/mail/postfix-current/Makefile +++ b/mail/postfix-current/Makefile @@ -13,68 +13,97 @@ 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= otis@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 +default_CONFLICTS_INSTALL= postfix-current-base-ldap-* \ + postfix-current-base-sasl-* \ + postfix-current-ldap-* postfix-current-sasl-* +ldap_PKGNAMESUFFIX= -current-ldap +ldap_CONFLICTS_INSTALL= postfix-current-[0-9]* \ + postfix-current-base-[0-9] \ + postfix-current-base-sasl-* \ + postfix-current-sasl-* +sasl_PKGNAMESUFFIX= -current-sasl +sasl_CONFLICTS_INSTALL= postfix-current-[0-9]* \ + postfix-current-base-[0-9] \ + postfix-current-base-ldap-* \ + postfix-current-ldap-* + +COMMENT_ldap= (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 \ - LMDB MYSQL NIS PCRE PGSQL SASL SQLITE TEST TLS +CONFLICTS_INSTALL= courier-0.* opensmtpd-[0-9]* opensmtpd-devel-* \ + postfix-[0-9]* postfix-base-* postfix-ldap-sasl-* \ + postfix-sasl-* postfix35-* sendmail-[0-9]* \ + sendmail-devel-* -OPTIONS_RADIO= RG1 -OPTIONS_RADIO_RG1= SASLKRB5 SASLKMIT +USERS= postfix +GROUPS= mail maildrop postfix + +OPTIONS_DEFINE= BDB BLACKLISTD CDB DOCS EAI INST_BASE LDAP 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 +OPTIONS_SLAVE= LDAP +.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 -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) -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) +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 <bsd.port.options.mk> -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 \ @@ -88,12 +117,13 @@ MAKEFILEFLAGS+= DEBUG= MAKEFILEFLAGS+= pie=yes CC="${CC}" OPT="${CFLAGS}" .if ${SSL_DEFAULT} == libressl -BROKEN= error: OpenSSL-1.1.1 is the minimum supported version. \ - LibreSSL is not supported +BROKEN= error: OpenSSL-1.1.1 is the minimum supported version. LibreSSL is not supported .endif .if ${PORT_OPTIONS:MINST_BASE} -.if defined(SASL_SLAVE) +.if ${FLAVOR:U} == ldap +PKGNAMESUFFIX= -current-base-ldap +.elif ${FLAVOR:U} == sasl PKGNAMESUFFIX= -current-base-sasl .else PKGNAMESUFFIX= -current-base @@ -109,9 +139,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 +154,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 +192,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 +226,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 +IGNORE= blacklistd is only supported on FreeBSD . endif .endif @@ -232,8 +255,8 @@ DYN_EXT+= ldap . if defined(WITH_OPENLDAP_VER) WANT_OPENLDAP_VER= ${WITH_OPENLDAP_VER} . endif -POSTFIX_CCARGS+= -DHAS_LDAP -I${LOCALBASE}/include -POSTFIX_CCARGS+= -I${LOCALBASE}/include/sasl -DUSE_LDAP_SASL +POSTFIX_CCARGS+= -DHAS_LDAP -I${LOCALBASE}/include \ + -I${LOCALBASE}/include/sasl -DUSE_LDAP_SASL POSTFIX_DYN_AUXLIBS+= "AUXLIBS_LDAP=-L${LOCALBASE}/lib -lldap -L${LOCALBASE}/lib -llber" _REQUIRE+= slapd .endif @@ -261,20 +284,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: