update Sun Jun 20 12:37:00 PDT 2010
[pkgsrc.git] / mail / qmail / Makefile
1 # $NetBSD: Makefile,v 1.59 2009/05/19 09:07:14 wiz Exp $
2 #
3
4 DISTNAME=               ${PKGNAME_NOREV}
5 PKGNAME=                qmail-1.03
6 PKGREVISION=            13
7 CATEGORIES=             mail
8 MASTER_SITES=           http://qmail.org/
9
10 MAINTAINER=             schmonz@NetBSD.org
11 HOMEPAGE=               http://cr.yp.to/qmail.html
12 COMMENT=                Secure, reliable, efficient, simple, and fast MTA
13 LICENSE=                public-domain
14
15 DEPENDS+=               checkpassword-[0-9]*:../../sysutils/checkpassword
16 DEPENDS+=               daemontools-[0-9]*:../../sysutils/daemontools
17 DEPENDS+=               ucspi-tcp-[0-9]*:../../net/ucspi-tcp
18
19 CONFLICTS+=             courier-maildirmake-[0-9]*
20 CONFLICTS+=             courier-mta-[0-9]*
21 CONFLICTS+=             mirrordir-[0-9]*
22 CONFLICTS+=             mutt<=1.4.2.1nb1
23 CONFLICTS+=             netqmail-[0-9]*
24 CONFLICTS+=             pulsar<=0.1.1
25
26 NOT_FOR_UNPRIVILEGED=   yes
27
28 WRKSRC=                 ${WRKDIR}/${DISTNAME}
29
30 PKG_INSTALLATION_TYPES= overwrite pkgviews
31 USE_TOOLS+=             nroff
32
33 DJB_BUILD_TARGETS=      man
34 DJB_RESTRICTED=         no
35
36 MAKE_DIRS+=             ${PKG_SYSCONFDIR} ${PKG_SYSCONFDIR}/alias
37 MAKE_DIRS+=             ${PKG_SYSCONFDIR}/control ${PKG_SYSCONFDIR}/users
38 OWN_DIRS+=              ${QMAILDIR} ${QMAIL_QUEUE_DIR}
39 PKG_SYSCONFSUBDIR=      qmail
40
41 DOCDIR=                 ${PREFIX}/share/doc/qmail
42 EGDIR=                  ${PREFIX}/share/examples/qmail
43 SHAREDIR=               ${PREFIX}/share/qmail
44 MESSAGE_SUBST+=         DOCDIR=${DOCDIR:Q} EGDIR=${EGDIR:Q}
45 FILES_SUBST+=           DOCDIR=${DOCDIR:Q} EGDIR=${EGDIR:Q} SHAREDIR=${SHAREDIR:Q}
46 FILES_SUBST+=           QMAILDIR=${QMAILDIR:Q} QMAIL_QUEUE_DIR=${QMAIL_QUEUE_DIR:Q}
47 FILES_SUBST+=           QMAIL_QUEUE_EXTRA=${QMAIL_QUEUE_EXTRA:Q}
48 FILES_SUBST+=           VIRUSCAN_SIGS_SRCFILE=${VIRUSCAN_SIGS_SRCFILE:Q}
49 FILES_SUBST+=           PKGNAME=${PKGNAME:Q}
50
51 SETUP_PROGRAMS=         dnsfq dnsip dnsptr hostname install ipmeprint
52 SETUP_SCRIPTS=          config config-fast
53
54 MANDIRS=                man
55 .for i in cat man
56 .  for j in 1 5 7 8
57 MANDIRS+=               man/${i}${j}
58 .  endfor
59 .endfor
60 INSTALLATION_DIRS=      bin ${MANDIRS}
61 INSTALLATION_DIRS+=     share/doc/qmail share/examples/qmail/boot share/qmail
62
63 .include "../../mk/bsd.prefs.mk"
64
65 BUILD_DEFS+=            QMAILDIR QMAIL_QUEUE_DIR QMAIL_QUEUE_EXTRA
66
67 .if !empty(QMAIL_QUEUE_DIR:M${QMAILDIR}/*)
68 PKG_FAIL_REASON+=       "QMAIL_QUEUE_DIR must not be under ${QMAILDIR}"
69 .endif
70
71 .if !empty(QMAIL_QUEUE_EXTRA)
72 USE_TOOLS+=             expr
73 QUEUE_EXTRA=            "T${QMAIL_QUEUE_EXTRA}\\0"
74 QUEUE_EXTRALEN_cmd=     ${EXPR} `${ECHO_N} ${QMAIL_QUEUE_EXTRA} | ${WC} -c` + 2
75 SUBST_CLASSES+=         logging
76 SUBST_STAGE.logging=    do-configure
77 SUBST_FILES.logging=    extra.h
78 SUBST_SED.logging=      -e 's|0|${QUEUE_EXTRALEN_cmd:sh}|g'
79 SUBST_SED.logging+=     -e 's|""|${QUEUE_EXTRA}|g'
80 SUBST_MESSAGE.logging=  Setting QUEUE_EXTRA.
81 .endif
82
83 SUBST_CLASSES+=         paths
84 SUBST_FILES.paths=      ${WRKDIR}/README.pkgsrc
85 SUBST_SED.paths+=       -e 's,@PKGNAME@,${PKGNAME:Q},g'
86 SUBST_SED.paths+=       -e 's,@PKG_INFO@,${PKG_INFO:Q},g'
87 SUBST_SED.paths+=       -e 's,@GREP@,${GREP:Q},g'
88 SUBST_STAGE.paths=      post-patch
89
90 SUBST_FILES.djbware+=   cdb_seek.c dns.c
91
92 USERGROUP_PHASE=        configure
93 PKG_GROUPS=             qmail nofiles
94 PKG_USERS+=             alias:nofiles
95 PKG_USERS+=             qmaill:nofiles qmaild:nofiles qmailp:nofiles
96 PKG_USERS+=             qmailq:qmail qmailr:qmail qmails:qmail
97 .for user in ${PKG_USERS:C/\:.*//}
98 PKG_HOME.${user}=       ${QMAILDIR}
99 .endfor
100 PKG_HOME.alias=         ${QMAILDIR}/alias
101
102 SPECIAL_PERMS+=         ${PREFIX}/bin/qmail-queue qmailq qmail 4555
103
104 post-extract:
105         ${CP} ${FILESDIR}/README.pkgsrc ${WRKDIR}/README.pkgsrc
106
107 post-install:
108         # qmail's installer sets strange permissions, set them back
109 .       if (${PKG_INSTALLATION_TYPE} == "overwrite")
110 .         for i in bin boot
111             ${CHGRP} ${BINGRP} ${QMAILDIR}/${i}
112 .         endfor
113 .         for i in doc
114             ${CHGRP} ${SHAREGRP} ${QMAILDIR}/${i}
115 .         endfor
116 .         for i in ${MANDIRS}
117             ${CHGRP} ${MANGRP} ${QMAILDIR}/${i}
118 .         endfor
119 .       endif
120
121         ${INSTALL_DATA} ${WRKDIR}/README.pkgsrc ${DOCDIR}
122
123         ${INSTALL_PROGRAM_DIR} ${SHAREDIR}/setup
124         for i in ${SETUP_PROGRAMS}; do                                  \
125                 ${INSTALL_PROGRAM} ${WRKSRC}/$$i ${SHAREDIR}/setup;     \
126         done
127         for i in ${SETUP_SCRIPTS}; do                                   \
128                 ${INSTALL_SCRIPT} ${WRKSRC}/$$i ${SHAREDIR}/setup;      \
129         done
130
131 .include "../../mk/djbware.mk"
132 .include "../../mk/bsd.pkg.mk"