diff options
author | Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org> | 2001-02-22 18:15:18 +0000 |
---|---|---|
committer | Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org> | 2001-02-22 18:15:18 +0000 |
commit | 224a6052afaa1788a7641575d3cfe9ff88dd1de0 (patch) | |
tree | 97f9cb46bee7bdc0fdaeff05654e0308beb16066 /mail/qmail | |
parent | 76ae6e1d12cf84568df88cb40acf54d6565c3edc (diff) | |
download | ports-224a6052afaa1788a7641575d3cfe9ff88dd1de0.tar.gz ports-224a6052afaa1788a7641575d3cfe9ff88dd1de0.zip |
* qmail port
o bump PORTREVISION
o sanitize MASTER_SITES
o added several flags (defined checks) to enable
active slave port control on what they inherit
o add extra enhancement patches, these can be
inherited too:
- WITH_QMAILQUEUE_PATCH: qmailqueue-patch
- WITH_BIG_TODO_PATCH: big-todo.103.patch
- WITH_BIG_CONCURRENCY_PATCH: big-concurrency.patch
- WITH_BIG_CONCURRENCY_PATCH_CONCURRENCY_LIMIT
default: 509
o add patches checksum to distinfo
o added MASTER_SITE_QMAIL for internal use
o additional copies of slave qmail patches are now housed
at MASTER_SITE_LOCAL, PATCH_SITE_SUBDIR=lioux because
these patches only have ONE PATCH_SITES source each
- qmail-ldap-1.03-20010201.patch.gz (qmail-ldap)
- qmail-mysql-1.1.1.patch (qmail-mysql)
- tls.patch (qmail-tls)
o turn all absolute references to both binaries and
FreeBSD configuration files into VARs: better
maintability
o s/yetanotherone-/slaveport-/: that is the correct
nomenclature
o ${LN} should use -sf instead of plain -s
o typo fix: QMail -> qmail
* qmail-ldap port
o bump PORTREVISION in sync with master port bump
o minor changes to comply to recent changes to the master
port
o block the WITH_BIG_CONCURRENCY_PATCH, it does not like
the qmail-ldap patch
o enable SMTP TLS support with WITH_TLS
- the PKGNAMESUFFIX changes to -ldap-with_tls
- let it know the location of QMAIL_TLS_PORT
- add certificate and certificate-req; in fact,
we are inheriting qmail-tls targets
o s/yetanotherone-/slaveport-/: that is the correct
nomenclature
o tabulate better the WITH_* advertisement messages
o add appropriate message to PKGMESSAGE about the
new certificate targets following the qmail-tls
port
o nomenclature fix: ^ldap- -> ^qmail-ldap-
* qmail-mysql port
o bump PORTREVISION in sync with master port bump
o block the WITH_QMAILQUEUE_PATCH, it does not like
the qmail-mysql patch
o s/yetanotherone-/slaveport-/: that is the correct
nomenclature
* qmail-tls port
o bump PORTREVISION in sync with master port bump
o minor changes to comply to recent changes to the master
port
o s/yetanotherone-/slaveport-/: that is the correct
nomenclature
o nomenclature fix: ^tls- -> ^qmail-tls-
Notes
Notes:
svn path=/head/; revision=38616
Diffstat (limited to 'mail/qmail')
-rw-r--r-- | mail/qmail/Makefile | 197 | ||||
-rw-r--r-- | mail/qmail/distinfo | 3 |
2 files changed, 154 insertions, 46 deletions
diff --git a/mail/qmail/Makefile b/mail/qmail/Makefile index e8b0e2884832..c75f660896e5 100644 --- a/mail/qmail/Makefile +++ b/mail/qmail/Makefile @@ -7,28 +7,80 @@ PORTNAME= qmail PORTVERSION?= ${QMAIL_VERSION} +PORTREVISION?= 1 CATEGORIES= mail MASTER_SITES= http://cr.yp.to/software/ \ ftp://ftp.ntnu.no/pub/unix/mail/qmail/ \ ftp://ftp.jp.qmail.org/qmail/ \ ftp://ftp.rifkin.technion.ac.il/pub/qmail/ \ ftp://ftp.net.ohio-state.edu/pub/networking/mail/qmail/ \ - ftp://ftp.id.wustl.edu/pub/qmail/ + ftp://mirror.pipex.net/pub/qmail/ \ + ftp://ftp.mira.net.au/unix/mail/qmail/ DISTNAME= ${PORTNAME}-${QMAIL_VERSION} # qmail-* skeleton ports including this port may not want # its patches -.if !defined (MAIN_QMAIL_PORT_PATCH_BARRIER) +.if !defined(MAIN_QMAIL_PORT_DNS_PATCH_BARRIER) # Patch necessary to cope with non-RFC >512 dns entries # Since AOL has been using those, the problem has skyrocketed from minor to # groundzero. qmail being RFC compliant need to be "fixed" to work with those -PATCH_SITES+= http://www.ckdhr.com/ckd/ \ - ${MASTER_SITE_LOCAL} -PATCH_SITE_SUBDIR+= lioux +PATCH_SITES+= http://www.ckdhr.com/ckd/ PATCHFILES+= qmail-103.patch PATCH_DIST_STRIP+= -p1 +.endif # MAIN_QMAIL_PORT_DNS_PATCH_BARRIER + +MASTER_SITE_QMAIL+= \ + http://www.qmail.org/ \ + http://qmail.powerenterprises.net/ \ + http://qmail.area.com/ \ + http://qmail.valueclick.com/qmail/ \ + http://itcentrx.com/mirrors/qmail/ \ + http://qmail.geto.net/ \ + http://qmail.advansys.net/ \ + http://qmail.nac.net/ \ + http://qmail.presys.com/ \ + http://qmail.sgi.net/qmail/ \ + http://qmail.goof.com/ \ + http://www.cgiscripts.net/mirrors/qmail/ \ + http://qmail.maximumbsd.com/ \ + http://www.glasswings.com.au/qmail/ \ + http://www.sczg.com/qmail/ \ + http://infobase.ibase.com.hk/qmail/ \ + http://www9.jp.qmail.org/ \ + http://qmail.manic.co.kr/ \ + http://qmail.sga.net.th/ \ + http://gd.tuwien.ac.at/infosys/mail/qmail/www.qmail.org/ \ + http://qmail.lightwerk.com/ \ + http://qmail.imd.it/ \ + http://qmail.sst.com.br/ \ + http://madhaus.utcs.utoronto.ca/qmail/ \ + http://qmail.ElectroCity.com/ + +.if !defined(MAIN_QMAIL_PORT_DNS_PATCH_BARRIER) \ + ||(defined(WITH_QMAILQUEUE_PATCH)&&!defined(MAIN_QMAIL_PORT_WITH_QMAILQUEUE_PATCH_BARRIER)) \ + ||(defined(WITH_BIG_TODO_PATCH)&&!defined(MAIN_QMAIL_PORT_WITH_BIG_TODO_PATCH_BARRIER)) \ + ||(defined(WITH_BIG_CONCURRENCY_PATCH)&&!defined(MAIN_QMAIL_PORT_WITH_BIG_CONCURRENCY_PATCH_BARRIER)) +PATCH_SITES+= ${MASTER_SITE_QMAIL} \ + ${MASTER_SITE_LOCAL} +PATCH_SITE_SUBDIR+= lioux .endif +# qmail-* skeleton ports including this port may not want +# its patches +# MAIN_QMAIL_PORT_WITH_QMAILQUEUE_PATCH_BARRIER +# MAIN_QMAIL_PORT_WITH_BIG_TODO_PATCH_BARRIER +# MAIN_QMAIL_PORT_WITH_BIG_CONCURRENCY_PATCH_BARRIER +# +.if defined(WITH_QMAILQUEUE_PATCH)&&!defined(MAIN_QMAIL_PORT_WITH_QMAILQUEUE_PATCH_BARRIER) +PATCHFILES+= qmailqueue-patch +.endif # WITH_QMAILQUEUE_PATCH && !MAIN_QMAIL_PORT_WITH_QMAILQUEUE_PATCH_BARRIER +.if defined(WITH_BIG_TODO_PATCH)&&!defined(MAIN_QMAIL_PORT_WITH_BIG_TODO_PATCH_BARRIER) +PATCHFILES+= big-todo.103.patch +.endif # WITH_BIG_TODO_PATCH && !MAIN_QMAIL_PORT_WITH_BIG_TODO_PATCH_BARRIER +.if defined(WITH_BIG_CONCURRENCY_PATCH)&&!defined(MAIN_QMAIL_PORT_WITH_BIG_CONCURRENCY_PATCH_BARRIER) +PATCHFILES+= big-concurrency.patch +.endif # WITH_BIG_CONCURRENCY_PATCH && !MAIN_QMAIL_PORT_WITH_BIG_CONCURRENCY_PATCH_BARRIER + MAINTAINER= lioux@FreeBSD.org NO_PACKAGE= djb\'s packaging license does not allow non-standard\ @@ -40,8 +92,21 @@ NO_PACKAGE= djb\'s packaging license does not allow non-standard\ PREFIX?= /var/qmail QMAIL_VERSION?= 1.03 +# Some default values, these can be modified by make command line +.if defined(WITH_BIG_CONCURRENCY_PATCH)&&!defined(MAIN_QMAIL_PORT_WITH_BIG_CONCURRENCY_PATCH_BARRIER) +WITH_BIG_CONCURRENCY_PATCH_CONCURRENCY_LIMIT?= 509 +.endif # WITH_BIG_CONCURRENCY_PATCH && !MAIN_QMAIL_PORT_WITH_BIG_CONCURRENCY_PATCH_BARRIER + +# Some configuration files we use for installing the port +MAILER_CONF_FILE?= /etc/mail/mailer.conf +MAKE_CONF_FILE?= /etc/make.conf +RC_CONF_FILE?= /etc/rc.conf # Some programs we use when building/installing the port -HEAD?= /usr/bin/head +FMT?= /usr/bin/fmt +HEAD?= /usr/bin/head +MAILQ?= /usr/bin/mailq +NEWALIASES?= /usr/bin/newaliases +SENDMAIL?= /usr/sbin/sendmail ALL_TARGET= default dot-qmail.5 qmail-control.5 qmail-getpw.8 \ qmail-limits.7 qmail-newmrh.8 qmail-newu.8 qmail-pw2u.8 \ @@ -106,15 +171,55 @@ NO_MTREE= yes .include <bsd.port.pre.mk> .endif -pre-fetch: yetanotherone-pre-fetch +pre-fetch: pre-pre-fetch slaveport-pre-fetch post-pre-fetch + +pre-pre-fetch: +.if !defined(MAIN_QMAIL_PORT_BUILD_WITH_OPTIONS_ADVERTISE_BARRIER) + @${ECHO_MSG} "" + @${ECHO_MSG} "You may use the following build options:" + @${ECHO_MSG} "" +.if !defined(MAIN_QMAIL_PORT_WITH_QMAILQUEUE_PATCH_BARRIER) + @${ECHO_MSG} "WITH_QMAILQUEUE_PATCH=yes enable patch to qmail to run a QMAILQUEUE" + @${ECHO_MSG} " program instead of bin/qmail-sent" +.endif # MAIN_QMAIL_PORT_WITH_QMAILQUEUE_PATCH_BARRIER +.if !defined(MAIN_QMAIL_PORT_WITH_BIG_TODO_PATCH_BARRIER) + @${ECHO_MSG} "WITH_BIG_TODO_PATCH=yes enable big_todo qmail patch" +.endif # MAIN_QMAIL_PORT_WITH_BIG_TODO_PATCH_BARRIER +.if !defined(MAIN_QMAIL_PORT_WITH_BIG_CONCURRENCY_PATCH_BARRIER) + @${ECHO_MSG} "WITH_BIG_CONCURRENCY_PATCH=yes enable patch to qmail to" + @${ECHO_MSG} " use a concurrency greater than 240" + @${ECHO_MSG} "WITH_BIG_CONCURRENCY_PATCH_CONCURRENCY_LIMIT=NUMBER" + @${ECHO_MSG} " (default NUMBER=${WITH_BIG_CONCURRENCY_PATCH_CONCURRENCY_LIMIT})" + @${ECHO_MSG} " set this to a value reasonable for" + @${ECHO_MSG} " your system if you use the patch" +.endif # MAIN_QMAIL_PORT_WITH_BIG_CONCURRENCY_PATCH_BARRIER + @${ECHO_MSG} "#" +.endif # MAIN_QMAIL_PORT_BUILD_WITH_OPTIONS_ADVERTISE_BARRIER # Yet anther ugly hack (used by qmail-* skeleton ports) # Permits them to define local targets without braking everything # The ugly target name hopefully will avoid name clashing -.if !target(yetanotherone-pre-fetch) -yetanotherone-pre-fetch: +.if !target(slaveport-pre-fetch) +slaveport-pre-fetch: +.endif + +post-pre-fetch: +.if !defined(MAIN_QMAIL_PORT_BUILD_WITH_OPTIONS_ADVERTISE_BARRIER) + @${ECHO_MSG} "" .endif +post-patch: thereal-post-patch slaveport-post-patch post-post-patch + +# Yet anther ugly hack (used by qmail-* skeleton ports) +# Permits them to define local targets without braking everything +# The ugly target name hopefully will avoid name clashing +.if !target(slaveport-post-patch) +slaveport-post-patch: +.endif + +post-post-patch: + @${PERL} -pi -ne "s!/var/qmail!${PREFIX}!;s!/usr/local/!${LOCALBASE}/!" ${WRKSRC}/Makefile + # If you want to change the qmail users, they must be changed in both # work/*/conf-users and pkg/INSTALL. @@ -123,15 +228,15 @@ do-configure: @PKG_PREFIX=${PREFIX} ${PERL5} ${PKGINSTALL} @${ECHO} "${CC} ${CFLAGS}" > ${WRKSRC}/conf-cc @${ECHO} ${PREFIX} > ${WRKSRC}/conf-qmail - -post-patch: thereal-post-patch yetanotherone-post-patch - -# Yet anther ugly hack (used by qmail-* skeleton ports) -# Permits them to define local targets without braking everything -# The ugly target name hopefully will avoid name clashing -.if !target(yetanotherone-post-patch) -yetanotherone-post-patch: -.endif +.if defined(WITH_BIG_CONCURRENCY_PATCH) \ + && !defined(MAIN_QMAIL_PORT_WITH_BIG_CONCURRENCY_PATCH_BARRIER) \ + && defined(WITH_BIG_CONCURRENCY_PATCH_CONCURRENCY_LIMIT) + @if [ ${WITH_BIG_CONCURRENCY_PATCH_CONCURRENCY_LIMIT} -gt 0 ]; \ + then \ + ${ECHO} "${WITH_BIG_CONCURRENCY_PATCH_CONCURRENCY_LIMIT}" \ + > ${WRKSRC}/conf-spawn ; \ + fi +.endif # MAIN_QMAIL_PORT_WITH_BIG_CONCURRENCY_PATCH_BARRIER do-install: @# Check again, just in case (ideally should error if not found) @@ -151,7 +256,7 @@ do-install: ${INSTALL_DATA} ${DOCFILES} ${PREFIX}/${DOCDIR} .endif .if defined(PACKAGE_BUILDING) - @${ECHO} "FreeBSD Binary package QMail installation" \ + @${ECHO} "FreeBSD Binary package qmail installation" \ > ${PREFIX}/${DOCDIR}/SYSDEPS .else @cd ${WRKSRC} && ${CAT} `${CAT} SYSDEPS` \ @@ -166,7 +271,7 @@ do-install: @${MKDIR} ${LOCALBASE}/etc/rc.d @${LN} -sf ${PREFIX}/rc ${LOCALBASE}/etc/rc.d/qmail.sh @${ECHO} - @${SED} s!/var/qmail!${PREFIX}!g ${PKGMESSAGE} | /usr/bin/fmt + @${SED} s!/var/qmail!${PREFIX}!g ${PKGMESSAGE} | ${FMT} # hack to allow slave ports to include bsd.port.pre.mk and then this file .if defined(_PREMKINCLUDED) @@ -199,16 +304,16 @@ ${WRKDIR}/.thereal_disable_sendmail_done: # I would like some input on the targets below. Only constructive ones # please. :) # based on shells/pdksh /etc/shells update PLIST. -thereal-disable-sendmail: ${WRKDIR}/.thereal_disable_sendmail_done /etc/rc.conf - @if [ -f /etc/rc.conf ]; \ +thereal-disable-sendmail: ${WRKDIR}/.thereal_disable_sendmail_done ${RC_CONF_FILE} + @if [ -f ${RC_CONF_FILE} ]; \ then \ - ${CP} /etc/rc.conf /etc/rc.conf.bak && \ - ${GREP} -v sendmail_enable /etc/rc.conf.bak > \ - /etc/rc.conf && \ + ${CP} ${RC_CONF_FILE} ${RC_CONF_FILE}.bak && \ + ${GREP} -v sendmail_enable ${RC_CONF_FILE}.bak > \ + ${RC_CONF_FILE} && \ ${TOUCH} ${WRKDIR}/.thereal_disable_sendmail_done ; \ else \ - ${ECHO_MSG} ¨===> ERROR: YOU DO NOT HAVE A VALID /etc/rc.conf¨ ; \ - ${ECHO_MSG} ¨===> FIX this and try again¨ ; \ + ${ECHO_MSG} "===> ERROR: YOU DO NOT HAVE A VALID ${RC_CONF_FILE}" ; \ + ${ECHO_MSG} "===> FIX this and try again" ; \ ${FALSE} ; \ fi @@ -218,9 +323,9 @@ disable-sendmail: thereal-disable-sendmail @${ECHO_MSG} "===> automaticaly start sendmail on your" @${ECHO_MSG} "===> next startup." @${ECHO_MSG} "===> (i.e., added sendmail_enable=\¨NO\¨ to rc.conf)" - @if [ -f /etc/rc.conf ]; \ + @if [ -f ${RC_CONF_FILE} ]; \ then \ - ${ECHO} sendmail_enable=\"NO\" >> /etc/rc.conf ; \ + ${ECHO} sendmail_enable=\"NO\" >> ${RC_CONF_FILE} ; \ fi enable-sendmail: thereal-disable-sendmail @@ -231,12 +336,12 @@ enable-sendmail: thereal-disable-sendmail @${ECHO_MSG} "===> (i.e., removed sendmail_enable=\¨NO\¨ from rc.conf)" enable-qmail: install disable-sendmail - @if [ -f /etc/mail/mailer.conf ]; \ + @if [ -f ${MAILER_CONF_FILE} ]; \ then \ - ${CP} /etc/mail/mailer.conf /etc/mail/mailer.conf.bak && \ - ${CP} ${WRKDIR}/mailer.conf.sample /etc/mail/mailer.conf ; \ + ${CP} ${MAILER_CONF_FILE} ${MAILER_CONF_FILE}.bak && \ + ${CP} ${WRKDIR}/mailer.conf.sample ${MAILER_CONF_FILE} ; \ else \ - ${ECHO_MSG} "===> ERROR: YOU DO NOT HAVE A VALID /etc/mail/mailer.conf" ; \ + ${ECHO_MSG} "===> ERROR: YOU DO NOT HAVE A VALID ${MAILER_CONF_FILE}" ; \ ${ECHO_MSG} "===> FIX this and try again" ; \ ${ECHO_MSG} "===> or, do \¨make force_enable_qmail\¨ if you are sure" ; \ ${ECHO_MSG} "===> you want this port replacing some binaries" ; \ @@ -245,7 +350,7 @@ enable-qmail: install disable-sendmail ${ECHO_MSG} "=======> VERY IMPORTANT <=======" ; \ ${ECHO_MSG} "===> One side issue is that if you do replace them," ; \ ${ECHO_MSG} "===> you really should consider ADDING \"NO_SENDMAIL=true\"" ; \ - ${ECHO_MSG} "===> to your /etc/make.conf if you do \"make world\"." ; \ + ${ECHO_MSG} "===> to your ${MAKE_CONF_FILE} if you do \"make world\"." ; \ ${ECHO_MSG} "===> Otherwise, \"make world\" will \"fix\" your sendmail" ; \ ${ECHO_MSG} "===> installation breaking your qmail one." ; \ ${ECHO_MSG} "===> Read the FreeBSD Handbook section on \"make world\"" ; \ @@ -261,28 +366,28 @@ enable-qmail: install disable-sendmail # taken from mail/postfix idea force-enable-qmail: install disable-sendmail @${ECHO_MSG} "===> Replacing sendmail" - @if [ -e /usr/sbin/sendmail ]; then \ - ${MV} -f /usr/sbin/sendmail /usr/sbin/sendmail.OFF && \ - ${CHMOD} 0 /usr/sbin/sendmail.OFF; \ + @if [ -e ${SENDMAIL} ]; then \ + ${MV} -f ${SENDMAIL} ${SENDMAIL}.OFF && \ + ${CHMOD} 0 ${SENDMAIL}.OFF; \ fi @if [ -e ${PREFIX}/bin/sendmail ]; then \ - ${LN} -s ${PREFIX}/bin/sendmail /usr/sbin/sendmail; \ + ${LN} -sf ${PREFIX}/bin/sendmail ${SENDMAIL}; \ fi @${ECHO_MSG} "===> Replacing mailq" - @if [ -e /usr/bin/mailq ]; then \ - ${MV} -f /usr/bin/mailq /usr/bin/mailq.OFF && \ - ${CHMOD} 0 /usr/bin/mailq.OFF; \ + @if [ -e ${MAILQ} ]; then \ + ${MV} -f ${MAILQ} ${MAILQ}.OFF && \ + ${CHMOD} 0 ${MAILQ}.OFF; \ fi @if [ -e ${PREFIX}/bin/qmail-qread ]; then \ - ${LN} -s ${PREFIX}/bin/qmail-qread /usr/bin/mailq; \ + ${LN} -sf ${PREFIX}/bin/qmail-qread ${MAILQ}; \ fi @${ECHO_MSG} "===> Replacing newaliases" - @if [ -e /usr/bin/newaliases ]; then \ - ${MV} -f /usr/bin/newaliases /usr/bin/newaliases.OFF && \ - ${CHMOD} 0 /usr/bin/newaliases.OFF; \ + @if [ -e ${NEWALIASES} ]; then \ + ${MV} -f ${NEWALIASES} ${NEWALIASES}.OFF && \ + ${CHMOD} 0 ${NEWALIASES}.OFF; \ fi @if [ -e ${PREFIX}/bin/newaliases ]; then \ - ${LN} -s ${PREFIX}/bin/newaliases /usr/bin/newaliases; \ + ${LN} -sf ${PREFIX}/bin/newaliases ${NEWALIASES}; \ fi # The users are instructed (in PORT_NOTES) to install ${QUEUE_DIR}/rc diff --git a/mail/qmail/distinfo b/mail/qmail/distinfo index 41d8367f73b7..04e03eacb709 100644 --- a/mail/qmail/distinfo +++ b/mail/qmail/distinfo @@ -3,3 +3,6 @@ MD5 (qmail-103.patch) = 9140ad2b03017145cd7963c84bb24f16 MD5 (qmail-ldap-1.03-20010201.patch.gz) = b5616fa91819359846fc00f883631a7a MD5 (qmail-mysql-1.1.1.patch) = 6bea6192bc39194bc4dda73def0d20df MD5 (tls.patch) = 6cd2d06a4688aa4262e30088bc0ed6e9 +MD5 (qmailqueue-patch) = fed4b56ffd1a5badebacc0ae4b9586ca +MD5 (big-todo.103.patch) = 39b6f70f65056472ff97ab40c1dba7b4 +MD5 (big-concurrency.patch) = 2ff58c3570870a8ff9a1d9eb9aec05a6 |