diff options
author | schmonz <schmonz@pkgsrc.org> | 2004-08-22 00:10:51 +0000 |
---|---|---|
committer | schmonz <schmonz@pkgsrc.org> | 2004-08-22 00:10:51 +0000 |
commit | 63bf0e3cd6f4272ee45ddac8a20213d56680293a (patch) | |
tree | 03d2b248d3f63a702190365433367dba92b00c8a /mail/qmail/Makefile | |
parent | fcd65c8b83a38cdbbf992a51cbb0b949a382ccba (diff) | |
download | pkgsrc-63bf0e3cd6f4272ee45ddac8a20213d56680293a.tar.gz |
Using bsd.options.mk, add several common build-time options. The
complete list:
badrcptto bigdns darwin netqmail nullenvsender
outgoingip qregex realrcptto smtpauth syncdir
tls
This obviates the need for a separate netqmail package. As a result,
reintegrate Makefile.common into Makefile, and simplify a handful
of definitions. If you used the netqmail package, set PKG_OPTIONS.qmail
to "netqmail bigdns" to build with the same patches as before.
Note that most of these options result in patches being applied,
and that any given combination of patches may not apply cleanly.
If there's a combination you need that doesn't work, or build
options you need that aren't available, let me know.
On Darwin, the "darwin" option is set by default, as it's needed
in order to build. The patch includes <nameser8_compat.h>, which
is present on Panther, but not on older systems. We provide a
buildlink stand-in where needed.
On Linux, the "netqmail" option is set by default, as with recent
glibc it's necessary to #include <errno.h> in order to build.
On other platforms, no options are set by default.
Bump PKGREVISION.
Diffstat (limited to 'mail/qmail/Makefile')
-rw-r--r-- | mail/qmail/Makefile | 138 |
1 files changed, 123 insertions, 15 deletions
diff --git a/mail/qmail/Makefile b/mail/qmail/Makefile index a6049bd2b6b..cd1a0932249 100644 --- a/mail/qmail/Makefile +++ b/mail/qmail/Makefile @@ -1,25 +1,133 @@ -# $NetBSD: Makefile,v 1.25 2004/08/02 03:57:17 schmonz Exp $ +# $NetBSD: Makefile,v 1.26 2004/08/22 00:10:51 schmonz Exp $ # -PKGNAME= ${QMAIL_VERS} -PKGREVISION= 8 -CATEGORIES= mail +DISTNAME= netqmail-1.05 +PKGNAME= qmail-1.03 +PKGREVISION= 9 +CATEGORIES= mail +MASTER_SITES= http://qmail.org/ -MAINTAINER= schmonz@NetBSD.org -HOMEPAGE= http://cr.yp.to/qmail.html -COMMENT= Secure, reliable, efficient, simple, and fast MTA +MAINTAINER= schmonz@NetBSD.org +HOMEPAGE= http://cr.yp.to/qmail.html +COMMENT= Secure, reliable, efficient, simple, and fast MTA -CONFLICTS+= netqmail-[0-9]* +DEPENDS+= checkpassword-[0-9]*:../../sysutils/checkpassword +DEPENDS+= daemontools-[0-9]*:../../sysutils/daemontools +DEPENDS+= qmail-users>=1.0:../../mail/qmail-users +DEPENDS+= ucspi-tcp-[0-9]*:../../net/ucspi-tcp -USE_BUILDLINK3= yes +CONFLICTS+= courier-maildirmake-[0-9]* +CONFLICTS+= mirrordir-[0-9]* +CONFLICTS+= mutt<=1.4.2.1nb1 +CONFLICTS+= netqmail-[0-9]* +CONFLICTS+= pulsar<=0.1.1 -RESTRICTED= "modified source and binaries may not be distributed" -NO_BIN_ON_CDROM=${RESTRICTED} -NO_BIN_ON_FTP= ${RESTRICTED} -NO_PACKAGE= "needs work to function properly as a binary package" +.if defined(PKG_PHASE) && ${PKG_PHASE} == "extract" +WRKSRC= ${WRKDIR}/${DISTNAME} +.else +WRKSRC= ${WRKDIR}/${DISTNAME}/${PKGNAME_NOREV} +.endif -APPLY_NETQMAIL= ${DO_NADA} +PKG_INSTALLATION_TYPES= overwrite pkgviews -.include "../../mail/qmail/Makefile.common" +USE_BUILDLINK3= yes + +ALL_TARGET= it man +INSTALL_TARGET= setup check + +RESTRICTED= "modified source and binaries may not be distributed" +NO_BIN_ON_CDROM= ${RESTRICTED} +NO_BIN_ON_FTP= ${RESTRICTED} +NO_PACKAGE= "needs work to function properly as a binary package" + +USE_PKGINSTALL= yes +DEINSTALL_EXTRA_TMPL+= ${PKGDIR}/DEINSTALL +INSTALL_EXTRA_TMPL+= ${PKGDIR}/INSTALL +MAKE_DIRS+= ${PKG_SYSCONFDIR} ${PKG_SYSCONFDIR}/alias ${EGDIR}/boot +MAKE_DIRS+= ${PKG_SYSCONFDIR}/control ${DOCDIR} +MAKE_DIRS+= ${PKG_SYSCONFDIR}/users +OWN_DIRS+= ${QMAILDIR} ${QMAIL_QUEUE_DIR} +PKG_SYSCONFSUBDIR= qmail + +DOCDIR= ${PREFIX}/share/doc/qmail +EGDIR= ${PREFIX}/share/examples/qmail +SHAREDIR= ${PREFIX}/share/qmail +MESSAGE_SUBST+= DOCDIR=${DOCDIR} EGDIR=${EGDIR} +FILES_SUBST+= DOCDIR=${DOCDIR} EGDIR=${EGDIR} SHAREDIR=${SHAREDIR} +FILES_SUBST+= QMAILDIR=${QMAILDIR} QMAIL_QUEUE_DIR=${QMAIL_QUEUE_DIR} +FILES_SUBST+= QMAIL_QUEUE_EXTRA=${QMAIL_QUEUE_EXTRA} +FILES_SUBST+= PKGNAME=${PKGNAME} + +PLIST_SRC= ${PKGDIR}/PLIST + +SETUP_PROGRAMS= dnsfq dnsip dnsptr hostname install ipmeprint +SETUP_SCRIPTS= config config-fast + +MANDIRS= man +.for i in cat man +. for j in 1 5 7 8 +MANDIRS+= man/${i}${j} +. endfor +.endfor +INSTALLATION_DIRS= bin ${MANDIRS} +INSTALLATION_DIRS+= share/doc/qmail share/examples/qmail share/qmail + +.include "../../mk/bsd.prefs.mk" + +.include "../../mail/qmail/options.mk" + +BUILD_DEFS+= QMAILDIR QMAIL_QUEUE_DIR QMAIL_QUEUE_EXTRA + +.if !empty(QMAIL_QUEUE_DIR:M${QMAILDIR}/*) +PKG_FAIL_REASON+= "QMAIL_QUEUE_DIR must not be under ${QMAILDIR}" +.endif + +.if !empty(QMAIL_QUEUE_EXTRA) +QUEUE_EXTRA= "T${QMAIL_QUEUE_EXTRA}\\0" +QUEUE_EXTRALEN!= ${EXPR} `${ECHO} ${QUEUE_EXTRA} | ${WC} -c` - 2 +SUBST_CLASSES+= logging +SUBST_STAGE.logging= do-configure +SUBST_FILES.logging= extra.h +SUBST_SED.logging= -e 's|0|${QUEUE_EXTRALEN}|g' +SUBST_SED.logging+= -e 's|""|${QUEUE_EXTRA}|g' +SUBST_MESSAGE.logging= "Setting QUEUE_EXTRA." +.endif + +post-extract: + ${_PKG_SILENT}${_PKG_DEBUG}extract_file=${PKGNAME_NOREV}.tar.gz;\ + export extract_file; cd ${WRKSRC}; ${EXTRACT_CMD} + +do-configure: + ${ECHO} ${CC} ${CFLAGS} > ${WRKSRC}/conf-cc + ${ECHO} ${CC} ${_STRIPFLAG_CC} > ${WRKSRC}/conf-ld + ${ECHO} ${QMAILDIR} > ${WRKSRC}/conf-qmail + +post-build: + @${SED} ${FILES_SUBST_SED} ${FILESDIR}/README.pkgsrc \ + > ${WRKDIR}/README.pkgsrc + +post-install: + # qmail's installer sets strange permissions; set them back +. if (${PKG_INSTALLATION_TYPE} == "overwrite") +. for i in bin boot + ${CHGRP} ${BINGRP} ${QMAILDIR}/${i} +. endfor +. for i in doc + ${CHGRP} ${SHAREGRP} ${QMAILDIR}/${i} +. endfor +. for i in ${MANDIRS} + ${CHGRP} ${MANGRP} ${QMAILDIR}/${i} +. endfor +. endif + + ${INSTALL_DATA} ${WRKDIR}/README.pkgsrc ${DOCDIR} + + ${INSTALL_PROGRAM_DIR} ${SHAREDIR}/setup + for i in ${SETUP_PROGRAMS}; do \ + ${INSTALL_PROGRAM} ${WRKSRC}/$$i ${SHAREDIR}/setup; \ + done + for i in ${SETUP_SCRIPTS}; do \ + ${INSTALL_SCRIPT} ${WRKSRC}/$$i ${SHAREDIR}/setup; \ + done .include "../../mk/bsd.pkg.mk" |