Sun Jan 31 21:06:30 2010 UTC ()
Added complete support for installation to DESTDIR. The Exim executable
file cannot run without EXIM_USER being present on the system, so
scripts/exim_install was changed to derive the Exim version from the
pkgsrc package version (see PKGSRC_EXIM_VERSION in the Makefile and patch-ae).

Added LICENSE information.

Ok'd by abs@


(heinz)
diff -r1.99 -r1.100 pkgsrc/mail/exim/Makefile
diff -r1.43 -r1.44 pkgsrc/mail/exim/distinfo
diff -r1.10 -r1.11 pkgsrc/mail/exim/patches/patch-ae

cvs diff -r1.99 -r1.100 pkgsrc/mail/exim/Makefile (expand / switch to unified diff)

--- pkgsrc/mail/exim/Makefile 2010/01/15 20:48:08 1.99
+++ pkgsrc/mail/exim/Makefile 2010/01/31 21:06:29 1.100
@@ -1,71 +1,82 @@ @@ -1,71 +1,82 @@
1# $NetBSD: Makefile,v 1.99 2010/01/15 20:48:08 zafer Exp $ 1# $NetBSD: Makefile,v 1.100 2010/01/31 21:06:29 heinz Exp $
2 2
3DISTNAME= exim-4.71 3DISTNAME= exim-4.71
4PKGREVISION= 1 4PKGREVISION= 1
5CATEGORIES= mail net 5CATEGORIES= mail net
6MASTER_SITES= ftp://ftp.exim.org/pub/exim/exim4/ \ 6MASTER_SITES= ftp://ftp.exim.org/pub/exim/exim4/ \
7 http://dl.ambiweb.de/mirrors/ftp.exim.org/exim/exim4/ 7 http://dl.ambiweb.de/mirrors/ftp.exim.org/exim/exim4/
8EXTRACT_SUFX= .tar.bz2 8EXTRACT_SUFX= .tar.bz2
9 9
10MAINTAINER= abs@NetBSD.org 10MAINTAINER= abs@NetBSD.org
11HOMEPAGE= http://www.exim.org/ 11HOMEPAGE= http://www.exim.org/
12COMMENT= The Exim mail transfer agent, a replacement for sendmail 12COMMENT= The Exim mail transfer agent, a replacement for sendmail
 13LICENSE= gnu-gpl-v2
