pkgsrc/mail/postfix/Makefile
martti 070085b7ea Updated mail/postfix to 2.4.0
The footprint of new features with Postfix 2.4.0 is significantly
smaller than with earlier releases. And that is the whole point of
approaching completeness: fewer visible changes.

Below is a brief summary of what has changed.  See the RELEASE_NOTES
file for more, including compatibility issues that may affect your
site. The HISTORY file gives a blow-by-blow account of what happened
over the past year.

	Wietse

- Postfix can now manage thousands of connections without needing
special main.cf, master.cf, or compile-time tweaks, on systems with
BSD kqueue, Solaris /dev/poll, or Linux epoll support.

- Milter support for message body replacement. The resulting queue
files are backwards compatible with Postfix 2.3. The existing Milter
support for message header manipulations was revised and is now
implemented by much simpler code.

- Minor improvements in TLS session cache management and in the
implementation of certificate fingerprint based authentication.  A
more extensive revision of TLS internals will appear first in Postfix
2.5 snapshots.

- Improvements in queue manager performance when deferring large
amounts of mail, or when delivering mail with lots of recipients.

- Workarounds for SMTP servers that reply and hang up prematurely,
for file system clocks that are out of sync, and for broken kernel
lock management in POP servers.
2007-04-03 07:27:50 +00:00

161 lines
5.1 KiB
Makefile

