pkgsrc/mail/exim/Makefile

129 lines
3.8 KiB
Makefile
Raw Normal View History

# $NetBSD: Makefile,v 1.145 2016/04/09 10:49:39 adam Exp $
1999-09-07 15:22:50 +02:00
DISTNAME= exim-4.87
CATEGORIES= mail net
MASTER_SITES= ftp://ftp.exim.org/pub/exim/exim4/ \
http://dl.ambiweb.de/mirrors/ftp.exim.org/exim/exim4/
EXTRACT_SUFX= .tar.bz2
MAINTAINER= abs@NetBSD.org
1999-09-07 15:22:50 +02:00
HOMEPAGE= http://www.exim.org/
COMMENT= The Exim mail transfer agent, a replacement for sendmail
LICENSE= gnu-gpl-v2
1999-09-07 15:22:50 +02:00
CONFLICTS+= exim-exiscan-[0-9]*
USE_TOOLS+= perl:run
BUILD_DEFS+= VARBASE
MAKE_ENV+= SSLBASE=${SSLBASE:Q}
MAKE_ENV+= INST_CHOWN=${CHOWN:Q}
update exim to 4.52. summary of changes since 4.51 (general bug fixes and portability fixes ommitted for brevity, see the ChangeLog for details): Exim version 4.52 ----------------- TF/01 Added support for Client SMTP Authorization. See NewStuff for details. PH/02 Reduce the amount of output that "make" produces by default. Full output can still be requested. PH/04 Installed a modified version of Tony Finch's patch to make submission mode fix the return path as well as the Sender: header line, and to add a /name= option so that you can make the user's friendly name appear in the header line. TF/03 Added the control = fakedefer ACL modifier. TF/04 Added the ratelimit ACL condition. See NewStuff for details. Thanks to Mark Lowes for thorough testing. TK/02 Rewrote SPF support to work with libspf2 versions >1.2.0. TK/03 Merged latest SRS patch from Miles Wilton. TK/04 Added simple SPF lookup method in EXPERIMENTAL_SPF. See NewStuff for details. Thanks to Chris Webb <chris@arachsys.com> for the patch! PH/07 Added "fullpostmaster" verify option, which does a check to <postmaster> without a domain if the check to <postmaster@domain> fails. SC/01 Eximstats: added -xls and the ability to specify output files (patch written by Frank Heydlauf). SC/02 Eximstats: use FileHandles for outputing results. SC/03 Eximstats: allow any combination of xls, txt, and html output. SC/06 Eximstats: added the -include_original_destination flag TK/06 MBOX spool code: Add real "From " MBOX separator line so the .eml file is really in mbox format (even though most programs do not really care). Patch from Alex Miller. TK/07 MBOX spool code: Add X-Envelope-From: and X-Envelope-To: headers. The latter is generated from $received_to and is only set if the message has one envelope recipient. SA can use these headers, obviously out-of-the-box. Patch from Alex Miller. PH/11 Upgraded appendfile so that quotas larger than 2G are now supported. This involved changing a lot of size variables from int to off_t. It should work with maildirs and everything. PH/12 Applied Alex Kiernan's patch for the API change for the error callback function for BDB 4.3. PH/13 Changed auto_thaw such that it does not apply to bounce messages. PH/14 Imported PCRE 6.0; this was more than just a trivial operation because the sources for PCRE have been re-arranged and more files are now involved. PH/16 Applied Matthew Newton's patch to exicyclog: "If log_file_path is set in the configuration file to be ":syslog", then the script "guesses" where the logs files are, rather than using the compiled in default. In our case the guess is not the same as the compiled default, so the script suddenly stopped working when I started to use syslog. The patch checks to see if log_file_path is "". If so, it attempts to read it from exim with no configuration file to get the compiled in version, before it falls back to the previous guessing code." TK/09 Added "prvs" and "prvscheck" expansion items. These help a lot with implementing BATV in an Exim configuration. See NewStuff for the gory details. PH/18 If the "use_postmaster" option was set for a recipient callout together with the "random" option, the postmaster address was used as the MAIL FROM address for the random test, but not for the subsequent recipient test. It is now used for both. PH/19 Applied Michael Haardt's patch to update Sieve to RFC3028bis. "The patch removes a few documentation additions to RFC 3028, because the latest draft now contains them. It adds the new en;ascii-case comparator and a new error check for 8bit text in MIME parts. Comparator and require names are now matched exactly. I enabled the subaddress extension, but it is not well tested yet (read: it works for me)." PH/23 Added daemon_startup_retries and daemon_startup_sleep. PH/24 Added ${if match_ip condition. PH/28 Changed -d+all to exclude +memory, because that information is very rarely of interest, but it makes the output a lot bigger. People tend to do -d+all out of habit. PH/30 Exim's DNS code uses the original T_xxx names for DNS record times. These aren't the modern standard, and it seems that some systems' include files don't always have them. Exim was already checking for some of the newer ones like T_AAAA, and defining it itself. I've added checks for all the record types that Exim uses. TK/11 Domainkeys: Change the logic how the "testing" policy flag is retrieved from DNS. If the selector record carries the flag, it now has precedence over the domain-wide flag. SC/09 Eximstats: added the -show_rt<list> and the -show_dt<list> flags as requested by Marc Sherman. SC/10 Eximstats: added histograms for user specified patterns as requested by Marc Sherman.
2005-07-20 08:32:29 +02:00
MAKE_FLAGS+= FULLECHO=''
MAKE_JOBS_SAFE= no
.include "../../mk/bsd.prefs.mk"
BUILD_DEFS+= EXIM_DB EXIM_MAX_INCLUDE_SIZE
PKG_GROUPS= ${EXIM_GROUP}
PKG_USERS= ${EXIM_USER}:${EXIM_GROUP}
PKG_GROUPS_VARS+= EXIM_GROUP
PKG_USERS_VARS+= EXIM_USER
PKG_GECOS.${EXIM_USER}= Exim mail server user
PKG_HOME.${EXIM_USER}= ${VARBASE}/mail
PKG_SHELL.${EXIM_USER}= ${NOLOGIN}
Changes 4.83: 1. If built with the EXPERIMENTAL_PROXY feature enabled, Exim can be configured to expect an initial header from a proxy that will make the actual external source IP:host be used in exim instead of the IP of the proxy that is connecting to it. 2. New verify option header_names_ascii, which will check to make sure there are no non-ASCII characters in header names. Exim itself handles those non-ASCII characters, but downstream apps may not, so Exim can detect and reject if those characters are present. 3. New expansion operator ${utf8clean:string} to replace malformed UTF8 codepoints with valid ones. 4. New malware type "sock". Talks over a Unix or TCP socket, sending one command line and matching a regex against the return data for trigger and a second regex to extract malware_name. The mail spoofile name can be included in the command line. 5. The smtp transport now supports options "tls_verify_hosts" and "tls_try_verify_hosts". If either is set the certificate verification is split from the encryption operation. The default remains that a failed verification cancels the encryption. 6. New SERVERS override of default ldap server list. In the ACLs, an ldap lookup can now set a list of servers to use that is different from the default list. 7. New command-line option -C for exiqgrep to specify alternate exim.conf file when searching the queue. 8. OCSP now supports GnuTLS also, if you have version 3.1.3 or later of that. 9. Support for DNSSEC on outbound connections. 10. New variables "tls_(in,out)_(our,peer)cert" and expansion item "certextract" to extract fields from them. Hash operators md5 and sha1 work over them for generating fingerprints, and a new sha256 operator for them added. 11. PRDR is now supported dy default. 12. OCSP stapling is now supported by default. 13. If built with the EXPERIMENTAL_DSN feature enabled, Exim will output Delivery Status Notification messages in MIME format, and negociate DSN features per RFC 3461.
2014-07-23 16:09:52 +02:00
FILES_SUBST+= EXIM_GROUP=${EXIM_GROUP}
FILES_SUBST+= EXIM_USER=${EXIM_USER}
PKG_SYSCONFSUBDIR= exim
EXAMPLESDIR= ${PREFIX}/share/examples/exim
CONF_FILES= ${EXAMPLESDIR}/aliases ${PKG_SYSCONFDIR}/aliases
CONF_FILES+= ${EXAMPLESDIR}/configure ${PKG_SYSCONFDIR}/configure
MESSAGE_SUBST+= EXAMPLESDIR="${EXAMPLESDIR}"
PLIST_SUBST+= DISTNAME=${DISTNAME}
RCD_SCRIPTS= exim
OWN_DIRS_PERMS= ${VARBASE}/log/exim ${EXIM_USER} ${EXIM_GROUP} 0750
OWN_DIRS_PERMS+= ${VARBASE}/spool/exim ${EXIM_USER} ${EXIM_GROUP} 0750
SPECIAL_PERMS+= sbin/${PKGSRC_EXIM_VERSION} ${SETUID_ROOT_PERMS}
# pay attention to CPPFLAGS as well
CFLAGS+= ${CPPFLAGS}
PKGSRC_EXIM_VERSION= ${DISTNAME}-1
SUBST_CLASSES+= exim
SUBST_STAGE.exim= pre-configure
SUBST_MESSAGE.exim= Faking exim version information in exim_install
SUBST_FILES.exim= scripts/exim_install
SUBST_VARS.exim= PKGSRC_EXIM_VERSION
SUBST_CLASSES+= cflags
SUBST_STAGE.cflags= post-patch
SUBST_MESSAGE.cflags= Removing hard-coded CFLAGS
SUBST_FILES.cflags= OS/Makefile-*
SUBST_SED.cflags= -e 's,^CFLAGS=.*,,'
INSTALL_ARG= INSTALL_ARG=-no_chown
INSTALL_ENV+= ${INSTALL_ARG:Q}
.include "options.mk"
post-extract:
2007-10-14 21:14:57 +02:00
mkdir ${WRKSRC}/Local
cp ${WRKSRC}/src/EDITME ${WRKSRC}/Local/Makefile.pkgsrc
cp ${WRKSRC}/exim_monitor/EDITME ${WRKSRC}/Local/eximon.conf.pkgsrc
cp ${FILESDIR}/Makefile-DragonFly ${FILESDIR}/os.h-DragonFly \
${WRKSRC}/OS/
pre-configure:
2007-10-14 21:14:57 +02:00
sed -e 's:@PREFIX@:${PREFIX}:' \
-e 's:@PKG_SYSCONFDIR@:${PKG_SYSCONFDIR}:' \
-e 's:@EXIM_USER@:${EXIM_USER}:' \
-e 's:@EXIM_GROUP@:${EXIM_GROUP}:' \
-e 's:@EXIM_USE_DB_CONFIG@:${EXIM_USE_DB_CONFIG}:' \
-e 's:@EXIM_DBMLIB@:${EXIM_DBMLIB}:' \
-e 's:@EXIM_INCLUDE@:${EXIM_INCLUDE}:' \
-e 's:@LOOKUP_LIBS@:${LOOKUP_LIBS}:' \
-e 's:@CHOWN@:${CHOWN}:' \
-e 's:@CHGRP@:${CHGRP}:' \
Changes 4.70: * Added patch by Johannes Berg that expands the main option "spamd_servers" if it starts with a dollar sign. * Write list of recipients to X-Envelope-Sender header when building the mbox-format spool file for content scanning. * Added patch by Wolfgang Breyha that adds experimental DCC (http://www.dcc-servers.net/) support via dccifd. Activated by setting EXPERIMENTAL_DCC=yes in Local/Makefile. Check out experimental_spec.txt for more documentation. * Bugzilla 673: Add f-protd malware scanner support. * Bugzilla 657: Embedded PCRE removed from the exim source tree. When building exim an external PCRE library is now needed - PCRE is a system library on the majority of modern systems. See entry on PCRE_LIBS in EDITME file. * Bugzilla 646: Removed unwanted C/R in Dovecot authenticator conversation. Added nologin parameter to request. * Do not log submission mode rewrites if they do not change the address. * Bugzilla 662: Fix stack corruption before exec() in daemon.c. * Bugzilla 602: exicyclog now handles panic log, and creates empty log files in place. Contributed by Roberto Lima * Bugzilla 667: close socket used by dovecot authenticator * Bugzilla 615: When checking the local_parts router precondition after a local_part_suffix or local_part_prefix option, Exim now does not use the address's named list lookup cache, since this contains cached lookups for the whole local part. * Bugzilla 521: Integrated SPF Best Guess support contributed by Robert Millan. Documentation is in experimental-spec.txt * Bugzilla 668: Fix parallel build (make -j). * Bugzilla 437: Prevent Maildir aux files being created with mode 000 * Bugzilla 598: Improvement to Dovecot authenticator handling. * Leading white space used to be stripped from $spam_report which wrecked the formatting. Now it is preserved. * Save $spam_score, $spam_bar, and $spam_report in spool files, so that they are available at delivery time. * Fix the way ${extract is skipped in the untaken branch of a conditional. * TLS error reporting now respects the incoming_interface and incoming_port log selectors. * more...
2009-11-17 07:39:32 +01:00
-e 's:@CHMOD@:${CHMOD}:' \
-e 's:@MV@:${MV}:' \
-e 's:@RM@:${RM}:' \
Changes 4.70: * Added patch by Johannes Berg that expands the main option "spamd_servers" if it starts with a dollar sign. * Write list of recipients to X-Envelope-Sender header when building the mbox-format spool file for content scanning. * Added patch by Wolfgang Breyha that adds experimental DCC (http://www.dcc-servers.net/) support via dccifd. Activated by setting EXPERIMENTAL_DCC=yes in Local/Makefile. Check out experimental_spec.txt for more documentation. * Bugzilla 673: Add f-protd malware scanner support. * Bugzilla 657: Embedded PCRE removed from the exim source tree. When building exim an external PCRE library is now needed - PCRE is a system library on the majority of modern systems. See entry on PCRE_LIBS in EDITME file. * Bugzilla 646: Removed unwanted C/R in Dovecot authenticator conversation. Added nologin parameter to request. * Do not log submission mode rewrites if they do not change the address. * Bugzilla 662: Fix stack corruption before exec() in daemon.c. * Bugzilla 602: exicyclog now handles panic log, and creates empty log files in place. Contributed by Roberto Lima * Bugzilla 667: close socket used by dovecot authenticator * Bugzilla 615: When checking the local_parts router precondition after a local_part_suffix or local_part_prefix option, Exim now does not use the address's named list lookup cache, since this contains cached lookups for the whole local part. * Bugzilla 521: Integrated SPF Best Guess support contributed by Robert Millan. Documentation is in experimental-spec.txt * Bugzilla 668: Fix parallel build (make -j). * Bugzilla 437: Prevent Maildir aux files being created with mode 000 * Bugzilla 598: Improvement to Dovecot authenticator handling. * Leading white space used to be stripped from $spam_report which wrecked the formatting. Now it is preserved. * Save $spam_score, $spam_bar, and $spam_report in spool files, so that they are available at delivery time. * Fix the way ${extract is skipped in the untaken branch of a conditional. * TLS error reporting now respects the incoming_interface and incoming_port log selectors. * more...
2009-11-17 07:39:32 +01:00
-e 's:@TOUCH@:${TOUCH}:' \
-e 's:@PERL5@:${PERL5}:' \
-e 's:@VARBASE@:${VARBASE}:' \
< ${WRKSRC}/Local/Makefile.pkgsrc \
> ${WRKSRC}/Local/Makefile
.for opt in ${LOCAL_MAKEFILE_OPTIONS}
${ECHO} ${opt} >> ${WRKSRC}/Local/Makefile
.endfor
.if !empty(EXIM_MAX_INCLUDE_SIZE)
${ECHO} MAX_INCLUDE_SIZE=${EXIM_MAX_INCLUDE_SIZE} >> ${WRKSRC}/Local/Makefile
.endif
2007-10-14 21:14:57 +02:00
sed -e 's:@PREFIX@:${PREFIX}:' \
-e 's:@PKG_SYSCONFDIR@:${PKG_SYSCONFDIR}:' \
< ${WRKSRC}/Local/eximon.conf.pkgsrc \
> ${WRKSRC}/Local/eximon.conf
post-build:
2007-10-14 21:14:57 +02:00
sed -e 's:@PREFIX@:${PREFIX}:' \
${FILESDIR}/mailer.conf.exim \
> ${WRKDIR}/mailer.conf
INSTALLATION_DIRS+= ${PKGMANDIR}/man8 sbin share/examples/exim share/doc/exim
2009-02-13 16:28:03 +01:00
post-install:
2009-02-13 16:28:03 +01:00
${INSTALL_DATA} ${WRKDIR}/mailer.conf ${DESTDIR}${EXAMPLESDIR}
${INSTALL_DATA} ${WRKSRC}/doc/exim.8 \
${DESTDIR}${PREFIX}/${PKGMANDIR}/man8/exim.8
${INSTALL_DATA} ${WRKSRC}/doc/spec.txt \
${DESTDIR}${PREFIX}/share/doc/exim
.include "../../converters/libiconv/buildlink3.mk"
Changes 4.70: * Added patch by Johannes Berg that expands the main option "spamd_servers" if it starts with a dollar sign. * Write list of recipients to X-Envelope-Sender header when building the mbox-format spool file for content scanning. * Added patch by Wolfgang Breyha that adds experimental DCC (http://www.dcc-servers.net/) support via dccifd. Activated by setting EXPERIMENTAL_DCC=yes in Local/Makefile. Check out experimental_spec.txt for more documentation. * Bugzilla 673: Add f-protd malware scanner support. * Bugzilla 657: Embedded PCRE removed from the exim source tree. When building exim an external PCRE library is now needed - PCRE is a system library on the majority of modern systems. See entry on PCRE_LIBS in EDITME file. * Bugzilla 646: Removed unwanted C/R in Dovecot authenticator conversation. Added nologin parameter to request. * Do not log submission mode rewrites if they do not change the address. * Bugzilla 662: Fix stack corruption before exec() in daemon.c. * Bugzilla 602: exicyclog now handles panic log, and creates empty log files in place. Contributed by Roberto Lima * Bugzilla 667: close socket used by dovecot authenticator * Bugzilla 615: When checking the local_parts router precondition after a local_part_suffix or local_part_prefix option, Exim now does not use the address's named list lookup cache, since this contains cached lookups for the whole local part. * Bugzilla 521: Integrated SPF Best Guess support contributed by Robert Millan. Documentation is in experimental-spec.txt * Bugzilla 668: Fix parallel build (make -j). * Bugzilla 437: Prevent Maildir aux files being created with mode 000 * Bugzilla 598: Improvement to Dovecot authenticator handling. * Leading white space used to be stripped from $spam_report which wrecked the formatting. Now it is preserved. * Save $spam_score, $spam_bar, and $spam_report in spool files, so that they are available at delivery time. * Fix the way ${extract is skipped in the untaken branch of a conditional. * TLS error reporting now respects the incoming_interface and incoming_port log selectors. * more...
2009-11-17 07:39:32 +01:00
.include "../../devel/pcre/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"