13 14
14CONFLICTS+= exim-exiscan-[0-9]* 15CONFLICTS+= exim-exiscan-[0-9]*
15 16
16USE_TOOLS+= perl:run 17USE_TOOLS+= perl:run
17INSTALLATION_DIRS+= ${PKGMANDIR}/man8 
18BUILD_DEFS+= VARBASE 18BUILD_DEFS+= VARBASE
19 19
20MAKE_ENV+= SSLBASE=${SSLBASE:Q} 20MAKE_ENV+= SSLBASE=${SSLBASE:Q}
21MAKE_ENV+= INST_CHOWN=${CHOWN:Q} 21MAKE_ENV+= INST_CHOWN=${CHOWN:Q}
22MAKE_FLAGS+= FULLECHO='' 22MAKE_FLAGS+= FULLECHO=''
23MAKE_JOBS_SAFE= no 23MAKE_JOBS_SAFE= no
24 24
25PKG_DESTDIR_SUPPORT = destdir 25PKG_DESTDIR_SUPPORT = user-destdir
26 26
27.include "../../mk/bsd.prefs.mk" 27.include "../../mk/bsd.prefs.mk"
28 28
29BUILD_DEFS+= EXIM_DB EXIM_MAX_INCLUDE_SIZE 29BUILD_DEFS+= EXIM_DB EXIM_MAX_INCLUDE_SIZE
30 30
31PKG_GROUPS= ${EXIM_GROUP} 31PKG_GROUPS= ${EXIM_GROUP}
32PKG_USERS= ${EXIM_USER}:${EXIM_GROUP} 32PKG_USERS= ${EXIM_USER}:${EXIM_GROUP}
33 33
34PKG_GROUPS_VARS+= EXIM_GROUP 34PKG_GROUPS_VARS+= EXIM_GROUP
35PKG_USERS_VARS+= EXIM_USER 35PKG_USERS_VARS+= EXIM_USER
36 36
37PKG_GECOS.${EXIM_USER}= Exim mail server user 37PKG_GECOS.${EXIM_USER}= Exim mail server user
38PKG_HOME.${EXIM_USER}= ${VARBASE}/mail 38PKG_HOME.${EXIM_USER}= ${VARBASE}/mail
39PKG_SHELL.${EXIM_USER}= ${NOLOGIN} 39PKG_SHELL.${EXIM_USER}= ${NOLOGIN}
40 40
41PKG_SYSCONFSUBDIR?= exim 41PKG_SYSCONFSUBDIR?= exim
42EXAMPLESDIR= ${PREFIX}/share/examples/exim 42EXAMPLESDIR= ${PREFIX}/share/examples/exim
43CONF_FILES= ${EXAMPLESDIR}/aliases ${PKG_SYSCONFDIR}/aliases 43CONF_FILES= ${EXAMPLESDIR}/aliases ${PKG_SYSCONFDIR}/aliases
44CONF_FILES+= ${EXAMPLESDIR}/configure ${PKG_SYSCONFDIR}/configure 44CONF_FILES+= ${EXAMPLESDIR}/configure ${PKG_SYSCONFDIR}/configure
45MESSAGE_SUBST+= EXAMPLESDIR="${EXAMPLESDIR}" 45MESSAGE_SUBST+= EXAMPLESDIR="${EXAMPLESDIR}"
46PLIST_SUBST+= DISTNAME=${DISTNAME} 46PLIST_SUBST+= DISTNAME=${DISTNAME}
47 47
48RCD_SCRIPTS= exim 48RCD_SCRIPTS= exim
49 49
50OWN_DIRS_PERMS= ${VARBASE}/log/exim ${EXIM_USER} ${EXIM_GROUP} 0750 50OWN_DIRS_PERMS= ${VARBASE}/log/exim ${EXIM_USER} ${EXIM_GROUP} 0750
51OWN_DIRS_PERMS+= ${VARBASE}/spool/exim ${EXIM_USER} ${EXIM_GROUP} 0750 51OWN_DIRS_PERMS+= ${VARBASE}/spool/exim ${EXIM_USER} ${EXIM_GROUP} 0750
 52SPECIAL_PERMS+= sbin/${PKGSRC_EXIM_VERSION} ${SETUID_ROOT_PERMS}
52 53
53# XXX: The following will be handled by buildlink3 at some point. 54# XXX: The following will be handled by buildlink3 at some point.
54CFLAGS+= ${_STRIPFLAG_CC} 55CFLAGS+= ${_STRIPFLAG_CC}
55 56
56# pay attention to CPPFLAGS as well 57# pay attention to CPPFLAGS as well
57CFLAGS+= ${CPPFLAGS} 58CFLAGS+= ${CPPFLAGS}
58 59
 60PKGSRC_EXIM_VERSION= ${DISTNAME}-1
 61SUBST_CLASSES+= exim
 62SUBST_STAGE.exim= pre-configure
 63SUBST_MESSAGE.exim= Faking exim version information in exim_install
 64SUBST_FILES.exim= scripts/exim_install
 65SUBST_VARS.exim= PKGSRC_EXIM_VERSION
 66
 67INSTALL_ARG= INSTALL_ARG=-no_chown
 68INSTALL_ENV+= ${INSTALL_ARG:Q}
 69