# $NetBSD: Makefile,v 1.201 2007/04/03 07:27:50 martti Exp $
DISTNAME= postfix-2.4.0
#PKGREVISION= 1
CATEGORIES= mail
MASTER_SITES= ftp://ftp.porcupine.org/mirrors/postfix-release/official/
DIST_SUBDIR= postfix
MAINTAINER= martti@NetBSD.org
HOMEPAGE= http://www.postfix.org/
COMMENT= Postfix SMTP server and tools
CONFLICTS+= courier-mta-[0-9]* fastforward>=0.51nb2 sendmail-[0-9]*
PKG_INSTALLATION_TYPES= overwrite pkgviews
USE_TOOLS+= perl
CHECK_HEADERS_SKIP+= src/global/mail_params.h
.include "../../mk/bsd.prefs.mk"
# POSTFIX_QUEUE_DIR is the default queue directory for Postfix. This is
# merely a default, and may be changed by setting "queue_directory" in
# ${PKG_SYSCONFDIR}/main.cf.
#
POSTFIX_QUEUE_DIR?= ${VARBASE}/spool/postfix
BUILD_DEFS+= VARBASE POSTFIX_QUEUE_DIR
# CCARGS is a list of options to pass to the preprocessor/compiler.
# AUXLIBS is a list of options to pass to the linker.
#
CCARGS= # empty
AUXLIBS= ${LDFLAGS}
FIX_RPATH+= AUXLIBS
# Set some default paths to override ${WRKSRC}/src/global/mail_params.h.
CCARGS+= -DDEF_QUEUE_DIR=\"${POSTFIX_QUEUE_DIR}\"
CCARGS+= -DDEF_DAEMON_DIR=\"${LIBEXECDIR}\"
CCARGS+= -DDEF_COMMAND_DIR=\"${PREFIX}/sbin\"
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_MANPAGE_DIR=\"${PREFIX}/man\"
CCARGS+= -DDEF_SAMPLE_DIR=\"${EXAMPLEDIR}\"
CCARGS+= -DDEF_README_DIR=\"${DOCDIR}\"
REPLACE_PERL+= auxiliary/qshape/qshape.pl
# Override those same default paths in the installed example main.cf.
SUBST_CLASSES+= postfix
SUBST_STAGE.postfix= post-configure
SUBST_FILES.postfix= conf/main.cf src/global/mail_params.h
SUBST_SED.postfix= \
-e 's|^\(queue_directory\) =.*|\1 = ${POSTFIX_QUEUE_DIR}|'
SUBST_SED.postfix+= \
-e 's|^\(command_directory\) =.*|\1 = ${PREFIX}/sbin|'
SUBST_SED.postfix+= \
-e 's|^\(daemon_directory\) =.*|\1 = ${LIBEXECDIR}|'
SUBST_SED.postfix+= \
-e 's|^\(sendmail_path\) =.*|\1 = ${PREFIX}/sbin/sendmail|'
SUBST_SED.postfix+= \
-e 's|^\(newaliases_path\) =.*|\1 = ${PREFIX}/bin/newaliases|'
SUBST_SED.postfix+= \
-e 's|^\(mailq_path\) =.*|\1 = ${PREFIX}/bin/mailq|'
SUBST_SED.postfix+= \
-e 's|^\(setgid_group\) =.*|\1 = maildrop|'
SUBST_SED.postfix+= \
-e 's|^\(manpage_directory\) =.*|\1 = ${PREFIX}/man|'
SUBST_SED.postfix+= \
-e 's|^\(sample_directory\) =.*|\1 = ${EXAMPLEDIR}|'
SUBST_SED.postfix+= \
-e 's|^\(readme_directory\) =.*|\1 = ${DOCDIR}|'
SUBST_SED.postfix+= \
-e '/^\#define DEF_SGID_GROUP[ ]/s,postdrop,maildrop,g'
# options.mk appends to CCARGS and AUXLIBS the options needed to build
# Postfix with support for various add-on modules.
#
.include "options.mk"
PKG_SYSCONFSUBDIR= postfix
LIBEXECDIR= ${PREFIX}/libexec/postfix
DOCDIR= ${PREFIX}/share/doc/postfix
EXAMPLEDIR= ${PREFIX}/share/examples/postfix
FILES_SUBST+= EXAMPLEDIR=${EXAMPLEDIR:Q}
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
BUILD_TARGET= # empty
MAKE_ENV+= CC=${CC:Q} OPT=${CFLAGS:Q}
MAKE_ENV+= AUXLIBS=${AUXLIBS:Q} CCARGS=${CCARGS:Q}
RCD_SCRIPTS= postfix
OWN_DIRS+= ${POSTFIX_QUEUE_DIR} ${POSTFIX_QUEUE_DIR}/etc
MAKE_DIRS+= ${PKG_SYSCONFDIR}
PKG_GROUPS?= postfix maildrop
PKG_USERS?= postfix:postfix
PKG_GECOS.postfix= Postfix User
PKG_HOME.postfix= ${POSTFIX_QUEUE_DIR}
CONF_FILES= # empty
.for i in main.cf master.cf postfix-files
CONF_FILES+= ${EXAMPLEDIR}/${i} ${PKG_SYSCONFDIR}/${i}
.endfor
CONF_FILES_PERMS= # empty
.for i in post-install postfix-script
CONF_FILES_PERMS+= ${EXAMPLEDIR}/${i} ${PKG_SYSCONFDIR}/${i} \
${ROOT_USER} ${ROOT_GROUP} 755
.endfor
.if !empty(PKG_OPTIONS:Msasl) || !empty(PKG_OPTIONS:Mdovecot-sasl)
MAKE_DIRS+= ${SASLLIBDIR}
CONF_FILES+= ${EXAMPLEDIR}/smtpd.conf ${SASLLIBDIR}/smtpd.conf
.endif
MAKE_ENV+= DEBUG= # empty
SUBST_CLASSES+= paths
SUBST_FILES.paths= ${WRKDIR}/mailer.conf
SUBST_SED.paths+= -e 's,@PREFIX@,${PREFIX},g'
SUBST_STAGE.paths= post-patch
post-extract:
cp ${FILESDIR}/mailer.conf ${WRKDIR}/mailer.conf
rm -f ${WRKSRC}/auxiliary/MacOSX/Postfix.StartupItem/Postfix
do-configure:
cd ${WRKSRC} && \
env ${MAKE_ENV} ${MAKE} -f Makefile.init makefiles \
'CCARGS=${CCARGS}' 'AUXLIBS=${AUXLIBS}'
post-build:
.if !empty(PKG_OPTIONS:Msasl)
${ECHO} "pwcheck_method: ${PWCHECK_METHOD}" > ${WRKDIR}/smtpd.conf
.endif
do-install:
${INSTALL_DATA_DIR} ${LIBEXECDIR}
${INSTALL_DATA_DIR} ${EXAMPLEDIR}
${INSTALL_DATA_DIR} ${DOCDIR}
rm -f ${WRKSRC}/conf/*.orig
.if !empty(PKG_OPTIONS:Msasl)
${INSTALL_DATA} ${WRKDIR}/smtpd.conf ${EXAMPLEDIR}
.endif
${INSTALL_SCRIPT} ${WRKSRC}/conf/post-install ${EXAMPLEDIR}
${INSTALL_SCRIPT} ${WRKSRC}/conf/postfix-script ${EXAMPLEDIR}
${INSTALL_DATA} ${WRKDIR}/mailer.conf ${EXAMPLEDIR}/mailer.conf
cd ${WRKSRC} && sh ./postfix-install -non-interactive \
config_directory="${EXAMPLEDIR}"
${INSTALL_SCRIPT} ${WRKSRC}/auxiliary/qshape/qshape.pl \
${PREFIX}/sbin/qshape
.include "../../mk/bsd.pkg.mk"