Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. --- pkgsrc/mail/postfix/Makefile 2002/07/03 11:11:12 1.66 +++ pkgsrc/mail/postfix/Makefile 2020/04/26 09:33:25 1.319 @@ -1,137 +1,82 @@ -# $NetBSD: Makefile,v 1.66 2002/07/03 11:11:12 hubertf Exp $ +# $NetBSD: Makefile,v 1.319 2020/04/26 09:33:25 taca Exp $ -DISTNAME= postfix-1.1.11 -PKGREVISION= 1 -CATEGORIES= mail -MASTER_SITES= ftp://ftp.porcupine.org/mirrors/postfix-release/official/ +.include "../../mail/postfix/Makefile.common" -MAINTAINER= packages@netbsd.org -HOMEPAGE= http://www.postfix.org/ -COMMENT= Postfix SMTP server and tools +COMMENT= Fast, easy to administer, and secure mail transfer agent -DIST_SUBDIR= postfix +CONFLICTS+= courier-mta-[0-9]* fastforward>=0.51nb2 sendmail-[0-9]* +CONFLICTS+= esmtp>=1.2 nullmailer-[0-9]* -POSTFIX_SPOOL= /var/spool/postfix +USE_TOOLS+= perl pkg-config -.include "../../mk/bsd.prefs.mk" +SPECIAL_PERMS+= sbin/postdrop ${POSTFIX_USER} ${MAILDROP_GROUP} 2555 +SPECIAL_PERMS+= sbin/postqueue ${POSTFIX_USER} ${MAILDROP_GROUP} 2555 -# XXX No IPv6 patch available yet! -# -# .if defined(POSTFIX_USE_INET6) && ${POSTFIX_USE_INET6} == "YES" -# PATCHFILES+= postfix-20010228pl04-v6-20010809a.diff.gz -# PATCH_SITES+= ftp://ftp.kame.net/pub/kame/misc/ -# BUILD_DEFS+= POSTFIX_USE_INET6 -# .endif - -.if defined(POSTFIX_USE_PCRE) && ${POSTFIX_USE_PCRE} == "YES" \ - || defined(USE_SASL) && ${USE_SASL} == "YES" \ - || defined(POSTFIX_USE_MYSQL) && ${POSTFIX_USE_MYSQL} == "YES" -CCARGS= -I${LOCALBASE}/include -AUXLIBS= -L${LOCALBASE}/lib -Wl,-R${LOCALBASE}/lib -MAKE_ENV+= AUXLIBS="${AUXLIBS}" CCARGS="${CCARGS}" -.endif +REPLACE_PERL+= auxiliary/qshape/qshape.pl -.if defined(POSTFIX_USE_PCRE) && ${POSTFIX_USE_PCRE} == "YES" -DEPENDS+= pcre>=2.08:../../devel/pcre -CCARGS+= -DHAS_PCRE -AUXLIBS+= -lpcre -BUILD_DEFS+= POSTFIX_USE_PCRE -.endif - -.if defined(POSTFIX_USE_MYSQL) && ${POSTFIX_USE_MYSQL} == "YES" -DEPENDS+= mysql-client>=3.23:../../databases/mysql-client -CCARGS+= -DHAS_MYSQL -I${LOCALBASE}/include/mysql -AUXLIBS+= -L${LOCALBASE}/lib/mysql -Wl,-R${LOCALBASE}/lib/mysql -AUXLIBS+= -lmysqlclient -lz -lm -BUILD_DEFS+= POSTFIX_USE_MYSQL -.endif +# options.mk appends to CCARGS and AUXLIBS the options needed to build +# Postfix with support for various add-on modules. +# +.include "options.mk" -.if defined(USE_SASL) && ${USE_SASL} == "YES" -DEPENDS+= cyrus-sasl:../../security/cyrus-sasl -CCARGS+= -DUSE_SASL_AUTH -AUXLIBS+= -lsasl -PLIST_SRC+= ${WRKDIR}/PLIST.sasl -MESSAGE_SRC+= ${PKGDIR}/MESSAGE.sasl -MESSAGE_SUBST+= PKG_SYSCONFDIR=${PKG_SYSCONFDIR} -BUILD_DEFS+= USE_SASL +FILES_SUBST+= EXAMPLEDIR=${EXAMPLEDIR} +MESSAGE_SUBST+= EXAMPLEDIR=${EXAMPLEDIR} +MESSAGE_SUBST+= DOCDIR=${DOCDIR} + +MESSAGE_SRC+= ${PKGDIR}/MESSAGE +.if exists(${PKGDIR}/MESSAGE.${OPSYS}) +MESSAGE_SRC+= ${PKGDIR}/MESSAGE.${OPSYS} .endif +PLIST_SRC+= ${PKGDIR}/PLIST -PLIST_SRC+= ${PKGDIR}/PLIST -ALL_TARGET= #empty -MAKE_ENV= CC="${CC}" OPT="${CFLAGS}" - -pre-configure: - ${CP} ${WRKSRC}/conf/main.cf ${WRKSRC}/conf/main.cf.dist - ${SED} -e 's:__PREFIX:'${PREFIX}':g' \ - < ${WRKSRC}/conf/main.cf.dist \ - > ${WRKSRC}/conf/main.cf - ${CP} ${WRKSRC}/src/util/sys_defs.h ${WRKSRC}/src/util/sys_defs.h.dist - ${SED} -e 's:__PREFIX:'${PREFIX}':g' \ - < ${WRKSRC}/src/util/sys_defs.h.dist \ - > ${WRKSRC}/src/util/sys_defs.h - ${CP} ${WRKSRC}/postfix-install ${WRKSRC}/postfix-install.dist - ${SED} -e 's:__PREFIX:'${PREFIX}':g' \ - < ${WRKSRC}/postfix-install.dist \ - > ${WRKSRC}/postfix-install - ${CP} ${WRKSRC}/conf/sample-misc.cf ${WRKSRC}/conf/sample-misc.cf.dist - ${SED} -e 's:__PREFIX:'${PREFIX}':g' \ - < ${WRKSRC}/conf/sample-misc.cf.dist \ - > ${WRKSRC}/conf/sample-misc.cf - ${CP} ${WRKSRC}/src/global/mail_params.h \ - ${WRKSRC}/src/global/mail_params.h.dist - ${SED} -e 's:__PREFIX:'${PREFIX}':g' \ - < ${WRKSRC}/src/global/mail_params.h.dist \ - > ${WRKSRC}/src/global/mail_params.h - -do-configure: - (cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} -f Makefile.init makefiles \ - 'CCARGS=${CCARGS}' 'AUXLIBS=${AUXLIBS}' ) +RCD_SCRIPTS= postfix +OWN_DIRS+= ${POSTFIX_QUEUE_DIR} ${POSTFIX_QUEUE_DIR}/etc +OWN_DIRS_PERMS+= ${POSTFIX_DATA_DIR} ${POSTFIX_USER} ${POSTFIX_GROUP} 0700 +MAKE_DIRS+= ${METADIR}/dynamicmaps.cf.d ${METADIR}/postfix-files.d + +PKG_GROUPS?= ${POSTFIX_GROUP} ${MAILDROP_GROUP} +PKG_USERS?= ${POSTFIX_USER}:${POSTFIX_GROUP} + +PKG_GECOS.${POSTFIX_USER}= Postfix User +PKG_HOME.${POSTFIX_USER}= ${POSTFIX_QUEUE_DIR} + +CONF_FILES= # empty +.for i in main.cf master.cf +CONF_FILES+= ${EXAMPLEDIR}/${i} ${PKG_SYSCONFDIR}/${i} +.endfor +CONF_FILES_PERMS= # empty + +SUBST_CLASSES+= paths +SUBST_FILES.paths= ${WRKDIR}/mailer.conf +SUBST_VARS.paths= PREFIX +SUBST_STAGE.paths= pre-configure + +INSTALLATION_DIRS+= ${LIBEXECDIR} ${METADIR} ${SHLIBDIR} ${EXAMPLEDIR} ${DOCDIR} + +post-extract: + cp ${FILESDIR}/mailer.conf ${WRKDIR}/mailer.conf + rm -f ${WRKSRC}/auxiliary/MacOSX/Postfix.StartupItem/Postfix post-build: - ${SED} -e 's#@@PREFIX@@#${PREFIX}#g' \ - <${FILESDIR}/mailer.conf >${WRKDIR}/mailer.conf.postfix - -pre-install: - ${INSTALL_DATA_DIR} /etc/postfix - ${INSTALL_DATA_DIR} ${PREFIX}/share/postfix - ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/postfix - ${INSTALL_DATA_DIR} ${PREFIX}/libexec/postfix - ${CHOWN} ${ROOT_USER}:${ROOT_GROUP} ${PREFIX}/share/postfix \ - ${PREFIX}/libexec/postfix - ${CHMOD} 755 ${PREFIX}/share/postfix ${PREFIX}/libexec/postfix - -${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 +.if !empty(PKG_OPTIONS:Msasl) + ${ECHO} "pwcheck_method: ${PWCHECK_METHOD}" > ${WRKDIR}/smtpd.conf .endif - ${TEST} -f /etc/postfix/postfix-files || \ - ${INSTALL_DATA} ${WRKSRC}/conf/postfix-files /etc/postfix - ${TEST} -f /etc/postfix/postfix-script || \ - ${INSTALL_DATA} ${WRKSRC}/conf/postfix-script /etc/postfix - ${TEST} -f /etc/postfix/main.cf || \ - ${INSTALL_DATA} ${WRKSRC}/conf/main.cf /etc/postfix - ${TEST} -f /etc/postfix/master.cf || \ - ${INSTALL_DATA} ${WRKSRC}/conf/master.cf /etc/postfix do-install: - (cd ${WRKSRC} && ${SH} postfix-install -non-interactive) - -post-install: - ${INSTALL_DATA} ${WRKSRC}/conf/main.cf ${PREFIX}/share/postfix - ${INSTALL_DATA} ${WRKSRC}/conf/master.cf ${PREFIX}/share/postfix - ${INSTALL_SCRIPT} ${WRKSRC}/conf/post-install ${PREFIX}/share/postfix - ${INSTALL_SCRIPT} ${WRKSRC}/conf/postfix-files ${PREFIX}/share/postfix - ${INSTALL_SCRIPT} ${WRKSRC}/conf/postfix-script ${PREFIX}/share/postfix - ${INSTALL_DATA} ${WRKDIR}/mailer.conf.postfix ${PREFIX}/etc - ${LN} -sf ${PREFIX}/share/postfix/post-install /etc/postfix - ${LN} -sf ${PREFIX}/share/postfix/postfix-files /etc/postfix - ${LN} -sf ${PREFIX}/share/postfix/postfix-script /etc/postfix - ${INSTALL_DATA_DIR} ${POSTFIX_SPOOL} - ${CHMOD} 755 ${POSTFIX_SPOOL} - ${TEST} -f /etc/postfix/main.cf || \ - ${INSTALL_DATA} ${PREFIX}/share/postfix/main.cf /etc/postfix - ${TEST} -f /etc/postfix/master.cf || \ - ${INSTALL_DATA} ${PREFIX}/share/postfix/master.cf /etc/postfix + rm -f ${WRKSRC}/conf/*.orig +.if !empty(PKG_OPTIONS:Msasl) + ${INSTALL_DATA} ${WRKDIR}/smtpd.conf ${DESTDIR}${EXAMPLEDIR} +.endif + cd ${WRKSRC} && ${SH} ./postfix-install -non-interactive \ + ${DESTDIR_INSTALLOPTIONS} config_directory="${EXAMPLEDIR}" + ${INSTALL_DATA} ${WRKDIR}/mailer.conf \ + ${DESTDIR}${EXAMPLEDIR}/mailer.conf + ${INSTALL_SCRIPT} ${WRKSRC}/auxiliary/qshape/qshape.pl \ + ${DESTDIR}${PREFIX}/sbin/qshape + ${INSTALL_MAN} ${WRKSRC}/man/man1/qshape.1 \ + ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1 +.for dir in ${POSTFIX_QUEUE_SUBDIR} + ${RMDIR} ${DESTDIR}${POSTFIX_QUEUE_DIR}/${dir} +.endfor .include "../../mk/bsd.pkg.mk"