59.include "options.mk" 70.include "options.mk"
60 71
61post-extract: 72post-extract:
62 mkdir ${WRKSRC}/Local 73 mkdir ${WRKSRC}/Local
63 cp ${WRKSRC}/src/EDITME ${WRKSRC}/Local/Makefile.pkgsrc 74 cp ${WRKSRC}/src/EDITME ${WRKSRC}/Local/Makefile.pkgsrc
64 cp ${WRKSRC}/exim_monitor/EDITME ${WRKSRC}/Local/eximon.conf.pkgsrc 75 cp ${WRKSRC}/exim_monitor/EDITME ${WRKSRC}/Local/eximon.conf.pkgsrc
65 cp ${FILESDIR}/Makefile-DragonFly ${FILESDIR}/os.h-DragonFly \ 76 cp ${FILESDIR}/Makefile-DragonFly ${FILESDIR}/os.h-DragonFly \
66 ${WRKSRC}/OS/ 77 ${WRKSRC}/OS/
67 78
68pre-configure: 79pre-configure:
69 sed -e 's:@PREFIX@:${PREFIX}:' \ 80 sed -e 's:@PREFIX@:${PREFIX}:' \
70 -e 's:@PKG_SYSCONFDIR@:${PKG_SYSCONFDIR}:' \ 81 -e 's:@PKG_SYSCONFDIR@:${PKG_SYSCONFDIR}:' \
71 -e 's:@EXIM_USER@:${EXIM_USER}:' \ 82 -e 's:@EXIM_USER@:${EXIM_USER}:' \

cvs diff -r1.43 -r1.44 pkgsrc/mail/exim/distinfo (expand / switch to unified diff)

--- pkgsrc/mail/exim/distinfo 2009/12/07 14:29:09 1.43
+++ pkgsrc/mail/exim/distinfo 2010/01/31 21:06:29 1.44
@@ -1,9 +1,9 @@ @@ -1,9 +1,9 @@
1$NetBSD: distinfo,v 1.43 2009/12/07 14:29:09 adam Exp $ 1$NetBSD: distinfo,v 1.44 2010/01/31 21:06:29 heinz Exp $
2 2
3SHA1 (exim-4.71.tar.bz2) = 4b8f853843edcfa4f3bfbb4bef45d8dcff2fc990 3SHA1 (exim-4.71.tar.bz2) = 4b8f853843edcfa4f3bfbb4bef45d8dcff2fc990
4RMD160 (exim-4.71.tar.bz2) = 22e4ad1d43693d61fa1f2f2de40dda647599a087 4RMD160 (exim-4.71.tar.bz2) = 22e4ad1d43693d61fa1f2f2de40dda647599a087
5Size (exim-4.71.tar.bz2) = 1560170 bytes 5Size (exim-4.71.tar.bz2) = 1560170 bytes
6SHA1 (patch-aa) = cf514f31626cde31747342a2d50edd1dbf7f195f 6SHA1 (patch-aa) = cf514f31626cde31747342a2d50edd1dbf7f195f
7SHA1 (patch-ab) = f5be62c134b1a2d0870a14546ec0bb62090d498a 7SHA1 (patch-ab) = f5be62c134b1a2d0870a14546ec0bb62090d498a
8SHA1 (patch-ae) = 33573e3d02edbca0c44ed54d1aadd2db50fa1fe6 8SHA1 (patch-ae) = 4a9d2fde403cfd6386742b31f062e7801ef081b9
9SHA1 (patch-ag) = 8512795060ad913f4699c277867fd24e7a785519 9SHA1 (patch-ag) = 8512795060ad913f4699c277867fd24e7a785519

cvs diff -r1.10 -r1.11 pkgsrc/mail/exim/patches/Attic/patch-ae (expand / switch to unified diff)

