From 2f4eff9be7756451f6a8ae237f11015a0224d7fb Mon Sep 17 00:00:00 2001 From: Sheldon Hearn Date: Mon, 29 Sep 2003 11:42:45 +0000 Subject: [PATCH] WARNING: See caution at the end of this bullet list. * Update to exim-4.24 (bugfix release). * Wishlist patch for "eqi" incorporated. * Mark exim-{ldap2,mysql,postgresql,} as conflicting. * Substitute PORTREVISION for build number so that the version string hints at which version of the port the binary comes from. * Clean up POST-INSTALL-NOTES. * Install example scripts, especially upgrade converters, now that exim-old has been retired. * Enable DNSDB-style lookup support by default; it can be disabled with WITHOUT_DNSDB. * Simplify LDAP support, using various versions of OpenLDAP only. The old WITH_OPENLDAP[0-9][0-9] options are now invalid; use WITH_OPENLDAP and/or WITH_OPENLDAP_VER instead. * Retired exim-ldap port; OpenLDAP 1.2 is ancient. * Allow the operator to specify preferred MySql version with WITH_MYSQL_VER. * Allow the operator to specify preferred Berkeley DB version with WITH_BDB_VER; the old DB_LIB_VERSION option is now invalid. * Respect bsd.ports.mk defaults of MySQL 4.0 and OpenLDAP 2.1. * Allow the operator to specify default charset for header conversions, with WITH_DEFAULT_CHARSET. * Limit configure files to ${PREFIX}/etc/exim by default for security reasons; the operator may override this behaviour with WITHOUT_ALT_CONFIG_PREFIX. !!!WARNING!!! Some of these changes may cause trouble for folks who have a bunch of exim port tweaks in make.conf and pkgtools.conf. The ALT_CONFIG_PREFIX change may break existing deployments. PR: ports/57098 Submitted by: Oliver Eikemeier PR: ports/56117 Submitted by: Pat Lashley PR: ports/57099 Reported by: Mark Foster --- mail/exim-ldap/Makefile | 13 -- mail/exim-ldap2/Makefile | 4 +- mail/exim/Makefile | 211 ++++++++++++-------- mail/exim/distinfo | 4 +- mail/exim/files/POST-INSTALL-NOTES | 29 ++- mail/exim/files/patch-src::EDITME | 47 +++-- mail/exim/files/patch-src::auths::pwcheck.c | 12 -- mail/exim/files/wishlist-eqi.patch | 90 --------- mail/exim/pkg-install | 4 +- mail/exim/pkg-plist | 6 +- 10 files changed, 187 insertions(+), 233 deletions(-) delete mode 100644 mail/exim-ldap/Makefile delete mode 100644 mail/exim/files/patch-src::auths::pwcheck.c delete mode 100644 mail/exim/files/wishlist-eqi.patch diff --git a/mail/exim-ldap/Makefile b/mail/exim-ldap/Makefile deleted file mode 100644 index cb8bb88a4bef..000000000000 --- a/mail/exim-ldap/Makefile +++ /dev/null @@ -1,13 +0,0 @@ -# New ports collection makefile for: exim-ldap -# Date created: 11 Jun 2001 -# Whom: Sheldon Hearn -# -# $FreeBSD$ -# - -PKGNAMESUFFIX= -ldap -MASTERDIR= ${.CURDIR}/../exim - -WITH_LDAP= yes - -.include "${MASTERDIR}/Makefile" diff --git a/mail/exim-ldap2/Makefile b/mail/exim-ldap2/Makefile index a72cdc0e8063..a9a87e77ea2c 100644 --- a/mail/exim-ldap2/Makefile +++ b/mail/exim-ldap2/Makefile @@ -8,7 +8,7 @@ PKGNAMESUFFIX= -ldap2 MASTERDIR= ${.CURDIR}/../exim -WITH_LDAP= yes -LDAP_LIB_TYPE= OPENLDAP2 +WITH_OPENLDAP= yes +WITH_OPENLDAP_VER= 21 .include "${MASTERDIR}/Makefile" diff --git a/mail/exim/Makefile b/mail/exim/Makefile index d9a81338d188..d4f28bf446d7 100644 --- a/mail/exim/Makefile +++ b/mail/exim/Makefile @@ -6,8 +6,7 @@ # PORTNAME= exim -PORTVERSION= 4.22 -PORTREVISION= 4 +PORTVERSION= 4.24 CATEGORIES= mail MASTER_SITES= ${MASTER_SITE_EXIM} MASTER_SITE_SUBDIR= exim4 @@ -16,28 +15,40 @@ DIST_SUBDIR= exim .if !defined(WITHOUT_EXISCAN) PATCH_SITES= http://duncanthrax.net/%SUBDIR%/ PATCH_SITE_SUBDIR= exiscan-acl -PATCHFILES= exiscan-acl-${EXISCAN_ACL_VERSION}.patch.bz2 +PATCHFILES= exiscan-acl-${EXISCAN_VERSION}.patch.bz2 PATCH_DIST_STRIP= -p1 .endif MAINTAINER= sheldonh@FreeBSD.org COMMENT= High performance MTA for Unix systems on the Internet +.if defined(PKGNAMESUFFIX) +CONFLICTS+= ${PKGNAMEPREFIX}${PORTNAME}-4* +.endif +.for suffix in -ldap2 -mysql -postgesql +.if !defined(PKGNAMESUFFIX) || ${PKGNAMESUFFIX} != ${suffix} +CONFLICTS+= ${PKGNAMEPREFIX}${PORTNAME}${suffix}* +.endif +.endfor + LIB_DEPENDS= iconv.3:${PORTSDIR}/converters/libiconv USE_BZIP2= yes USE_PERL5= yes +USE_REINPLACE= yes MAN8= exim.8 PORTDOC_FILES= ChangeLog Exim3.upgrade Exim4.upgrade NewStuff \ OptionLists.txt README README.SIEVE dbm.discuss.txt \ filter.txt pcrepattern.txt pcretest.txt spec.txt +PORT_EXAMPLES= convert4r3 convert4r4 transport-filter.pl + DAILY_SCRIPTS= 150.exim-tidydb 460.exim-mail-rejects -EXISCAN_ACL_VERSION= ${PORTVERSION}-12 +EXISCAN_VERSION= ${PORTVERSION}-12 -PLIST_SUB+= EXIM_VERSION="${PORTVERSION}" +PLIST_SUB+= EXIM_VERSION="${PORTVERSION}-${PORTREVISION}" .if defined(NOPORTDOCS) PKGMESSAGE= ${WRKDIR}/POST-INSTALL-NOTES @@ -59,10 +70,14 @@ POSTGRESQL_PORT?= databases/postgresql7 #WITHOUT_EXISCAN= yes # Define WITH_TCP_WRAPPERS, WITH_MYSQL, and WITH_PGSQL to link against -# libwrap, liblibmysqlclient and libpq respectively. Define +# libwrap, libmysqlclient and libpq respectively. Define # WITH_SASLAUTHD to enable use of the Cyrus SASL authentication daemon. +# Define WITH_MYSQL_VER to specify a particular version of MySQL to +# use. Valid values are currently 323, 40 and 41. Defining WITH_MYSQL_VER +# implies WITH_MYSQL. #WITH_TCP_WRAPPERS= yes #WITH_MYSQL= yes +#WITH_MYSQL_VER= 40 #WITH_PGSQL= yes #WITH_SASLAUTHD= yes @@ -80,18 +95,24 @@ POSTGRESQL_PORT?= databases/postgresql7 # be necessary. #WITHOUT_IPV6= yes -# Define WITH_OPENLDAP1, WITH_OPENLDAP20 or WITH_OPENLDAP21 to link -# against the respective OpenLDAP library. +# Define WITH_OPENLDAP or WITH_OPENLDAP_VER to link against libldap. +# Define WITH_OPENLDAP_VER to specify a particular version of +# OpenLDAP to use. Valid values are currently 12, 20, 21 and 22. +# Defining WITH_OPENLDAP_VER implies WITH_OPENLDAP. # Exim also supports NETSCAPE and SOLARIS7 lookup types, but no # client libraries exist for these in the ports tree. -#WITH_OPENLDAP1= yes -#WITH_OPENLDAP20= yes -#WITH_OPENLDAP21= yes +#WITH_OPENLDAP= yes +#WITH_OPENLDAP_VER= 21 -# DB_LIB_VERSION is the version of the Berkeley DB library to use, and +# WITH_BDB_VER is the version of the Berkeley DB library to use, and # may be 1, which corresponds to version 1.85 in the base system, 4 or # 41 which depends on the databases/db4 or databases/db41 port. -DB_LIB_VERSION?=1 +WITH_BDB_VER?=1 + +# When Exim is decoding MIME "words" in header lines it converts any foreign +# character sets to the one that is set in the headers_charset option. +# The default setting is defined by this setting: +WITH_DEFAULT_CHARSET?= ISO-8859-1 # The following options may be defined to turn off support for various # features that this port enables by default. @@ -116,10 +137,11 @@ DB_LIB_VERSION?=1 #WITHOUT_MAILSTORE= yes #WITHOUT_MBX= yes # -# Define WITHOUT_CDB, WITHOUT_DSEARCH, WILD_LSEARCH and WITHOUT_NIS to -# disable support for CDB-style, directory-list, wildcarded-file and NIS -# lookups respectively. +# Define WITHOUT_CDB, WITHOUT_DNSDB, WITHOUT_DSEARCH, WILD_LSEARCH and +# WITHOUT_NIS to disable support for CDB-style, DNS-style, directory-list, +# wildcarded-file and NIS lookups respectively. #WITHOUT_CDB= yes +#WITHOUT_DNSDB= yes #WITHOUT_DSEARCH= yes #WITHOUT_WILDLSEARCH= yes #WITHOUT_NIS= yes @@ -128,6 +150,9 @@ DB_LIB_VERSION?=1 # transport. #WITHOUT_LMTP= yes # +# Allow alternate configuration files not only in ${PREFIX}/etc/exim +#WITHOUT_ALT_CONFIG_PREFIX= yes +# # Include the unsupported patches in ${PATCHDIR}/wishlist-*.patch #WITH_WISHLIST= yes @@ -141,27 +166,6 @@ RUN_DEPENDS= ${LOCALBASE}/sbin/eximon:${PORTSDIR}/mail/exim-monitor EXTRA_PATCHES+= `${FIND} ${PATCHDIR} -name 'wishlist-*.patch'` .endif -.include - -.if ${OSVERSION} >= 500038 -RC_SUBR?= ${DESTDIR}/etc/rc.subr -RC_DIR= ${DESTDIR}/etc/rc.d -RC_SUFX= -.else -USE_RC_SUBR= yes -RC_DIR= ${PREFIX}/etc/rc.d -RC_SUFX= .sh -.endif - -SED_SCRIPT= -e 's,%%PREFIX%%,${PREFIX},g' \ - -e 's,%%DOCSDIR%%,${DOCSDIR},g' \ - -e 's,%%RC_SUBR%%,${RC_SUBR},g' \ - -e 's,%%RC_DIR%%,${RC_DIR},g' \ - -e 's,%%RC_SUFX%%,${RC_SUFX},g' - -PLIST_SUB+= RC_DIR=${RC_DIR} \ - RC_SUFX=${RC_SUFX} - .if !defined(WITHOUT_EXISCAN) PORTDOC_FILES+= exiscan-acl-examples.txt exiscan-acl-spec.txt PLIST_SUB+= EXISCAN_ACL="" @@ -169,14 +173,13 @@ PLIST_SUB+= EXISCAN_ACL="" PLIST_SUB+= EXISCAN_ACL="@comment " .endif -.if ${OSVERSION} < 400014 -WITHOUT_IPV6= yes -.endif - -SEDLIST= -e 's,XX_PREFIX_XX,${PREFIX},' +SEDLIST= -e 's,XX_PREFIX_XX,${PREFIX},' \ + -e 's,XX_LOCALBASE_XX,${LOCALBASE},' \ + -e 's,XX_DEFAULT_CHARSET_XX,${WITH_DEFAULT_CHARSET},' .if !defined(WITHOUT_TLS) SEDLIST+= -e 's,^\# SUPPORT_TLS=,SUPPORT_TLS=,' +USE_OPENSSL= yes .else SEDLIST+= -e 's,^TLS_LIBS=,\#TLS_LIBS=,' .endif @@ -192,38 +195,24 @@ SEDLIST+= -e 's,XX_TCP_WRAPPERS_LIBS_XX,-lwrap,' \ SEDLIST+= -e 's,XX_TCP_WRAPPERS_LIBS_XX,,' .endif -.if defined(WITH_LDAP) -LDAP_LIB_TYPE?=OPENLDAP1 -.if (${LDAP_LIB_TYPE} == OPENLDAP1) || (${LDAP_LIB_TYPE} == UMICHIGAN) -WITH_OPENLDAP1= yes -.elif ${LDAP_LIB_TYPE} == OPENLDAP2 -WITH_OPENLDAP2= yes -.else -.error LDAP_LIB_TYPE must be either OPENLDAP1 or OPENLDAP2 -.endif +.if defined(WITH_LDAP) || defined(LDAP_LIB_TYPE) \ + || defined(WITH_OPENLDAP1) || defined(WITH_OPENLDAP2) \ + || defined(WITH_OPENLDAP20) || defined(WITH_OPENLDAP21) +BROKEN= deprecated LDAP option defined, use WITH_OPENLDAP or WITH_OPENLDAP_VER .endif -.if defined(WITH_OPENLDAP1) && ( defined(WITH_OPENLDAP2) || \ - defined(WITH_OPENLDAP20) || defined(WITH_OPENLDAP21) ) -.error please select only one OpenLDAP version -.elif defined(WITH_OPENLDAP20) && defined(WITH_OPENLDAP21) -.error OpenLDAP 2.0 and 2.1 are mutually exclusive +.if defined(WITH_OPENLDAP_VER) +WITH_OPENLDAP= yes +WANT_OPENLDAP_VER= ${WITH_OPENLDAP_VER} .endif -.if defined(WITH_OPENLDAP21) -LDAP_LIB_TYPE= OPENLDAP2 -LIB_DEPENDS+= lber.2:${PORTSDIR}/net/openldap21-client -.elif defined(WITH_OPENLDAP2) || defined(WITH_OPENLDAP20) -LDAP_LIB_TYPE= OPENLDAP2 -LIB_DEPENDS+= lber.2:${PORTSDIR}/net/openldap20-client -.elif defined(WITH_OPENLDAP1) +.if defined(WITH_OPENLDAP) +USE_OPENLDAP= yes +.if defined(WANT_OPENLDAP_VER) && ${WANT_OPENLDAP_VER} == 12 LDAP_LIB_TYPE= OPENLDAP1 -LIB_DEPENDS+= lber.1:${PORTSDIR}/net/openldap12 -.elif defined(LDAP_LIB_TYPE) -.error please choose the OpenLDAP version you want to use +.else +LDAP_LIB_TYPE= OPENLDAP2 .endif - -.if defined(LDAP_LIB_TYPE) SEDLIST+= -e 's,XX_LDAP_LIBS_XX,-L${LOCALBASE}/lib -llber -lldap,' \ -e 's,XX_LDAP_INCLUDE_XX,-I${LOCALBASE}/include,' \ -e 's,XX_LDAP_TYPE_XX,${LDAP_LIB_TYPE},' \ @@ -233,26 +222,35 @@ SEDLIST+= -e 's,XX_LDAP_[^ ]*_XX,,' \ -e 's,^LDAP_LIB_TYPE=,\#LDAP_LIB_TYPE=,' .endif -.if (${DB_LIB_VERSION} == 1) +.if defined(DB_LIB_VERSION) +BROKEN= deprecated option DB_LIB_VERSION used, use WITH_BDB_VER +.endif + +.if ${WITH_BDB_VER} == 1 DB_LIBS= DB_INCLUDES= SEDLIST+= -e 's,^DBMLIB=,\#DBMLIB=,' -.elif (${DB_LIB_VERSION} == 4) +.elif (${WITH_BDB_VER} == 4) DB_LIBS= -L${LOCALBASE}/lib -ldb4 DB_INCLUDES= -I${LOCALBASE}/include/db4 LIB_DEPENDS+= db4.0:${PORTSDIR}/databases/db4 -.elif (${DB_LIB_VERSION} == 41) +.elif (${WITH_BDB_VER} == 41) DB_LIBS= -L${LOCALBASE}/lib -ldb41 DB_INCLUDES= -I${LOCALBASE}/include/db41 LIB_DEPENDS+= db41.1:${PORTSDIR}/databases/db41 .else -.error DB_LIB_VERSION must be either 1, 4 or 41 +BROKEN= WITH_BDB_VER must be either 1, 4 or 41 .endif SEDLIST+= -e 's,XX_DB_LIBS_XX,${DB_LIBS},' \ -e 's,XX_DB_INCLUDES_XX,${DB_INCLUDES},' +.if defined(WITH_MYSQL_VER) +WITH_MYSQL= yes +WANT_MYSQL_VER= ${WITH_MYSQL_VER} +.endif + .if defined(WITH_MYSQL) -LIB_DEPENDS+= mysqlclient.10:${PORTSDIR}/databases/mysql323-client +USE_MYSQL= yes SEDLIST+= -e 's,XX_MYSQL_LIBS_XX,-L${LOCALBASE}/lib/mysql -lmysqlclient,' \ -e 's,XX_MYSQL_INCLUDE_XX,-I${LOCALBASE}/include/mysql,' \ -e 's,^\# LOOKUP_MYSQL=,LOOKUP_MYSQL=,' @@ -299,16 +297,16 @@ SEDLIST+= -e 's,XX_PGSQL_LIBS_XX,-L${LOCALBASE}/lib -lpq,' \ SEDLIST+= -e 's,XX_PGSQL_[^ ]*_XX,,' .endif -.if !defined(WITHOUT_IPV6) -SEDLIST+= -e 's,^\# HAVE_IPV6=,HAVE_IPV6=,' -.endif - .if !defined(WITH_PGSQL) && !defined(WITH_MYSQL) && !defined(LDAP_LIB_TYPE) && \ - ${DB_LIB_VERSION} == 1 + ${WITH_BDB_VER} == 1 SEDLIST+= -e 's,^LOOKUP_LIBS=,\#LOOKUP_LIBS=,' \ -e 's,^LOOKUP_INCLUDE=,\#LOOKUP_INCLUDE=,' .endif +.if defined(WITH_DNSDB) +SEDLIST+= -e 's,^\# LOOKUP_DNSDB=,LOOKUP_DNSDB=,' +.endif + .if !defined(WITHOUT_MAILDIR) SEDLIST+= -e 's,^\# SUPPORT_MAILDIR=,SUPPORT_MAILDIR=,' .endif @@ -341,6 +339,40 @@ SEDLIST+= -e 's,^\# LOOKUP_NIS=,LOOKUP_NIS=,' SEDLIST+= -e 's,^\# TRANSPORT_LMTP=,TRANSPORT_LMTP=,' .endif +.if defined(WITHOUT_ALT_CONFIG_PREFIX) +SEDLIST+= -e 's,^\ALT_CONFIG_PREFIX=,# ALT_CONFIG_PREFIX=,' +.endif + +.include + +.if ${OSVERSION} >= 500038 +RC_SUBR?= ${DESTDIR}/etc/rc.subr +RC_DIR= ${DESTDIR}/etc/rc.d +RC_SUFX= +.else +USE_RC_SUBR= yes +RC_DIR= ${PREFIX}/etc/rc.d +RC_SUFX= .sh +.endif + +SED_SCRIPT= -e 's,%%PREFIX%%,${PREFIX},g' \ + -e 's,%%DOCSDIR%%,${DOCSDIR},g' \ + -e 's,%%EXAMPLESDIR%%,${EXAMPLESDIR},g' \ + -e 's,%%RC_SUBR%%,${RC_SUBR},g' \ + -e 's,%%RC_DIR%%,${RC_DIR},g' \ + -e 's,%%RC_SUFX%%,${RC_SUFX},g' + +PLIST_SUB+= RC_DIR=${RC_DIR} \ + RC_SUFX=${RC_SUFX} + +.if ${OSVERSION} < 400014 +WITHOUT_IPV6= yes +.endif + +.if !defined(WITHOUT_IPV6) +SEDLIST+= -e 's,^\# HAVE_IPV6=,HAVE_IPV6=,' +.endif + pre-everything:: .if empty(.MAKEFLAGS:M-s) && defined(WITH_WISHLIST) @${ECHO} '' @@ -351,8 +383,11 @@ pre-everything:: .endif do-configure: - ${MKDIR} ${WRKSRC}/Local - ${SED} ${SEDLIST} ${WRKSRC}/src/EDITME > ${WRKSRC}/Local/Makefile + @${MKDIR} ${WRKSRC}/Local + @${SED} ${SEDLIST} ${WRKSRC}/src/EDITME > ${WRKSRC}/Local/Makefile + @${REINPLACE_CMD} -e 's/"(Exim $$version_number)\\n\\t"/"(Exim $$version_number; ${OPSYS} ${OSREL})\\n\\t"/' \ + ${WRKSRC}/src/globals.c + @${REINPLACE_CMD} -e 's/^#include "cnumber\.h"$$/${PORTREVISION}/' ${WRKSRC}/src/version.c post-build: .for script in exim ${DAILY_SCRIPTS} @@ -378,17 +413,21 @@ post-install: .endfor @[ -f ${PREFIX}/etc/exim/configure ] || \ ${CP} ${PREFIX}/etc/exim/configure.default ${PREFIX}/etc/exim/configure +.for manfile in ${MAN8} + @${INSTALL_MAN} ${WRKSRC}/doc/${manfile} ${MAN8PREFIX}/man/man8 +.endfor .if !defined(NOPORTDOCS) - ${MKDIR} ${DOCSDIR} - ${INSTALL_DATA} ${WRKDIR}/POST-INSTALL-NOTES ${DOCSDIR} + @${MKDIR} ${DOCSDIR} + @${INSTALL_DATA} ${WRKDIR}/POST-INSTALL-NOTES ${DOCSDIR} .if !defined(WITHOUT_EXISCAN) - ${INSTALL_DATA} ${WRKDIR}/POST-INSTALL-NOTES.clamd ${DOCSDIR} + @${INSTALL_DATA} ${WRKDIR}/POST-INSTALL-NOTES.clamd ${DOCSDIR} .endif .for docfile in ${PORTDOC_FILES} - ${INSTALL_DATA} ${WRKSRC}/doc/${docfile} ${DOCSDIR} + @${INSTALL_DATA} ${WRKSRC}/doc/${docfile} ${DOCSDIR} .endfor -.for manfile in ${MAN8} - ${INSTALL_MAN} ${WRKSRC}/doc/${manfile} ${MAN8PREFIX}/man/man8 + @${MKDIR} ${EXAMPLESDIR} +.for example in ${PORT_EXAMPLES} + @${INSTALL_SCRIPT} ${WRKSRC}/build-${OPSYS}-${MACHINE_ARCH}/${example} ${EXAMPLESDIR} .endfor .endif @${CAT} ${PKGMESSAGE} diff --git a/mail/exim/distinfo b/mail/exim/distinfo index 75766f55ba29..a4fa42a493d2 100644 --- a/mail/exim/distinfo +++ b/mail/exim/distinfo @@ -1,2 +1,2 @@ -MD5 (exim/exim-4.22.tar.bz2) = 938ae799c08ed1899dd27fd50d48f4e5 -MD5 (exim/exiscan-acl-4.22-12.patch.bz2) = 02e5e6f92b98b44d4048fc9dee6f2705 +MD5 (exim/exim-4.24.tar.bz2) = 2d6c1a6d150c68330ba489246ac617ce +MD5 (exim/exiscan-acl-4.24-12.patch.bz2) = 3cf8b7991a8b72d3accf7348068900a3 diff --git a/mail/exim/files/POST-INSTALL-NOTES b/mail/exim/files/POST-INSTALL-NOTES index cdeacff6f373..d7660f460a1b 100644 --- a/mail/exim/files/POST-INSTALL-NOTES +++ b/mail/exim/files/POST-INSTALL-NOTES @@ -1,16 +1,22 @@ The following documentation has been installed: - info Exim -> Exim Specification (User Guide) - info 'Exim Filtering' -> Exim Filter Specification (for end-users) + man exim -> Exim options (command line) + %%DOCSDIR%%/spec.txt -> Exim Specification (User Guide) + %%DOCSDIR%%/filter.txt -> Exim Filter Specification (for end-users) -In addition, plain text versions of these documents have been installed -as: +Postscript, PDF, HTML and texinfo versions of these documents can be +installed via one of the mail/exim-doc-* ports. - %%DOCSDIR%%/filter.txt - %%DOCSDIR%%/spec.txt +An online version as well as a comprehensive FAQ and a mailing list +archive is available at: -Postscript, PDF, HTML and plain text versions of these documents, as well -as a comprehensive FAQ list, are available at http://www.exim.org/ . + http://www.exim.org/ + +Descriptions of new features not available it the manual, and a listing +of all changes, including bug fixes are documented in: + + %%DOCSDIR%%/NewStuff + %%DOCSDIR%%/ChangeLog To use Exim instead of sendmail on startup: @@ -25,8 +31,8 @@ To use Exim instead of sendmail on startup: You may also want to configure newsyslog(8) to rotate Exim log files: -/var/log/exim/mainlog mailnull:mail 640 7 * @T00 Z -/var/log/exim/rejectlog mailnull:mail 640 7 * @T00 Z +/var/log/exim/mainlog mailnull:mail 640 7 * @T00 ZN +/var/log/exim/rejectlog mailnull:mail 640 7 * @T00 ZN NOTE TO OPERATORS UPGRADING FROM exim-3.xx: @@ -39,3 +45,6 @@ are coming from a 3.xx release, please read the document in the file %%DOCSDIR%%/Exim4.upgrade, and allow some time to complete the upgrade. +Additional scripts to help upgrading are installed in: + + %%EXAMPLESDIR%% diff --git a/mail/exim/files/patch-src::EDITME b/mail/exim/files/patch-src::EDITME index a6e48c5f2579..a1918da3e0f2 100644 --- a/mail/exim/files/patch-src::EDITME +++ b/mail/exim/files/patch-src::EDITME @@ -1,5 +1,5 @@ ---- src/EDITME.orig Mon Aug 18 14:52:52 2003 -+++ src/EDITME Mon Aug 18 17:34:17 2003 +--- src/EDITME.orig Mon Sep 15 12:47:55 2003 ++++ src/EDITME Sat Sep 20 17:08:19 2003 @@ -98,7 +98,7 @@ # /usr/local/sbin. The installation script will try to create this directory, # and any superior directories, if they do not exist. @@ -35,7 +35,7 @@ # Many sites define a user called "exim", with an appropriate default group, # and use -@@ -265,6 +265,7 @@ +@@ -267,6 +267,7 @@ # LDAP_LIB_TYPE=OPENLDAP2 # LDAP_LIB_TYPE=NETSCAPE # LDAP_LIB_TYPE=SOLARIS @@ -43,20 +43,20 @@ # If you don't set any of these, Exim assumes the original University of # Michigan (OpenLDAP 1) library. -@@ -277,8 +278,10 @@ - # don't need to set LOOKUP_INCLUDE if the relevant directories are already - # specified in INCLUDE. +@@ -280,8 +281,10 @@ + # specified in INCLUDE. The settings below are just examples; -lpq is for + # PostgreSQL, -lgds is for Interbase. -# LOOKUP_INCLUDE=-I /usr/local/ldap/include -I /usr/local/mysql/include -I /usr/local/pgsql/include --# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq -+INCLUDE=-IXX_PREFIX_XX/include XX_DB_INCLUDES_XX +-# LOOKUP_LIBS=-L/usr/local/lib -lldap -llber -lmysqlclient -lpq -lgds ++INCLUDE=-IXX_LOCALBASE_XX/include XX_DB_INCLUDES_XX +LOOKUP_INCLUDE=XX_MYSQL_INCLUDE_XX XX_PGSQL_INCLUDE_XX XX_LDAP_INCLUDE_XX +LOOKUP_LIBS=XX_MYSQL_LIBS_XX XX_PGSQL_LIBS_XX XX_LDAP_LIBS_XX +DBMLIB=XX_DB_LIBS_XX - #------------------------------------------------------------------------------ -@@ -289,7 +292,7 @@ + # Compiling the Exim monitor: If you want to compile the Exim monitor, a +@@ -291,7 +294,7 @@ # files are defaulted in the OS/Makefile-Default file, but can be overridden in # local OS-specific make files. @@ -65,7 +65,24 @@ -@@ -393,7 +396,7 @@ +@@ -332,6 +335,7 @@ + + # ALT_CONFIG_PREFIX=/some/directory/ + # ALT_CONFIG_PREFIX=/some/directory/exim.conf- ++ALT_CONFIG_PREFIX=XX_PREFIX_XX/etc/exim/ + + + #------------------------------------------------------------------------------ +@@ -376,7 +380,7 @@ + # one that is set in the headers_charset option. The default setting is + # defined by this setting: + +-HEADERS_CHARSET="ISO-8859-1" ++HEADERS_CHARSET="XX_DEFAULT_CHARSET_XX" + + # If you are going to make use of $header_xxx expansions in your configuration + # file, or if your users are going to use them in filter files, and the normal +@@ -448,7 +452,7 @@ # SUPPORT_TLS=yes # Uncomment this setting if you are using OpenSSL @@ -74,7 +91,7 @@ # Uncomment these settings if you are using GnuTLS # USE_GNUTLS=yes -@@ -444,7 +447,7 @@ +@@ -499,7 +503,7 @@ # Once you have done this, "make install" will build the info files and # install them in the directory you have defined. @@ -83,7 +100,7 @@ #------------------------------------------------------------------------------ -@@ -457,7 +460,7 @@ +@@ -512,7 +516,7 @@ # %s. This will be replaced by one of the strings "main", "panic", or "reject" # to form the final file names. Some installations may want something like this: @@ -92,7 +109,7 @@ # which results in files with names /var/log/exim_mainlog, etc. The directory # in which the log files are placed must exist; Exim does not try to create -@@ -594,12 +597,20 @@ +@@ -649,12 +653,20 @@ # # USE_TCP_WRAPPERS=yes # CFLAGS=-O -I/usr/local/include @@ -115,7 +132,7 @@ #------------------------------------------------------------------------------ # The default action of the exim_install script (which is run by "make # install") is to install the Exim binary with a unique name such as -@@ -841,7 +852,7 @@ +@@ -896,7 +908,7 @@ # (process id) to a file so that it can easily be identified. The path of the # file can be specified here. Some installations may want something like this: diff --git a/mail/exim/files/patch-src::auths::pwcheck.c b/mail/exim/files/patch-src::auths::pwcheck.c deleted file mode 100644 index 3f887e046495..000000000000 --- a/mail/exim/files/patch-src::auths::pwcheck.c +++ /dev/null @@ -1,12 +0,0 @@ ---- src/auths/pwcheck.c.orig Wed Sep 10 16:33:51 2003 -+++ src/auths/pwcheck.c Wed Sep 10 16:34:53 2003 -@@ -210,7 +210,8 @@ - CYRUS_SASLAUTHD_SOCKET, strerror(errno)); - if (reply) - *reply = string_sprintf("cannot connect to saslauthd daemon at " -- "%s: %s", strerror(errno)); -+ "%s: %s", CYRUS_SASLAUTHD_SOCKET, -+ strerror(errno)); - return PWCHECK_FAIL; - } - diff --git a/mail/exim/files/wishlist-eqi.patch b/mail/exim/files/wishlist-eqi.patch deleted file mode 100644 index d412c73db9a3..000000000000 --- a/mail/exim/files/wishlist-eqi.patch +++ /dev/null @@ -1,90 +0,0 @@ -Return-Path: eikemeier@fillmore-labs.com -Delivery-Date: Thu, 28 Aug 2003 12:55:40 +0200 -Envelope-to: sheldonh@axl.seasidesoftware.co.za -Received: from mail1.gambling.com ([207.139.179.10]) - by axl.seasidesoftware.co.za with esmtp (Exim 4.22) - id 19sKQl-000MZl-Qw - for sheldonh@axl.seasidesoftware.co.za; Thu, 28 Aug 2003 12:55:08 +0200 -Received: from mx2.freebsd.org ([216.136.204.119]) - by mail1.gambling.com with esmtp (Exim 4.21) - id 19sKQe-0000zp-LM - for sheldonh@starjuice.net; Thu, 28 Aug 2003 06:55:00 -0400 -Received: from hub.freebsd.org (hub.freebsd.org [216.136.204.18]) - by mx2.freebsd.org (Postfix) with ESMTP id DC32F55487 - for ; Thu, 28 Aug 2003 03:54:54 -0700 (PDT) - (envelope-from eikemeier@fillmore-labs.com) -Received: by hub.freebsd.org (Postfix) - id DBC0016A4C1; Thu, 28 Aug 2003 03:54:54 -0700 (PDT) -Delivered-To: sheldonh@freebsd.org -Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) - by hub.freebsd.org (Postfix) with ESMTP id D8C6F16A4C0 - for ; Thu, 28 Aug 2003 03:54:54 -0700 (PDT) -Received: from mx2.fillmore-labs.com (lima.fillmore-labs.com [62.138.193.83]) - by mx1.FreeBSD.org (Postfix) with ESMTP id CA9D243FDF - for ; Thu, 28 Aug 2003 03:54:53 -0700 (PDT) - (envelope-from eikemeier@fillmore-labs.com) -Received: from p5080b7aa.dip.t-dialin.net - ([80.128.183.170] helo=fillmore-labs.com ident=epdlpdx7p1uekapy) - by mx2.fillmore-labs.com with asmtp (TLSv1:AES256-SHA:256) - (Exim 4.22) - id 19sKQR-000IqS-IX; Thu, 28 Aug 2003 12:54:47 +0200 -Message-ID: <3F4DDF6D.80409@fillmore-labs.com> -Date: Thu, 28 Aug 2003 12:54:37 +0200 -From: Oliver Eikemeier -Reply-To: exim-users@exim.org -MIME-Version: 1.0 -To: exim-users@exim.org -Cc: Philip Hazel , - Sheldon Hearn -Subject: Patch for Exim 4 wish list #181 (trivial): Caseless "eq" expansion - condition -Content-Type: text/plain; charset=us-ascii; format=flowed -Content-Transfer-Encoding: 7bit -X-Authenticated-Sender: eikemeier@fillmore-labs.com -User-Agent: KMail/1.5.9 -Organization: Fillmore Labs GmbH -X-Complaints-To: abuse@fillmore-labs.com -X-Spam-Score: 1.1 (+) -X-Spam-Score: 0.5 (/) - -The following patch gives you a 'eqi' operator, -which is like 'eq', only case-insensitive (ASCII only): - ---- wishlist-eqi.patch begins here --- -# -# (Exim 4 wish list #181) Caseless "eq" expansion condition -# - eqi = caseless eq -# ---- src/expand.c.orig Mon Aug 18 14:52:54 2003 -+++ src/expand.c Wed Aug 27 14:52:54 2003 -@@ -1482,6 +1482,7 @@ - - - /* eq: tests for string equality -+eqi: caseless test for string equality - match: does a regular expression match and sets up the numerical - variables if it succeeds - crypteq: encrypts plaintext and compares against an encrypted text, using -@@ -1491,6 +1492,7 @@ - - - else if (Ustrcmp(name, "eq") == 0 || -+ Ustrcmp(name, "eqi") == 0 || - Ustrcmp(name, "match") == 0 || - Ustrcmp(name, "crypteq") == 0 || - !isalpha(name[0])) -@@ -1565,7 +1567,7 @@ - break; - - case 'e': /* Straight text comparison */ -- *yield = (Ustrcmp(sub[0], sub[1]) == 0) == testfor; -+ *yield = (((name[2] == 'i')? strcmpic(sub[0], sub[1]) : Ustrcmp(sub[0], sub[1])) == 0) == testfor; - break; - - case 'm': /* Regular expression match */ ---- wishlist-eqi.patch ends here --- - -Regrads - Oliver - - diff --git a/mail/exim/pkg-install b/mail/exim/pkg-install index d9f99317e393..843fc2fc6b1d 100644 --- a/mail/exim/pkg-install +++ b/mail/exim/pkg-install @@ -30,7 +30,7 @@ fi if [ "$2" = "POST-INSTALL" ]; then cf=$PKG_PREFIX/etc/exim/configure if [ -e $cf ]; then - if grep -q '^[^#]*hostlist.*relay_from_hosts.*=.*127.0.0.1' $cf + if /usr/bin/grep -q '^[^#]*hostlist.*relay_from_hosts.*=.*127.0.0.1' $cf then echo echo "============================================================" @@ -46,7 +46,7 @@ if [ "$2" = "POST-INSTALL" ]; then echo "============================================================" fi fi - if ! grep -qs "^exim_enable" /etc/rc.conf + if ! /usr/bin/grep -qs "^exim_enable" /etc/rc.conf then echo echo "Don't forget to add 'exim_enable=\"YES\"' to rc.conf(5)" diff --git a/mail/exim/pkg-plist b/mail/exim/pkg-plist index 84ee32b35ea7..352acdc0c6c5 100644 --- a/mail/exim/pkg-plist +++ b/mail/exim/pkg-plist @@ -1,7 +1,7 @@ @comment $FreeBSD$ @unexec [ ! -f /var/run/exim.pid ] || %%RC_DIR%%/exim%%RC_SUFX%% stop || true sbin/exim -sbin/exim-%%EXIM_VERSION%%-1 +sbin/exim-%%EXIM_VERSION%% sbin/exim_checkaccess sbin/exim_dumpdb sbin/exim_fixdb @@ -32,6 +32,10 @@ sbin/exiqsumm %%PORTDOCS%%%%DOCSDIR%%/pcretest.txt %%PORTDOCS%%%%DOCSDIR%%/spec.txt %%PORTDOCS%%@dirrm %%DOCSDIR%% +%%PORTDOCS%%%%EXAMPLESDIR%%/convert4r3 +%%PORTDOCS%%%%EXAMPLESDIR%%/convert4r4 +%%PORTDOCS%%%%EXAMPLESDIR%%/transport-filter.pl +%%PORTDOCS%%@dirrm %%EXAMPLESDIR%% etc/periodic/daily/150.exim-tidydb etc/periodic/daily/460.exim-mail-rejects @unexec rmdir %D/etc/periodic/daily 2>/dev/null || true