1 # $NetBSD: Makefile,v 1.59 2009/05/19 09:07:14 wiz Exp $
4 DISTNAME= ${PKGNAME_NOREV}
8 MASTER_SITES= http://qmail.org/
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
15 DEPENDS+= checkpassword-[0-9]*:../../sysutils/checkpassword
16 DEPENDS+= daemontools-[0-9]*:../../sysutils/daemontools
17 DEPENDS+= ucspi-tcp-[0-9]*:../../net/ucspi-tcp
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
26 NOT_FOR_UNPRIVILEGED= yes
28 WRKSRC= ${WRKDIR}/${DISTNAME}
30 PKG_INSTALLATION_TYPES= overwrite pkgviews
33 DJB_BUILD_TARGETS= man
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
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}
51 SETUP_PROGRAMS= dnsfq dnsip dnsptr hostname install ipmeprint
52 SETUP_SCRIPTS= config config-fast
57 MANDIRS+= man/${i}${j}
60 INSTALLATION_DIRS= bin ${MANDIRS}
61 INSTALLATION_DIRS+= share/doc/qmail share/examples/qmail/boot share/qmail
63 .include "../../mk/bsd.prefs.mk"
65 BUILD_DEFS+= QMAILDIR QMAIL_QUEUE_DIR QMAIL_QUEUE_EXTRA
67 .if !empty(QMAIL_QUEUE_DIR:M${QMAILDIR}/*)
68 PKG_FAIL_REASON+= "QMAIL_QUEUE_DIR must not be under ${QMAILDIR}"
71 .if !empty(QMAIL_QUEUE_EXTRA)
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.
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
90 SUBST_FILES.djbware+= cdb_seek.c dns.c
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}
100 PKG_HOME.alias= ${QMAILDIR}/alias
102 SPECIAL_PERMS+= ${PREFIX}/bin/qmail-queue qmailq qmail 4555
105 ${CP} ${FILESDIR}/README.pkgsrc ${WRKDIR}/README.pkgsrc
108 # qmail's installer sets strange permissions, set them back
109 . if (${PKG_INSTALLATION_TYPE} == "overwrite")
111 ${CHGRP} ${BINGRP} ${QMAILDIR}/${i}
114 ${CHGRP} ${SHAREGRP} ${QMAILDIR}/${i}
116 . for i in ${MANDIRS}
117 ${CHGRP} ${MANGRP} ${QMAILDIR}/${i}
121 ${INSTALL_DATA} ${WRKDIR}/README.pkgsrc ${DOCDIR}
123 ${INSTALL_PROGRAM_DIR} ${SHAREDIR}/setup
124 for i in ${SETUP_PROGRAMS}; do \
125 ${INSTALL_PROGRAM} ${WRKSRC}/$$i ${SHAREDIR}/setup; \
127 for i in ${SETUP_SCRIPTS}; do \
128 ${INSTALL_SCRIPT} ${WRKSRC}/$$i ${SHAREDIR}/setup; \
131 .include "../../mk/djbware.mk"
132 .include "../../mk/bsd.pkg.mk"