pkgsrc/mail/postfix/Makefile

171 lines
5.4 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.233 2010/06/08 15:14:34 martti Exp $
DISTNAME= postfix-2.7.1
#PKGREVISION= 1
CATEGORIES= mail
MASTER_SITES= ftp://ftp.porcupine.org/mirrors/postfix-release/official/
2008-08-22 22:29:55 +02:00
MASTER_SITES+= http://postfix.it-austria.net/releases/official/
MASTER_SITES+= http://mirrors.isc.org/pub/postfix/official/
MASTER_SITES+= http://mirror.postfix.jp/postfix-release/official/
2006-10-16 11:54:49 +02:00
DIST_SUBDIR= postfix
2003-11-01 14:34:10 +01:00
MAINTAINER= martti@NetBSD.org
HOMEPAGE= http://www.postfix.org/
COMMENT= Postfix SMTP server and tools
2009-05-12 14:27:19 +02:00
LICENSE= postfix-license
2006-05-01 04:57:03 +02:00
CONFLICTS+= courier-mta-[0-9]* fastforward>=0.51nb2 sendmail-[0-9]*
CONFLICTS+= esmtp>=1.2
PKG_DESTDIR_SUPPORT= user-destdir
2004-01-11 08:40:13 +01:00
PKG_INSTALLATION_TYPES= overwrite pkgviews
2006-02-27 14:22:55 +01:00
USE_TOOLS+= perl
CHECK_HEADERS_SKIP+= src/global/mail_params.h
2006-02-27 14:22:55 +01:00
.include "../../mk/bsd.prefs.mk"
SPECIAL_PERMS+= sbin/postdrop postfix maildrop 2555
SPECIAL_PERMS+= sbin/postqueue postfix maildrop 2555
# 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_DATA_DIR?= ${VARBASE}/db/postfix
POSTFIX_QUEUE_DIR?= ${VARBASE}/spool/postfix
BUILD_DEFS+= VARBASE POSTFIX_DATA_DIR 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= -DUSE_SASL_AUTH
AUXLIBS= ${LDFLAGS}
# Set some default paths to override ${WRKSRC}/src/global/mail_params.h.
CCARGS+= -DDEF_DATA_DIR=\"${POSTFIX_DATA_DIR}\"
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\"
2007-09-23 13:20:48 +02:00
CCARGS+= -DDEF_MANPAGE_DIR=\"${PREFIX}/${PKGMANDIR}\"
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|^\(data_directory\) =.*|\1 = ${POSTFIX_DATA_DIR}|'
SUBST_SED.postfix+= \
2006-10-19 08:37:04 +02:00
-e 's|^\(queue_directory\) =.*|\1 = ${POSTFIX_QUEUE_DIR}|'
2006-10-16 12:58:24 +02:00
SUBST_SED.postfix+= \
2006-10-19 08:37:04 +02:00
-e 's|^\(command_directory\) =.*|\1 = ${PREFIX}/sbin|'
2006-10-16 12:58:24 +02:00
SUBST_SED.postfix+= \
2006-10-19 08:37:04 +02:00
-e 's|^\(daemon_directory\) =.*|\1 = ${LIBEXECDIR}|'
2006-10-16 12:58:24 +02:00
SUBST_SED.postfix+= \
2006-10-19 08:37:04 +02:00
-e 's|^\(sendmail_path\) =.*|\1 = ${PREFIX}/sbin/sendmail|'
2006-10-16 12:58:24 +02:00
SUBST_SED.postfix+= \
2006-10-19 08:37:04 +02:00
-e 's|^\(newaliases_path\) =.*|\1 = ${PREFIX}/bin/newaliases|'
2006-10-16 12:58:24 +02:00
SUBST_SED.postfix+= \
2006-10-19 08:37:04 +02:00
-e 's|^\(mailq_path\) =.*|\1 = ${PREFIX}/bin/mailq|'
2006-10-16 12:58:24 +02:00
SUBST_SED.postfix+= \
2006-10-19 08:37:04 +02:00
-e 's|^\(setgid_group\) =.*|\1 = maildrop|'
2006-10-16 12:58:24 +02:00
SUBST_SED.postfix+= \
2007-09-23 13:20:48 +02:00
-e 's|^\(manpage_directory\) =.*|\1 = ${PREFIX}/${PKGMANDIR}|'
2006-10-16 12:58:24 +02:00
SUBST_SED.postfix+= \
2006-10-19 08:37:04 +02:00
-e 's|^\(sample_directory\) =.*|\1 = ${EXAMPLEDIR}|'
2006-10-16 12:58:24 +02:00
SUBST_SED.postfix+= \
2006-10-19 08:37:04 +02:00
-e 's|^\(readme_directory\) =.*|\1 = ${DOCDIR}|'
2006-10-16 12:58:24 +02:00
SUBST_SED.postfix+= \
2006-10-19 08:37:04 +02:00
-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}
MESSAGE_SUBST+= EXAMPLEDIR=${EXAMPLEDIR}
2004-07-20 00:10:52 +02:00
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
2006-10-16 11:54:49 +02:00
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
OWN_DIRS_PERMS+= ${POSTFIX_DATA_DIR} postfix postfix 0700
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
Updated mail/postfix to 2.6.0 - Multi-instance support introduces a new postmulti(1) command to create/add/remove/etc. additional Postfix instances. The familiar "postfix start" etc. commands now automatically start multiple Postfix instances. The good news: nothing changes when you use only one Postfix instance. See MULTI_INSTANCE_README for details. - Multi-instance support required that some files be moved from the non-shared $config_directory to the shared $daemon_directory. The affected files are postfix-script, postfix-files and post-install. - TLS (SSL) support was updated for elliptic curve encryption. This requires OpenSSL version 0.9.9 or later. The SMTP client no longer uses the SSLv2 protocol by default. See TLS_README for details. - The Milter client now supports all Sendmail 8.14 Milter requests, including requests for rejected recipient addresses, and requests to replace the envelope sender address. See MILTER_README for details. - Postfix no longer adds (Resent-) From:, Date:, Message-ID: or To: headers to email messages with "remote" origins (these are origins that don't match $local_header_rewrite_clients). Adding such headers breaks DKIM signatures that explicitly cover non-present headers. For compatibility with existing logfile processing software, Postfix will log ``message-id=<>'' for email messages that have no Message-Id header. - Stress-adaptive behavior is now enabled by default. This allows the Postfix SMTP server to temporarily reduce time limits and error-count limits under conditions of overload, such as a malware attack or backscatter flood. See STRESS_README for details. No functionality has been removed, but it is a good idea to review the RELEASE_NOTES file for the usual minor incompatibilities or limitations.
2009-05-13 12:33:23 +02:00
.for i in main.cf master.cf
CONF_FILES+= ${EXAMPLEDIR}/${i} ${PKG_SYSCONFDIR}/${i}
.endfor
CONF_FILES_PERMS= # empty
2004-11-25 05:02:35 +01:00
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
.if !empty(USE_DESTDIR:M[Yy][Ee][Ss])
DESTDIR_INSTALLOPTIONS=-package install_root="${DESTDIR}"
.endif
INSTALLATION_DIRS+= ${LIBEXECDIR} ${EXAMPLEDIR} ${DOCDIR}
post-extract:
2006-10-16 12:43:32 +02:00
cp ${FILESDIR}/mailer.conf ${WRKDIR}/mailer.conf
rm -f ${WRKSRC}/auxiliary/MacOSX/Postfix.StartupItem/Postfix
do-configure:
cd ${WRKSRC} && \
2006-10-16 12:43:32 +02:00
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:
2006-10-16 12:43:32 +02:00
rm -f ${WRKSRC}/conf/*.orig
.if !empty(PKG_OPTIONS:Msasl)
${INSTALL_DATA} ${WRKDIR}/smtpd.conf ${DESTDIR}${EXAMPLEDIR}
.endif
2007-04-03 09:18:59 +02:00
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
.include "../../mk/bsd.pkg.mk"