Index: head/mail/postfix-current/Makefile =================================================================== --- head/mail/postfix-current/Makefile (revision 405232) +++ head/mail/postfix-current/Makefile (revision 405233) @@ -1,395 +1,397 @@ # Created by: Torsten Blum # $FreeBSD$ PORTNAME= postfix DISTVERSION= 3.0-20151003 +PORTREVISION= 1 PORTEPOCH= 4 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|$|experimental/|} MASTER_SITES:= ${MASTER_SITES:S|$|official/|} PKGNAMESUFFIX= -current DISTNAME= ${PORTNAME}-3.0.3 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 CONFLICTS_INSTALL?= courier-0.* opensmtpd-[0-9]* \ postfix-2.* postfix-base-2.* \ postfix21?-* postfix-tls-* \ sendmail-8.* sendmail+*-8.* smail-3.* zmailer-2.* USERS= postfix GROUPS= mail maildrop postfix USES= perl5 shebangfix cpe SHEBANG_FILES= auxiliary/qshape/qshape.pl USE_RC_SUBR= postfix 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 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 +OPTIONS_DEFAULT= PCRE TLS EAI 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) 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) 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 .include 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+= pie=yes CC="${CC}" OPT="${CFLAGS}" .if ${PORT_OPTIONS:MINST_BASE} PKGNAMESUFFIX= -base PREFIX= /usr ETCDIR= /etc/postfix PLIST_SUB+= BMAN="share/" .else PLIST_SUB+= BMAN="" .endif PLIST_SUB+= PFETC=${ETCDIR} .if ${PORT_OPTIONS:MDOCS} PORTDOCS= * READMEDIR= ${DOCSDIR} .else 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}" META_DIRECTORY="${META_DIRECTORY}" -SUB_FILES+= pkg-install pkg-message +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 # Default requirement for postfix rc script _REQUIRE= LOGIN cleanvar .if ${PORT_OPTIONS:MEAI} POSTFIX_CCARGS+= -DHAS_EAI -I${LOCALBASE}/include POSTFIX_AUXLIBS+= -L${LOCALBASE}/lib -licuuc .else POSTFIX_CCARGS+= -DNO_EAI .endif .if ${PORT_OPTIONS:MPCRE} 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: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 .if ${PORT_OPTIONS:MDOVECOT} || ${PORT_OPTIONS:MDOVECOT2} .if ${PORT_OPTIONS:MDOVECOT} RUN_DEPENDS+= dovecot:${PORTSDIR}/mail/dovecot .else RUN_DEPENDS+= dovecot:${PORTSDIR}/mail/dovecot2 .endif POSTFIX_CCARGS+= -DUSE_SASL_AUTH -DDEF_SERVER_SASL_TYPE=\\\"dovecot\\\" _REQUIRE+= 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} # XXX LDFLAGS possible breaks dynamic building POSTFIX_AUXLIBS+= -L${OPENSSLLIB} ${LDFLAGS} -lssl -lcrypto .else POSTFIX_CCARGS+= -DNO_TLS .endif .if ${PORT_OPTIONS:MSPF} BROKEN= At the moment, SPF support is unavailable for ${PORTNAME}-${DISTVERSION} PATCH_SITES+= LOCAL/mm -PATCHFILES+= postfix-2.8.0-libspf2-1.2.x-0.patch.gz -PATCH_DIST_STRIP= -p1 +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} POSTFIX_CCARGS+= -I${BDB_INCLUDE_DIR} POSTFIX_AUXLIBS+= -L${BDB_LIB_DIR} -l${BDB_LIB_NAME} .endif .if ${PORT_OPTIONS:MMYSQL} 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} 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} DYN_EXT+= sqlite POSTFIX_CCARGS+= -DHAS_SQLITE -I${LOCALBASE}/include POSTFIX_DYN_AUXLIBS+= "AUXLIBS_SQLITE=-L${LOCALBASE}/lib -lsqlite3 -lpthread" .endif .if ${PORT_OPTIONS:MLDAP} DYN_EXT+= ldap . if defined(WITH_OPENLDAP_VER) WANT_OPENLDAP_VER= ${WITH_OPENLDAP_VER} . endif 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: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} DYN_EXT+= cdb POSTFIX_CCARGS+= -DHAS_CDB -I${LOCALBASE}/include POSTFIX_DYN_AUXLIBS+= "AUXLIBS_CDB=-L${LOCALBASE}/lib -lcdb" .endif .if ${PORT_OPTIONS:MNIS} POSTFIX_CCARGS+= -DHAS_NIS _REQUIRE+= ypserv .endif .if ${PORT_OPTIONS:MVDA} BROKEN= At the moment, VDA support is unavailable for ${PORTNAME}-${DISTVERSION} .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} DYN_EXT+= lmdb POSTFIX_CCARGS+= -DHAS_LMDB -I${LOCALBASE}/include 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;\ 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} 'See header_checks.5.html' \ > ${WRKSRC}/html/body_checks.5.html @${REINPLACE_CMD} -E -e 's![[:<:]]perl[[:>:]]!${PERL}!' \ ${WRKSRC}/src/bounce/Makefile.in @${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 do-configure: (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-INST_BASE-on: ${MKDIR} ${STAGEDIR}/etc/rc.d do-install: @(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=${META_DIRECTORY} \ 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} # == 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 ${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 .include Index: head/mail/postfix-current/files/mailer.conf.postfix.in =================================================================== --- head/mail/postfix-current/files/mailer.conf.postfix.in (nonexistent) +++ head/mail/postfix-current/files/mailer.conf.postfix.in (revision 405233) @@ -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 Property changes on: head/mail/postfix-current/files/mailer.conf.postfix.in ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/mail/postfix-current/files/pkg-install.in =================================================================== --- head/mail/postfix-current/files/pkg-install.in (revision 405232) +++ head/mail/postfix-current/files/pkg-install.in (revision 405233) @@ -1,90 +1,111 @@ #!/bin/sh # # $FreeBSD$ # # 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. -PREFIX=${PKG_PREFIX:=%%PREFIX%%} -ETCDIR=${ETCDIR:=%%ETCDIR%%} -DAEMONDIR=${DAEMONDIR:=%%DAEMONDIR%%} -META_DIRECTORY=${META_DIRECTORY:=%%META_DIRECTORY%%} -READMEDIR=${READMEDIR:=%%READMEDIR%%} +# allowed vars during package installation BATCH=${BATCH:=no} POSTFIX_DEFAULT_MTA=${POSTFIX_DEFAULT_MTA:=no} -MC=/etc/mail/mailer.conf +# fixed vars +PREFIX="%%PREFIX%%" +ETCDIR="%%ETCDIR%%" +DAEMONDIR="%%DAEMONDIR%%" +META_DIRECTORY="%%META_DIRECTORY%%" +READMEDIR="%%READMEDIR%%" +MCP="%%DATADIR%%/mailer.conf.postfix" +MC="/etc/mail/mailer.conf" + if [ "${POSTFIX_DEFAULT_MTA}" = "no" ]; then DEFAULT_REPLACE_MAILERCONF=n else DEFAULT_REPLACE_MAILERCONF=y fi -if [ -x /usr/sbin/nologin ]; then - NOLOGIN=/usr/sbin/nologin -else - NOLOGIN=/sbin/nologin -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 } +install_mailer_conf() { + echo "Activate Postfix in ${MC}" + /bin/mv -f ${MC} ${MC}.old + /usr/bin/install -m 644 ${MCP} ${MC} +} + +show_not_activated_msg() { + echo + echo "===============================================================" + echo "Postfix was *not* activated in /etc/mail/mailer.conf! " + echo + echo "To finish installation run the following commands:" + echo + echo " mv ${MC} ${MC}.old" + echo " install -m 0644 ${MCP} ${MC}" + echo "===============================================================" + echo +} + if [ "$2" = "POST-INSTALL" ]; then /bin/sh ${DAEMONDIR}/post-install tempdir=/tmp \ daemon_directory=${DAEMONDIR} \ meta_directory=${META_DIRECTORY} \ html_directory=${READMEDIR} \ readme_directory=${READMEDIR} \ upgrade-package fi if [ "$2" = "POST-INSTALL" -a -z "${PACKAGE_BUILDING}" -a -f "${MC}" ]; then egrep -q "^sendmail.*${PREFIX}/sbin/sendmail" ${MC} && \ egrep -q "^send-mail.*${PREFIX}/sbin/sendmail" ${MC} && \ egrep -q "^mailq.*${PREFIX}/sbin/sendmail" ${MC} && \ egrep -q "^newaliases.*${PREFIX}/sbin/sendmail" ${MC} ret=$? if [ ${ret} -ne 0 ]; then - if yesno "Would you like to activate Postfix in ${MC}" ${DEFAULT_REPLACE_MAILERCONF}; then - /bin/mv -f ${MC} ${MC}.old - echo "#" > ${MC} - echo -n "# Execute the Postfix sendmail program" >> ${MC} - echo ", named ${PREFIX}/sbin/sendmail" >> ${MC} - echo "#" >> ${MC} - echo "sendmail ${PREFIX}/sbin/sendmail" >> ${MC} - echo "send-mail ${PREFIX}/sbin/sendmail" >> ${MC} - echo "mailq ${PREFIX}/sbin/sendmail" >> ${MC} - echo "newaliases ${PREFIX}/sbin/sendmail" >> ${MC} + # Respect POSTFIX_DEFAULT_MTA, do not ask for confirmation! + # (This helps tools like salt, ansible or puppet on new installations) + if [ "${DEFAULT_REPLACE_MAILERCONF}" = "y" ]; then + install_mailer_conf + elif [ "${DEFAULT_REPLACE_MAILERCONF}" = "n" -a -t 0 ]; then + if yesno "Would you like to activate Postfix in ${MC}" ${DEFAULT_REPLACE_MAILERCONF:="n"}; then + install_mailer_conf + else + show_not_activated_msg + fi + else + show_not_activated_msg fi else + echo "===============================================================" echo "Postfix already activated in ${MC}" + echo "===============================================================" fi fi Index: head/mail/postfix-current/files/pkg-message.in =================================================================== --- head/mail/postfix-current/files/pkg-message.in (revision 405232) +++ head/mail/postfix-current/files/pkg-message.in (revision 405233) @@ -1,28 +1,26 @@ -To enable postfix startup script please add postfix_enable="YES" in -your rc.conf +To use postfix instead of sendmail: + - clear sendmail queue and stop the sendmail daemons -If you not need sendmail anymore, please add in your rc.conf: +Run the following commands to enable postfix during startup: + - sysrc postfix_enable="YES" + - sysrc sendmail_enable="NONE" -sendmail_enable="NO" -sendmail_submit_enable="NO" -sendmail_outbound_enable="NO" -sendmail_msp_queue_enable="NO" +If postfix is *not* already activated in /etc/mail/mailer.conf + - mv /etc/mail/mailer.conf /etc/mail/mailer.conf.old + - install -m 0644 %%DAEMONDIR%%/mailer.conf.postfix /etc/mail/mailer.conf -And you can disable some sendmail specific daily maintenance routines in your -/etc/periodic.conf file: - -daily_clean_hoststat_enable="NO" -daily_status_mail_rejects_enable="NO" -daily_status_include_submit_mailq="NO" -daily_submit_queuerun="NO" - -If /etc/periodic.conf does not exist please create it and add those values. +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, please see the README files for recommended changes to your configuration and additional http://www.postfix.org/COMPATIBILITY_README.html Index: head/mail/postfix-current/pkg-plist =================================================================== --- head/mail/postfix-current/pkg-plist (revision 405232) +++ head/mail/postfix-current/pkg-plist (revision 405233) @@ -1,185 +1,186 @@ 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 @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 %%LDAP%%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 %%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 libexec/postfix/local libexec/postfix/main.cf.proto libexec/postfix/makedefs.out libexec/postfix/master libexec/postfix/master.cf.proto libexec/postfix/nqmgr libexec/postfix/oqmgr 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 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 libexec/postfix/dynamicmaps.cf.d @dir libexec/postfix/postfix-files.d @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