Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. --- pkgsrc/mail/postfix/Makefile 2000/04/09 08:10:19 1.17 +++ pkgsrc/mail/postfix/Makefile 2021/12/08 16:05:29 1.332 @@ -1,46 +1,97 @@ -# $NetBSD: Makefile,v 1.17 2000/04/09 08:10:19 simonb Exp $ +# $NetBSD: Makefile,v 1.332 2021/12/08 16:05:29 adam Exp $ -DISTNAME= postfix-19991231-pl06 -PKGNAME= postfix-19991231pl06 -CATEGORIES= mail -MASTER_SITES= ftp://postfix.cloud9.net/official/ - -MAINTAINER= christos@netbsd.org -HOMEPAGE= http://www.postfix.org/ - -MIRROR_DISTFILE= no -MANCOMPRESSED_IF_MANZ= yes - -pre-patch: - ${CP} ${WRKSRC}/Makefile ${WRKSRC}/Makefile.dist - -pre-configure: - ${CP} ${WRKSRC}/conf/main.cf ${WRKSRC}/conf/main.cf.dist - ${CP} ${WRKSRC}/util/sys_defs.h ${WRKSRC}/util/sys_defs.h.dist - ${CP} ${WRKSRC}/Makefile.inc ${WRKSRC}/Makefile.inc.dist - ${SED} -e 's:__PREFIX:'${PREFIX}':g' \ - < ${WRKSRC}/conf/main.cf.dist \ - > ${WRKSRC}/conf/main.cf - ${SED} -e 's:__PREFIX:'${PREFIX}':g' \ - < ${WRKSRC}/util/sys_defs.h.dist \ - > ${WRKSRC}/util/sys_defs.h - capitalopsys=`${ECHO} ${OPSYS} | ${TR} a-z A-Z`; \ - osmajorversion=`${ECHO} ${OS_VERSION} | ${SED} -e 's/\..*//g'`; \ - ${SED} -e 's:@OPSYS@:'$$capitalopsys$$osmajorversion':g' \ - < ${WRKSRC}/Makefile.inc.dist \ - > ${WRKSRC}/Makefile.inc +PKGREVISION= 1 +.include "../../mail/postfix/Makefile.common" -post-build: - ${SED} -e 's#@@PREFIX@@#${PREFIX}#g' \ - <${FILESDIR}/mailer.conf >${WRKDIR}/mailer.conf.postfix +COMMENT= Fast, easy to administer, and secure mail transfer agent + +CONFLICTS+= courier-mta-[0-9]* fastforward>=0.51nb2 sendmail-[0-9]* +CONFLICTS+= esmtp>=1.2 nullmailer-[0-9]* + +USE_TOOLS+= perl pkg-config m4 + +SPECIAL_PERMS+= sbin/postdrop ${POSTFIX_USER} ${MAILDROP_GROUP} 2555 +SPECIAL_PERMS+= sbin/postqueue ${POSTFIX_USER} ${MAILDROP_GROUP} 2555 + +REPLACE_PERL+= auxiliary/qshape/qshape.pl + +# options.mk appends to CCARGS and AUXLIBS the options needed to build +# Postfix with support for various add-on modules. +# +.include "options.mk" + +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 -pre-install: - ${MKDIR} /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 +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 -post-install: - ${INSTALL_DATA} ${WRKDIR}/mailer.conf.postfix ${PREFIX}/etc +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: +.if !empty(PKG_OPTIONS:Msasl) + ${ECHO} "pwcheck_method: ${PWCHECK_METHOD}" > ${WRKDIR}/smtpd.conf +.endif + +do-install: + ${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 +.if ${OPSYS} == "Darwin" + for f in ${DESTDIR}${PREFIX}/lib/postfix/lib*.dylib; do \ + install_name_tool -id `${ECHO} $$f | ${SED} -e 's,${DESTDIR},,g'` $$f; \ + done + for f in ${DESTDIR}${PREFIX}/libexec/postfix/* ${DESTDIR}${PREFIX}/sbin/*; do \ + install_name_tool \ + -change @rpath/libpostfix-dns.dylib ${PREFIX}/lib/postfix/libpostfix-dns.dylib \ + -change @rpath/libpostfix-global.dylib ${PREFIX}/lib/postfix/libpostfix-global.dylib \ + -change @rpath/libpostfix-master.dylib ${PREFIX}/lib/postfix/libpostfix-master.dylib \ + -change @rpath/libpostfix-tls.dylib ${PREFIX}/lib/postfix/libpostfix-tls.dylib \ + -change @rpath/libpostfix-util.dylib ${PREFIX}/lib/postfix/libpostfix-util.dylib \ + $$f; \ + done +.endif .include "../../mk/bsd.pkg.mk"