49e5da662f
- Stricter smtpd input checks rejected invalid addresses starting with @. - Stricter postdrop input checks broke "sendmail -bs". - New "postcat -q" (search the queue for the named file) support from snapshot release because I can no longer see people suffer. - Allow <@site,@site:address> route addresses in SMTP commands. This address form was deprecated years ago. - "sendmail -q<time>" without -bd option now exits immediately, instead of waiting for input and screwing up system boot sequences. - The Postfix LMTP client used the wrong service name, causing trouble with SASL 2.1.13. - Turned off non-blocking write to pipe because too many systems gave an unexpected write() result, causing partial delivery of messages to commands like procmail.
164 lines
5.1 KiB
Makefile
164 lines
5.1 KiB
Makefile
# $NetBSD: Makefile,v 1.99 2003/06/16 08:29:22 martti Exp $
|
|
|
|
DISTNAME= postfix-2.0.12
|
|
CATEGORIES= mail
|
|
MASTER_SITES= ftp://ftp.porcupine.org/mirrors/postfix-release/official/
|
|
|
|
MAINTAINER= tech-pkg@netbsd.org
|
|
HOMEPAGE= http://www.postfix.org/
|
|
COMMENT= Postfix SMTP server and tools
|
|
|
|
DIST_SUBDIR= postfix
|
|
|
|
POSTFIX_SPOOL= /var/spool/postfix
|
|
|
|
USE_BUILDLINK2= yes
|
|
USE_PKGINSTALL= yes
|
|
|
|
PKG_SYSCONFSUBDIR= postfix
|
|
|
|
OWN_DIRS= ${POSTFIX_SPOOL}
|
|
|
|
CCARGS+= -DDEF_CONFIG_DIR=\"${PKG_SYSCONFDIR}\"
|
|
CCARGS+= -DDEF_SENDMAIL_PATH=\"${PREFIX}/sbin/sendmail\"
|
|
CCARGS+= -DDEF_MAILQ_PATH=\"${PREFIX}/bin/mailq\"
|
|
CCARGS+= -DDEF_NEWALIAS_PATH=\"${PREFIX}/bin/newaliases\"
|
|
CCARGS+= -DDEF_COMMAND_DIR=\"${PREFIX}/sbin\"
|
|
CCARGS+= -DDEF_DAEMON_DIR=\"${LIBEXECDIR}\"
|
|
|
|
.include "../../mk/bsd.prefs.mk"
|
|
|
|
FIX_RPATH+= AUXLIBS
|
|
|
|
.if defined(POSTFIX_USE_INET6) && ${POSTFIX_USE_INET6} == "YES"
|
|
.include "../../security/openssl/buildlink2.mk"
|
|
PATCHFILES+= tls+ipv6-1.14-pf-2.0.12.patch.gz
|
|
PATCH_SITES+= ftp://ftp.stack.nl/pub/postfix/tls+ipv6/1.14/
|
|
PATCH_DIST_STRIP= -p1
|
|
BUILD_DEFS+= POSTFIX_USE_INET6
|
|
|
|
CCARGS+= -DHAS_SSL
|
|
AUXLIBS+= -L${BUILDLINK_PREFIX.openssl}/lib \
|
|
-Wl,${RPATH_FLAG}${BUILDLINK_PREFIX.openssl}/lib \
|
|
-lssl -lcrypto
|
|
BUILD_DEFS+= POSTFIX_USE_TLS
|
|
|
|
PLIST_SRC+= ${PKGDIR}/PLIST.tls
|
|
MESSAGE_SRC+= ${PKGDIR}/MESSAGE.tls
|
|
.endif
|
|
|
|
.if defined(POSTFIX_USE_PCRE) && ${POSTFIX_USE_PCRE} == "YES"
|
|
.include "../../devel/pcre/buildlink2.mk"
|
|
CCARGS+= -DHAS_PCRE
|
|
AUXLIBS+= -L${BUILDLINK_PREFIX.pcre}/lib \
|
|
-Wl,${RPATH_FLAG}${BUILDLINK_PREFIX.pcre}/lib \
|
|
-lpcre
|
|
BUILD_DEFS+= POSTFIX_USE_PCRE
|
|
.else
|
|
CCARGS+= -DNO_PCRE
|
|
.endif
|
|
|
|
.if defined(POSTFIX_USE_LDAP) && ${POSTFIX_USE_LDAP} == "YES"
|
|
.include "../../databases/openldap/buildlink2.mk"
|
|
CCARGS+= -DHAS_LDAP
|
|
AUXLIBS+= -L${BUILDLINK_PREFIX.openldap}/lib \
|
|
-Wl,${RPATH_FLAG}${BUILDLINK_PREFIX.openldap}/lib \
|
|
-lldap -llber
|
|
BUILD_DEFS+= POSTFIX_USE_LDAP
|
|
.endif
|
|
|
|
.if defined(POSTFIX_USE_MYSQL) && ${POSTFIX_USE_MYSQL} == "YES"
|
|
.include "../../databases/mysql-client/buildlink2.mk"
|
|
CCARGS+= -DHAS_MYSQL -I${BUILDLINK_PREFIX.mysql-client}/include/mysql
|
|
AUXLIBS+= -L${BUILDLINK_PREFIX.mysql-client}/lib/mysql \
|
|
-Wl,${RPATH_FLAG}${BUILDLINK_PREFIX.mysql-client}/lib/mysql \
|
|
-lmysqlclient -lz -lm
|
|
BUILD_DEFS+= POSTFIX_USE_MYSQL
|
|
.endif
|
|
|
|
.if defined(USE_SASL) && ${USE_SASL} == "YES"
|
|
.include "../../security/cyrus-sasl/buildlink2.mk"
|
|
CCARGS+= -DUSE_SASL_AUTH
|
|
AUXLIBS+= -L${BUILDLINK_PREFIX.cyrus-sasl}/lib \
|
|
-Wl,${RPATH_FLAG}${BUILDLINK_PREFIX.cyrus-sasl}/lib \
|
|
-lsasl
|
|
BUILD_DEFS+= USE_SASL
|
|
|
|
PLIST_SRC+= ${WRKDIR}/PLIST.sasl
|
|
MESSAGE_SRC+= ${PKGDIR}/MESSAGE.sasl
|
|
MESSAGE_SUBST+= PKG_SYSCONFDIR=${PKG_SYSCONFDIR}
|
|
.endif
|
|
|
|
MESSAGE_SRC+= ${PKGDIR}/MESSAGE
|
|
PLIST_SRC+= ${PKGDIR}/PLIST
|
|
ALL_TARGET= #empty
|
|
MAKE_ENV= CC="${CC}" OPT="${CFLAGS}"
|
|
MAKE_ENV+= AUXLIBS="${AUXLIBS}" CCARGS="${CCARGS}"
|
|
|
|
POSTFIX_CONF_FILES= conf/main.cf src/util/sys_defs.h postfix-install
|
|
POSTFIX_CONF_FILES+= conf/sample-misc.cf src/global/mail_params.h
|
|
|
|
FILES_SUBST+= SHAREDIR=${SHAREDIR}
|
|
MESSAGE_SUBST+= SHAREDIR=${SHAREDIR}
|
|
PLIST_SUBST+= PKG_SYSCONFDIR=${PKG_SYSCONFDIR}
|
|
PLIST_SUBST+= POSTFIX_SPOOL=${POSTFIX_SPOOL}
|
|
|
|
PKG_GROUPS?= postfix maildrop
|
|
PKG_USERS?= postfix:postfix::Postfix\\ User:${POSTFIX_SPOOL}
|
|
|
|
LIBEXECDIR= ${PREFIX}/libexec/${PKGBASE}
|
|
SHAREDIR= ${PREFIX}/share/examples/${PKGBASE}
|
|
|
|
CONF_FILES= ${SHAREDIR}/main.cf ${PKG_SYSCONFDIR}/main.cf
|
|
CONF_FILES+= ${SHAREDIR}/master.cf ${PKG_SYSCONFDIR}/master.cf
|
|
CONF_FILES_PERMS=
|
|
.for confscr in post-install postfix-files postfix-script
|
|
CONF_FILES_PERMS+= ${SHAREDIR}/${confscr} ${PKG_SYSCONFDIR}/${confscr} \
|
|
${ROOT_USER} ${ROOT_GROUP} 755
|
|
.endfor
|
|
.undef confscr
|
|
|
|
INSTALL_EXTRA_TMPL+= ${.CURDIR}/INSTALL
|
|
|
|
pre-configure:
|
|
@for i in ${POSTFIX_CONF_FILES}; do \
|
|
${CP} ${WRKSRC}/$${i} ${WRKSRC}/$${i}.dist; \
|
|
${SED} -e 's|__PREFIX|'${PREFIX}'|g' \
|
|
-e 's|__PKG_SYSCONFDIR|'${PKG_SYSCONFDIR}'|g' \
|
|
< ${WRKSRC}/$${i}.dist \
|
|
> ${WRKSRC}/$${i}; \
|
|
done
|
|
|
|
do-configure:
|
|
(cd ${WRKSRC} && \
|
|
${SETENV} ${MAKE_ENV} ${MAKE} -f Makefile.init makefiles \
|
|
'CCARGS=${CCARGS}' 'AUXLIBS=${AUXLIBS}')
|
|
|
|
post-build:
|
|
${SED} -e 's#@@PREFIX@@#${PREFIX}#g' \
|
|
<${FILESDIR}/mailer.conf >${WRKDIR}/mailer.conf.postfix
|
|
|
|
pre-install:
|
|
${INSTALL_DATA_DIR} ${PKG_SYSCONFDIR}
|
|
${INSTALL_DATA_DIR} ${SHAREDIR}
|
|
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/postfix
|
|
${INSTALL_DATA_DIR} ${LIBEXECDIR}
|
|
${CHOWN} ${ROOT_USER}:${ROOT_GROUP} ${SHAREDIR} ${LIBEXECDIR}
|
|
${CHMOD} 755 ${SHAREDIR} ${LIBEXECDIR}
|
|
-${RM} -f ${WRKSRC}/conf/*.orig
|
|
.if defined(USE_SASL) && ${USE_SASL} == "YES"
|
|
${ECHO} "pwcheck_method: sasldb" > ${WRKDIR}/smtpd.conf
|
|
${INSTALL_DATA} ${WRKDIR}/smtpd.conf ${PREFIX}/lib/sasl
|
|
${ECHO} lib/sasl/smtpd.conf > ${WRKDIR}/PLIST.sasl
|
|
.endif
|
|
${INSTALL_SCRIPT} ${WRKSRC}/conf/post-install ${SHAREDIR}
|
|
${INSTALL_SCRIPT} ${WRKSRC}/conf/postfix-files ${SHAREDIR}
|
|
${INSTALL_SCRIPT} ${WRKSRC}/conf/postfix-script ${SHAREDIR}
|
|
${INSTALL_DATA} ${WRKSRC}/conf/main.cf ${SHAREDIR}
|
|
${INSTALL_DATA} ${WRKSRC}/conf/master.cf ${SHAREDIR}
|
|
${INSTALL_DATA} ${WRKDIR}/mailer.conf.postfix ${SHAREDIR}/mailer.conf
|
|
|
|
do-install:
|
|
(cd ${WRKSRC} && ${SETENV} config_directory="${SHAREDIR}" ${SH} postfix-install -non-interactive)
|
|
|
|
.include "../../mk/bsd.pkg.mk"
|