--- pkgsrc/mail/exim/patches/Attic/patch-ae 2009/02/13 15:28:03 1.10
+++ pkgsrc/mail/exim/patches/Attic/patch-ae 2010/01/31 21:06:29 1.11
@@ -1,27 +1,37 @@ @@ -1,27 +1,37 @@
1$NetBSD: patch-ae,v 1.10 2009/02/13 15:28:03 abs Exp $ 1$NetBSD: patch-ae,v 1.11 2010/01/31 21:06:29 heinz Exp $
2 2
3--- scripts/exim_install.orig 2006-04-28 11:32:21.000000000 +0100 3--- scripts/exim_install.orig 2009-10-30 16:14:04.000000000 +0100
4+++ scripts/exim_install 4+++ scripts/exim_install
5@@ -84,6 +84,8 @@ if [ "${SYSTEM_ALIASES_FILE}" = "" ] ; t 5@@ -84,6 +84,8 @@ if [ "${SYSTEM_ALIASES_FILE}" = "" ] ; t
6 SYSTEM_ALIASES_FILE=/etc/aliases 6 SYSTEM_ALIASES_FILE=/etc/aliases
7 fi 7 fi
8  8
9+INST_CONFIGURE_FILE=${PREFIX}/share/examples/exim/configure 9+INST_CONFIGURE_FILE=${PREFIX}/share/examples/exim/configure
10+ 10+
11 # Allow INST_xx to over-ride xx 11 # Allow INST_xx to over-ride xx
12 case "$INST_BIN_DIRECTORY" in ?*) BIN_DIRECTORY="$INST_BIN_DIRECTORY";; esac 12 case "$INST_BIN_DIRECTORY" in ?*) BIN_DIRECTORY="$INST_BIN_DIRECTORY";; esac
13 case "$INST_CONFIGURE_FILE" in ?*) CONFIGURE_FILE="$INST_CONFIGURE_FILE";; esac 13 case "$INST_CONFIGURE_FILE" in ?*) CONFIGURE_FILE="$INST_CONFIGURE_FILE";; esac
14@@ -415,15 +417,8 @@ elif [ ! -f ${CONFIGURE_FILE} ]; then 14@@ -220,6 +222,9 @@ while [ $# -gt 0 ]; do
 15 if [ $name = exim${EXE} ]; then
 16 version=exim-`./exim -bV -C /dev/null | \
 17 awk '/Exim version/ { OFS=""; print $3,"-",substr($4,2,length($4)-1) }'`${EXE}
 18+ # only for pkgsrc: ./exim cannot run during install to DESTDIR because
 19+ # EXIM_USER may not exist at this time, so we fake the version information
 20+ version=@PKGSRC_EXIM_VERSION@${EXE}
 21
 22 if [ "${version}" = "exim-${EXE}" ]; then
 23 echo $com ""
 24@@ -415,15 +420,8 @@ elif [ ! -f ${CONFIGURE_FILE} ]; then
15 echo $com "*** Exim installation ${ver}failed ***" 25 echo $com "*** Exim installation ${ver}failed ***"
16 exit 1 26 exit 1
17 fi 27 fi
18- if [ ! -f ${SYSTEM_ALIASES_FILE} ]; then 28- if [ ! -f ${SYSTEM_ALIASES_FILE} ]; then
19- echo $com '****' 29- echo $com '****'
20- echo $com Installing a dummy ${SYSTEM_ALIASES_FILE} file because you do not have 30- echo $com Installing a dummy ${SYSTEM_ALIASES_FILE} file because you do not have
21- echo $com one, and the default configuration requires it. You should 31- echo $com one, and the default configuration requires it. You should
22- echo $com edit ${SYSTEM_ALIASES_FILE} and at least create an alias for postmaster. 32- echo $com edit ${SYSTEM_ALIASES_FILE} and at least create an alias for postmaster.
23- echo $com '***' 33- echo $com '***'
24- echo ${CP} ../src/aliases.default ${SYSTEM_ALIASES_FILE} 34- echo ${CP} ../src/aliases.default ${SYSTEM_ALIASES_FILE}
25- ${real} ${CP} ../src/aliases.default ${SYSTEM_ALIASES_FILE} 35- ${real} ${CP} ../src/aliases.default ${SYSTEM_ALIASES_FILE}
26- fi 36- fi
27+ echo ${CP} ../src/aliases.default ${DESTDIR}${PREFIX}/share/examples/exim/aliases 37+ echo ${CP} ../src/aliases.default ${DESTDIR}${PREFIX}/share/examples/exim/aliases