Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. --- pkgsrc/mail/postfix/Makefile 2001/12/03 04:47:41 1.50 +++ pkgsrc/mail/postfix/Makefile 2004/01/23 12:03:44 1.115 @@ -1,100 +1,196 @@ -# $NetBSD: Makefile,v 1.50 2001/12/03 04:47:41 kent Exp $ +# $NetBSD: Makefile,v 1.115 2004/01/23 12:03:44 martti Exp $ -DISTNAME= postfix-20010228-pl08 -PKGNAME= postfix-20010228pl8 +DISTNAME= postfix-2.0.18 CATEGORIES= mail -MASTER_SITES= ftp://postfix.cloud9.net/official/ +MASTER_SITES= ftp://ftp.porcupine.org/mirrors/postfix-release/official/ -PATCHFILES= postfix-20010228release-ercpt.diff -PATCH_SITES= ftp://ftp.gw.com/pub/people/kim/patches/ -PATCH_DIST_STRIP+= -p1 - -MAINTAINER= packages@netbsd.org +MAINTAINER= martti@NetBSD.org HOMEPAGE= http://www.postfix.org/ COMMENT= Postfix SMTP server and tools DIST_SUBDIR= postfix -POSTFIX_SPOOL= /var/spool/postfix +PKG_INSTALLATION_TYPES= overwrite pkgviews + +USE_BUILDLINK3= yes +USE_PKGINSTALL= yes + +PKG_SYSCONFSUBDIR= postfix +POSTFIX_SPOOL= /var/spool/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" -PATCHFILES+= postfix-20010228pl04-v6-20010809a.diff.gz -PATCH_SITES+= ftp://ftp.kame.net/pub/kame/misc/ -BUILD_DEFS+= POSTFIX_USE_INET6 -.endif +. include "../../security/openssl/buildlink3.mk" +PATCHFILES+= tls+ipv6-1.20-pf-2.0.16.patch.gz +PATCH_SITES+= ftp://ftp.stack.nl/pub/postfix/tls+ipv6/1.20/ +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 -POSTFIX_USE_PCRE=YES -POSTFIX_USE_SASL_AUTH=YES -.if defined(POSTFIX_USE_PCRE) && ${POSTFIX_USE_PCRE} == "YES" \ - || defined(POSTFIX_USE_SASL_AUTH) && ${POSTFIX_USE_SASL_AUTH} == "YES" -CCARGS= -I${LOCALBASE}/include -AUXLIBS= -L${LOCALBASE}/lib -Wl,-R${LOCALBASE}/lib -MAKE_ENV+= AUXLIBS="${AUXLIBS}" CCARGS="${CCARGS}" +PLIST_SRC+= ${PKGDIR}/PLIST.tls +MESSAGE_SRC+= ${PKGDIR}/MESSAGE.tls .endif .if defined(POSTFIX_USE_PCRE) && ${POSTFIX_USE_PCRE} == "YES" -DEPENDS+= pcre>=2.08:../../devel/pcre +. include "../../devel/pcre/buildlink3.mk" CCARGS+= -DHAS_PCRE -AUXLIBS+= -lpcre +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/buildlink3.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/buildlink3.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(POSTFIX_USE_SASL_AUTH) && ${POSTFIX_USE_SASL_AUTH} == "YES" -DEPENDS+= cyrus-sasl:../../security/cyrus-sasl +.if defined(USE_SASL2) && ${USE_SASL2} == "YES" +USING_SASL=YES +. include "../../security/cyrus-sasl2/buildlink3.mk" +CCARGS+= -DUSE_SASL2_AUTH +AUXLIBS+= -L${BUILDLINK_PREFIX.cyrus-sasl}/lib \ + -Wl,${RPATH_FLAG}${BUILDLINK_PREFIX.cyrus-sasl}/lib \ + -lsasl2 +BUILD_DEFS+= USE_SASL2 +.elif defined(USE_SASL) && ${USE_SASL} == "YES" +USING_SASL=YES +. include "../../security/cyrus-sasl/buildlink3.mk" CCARGS+= -DUSE_SASL_AUTH -AUXLIBS+= -lsasl -PLIST_SRC+= ${WRKDIR}/PLIST.sasl +AUXLIBS+= -L${BUILDLINK_PREFIX.cyrus-sasl}/lib \ + -Wl,${RPATH_FLAG}${BUILDLINK_PREFIX.cyrus-sasl}/lib \ + -lsasl +BUILD_DEFS+= USE_SASL +.endif + +.if defined(USING_SASL) +PLIST_SRC+= ${PKGDIR}/PLIST.sasl MESSAGE_SRC+= ${PKGDIR}/MESSAGE.sasl MESSAGE_SUBST+= PKG_SYSCONFDIR=${PKG_SYSCONFDIR} -BUILD_DEFS+= POSTFIX_USE_SASL_AUTH .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+= 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 +.if defined(USING_SASL) +. if defined(USE_SASL2) +MAKE_DIRS+= ${PREFIX}/lib/sasl2 +CONF_FILES+= ${SHAREDIR}/smtpd.conf ${PREFIX}/lib/sasl2/smtpd.conf +. else +MAKE_DIRS+= ${PREFIX}/lib/sasl +CONF_FILES+= ${SHAREDIR}/smtpd.conf ${PREFIX}/lib/sasl/smtpd.conf +. endif +.endif +CONF_FILES_PERMS= # empty +.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+= ${PKGDIR}/INSTALL pre-configure: - ${CP} ${WRKSRC}/conf/main.cf ${WRKSRC}/conf/main.cf.dist - ${CP} ${WRKSRC}/src/util/sys_defs.h ${WRKSRC}/src/util/sys_defs.h.dist - ${CP} ${WRKSRC}/INSTALL.sh ${WRKSRC}/INSTALL.sh.dist - ${SED} -e 's:__PREFIX:'${PREFIX}':g' \ - < ${WRKSRC}/conf/main.cf.dist \ - > ${WRKSRC}/conf/main.cf - ${SED} -e 's:__PREFIX:'${PREFIX}':g' \ - < ${WRKSRC}/src/util/sys_defs.h.dist \ - > ${WRKSRC}/src/util/sys_defs.h - ${SED} -e 's:__PREFIX:'${PREFIX}':g' \ - < ${WRKSRC}/INSTALL.sh.dist \ - > ${WRKSRC}/INSTALL.sh + @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} makefiles) + 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} /etc/postfix ${PREFIX}/share/postfix \ - ${PREFIX}/share/doc/postfix ${PREFIX}/libexec/postfix - ${CHOWN} root:wheel ${PREFIX}/share/postfix ${PREFIX}/libexec/postfix - ${CHMOD} 755 ${PREFIX}/share/postfix ${PREFIX}/libexec/postfix + ${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(POSTFIX_USE_SASL_AUTH) && ${POSTFIX_USE_SASL_AUTH} == "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 defined(USING_SASL) +. if defined(USE_SASL2) + ${ECHO} "pwcheck_method: auxprop" > ${WRKDIR}/smtpd.conf +. else + ${ECHO} "pwcheck_method: sasldb" > ${WRKDIR}/smtpd.conf +. endif + ${INSTALL_DATA} ${WRKDIR}/smtpd.conf ${SHAREDIR} +.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 + +.if ${OPSYS} == "Linux" +.include "../../databases/db/buildlink3.mk" +CCARGS+= -I${BUILDLINK_PREFIX.db}/include/db2 +AUXLIBS+= -L${BUILDLINK_PREFIX.db}/lib \ + -Wl,${RPATH_FLAG}${BUILDLINK_PREFIX.db}/lib \ + -ldb2 .endif - -post-install: - ${INSTALL_DATA} ${WRKDIR}/mailer.conf.postfix ${PREFIX}/etc - ${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 .include "../../mk/bsd.pkg.mk"