# Created by: Mario S F Ferreira # $FreeBSD$ PORTNAME= ${QMAIL_PORTNAME} PORTVERSION?= ${QMAIL_VERSION} PORTREVISION?= 1 CATEGORIES= mail MASTER_SITES+= ${MASTER_SITE_QMAIL} DISTNAME= ${PORTNAME}-${QMAIL_VERSION} DISTFILES?= ${DISTNAME}${EXTRACT_SUFX} EXTRACT_ONLY?= ${DISTNAME}${EXTRACT_SUFX} MAINTAINER?= bdrewery@FreeBSD.org COMMENT?= Secure, reliable, efficient, simple, and fast MTA DIST_SUBDIR= qmail CONFLICTS?= qmail-ldap-[0-9]* *qmail-mysql-[0-9]* qmail-spamcontrol-[0-9]* *qmail-tls-[0-9]* CONFLICTS+= qmail-vida-[0-9]* USES= qmail:vars PREFIX?= ${QMAIL_PREFIX} PLIST_SUB+= QMAIL_PREFIX="${PREFIX}" MAKE_JOBS_UNSAFE= yes PORTSCOUT= skipv:1.04 # Need root for build for now due to all of the users/dirs/chmod. Can cleanup # once pkg_install is EOL. NEED_ROOT= yes USERS= alias .for usersuffix in d l p q r s USERS+= qmail${usersuffix} .endfor GROUPS= qmail qnofiles # Options description for qmail and all slave ports ALTQUEUE_DESC= Run a QMAILQUEUE external queue AUTOHOMEDIRMAKE_DESC= auto-homedir-make feature AUTOMAILDIRMAKE_DESC= The auto-maildir-make feature BIGBROTHER_DESC= Use the control/bigbrother program BIGTODO_DESC= Bruce Guenter's BigToDo patch BIG_CONCURRENCY_PATCH_DESC= Use a concurrency greater than 240 BIG_TODO_PATCH_DESC= Enable big_todo qmail patch BIND_8_COMPAT_DESC= Needed if compile fails building dns.c BLOCKEXEC_PATCH_DESC= Block many windows viruses/worms CLEARTEXTPASSWD_DESC= Use cleartext passwords (Dangerous!) DASH_EXT_DESC= Dash_ext extended mail addresses add DATA_COMPRESS_DESC= Smtp on the fly DATA compression DISCBOUNCES_PATCH_DESC= Discard double-bounces DNS_CNAME_DESC= Request CNAME (vs ANY for BIND 4 bug) ENHACELOGS_DESC= Enhace qmail-smtpd logs (spamcontrol-like) EXTERNAL_TODO_DESC= External high-performance todo processing EXTTODO_PATCH_DESC= Extern high-perform. todo processing GRTDELAY_DESC= Add jms1's Greet Delay feature IGNOREVERISIGN_DESC= Disallow dns wildchar matches on gtlds LDAP_DEBUG_DESC= Possibility to log and debug imap/pop LOCALTIME_PATCH_DESC= Emit dates in the local timezone MAILDIRQUOTA_PATCH_DESC= Maildir++ support OUTGOINGIP_PATCH_DESC= Set the IP address to send messages PAM111421_DESC= Smtpd allow email in case PAM failure QEXTRA_DESC= Enable QUEUE_EXTRA copy feature QLDAP_CLUSTER_DESC= Cluster support QMAILQUEUE_PATCH_DESC= Run a QMAILQUEUE program QMQP_COMPRESS_DESC= QMQP on the fly compression QMTPC_PATCH_DESC= Send email using qmtp protocol QUOTATRASH_DESC= Include the Trash in the quota RCDLINK_DESC= Create rc.d/qmail symlink SENDERCHECK4_DESC= LOOSE checks exclusively for RELAY clients SMTPEXECCHECK_DESC= Smtp DOS/Windows executable detection SMTPEXTFORK_DESC= Allow qmail-smtpd fork external progs SMTP_AUTH_PATCH_DESC= Provide SMTP Authentication SPF_PATCH_DESC= Implement SPF checker SRS_DESC= Sender Rewriting Scheme support TARPIT_PATCH_DESC= Implement TARPIT functions TLS_DESC= SMTP TLS support TLS_DEBUG_DESC= Enable additional debug information XF_QUITASAP_DESC= Close SMTP session ASAP (SMTPEXTFORK) .if defined(SLAVE_LDAP) || \ defined(SLAVE_SPAMCONTROL) _USE_NETQMAIL= no .else _USE_NETQMAIL= yes .endif .if ${_USE_NETQMAIL} == yes QMAIL_PORTNAME= netqmail QMAIL_VERSION= 1.06 BARRIER_SENDMAIL_F_PATCH= yes BARRIER_QMAILQUEUE_PATCH= yes .else # This is only used for slave ports. QMAIL_PORTNAME= qmail QMAIL_VERSION= 1.03 .endif .if defined(SLAVE_LDAP) || \ defined(SLAVE_MYSQL) BARRIER_MAILDIRQUOTA_PATCH= yes BARRIER_SPF_PATCH= yes .endif .if defined(SLAVE_LDAP) || \ defined(SLAVE_SPAMCONTROL) || \ defined(SLAVE_MYSQL) BARRIER_BLOCKEXEC_PATCH= yes BARRIER_QMAILQUEUE_PATCH= yes BARRIER_SMTP_AUTH_PATCH= yes .endif .if defined(SLAVE_LDAP) BARRIER_BIG_CONCURRENCY_PATCH= yes BARRIER_EXTTODO_PATCH= yes .endif .if defined(SLAVE_LDAP) || \ defined(SLAVE_SPAMCONTROL) BARRIER_QMTPC_PATCH= yes BARRIER_DISCBOUNCES_PATCH= yes BARRIER_SENDMAIL_F_PATCH= yes BARRIER_BIG_TODO_PATCH= yes BARRIER_DNS_PATCH= yes BARRIER_OUTGOINGIP_PATCH= yes .endif .if defined(SLAVE_LDAP) || \ defined(SLAVE_SPAMCONTROL) || \ defined(SLAVE_TLS) BARRIER_RFC2821_PATCH= yes BARRIER_TARPIT_PATCH= yes .endif .if defined(SLAVE_SPAMCONTROL) BARRIER_DNS_CNAME= yes .endif PATCH_DIST_STRIP+= -p1 .if !defined(BARRIER_DNS_PATCH) # 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/:dns PATCHFILES+= qmail-103.patch:dns .endif .if !defined(BARRIER_SENDMAIL_F_PATCH) # David Phillips noticed that sendmail's -f option sets a default # From: header, and so should qmail's emulation. PATCH_SITES+= http://david.acz.org/software/:sendmail_flagf PATCHFILES+= sendmail-flagf.patch:sendmail_flagf .endif .if !defined(BARRIER_RFC2821_PATCH) # This patch changes qmail-remote to skip over MX servers that greet with # codes 400 to 499 and to bounce mail when any MX server that qmail tries # greets with a code 500 to 599. # Created by Matthias Andree PATCH_SITES+= http://www-dt.e-technik.uni-dortmund.de/~ma/qmail/:rfc2821 PATCHFILES+= patch-qmail-1.03-rfc2821.diff:rfc2821 .endif .if defined(SLAVE_LDAP) PATCH_SITES+= http://www.nrg4u.com/qmail/:ldap PATCHFILES+= qmail-ldap-1.03-${LDAP_PATCH_DATE}.patch.gz:ldap .elif defined(SLAVE_MYSQL) PATCH_SITES+= http://iain.cx/unix/qmail/download/:mysql PATCHFILES+= netqmail-mysql-${MYSQL_PATCH_VERSION}.patch:mysql .elif defined(SLAVE_TLS) PATCH_SITES+= http://inoa.net/qmail-tls/:tls TLS_PATCH_NAME= ${QMAIL_PORTNAME}-${QMAIL_VERSION}-tls-${TLS_PATCH_DATE}.patch PATCHFILES+= ${TLS_PATCH_NAME}:tls .endif PATCH_SITES+= ${MASTER_SITE_LOCAL:S/$/:dns,sendmail_flagf,rfc2821,ldap,mysql,tls,quota,blockexec,doublebounce,spf,spf_tls,localtime,qmtpc_outgoingip/} PATCH_SITE_SUBDIR+= bdrewery/qmail/:dns,sendmail_flagf,rfc2821,ldap,mysql,tls,quota,blockexec,doublebounce,spf,spf_tls,localtime,qmtpc_outgoingip PATCH_SITES+= http://mirror.shatow.net/freebsd/qmail/:DEFAULT,dns,sendmail_flagf,rfc2821,ldap,mysql,tls,quota,blockexec,doublebounce,spf,spf_tls,localtime,qmtpc_outgoingip OPTIONS_DEFINE+=DOCS .if !defined(BARRIER_SMTP_AUTH_PATCH) SMTP_AUTH_VERSION= 0.31 SMTP_AUTH_DIR= ${WRKDIR}/qmail-smtpd-auth-${SMTP_AUTH_VERSION} OPTIONS_DEFINE+=SMTP_AUTH_PATCH .endif .if !defined(BARRIER_QMAILQUEUE_PATCH) OPTIONS_DEFINE+=QMAILQUEUE_PATCH .endif .if !defined(BARRIER_BIG_TODO_PATCH) OPTIONS_DEFINE+=BIG_TODO_PATCH .endif .if !defined(BARRIER_BIG_CONCURRENCY_PATCH) OPTIONS_DEFINE+=BIG_CONCURRENCY_PATCH .endif .if !defined(BARRIER_OUTGOINGIP_PATCH) OPTIONS_DEFINE+=OUTGOINGIP_PATCH .endif .if !defined(BARRIER_LOCALTIME_PATCH) OPTIONS_DEFINE+=LOCALTIME_PATCH .endif .if !defined(BARRIER_QMTPC_PATCH) OPTIONS_DEFINE+=QMTPC_PATCH .endif .if !defined(BARRIER_MAILDIRQUOTA_PATCH) OPTIONS_DEFINE+=MAILDIRQUOTA_PATCH .endif .if !defined(BARRIER_BLOCKEXEC_PATCH) OPTIONS_DEFINE+=BLOCKEXEC_PATCH .endif .if !defined(BARRIER_DISCBOUNCES_PATCH) OPTIONS_DEFINE+=DISCBOUNCES_PATCH .endif .if !defined(BARRIER_SPF_PATCH) OPTIONS_DEFINE+=SPF_PATCH .endif .if !defined(BARRIER_TARPIT_PATCH) OPTIONS_DEFINE+=TARPIT_PATCH .endif .if !defined(BARRIER_EXTTODO_PATCH) OPTIONS_DEFINE+=EXTTODO_PATCH .endif .if defined(SLAVE_TLS) OPTIONS_DEFINE+=TLS_DEBUG .elif defined(SLAVE_LDAP) OPTIONS_DEFINE+=TLS ALTQUEUE BIGBROTHER BIGTODO BIND_8_COMPAT CLEARTEXTPASSWD \ DASH_EXT DATA_COMPRESS EXTERNAL_TODO IGNOREVERISIGN \ QLDAP_CLUSTER QMQP_COMPRESS QUOTATRASH SMTPEXECCHECK \ AUTOMAILDIRMAKE AUTOHOMEDIRMAKE LDAP_DEBUG SMTPEXTFORK \ XF_QUITASAP SENDERCHECK4 ENHACELOGS GRTDELAY SRS OPTIONS_DEFAULT+= TLS DASH_EXT DATA_COMPRESS EXTERNAL_TODO QLDAP_CLUSTER \ QLDAP_CLUSTER QMQP_COMPRESS SMTPEXECCHECK \ AUTOMAILDIRMAKE AUTOHOMEDIRMAKE LDAP_PARAMS= ALTQUEUE BIGBROTHER BIGTODO BIND_8_COMPAT CLEARTEXTPASSWD \ DASH_EXT DATA_COMPRESS EXTERNAL_TODO IGNOREVERISIGN \ QLDAP_CLUSTER QMQP_COMPRESS QUOTATRASH SMTPEXECCHECK .elif defined(SLAVE_SPAMCONTROL) OPTIONS_DEFINE+=PAM111421 SMTPEXTFORK \ XF_QUITASAP OPTIONS_DEFAULT+= PAM111421 .endif OPTIONS_DEFINE+=QEXTRA .if !defined(BARRIER_DNS_CNAME) OPTIONS_DEFINE+= DNS_CNAME OPTIONS_DEFAULT+= DNS_CNAME .endif .if !defined(SLAVE_LDAP) OPTIONS_DEFINE+=RCDLINK OPTIONS_DEFAULT+= RCDLINK .endif OPTIONS_SUB= yes ALL_TARGET+= default dot-qmail.5 qmail-control.5 qmail-getpw.8 \ qmail-limits.7 qmail-newmrh.8 qmail-newu.8 qmail-pw2u.8 \ qmail-send.8 qmail-start.8 qmail-users.5 MMAN1+= forward.1 condredirect.1 bouncesaying.1 except.1 maildirmake.1 \ maildir2mbox.1 maildirwatch.1 mailsubj.1 qreceipt.1 qbiff.1 preline.1 \ tcp-env.1 MMAN5+= addresses.5 envelopes.5 maildir.5 mbox.5 dot-qmail.5 qmail-control.5 \ qmail-header.5 qmail-log.5 qmail-users.5 tcp-environ.5 MMAN7+= forgeries.7 qmail-limits.7 qmail.7 MMAN8+= qmail-local.8 qmail-lspawn.8 qmail-getpw.8 qmail-remote.8 \ qmail-rspawn.8 qmail-clean.8 qmail-send.8 qmail-start.8 splogger.8 \ qmail-queue.8 qmail-inject.8 qmail-showctl.8 qmail-newmrh.8 \ qmail-newu.8 qmail-pw2u.8 qmail-qread.8 qmail-qstat.8 qmail-tcpok.8 \ qmail-tcpto.8 qmail-pop3d.8 qmail-popup.8 qmail-qmqpc.8 qmail-qmqpd.8 \ qmail-qmtpd.8 qmail-smtpd.8 qmail-command.8 .if defined(SLAVE_MYSQL) PKGMESSAGE_SUFFIX= mysql .endif .if defined(SLAVE_SPAMCONTROL) EXTRA_MAN8= qmail-badloadertypes.8 qmail-badmimetypes.8 qmail-mfrules.8 \ qmail-recipients.8 qmail-smtpam.8 ALL_TARGET+= ${EXTRA_MAN8} MMAN8+= ${EXTRA_MAN8} USES+= perl5 USE_PERL5= patch build CFLAGS+= -include /usr/include/errno.h .endif .if defined(SLAVE_LDAP) PKGMESSAGE_SUFFIX= ldap PLIST_SUB+= LDAP="" NO_LDAP="@comment " .else PLIST_SUB+= LDAP="@comment " NO_LDAP="" PLIST_SUB+= SRS="@comment " .endif .if defined(SLAVE_SPAMCONTROL) PLIST_SUB+= SPAMCONTROL="" .else PLIST_SUB+= SPAMCONTROL="@comment " .endif .if defined(SLAVE_TLS) PKGMESSAGE_SUFFIX= tls PLIST_SUB+= TLS="" NO_TLS="@comment " .else PLIST_SUB+= TLS="@comment " NO_TLS="" .endif .if defined(PKGMESSAGE_SUFFIX) SLAVEPORT_LINE= ${PKGMESSAGE_SUFFIX} .elif defined(SLAVE_SPAMCONTROL) SLAVEPORT_LINE= spamcontrol .endif SUB_FILES+= mailer.conf.sample bootfiles.sed enable-qmail SUB_LIST+= ECHO_CMD=${ECHO_CMD} RCDLINK=${RCDLINK} .if defined(PKGMESSAGE_SUFFIX) SUB_FILES+= pkg-message-${PKGMESSAGE_SUFFIX} PKGMESSAGE?= ${WRKDIR}/pkg-message-${PKGMESSAGE_SUFFIX} .else SUB_FILES+= pkg-message .endif .if !defined(SLAVE_LDAP) SUB_FILES+= qmailsmtpd .endif WRKDIR_doc= ${WRKDIR}/doc PORTDOCS= * DOCFILES_WRKSRC+= BLURB BLURB2 BLURB3 BLURB4 INTERNALS SECURITY \ THOUGHTS FAQ UPGRADE SENDMAIL INSTALL INSTALL.alias \ INSTALL.ctl INSTALL.ids INSTALL.maildir INSTALL.mbox \ INSTALL.vsm TEST.deliver TEST.receive REMOVE.sendmail \ REMOVE.binmail PIC.local2alias PIC.local2ext \ PIC.local2local PIC.local2rem PIC.local2virt \ PIC.nullclient PIC.relaybad PIC.relaygood PIC.rem2local DOCFILES_WRKDIR+= mailer.conf.sample .if defined(SLAVE_LDAP) DOCFILES_WRKSRC+= QLDAPINSTALL QLDAPNEWS POPBEFORESMTP QLDAPTODO \ QLDAPPICTURE QLDAPGROUP EXTTODO qmail.schema .elif defined(SLAVE_TLS) DOCFILES_WRKDIR+= TLS.readme .elif defined(SLAVE_SPAMCONTROL) DOCFILES_WRKDIR_doc+= FILES.spamcontrol HISTORY.spamcontrol \ INSTALL.spamcontrol LICENSE.spamcontrol \ LOGGING.spamcontrol PROPOSAL.mav README.bigtodo \ README.bouncemaxbytes README.clamav README.djbdns \ README.mav \ README.qmailqueue README.recipients \ README.wildmat README_spamcontrol.html \ RELEASE_22.spamcontrol RELEASE_23.spamcontrol \ RELEASE_24.spamcontrol RELEASE_25.spamcontrol \ RELEASE_26.spamcontrol RELEASE_27.spamcontrol \ SMTPREPLY.spamcontrol \ TODO.spamcontrol badloadertypes badmailfrom \ badmimetypes badrcptto smtpreplies SCRIPTS+= qmail-alias2recipients qmail-pwd2recipients \ qmail-users2recipients qmail-vpopmail2recipients .endif .if !defined(SLAVE_LDAP) BOOTFILES= home home+df proc proc+df binm1 binm1+df \ binm2 binm2+df binm3 binm3+df maildir .endif CONFIGUREPROGRAMS= dnsfq hostname dnsip ipmeprint dnsptr CONFIGURESCRIPTS= config config-fast .if defined(SLAVE_LDAP) TLS_USE= OPENSSL=yes .endif # Port will control all PREFIX handling. install-mtree: @${DO_NADA} NO_MTREE= yes NO_PREFIX_RMDIR=yes .include .if ( ${ARCH} == "amd64" || ${ARCH} == "ia64" ) && !defined(SLAVE_LDAP) \ && !defined(SLAVE_SPAMCONTROL) EXTRA_PATCHES+= ${FILESDIR}/extra-patch-amd64 .endif .include .if ${PREFIX} != ${LOCALBASE} DOCSDIR= ${PREFIX}/doc .endif .if ${OSVERSION} >= 900007 SUB_LIST+= MANPATH="@comment " . if defined(SLAVE_LDAP) EXTRA_PATCHES+= ${FILESDIR}/extra-patch-utmpx-ldap . elif !defined(SLAVE_SPAMCONTROL) EXTRA_PATCHES+= ${FILESDIR}/extra-patch-utmpx . endif .else SUB_LIST+= MANPATH="" .endif .if defined(SLAVE_TLS) CFLAGS+= -I${OPENSSLBASE}/include -L${OPENSSLBASE}/lib -DTLS=${TLS_PATCH_DATE} . if ${PORT_OPTIONS:MTLS_DEBUG} CFLAGS+= -DDEBUG . endif .endif .if defined(SLAVE_LDAP) . for param in ${LDAP_PARAMS} . if ${PORT_OPTIONS:M${param}} LDAPFLAGS+= -D${param} . endif . endfor . if ${PORT_OPTIONS:MSRS} BUILD_DEPENDS+= srs:${PORTSDIR}/mail/libsrs2 MASTER_SITES+= http://qmail-ldap-smtpauthuser.googlecode.com/svn/trunk/:srs_ldap SRS_LDAP_PATCH= qmail-ldap-1.03-20060201-SRS.patch DISTFILES+= ${SRS_LDAP_PATCH}:srs_ldap . endif .endif .if ${PORT_OPTIONS:MSMTP_AUTH_PATCH} MASTER_SITES+= http://tomclegg.net/qmail/:smtp_auth \ ${MASTER_SITE_LOCAL:S/$/:smtp_auth/} MASTER_SITE_SUBDIR+= bdrewery/qmail/:smtp_auth DISTFILES+= qmail-smtpd-auth-${SMTP_AUTH_VERSION}.tar.gz:smtp_auth EXTRACT_ONLY+= qmail-smtpd-auth-${SMTP_AUTH_VERSION}.tar.gz MASTER_SITES+= http://tomclegg.net/qmail/:close3 DISTFILES+= qmail-smtpd-auth-close3.patch:close3 . if defined(SLAVE_TLS) AUTH_PATCH= auth.patch.diff-tls-20110119 . elif ${PORT_OPTIONS:MSPF_PATCH} AUTH_PATCH= auth.patch.diff . endif . if defined(AUTH_PATCH) DISTFILES+= ${AUTH_PATCH}:smtp_auth . endif .endif .if ${PORT_OPTIONS:MMAILDIRQUOTA_PATCH} PATCH_SITES+= http://www.alexdupre.com/qmail/:quota PATCHFILES+= ${PORTNAME}-maildir++.patch:quota EXTRA_PATCHES+= ${FILESDIR}/extra-patch-maildir++ .endif .if ${PORT_OPTIONS:MBLOCKEXEC_PATCH} PATCH_SITES+= http://www.alexdupre.com/qmail/:blockexec PATCHFILES+= qmail-block-executables.patch:blockexec .endif .if ${PORT_OPTIONS:MDISCBOUNCES_PATCH} PATCH_SITES+= http://www.alexdupre.com/qmail/:doublebounce PATCHFILES+= qmail-discard-double-bounces.patch:doublebounce .endif .if ${PORT_OPTIONS:MSPF_PATCH} . if defined(SLAVE_TLS) || defined(SLAVE_SPAMCONTROL) . if defined(SLAVE_SPAMCONTROL) SPF_SPAMCONTROL_PATCH= qmail-spf-rc5.patch-spamcontrol-27_2 PATCH_SITES+= ${MASTER_SITE_LOCAL:S/$/:spf_spamcontrol/} PATCH_SITE_SUBDIR+= bdrewery/qmail/:spf_spamcontrol PATCHFILES+= ${SPF_SPAMCONTROL_PATCH}:spf_spamcontrol . else # XXX - Move change out of conflicting Makefile hunk . if ${PORT_OPTIONS:MSMTP_AUTH_PATCH} SPF_TLS_PATCH= qmail-spf-rc5.patch-auth-tls-20110119 . else SPF_TLS_PATCH= qmail-spf-rc5.patch-tls-20110119 . endif #MASTER_SITES+= http://manuel.mausz.at/programming/patches/qmail/:spf_tls MASTER_SITES+= ${MASTER_SITE_LOCAL:S/$/:spf_tls/} MASTER_SITE_SUBDIR+= bdrewery/qmail/:spf_tls DISTFILES+= ${SPF_TLS_PATCH}:spf_tls . endif . else PATCH_SITES+= http://www.saout.de/misc/spf/:spf PATCHFILES+= qmail-spf-rc5.patch:spf . endif .endif .if ${PORT_OPTIONS:MEXTTODO_PATCH} PLIST_SUB+= EXTTODO="" DOCFILES_WRKSRC+= EXTTODO . if !empty(PORT_OPTIONS:MBIG_TODO_PATCH) || !empty(PORT_OPTIONS:MBIGTODO) MASTER_SITES+= ${MASTER_SITE_LOCAL:S/$/:ext_big_todo/} MASTER_SITE_SUBDIR+= bdrewery/qmail/:ext_big_todo EXT_BIG_TODO_PATCH= ext_todo-20030105+big-todo.103.patch DISTFILES+= ${EXT_BIG_TODO_PATCH}:ext_big_todo . endif . if ${PORT_OPTIONS:MSPF_PATCH} . if defined(SLAVE_TLS) # XXX - Move qmail-todo out of conflicting Makefile hunk EXTTODO_PATCH= ext_todo-20030105_spf_tls.patch MASTER_SITES+= ${MASTER_SITE_LOCAL:S/$/:exttodo/} MASTER_SITE_SUBDIR+= bdrewery/qmail/:exttodo DISTFILES+= ${EXTTODO_PATCH}:exttodo . else PATCH_SITES+= ${MASTER_SITE_LOCAL:S/$/:exttodo/} PATCH_SITE_SUBDIR+= bdrewery/qmail/:exttodo PATCHFILES+= ext_todo-20030105_spf.patch:exttodo . endif . elif defined(SLAVE_MYSQL) PATCH_SITES+= ${MASTER_SITE_LOCAL:S/$/:exttodo/} PATCHFILES+= ext_todo-20030105_mysql.patch:exttodo PATCH_SITE_SUBDIR+= bdrewery/qmail/:exttodo . elif defined(SLAVE_TLS) PATCH_SITES+= ${MASTER_SITE_LOCAL:S/$/:exttodo/} PATCHFILES+= ext_todo-20030105_tls.patch:exttodo PATCH_SITE_SUBDIR+= bdrewery/qmail/:exttodo . else PATCH_SITES+= http://www.nrg4u.com/qmail/:exttodo PATCHFILES+= ext_todo-20030105.patch:exttodo . endif .else PLIST_SUB+= EXTTODO="@comment " .endif .if ${PORT_OPTIONS:MDNS_CNAME} EXTRA_PATCHES+= ${FILESDIR}/extra-patch-dns-cname .endif .if !defined(BARRIER_DNS_PATCH) \ || !empty(PORT_OPTIONS:MQMAILQUEUE_PATCH) \ || !empty(PORT_OPTIONS:MBIG_TODO_PATCH) \ || !empty(PORT_OPTIONS:MBIG_CONCURRENCY_PATCH) \ || !empty(PORT_OPTIONS:MOUTGOINGIP_PATCH) \ || !empty(PORT_OPTIONS:MQMTPC_PATCH) PATCH_SITES+= ${MASTER_SITE_QMAIL} .endif .if ${PORT_OPTIONS:MQMAILQUEUE_PATCH} PATCHFILES+= qmailqueue-patch .endif .if ${PORT_OPTIONS:MBIG_TODO_PATCH} PATCHFILES+= big-todo.103.patch .endif .if ${PORT_OPTIONS:MBIG_CONCURRENCY_PATCH} . if defined(SLAVE_SPAMCONTROL) PATCHFILES+= big-concurrency-spamcontrol-2731.patch . else PATCHFILES+= big-concurrency.patch . endif .endif .if !empty(PORT_OPTIONS:MOUTGOINGIP_PATCH) && !empty(PORT_OPTIONS:MQMTPC_PATCH) PATCHFILES+= qmail-1.03-qmtpc_outgoingip_20090630.patch:qmtpc_outgoingip .elif ${PORT_OPTIONS:MOUTGOINGIP_PATCH} PATCHFILES+= outgoingip.patch .elif ${PORT_OPTIONS:MQMTPC_PATCH} PATCHFILES+= qmail-1.03-qmtpc.patch .endif .if ${PORT_OPTIONS:MLOCALTIME_PATCH} PATCH_SITES+= http://www.alib.jp/files/:localtime PATCHFILES+= qmail-date-localtime.patch:localtime .endif .if ${PORT_OPTIONS:MTARPIT_PATCH} PATCH_SITES+= http://www.palomine.net/qmail/:tarpit PATCHFILES+= tarpit.patch:tarpit .endif .if ${PORT_OPTIONS:MSMTPEXTFORK} && \ ( defined(SLAVE_SPAMCONTROL) || defined(SLAVE_LDAP) ) . if defined(SLAVE_SPAMCONTROL) SMTPEXTFORK_PATCH= smtpextfork-spamcontrol-2731.patch . else SMTPEXTFORK_PATCH= smtpextfork-ldap-20060201_4.patch . endif MASTER_SITES+= http://www6.freebsdbrasil.com.br/~eksffa/l/dev/qmail-smtpextfork/patches/:extfork \ ${MASTER_SITE_LOCAL:S/$/:extfork/} MASTER_SITE_SUBDIR+= bdrewery/qmail/:extfork DISTFILES+= ${SMTPEXTFORK_PATCH:S/$/:extfork/} \ README.smtpextfork:extfork .endif .if defined(SLAVE_LDAP) && ${PORT_OPTIONS:MSENDERCHECK4} PATCH_SITES+= http://www6.freebsdbrasil.com.br/~eksffa/l/dev/qmail/:sendercheck4 \ ${MASTER_SITE_LOCAL:S/$/:sendercheck4/} PATCH_SITE_SUBDIR+= bdrewery/qmail/:sendercheck4 PATCHFILES+= qmail-ldap-1.03_qmail-smtpd_SENDERCHECK4.patch:sendercheck4 .endif .if defined(SLAVE_LDAP) && ${PORT_OPTIONS:MGRTDELAY} PATCH_SITES+= http://www6.freebsdbrasil.com.br/~eksffa/l/dev/qmail/:grtdelay \ ${MASTER_SITE_LOCAL:S/$/:grtdelay/} PATCH_SITE_SUBDIR+= bdrewery/qmail/:grtdelay PATCHFILES+= qmail-ldap-20060201-grtdelay.patch:grtdelay DOCFILES_WRKSRC+= README.GREETDELAY .endif .if defined(SLAVE_LDAP) && ${PORT_OPTIONS:MENHACELOGS} PATCH_SITES+= http://www6.freebsdbrasil.com.br/~eksffa/l/dev/qmail/:ldapenhacelog \ ${MASTER_SITE_LOCAL:S/$/:ldapenhacelog/} PATCH_SITE_SUBDIR+= bdrewery/qmail/:ldapenhacelog PATCHFILES+= enhacelogging-ldap-20120221.patch:ldapenhacelog .endif .if defined(SLAVE_SPAMCONTROL) MASTER_SITES+= ${MASTER_SITE_LOCAL:S/$/:ucspi_ssl/} \ http://www.fehcom.de/ipnet/ucspi-ssl/:ucspi_ssl MASTER_SITE_SUBDIR+= bdrewery/ucspi-ssl/:ucspi_ssl UCSPI_SSL_VER= 0.94 UCSPI_SSL_DIST= ucspi-ssl-${UCSPI_SSL_VER}.tgz DISTFILES+= ${UCSPI_SSL_DIST}:ucspi_ssl UCSPISRC= ${WRKDIR}/host/superscript.com/net/ucspi-ssl-${UCSPI_SSL_VER} # XXX not yet, needs more cleanup #UCSPISRC!= ${MAKE} -C ${PORTSDIR}/sysutils/ucspi-ssl-tls -V WRKSRC #PATCH_DEPENDS+= ${UCSPISRC}/compile/ucspissl.a:${PORTSDIR}/sysutils/ucspi-ssl-tls:build .endif # Some default values, these can be modified by make command line .if ${PORT_OPTIONS:MBIG_CONCURRENCY_PATCH} WITH_BIG_CONCURRENCY_PATCH_CONCURRENCY_LIMIT?= 509 CFLAGS+= -DFD_SETSIZE=`expr 2 \* ${WITH_BIG_CONCURRENCY_PATCH_CONCURRENCY_LIMIT} + 6` .endif .if ${PORT_OPTIONS:MRCDLINK} && !defined(SLAVE_LDAP) PLIST_SUB+= RCDLINK="" RCDLINK= .else PLIST_SUB+= RCDLINK="@comment " RCDLINK= \# .endif # Fill SELECTED_OPTIONS with options to write conf-spamcontrol .if defined(SLAVE_SPAMCONTROL) . if ${PORT_OPTIONS:MPAM111421} SELECTED_OPTIONS+= pam111421=yes . else SELECTED_OPTIONS+= pam111421=no . endif .endif pre-everything:: .if !defined(BARRIER_BIG_CONCURRENCY_PATCH) @${ECHO_MSG} "" @${ECHO_MSG} "You may use the following build options:" @${ECHO_MSG} "" @${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" @${ECHO_MSG} "" .endif .if !defined(QMAIL_PREFIX) @${ECHO_MSG} "QMAIL_PREFIX=PREFIX_PATH" @${ECHO_MSG} " (default PREFIX_PATH=${PREFIX})" @${ECHO_MSG} " A normal qmail installation puts" @${ECHO_MSG} " everything into /var/qmail/." @${ECHO_MSG} " If you want to install to ${LOCALBASE}," @${ECHO_MSG} " then \"${LOCALBASE}/qmail\" is suggested" @${ECHO_MSG} " instead of \"${LOCALBASE}\", but both will" @${ECHO_MSG} " work." @${ECHO_MSG} "" .endif post-extract: .if defined(SLAVE_SPAMCONTROL) @cd ${WRKSRC} && ${TAR} -xzf ${DISTDIR}/${DIST_SUBDIR}/${SPAMCONTROL_DIST} @cd ${WRKDIR} && ${TAR} -xzf ${DISTDIR}/${DIST_SUBDIR}/${UCSPI_SSL_DIST} .endif # XXX - Move all the major patch applications to post-extract # # Apply main distro patch (which requires building a dependency and # running a script) before PATCHFILES get applied. .if defined(SLAVE_SPAMCONTROL) pre-patch: . if ${OSVERSION} < 900007 # Prevent applying utmpx patch @${ECHO_CMD} > ${WRKSRC}/qbiff.c.patch . endif @${ECHO_CMD} ${WRKDIR} > ${WRKSRC}/conf-qmail @${ECHO_CMD} "# Generated by qmail-spamcontrol FreeBSD port" \ > ${WRKSRC}/conf-spamcontrol . for option in ${SELECTED_OPTIONS} @${ECHO_CMD} ${option} >> ${WRKSRC}/conf-spamcontrol . endfor @${ECHO_CMD} "${UCSPISRC}/compile" > ${WRKSRC}/conf-ucspissl ${ECHO_CMD} "${CC} ${CFLAGS}" > ${UCSPISRC}/src/conf-cc ${ECHO_CMD} "${CC} ${STRIP} ${LDFLAGS}" > ${UCSPISRC}/src/conf-ld ${ECHO_CMD} "${PREFIX}" > ${UCSPISRC}/src/conf-home ${ECHO_CMD} "${PREFIX}/bin" > ${UCSPISRC}/src/conf-tcpbin ${ECHO_CMD} "/etc/ssl" > ${UCSPISRC}/src/conf-cadir ${ECHO_CMD} "/etc/ssl/cert.pem" > ${UCSPISRC}/src/conf-cafile ${ECHO_CMD} "/etc/ssl/dh1024.pem" > ${UCSPISRC}/src/conf-dhfile @cd ${UCSPISRC} && ${SETENV} ${MAKE_ENV} package/compile @cd ${WRKSRC} && ${SH} ./install_spamcontrol.sh # Any rejected patches are a failure @if [ "`find ${WRKSRC} -name '*.rej' | wc -l`" -ne 0 ]; then \ ${ECHO_MSG} "===> Failed to apply spamcontrol patch"; \ ${FALSE}; \ fi # Fix trailing whitespace which breaks some patches ${SED} -i '' -e 's,^\(binm3 binm3+df\) $$,\1,' ${WRKSRC}/Makefile .endif post-patch: .if ${PORT_OPTIONS:MSMTP_AUTH_PATCH} @${CP} ${SMTP_AUTH_DIR}/base64.[ch] ${WRKSRC} . if defined(AUTH_PATCH) @${PATCH} -d ${SMTP_AUTH_DIR} < ${DISTDIR}/${DIST_SUBDIR}/${AUTH_PATCH} . endif @${PATCH} -d ${WRKSRC} < ${SMTP_AUTH_DIR}/auth.patch . if defined(SLAVE_TLS) && ${PORT_OPTIONS:MSPF_PATCH} && defined(SPF_TLS_PATCH) @${PATCH} -d ${WRKSRC} < ${DISTDIR}/${DIST_SUBDIR}/${SPF_TLS_PATCH} . if ${PORT_OPTIONS:MEXTTODO_PATCH} && defined(EXTTODO_PATCH) @${PATCH} -p1 -d ${WRKSRC} < ${DISTDIR}/${DIST_SUBDIR}/${EXTTODO_PATCH} . endif . endif @${PATCH} -d ${WRKSRC} < ${DISTDIR}/${DIST_SUBDIR}/qmail-smtpd-auth-close3.patch .elif defined(SLAVE_TLS) && ${PORT_OPTIONS:MSPF_PATCH} && defined(SPF_TLS_PATCH) @${PATCH} -d ${WRKSRC} < ${DISTDIR}/${DIST_SUBDIR}/${SPF_TLS_PATCH} . if ${PORT_OPTIONS:MEXTTODO_PATCH} && defined(EXTTODO_PATCH) @${PATCH} -p1 -d ${WRKSRC} < ${DISTDIR}/${DIST_SUBDIR}/${EXTTODO_PATCH} . endif .endif .if defined(SLAVE_MYSQL) @${REINPLACE_CMD} \ -e 's|/opt/mysql|${LOCALBASE}|' \ -e "s,MYSQL_LIBS=.*,MYSQL_LIBS=\`${LOCALBASE}/bin/mysql_config --libs\`," \ ${WRKSRC}/Makefile .elif defined(SLAVE_SPAMCONTROL) . if ${PORT_OPTIONS:MSMTPEXTFORK} @${PATCH} -d ${WRKSRC} < ${DISTDIR}/${DIST_SUBDIR}/${SMTPEXTFORK_PATCH} . if ${PORT_OPTIONS:MXF_QUITASAP} @${REINPLACE_CMD} 's!//#define XF_QUITASAP!#define XF_QUITASAP!g' \ ${WRKSRC}/qmail-smtpd.c . endif . endif @${REINPLACE_CMD} -E "/qhpsi *= *\"unknown\"/d; s/(\*qqx *== *'D')/qhpsi \&\& \1/g" \ ${WRKSRC}/qmail-smtpd.c .elif defined(SLAVE_TLS) @${HEAD} -105 ${DISTDIR}/${DIST_SUBDIR}/${TLS_PATCH_NAME} > \ ${WRKDIR}/TLS.readme @${REINPLACE_CMD} "s|/usr/local/ssl|${OPENSSLBASE}|" \ ${WRKSRC}/Makefile .elif defined(SLAVE_LDAP) @${REINPLACE_CMD} "s|^LDAPLIBS=-L/usr/local/lib|LDAPLIBS=-L${LOCALBASE}/lib|; \ s|^LDAPINCLUDES=-I/usr/local/include|LDAPINCLUDES=-I${LOCALBASE}/include|" \ ${WRKSRC}/Makefile @${REINPLACE_CMD} "s|^#SHADOWLIBS=-lcrypt$$|SHADOWLIBS=-lcrypt|" \ ${WRKSRC}/Makefile . if ${PORT_OPTIONS:MSMTPEXTFORK} @${PATCH} -d ${WRKSRC} < ${DISTDIR}/${DIST_SUBDIR}/${SMTPEXTFORK_PATCH} # @${PATCH} -d ${WRKSRC} < ${FILESDIR}/extra-patch-smtpextfork-qmail-smtpd.c . if ${PORT_OPTIONS:MXF_QUITASAP} @${REINPLACE_CMD} 's!//#define XF_QUITASAP!#define XF_QUITASAP!g' \ ${WRKSRC}/qmail-smtpd.c . endif . endif . if ${PORT_OPTIONS:MTLS} @${REINPLACE_CMD} "s|^#TLS=|TLS=|; \ s|^#TLSINCLUDES=-I/usr/local/include|TLSINCLUDES=-I${OPENSSLBASE}/include|; \ s|^#TLSLIBS=-L/usr/local/lib|TLSLIBS=-L${OPENSSLBASE}/lib|; \ s|^#OPENSSLBIN=/usr/local/bin/openssl|OPENSSLBIN=${OPENSSLBASE}/bin/openssl|" \ ${WRKSRC}/Makefile . endif . if ${PORT_OPTIONS:MDATA_COMPRESS} || ${PORT_OPTIONS:MQMQP_COMPRESS} @${REINPLACE_CMD} "s|^#ZLIB=-lz$$|ZLIB=-lz|" \ ${WRKSRC}/Makefile . endif . if ${PORT_OPTIONS:MAUTOMAILDIRMAKE} @${REINPLACE_CMD} "s|^#MDIRMAKE=|MDIRMAKE=|" ${WRKSRC}/Makefile . endif . if ${PORT_OPTIONS:MAUTOHOMEDIRMAKE} @${REINPLACE_CMD} "s|^#HDIRMAKE=|HDIRMAKE=|" ${WRKSRC}/Makefile . endif . if ${PORT_OPTIONS:MLDAP_DEBUG} @${REINPLACE_CMD} "s|^#DEBUG=|DEBUG=|" ${WRKSRC}/Makefile . endif . if defined(LDAPFLAGS) @${REINPLACE_CMD} "s|^#LDAPFLAGS=.*$$|LDAPFLAGS=${LDAPFLAGS}|" \ ${WRKSRC}/Makefile . endif . if ${PORT_OPTIONS:MSRS} @${PATCH} -d ${WRKSRC} < ${DISTDIR}/${DIST_SUBDIR}/${SRS_LDAP_PATCH} . endif .endif .if defined(EXT_BIG_TODO_PATCH) @${PATCH} -d ${WRKSRC} < ${DISTDIR}/${DIST_SUBDIR}/${EXT_BIG_TODO_PATCH} .endif @${REINPLACE_CMD} 's!/var/qmail!${PREFIX}!; \ s!/usr/local/!${LOCALBASE}/!' \ ${WRKSRC}/Makefile @${REINPLACE_CMD} 's!nofiles!qnofiles!g' \ ${WRKSRC}/conf-groups @${REINPLACE_CMD} '/"man"/d; /man\/man/d; /man\/cat/d; \ /"doc"/d; /"boot","/d' \ ${WRKSRC}/hier.c .if ${PORT_OPTIONS:MQEXTRA} @${REINPLACE_CMD} 's!QUEUE_EXTRA ""!QUEUE_EXTRA "Tlog\\0"!g; \ s!QUEUE_EXTRALEN 0!QUEUE_EXTRALEN 5!g' \ ${WRKSRC}/extra.h .endif @${REINPLACE_CMD} -e "s/void *main/int main/g" ${WRKSRC}/*.c @${REINPLACE_CMD} -e "/int main/ s/argc, *argv/int argc, char **argv/" ${WRKSRC}/install.c @${ECHO_CMD} "MANPATH ${MANPREFIX}/man" > ${WRKDIR}/qmail.conf do-configure: @${ECHO_CMD} "${CC} ${CFLAGS}" > ${WRKSRC}/conf-cc @${ECHO_CMD} "${CC} ${STRIP} ${LDFLAGS}" > ${WRKSRC}/conf-ld @${ECHO_CMD} ${PREFIX} > ${WRKSRC}/conf-qmail .if !empty(PORT_OPTIONS:MBIG_CONCURRENCY_PATCH) \ && defined(WITH_BIG_CONCURRENCY_PATCH_CONCURRENCY_LIMIT) @if [ ${WITH_BIG_CONCURRENCY_PATCH_CONCURRENCY_LIMIT} -gt 0 ]; then \ ${ECHO_CMD} "${WITH_BIG_CONCURRENCY_PATCH_CONCURRENCY_LIMIT}" \ > ${WRKSRC}/conf-spawn ; \ fi .endif post-build: @${ECHO_MSG} "===> Rebuilding DJB installer to respect STAGEDIR" @${MV} -f ${WRKSRC}/conf-qmail ${WRKSRC}/conf-qmail.sav @${ECHO_CMD} "${STAGEDIR}${PREFIX}" > ${WRKSRC}/conf-qmail @${MV} -f ${WRKSRC}/install ${WRKSRC}/install.nostage @cd ${WRKSRC} ; ${RM} -f install instcheck install.o instcheck.o hier.o auto_qmail.o auto_qmail.c @cd ${WRKSRC} ; ${DO_MAKE_BUILD} install instcheck @${MV} -f ${WRKSRC}/conf-qmail.sav ${WRKSRC}/conf-qmail do-install: .for i in ${BOOTFILES} @if [ -f ${WRKSRC}/${i}.sh ] ; then \ ${SED} -f ${WRKDIR}/bootfiles.sed ${WRKSRC}/$i.sh > ${WRKDIR}/${i} ; \ elif [ -f ${FILESDIR}/${i} ] ; then \ ${SED} -f ${WRKDIR}/bootfiles.sed ${FILESDIR}/$i > ${WRKDIR}/${i} ; \ fi .endfor @${MKDIR} ${STAGEDIR}${PREFIX}/configure @cd ${WRKSRC} ; ./install .for f in ${CONFIGUREPROGRAMS} ${INSTALL_PROGRAM} ${WRKSRC}/${f} ${STAGEDIR}${PREFIX}/configure .endfor ${INSTALL_PROGRAM} ${WRKSRC}/install.nostage ${STAGEDIR}${PREFIX}/configure/install .for f in ${CONFIGURESCRIPTS} ${INSTALL_SCRIPT} ${WRKSRC}/${f} ${STAGEDIR}${PREFIX}/configure .endfor .for i in ${BOOTFILES} ${INSTALL_SCRIPT} ${WRKDIR}/${i:T} ${STAGEDIR}${PREFIX}/boot .endfor .if !defined(SLAVE_LDAP) ${INSTALL_SCRIPT} ${WRKDIR}/qmailsmtpd ${STAGEDIR}${PREFIX}/boot .endif .for i in 1 5 7 8 @${MKDIR} ${STAGEDIR}${PREFIX}/man/man$i . for j in ${MMAN${i}} ${INSTALL_MAN} ${WRKSRC}/$j ${STAGEDIR}${PREFIX}/man/man${i} . endfor .endfor .if ${PORT_OPTIONS:MDOCS} @${MKDIR} ${STAGEDIR}${DOCSDIR} . for sub in WRKSRC WRKDIR WRKDIR_doc . for doc in ${DOCFILES_${sub}} ${INSTALL_DATA} ${${sub}}/${doc} ${STAGEDIR}${DOCSDIR} . endfor . endfor . if ${PORT_OPTIONS:MSMTPEXTFORK} && ( defined(SLAVE_SPAMCONTROL) || defined(SLAVE_LDAP) ) ${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/README.smtpextfork ${STAGEDIR}${DOCSDIR} . endif . if defined(PACKAGE_BUILDING) @${ECHO_CMD} "FreeBSD Binary package qmail installation" \ > ${STAGEDIR}${DOCSDIR}/SYSDEPS . else @cd ${WRKSRC} && ${CAT} `${CAT} SYSDEPS` \ > ${STAGEDIR}${DOCSDIR}/SYSDEPS . endif .endif @${MKDIR} ${STAGEDIR}${PREFIX}/scripts ${INSTALL_SCRIPT} ${FILESDIR}/mkaliasdir ${STAGEDIR}${PREFIX}/scripts ${INSTALL_SCRIPT} ${WRKDIR}/enable-qmail ${STAGEDIR}${PREFIX}/scripts .for script in ${SCRIPTS} ${INSTALL_SCRIPT} ${WRKDIR}/scripts/${script} ${STAGEDIR}${PREFIX}/scripts .endfor # @${SETENV} PKG_PREFIX="${PREFIX}" ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL .if defined(SLAVEPORT_LINE) @${ECHO_CMD} "=============================================" @${ECHO_CMD} @${ECHO_CMD} "ATTENTION" @${ECHO_CMD} @${ECHO_CMD} "Add the following line to your /etc/make.conf" @${ECHO_CMD} "QMAIL_SLAVEPORT=${SLAVEPORT_LINE}" @${ECHO_CMD} @${ECHO_CMD} "=============================================" @${ECHO_CMD} .endif post-install: .if defined(SLAVE_LDAP) .for file in qmail-imapd qmail-pop3d qmail-qmqpd qmail-smtpd @${MV} ${STAGEDIR}${PREFIX}/control/${file}.rules \ ${STAGEDIR}${PREFIX}/control/${file}.rules.sample .endfor @${MV} ${STAGEDIR}${PREFIX}/control/signatures \ ${STAGEDIR}${PREFIX}/control/signatures.sample @${FIND} ${WRKDIR} -type f -name run -exec ${SED} -i "" \ -e 's|${STAGEDIR}|${PREFIX}|' {} + .endif @${MKDIR} ${STAGEDIR}${LOCALBASE}/etc/man.d ${INSTALL_DATA} ${WRKDIR}/qmail.conf ${STAGEDIR}${LOCALBASE}/etc/man.d/qmail.conf @${ECHO_CMD} "===> Fixing plist for ${PREFIX} ownership" @{ \ ${ECHO_CMD} "@owner root"; \ ${ECHO_CMD} "@group qmail"; \ ${ECHO_CMD} "@exec install -d -o root -g qmail ${PREFIX}"; \ ${ECHO_CMD} "@unexec rmdir ${QMAIL_PREFIX} 2>/dev/null || :"; \ } >> ${TMPPLIST} # Stop check-orphans finding the queue dir ${RM} -rf ${STAGEDIR}${PREFIX}/queue/ certificate: .if defined(SLAVE_TLS) || defined(SLAVE_LDAP) @if [ -f ${OPENSSLDIR}/openssl.cnf ]; then \ if [ ! -d ${WRKDIR} ]; then \ ${MKDIR} ${WRKDIR} ; \ fi ; \ ${OPENSSLBASE}/bin/openssl req -new -x509 -nodes \ -out ${WRKDIR}/servercert.pem -days 366 \ -keyout ${WRKDIR}/servercert.pem ; \ ${INSTALL} -o qmaild -g qmail -m 0640 ${WRKDIR}/servercert.pem ${PREFIX}/control/servercert.pem ; \ ${OPENSSLBASE}/bin/openssl ciphers > ${QMAIL_PREFIX}/control/tlsclientciphers ; \ ${OPENSSLBASE}/bin/openssl ciphers > ${QMAIL_PREFIX}/control/tlsserverciphers ; \ ${ECHO_MSG} "===> Do not forget to do 'make clean' to clean up temporary files" ; \ else \ ${ECHO_MSG} "===> You must create the file ${OPENSSLDIR}/openssl.cnf first." ; \ fi .endif certificate-req: .if defined(SLAVE_TLS) || defined(SLAVE_LDAP) @if [ -f ${OPENSSLDIR}/openssl.cnf ]; then \ if [ ! -d ${WRKDIR} ]; then \ ${MKDIR} ${WRKDIR} ; \ fi ; \ ${OPENSSLBASE}/bin/openssl req -new -nodes \ -out ${WRKDIR}/req.pem \ -keyout ${WRKDIR}/servercert.pem ; \ ${INSTALL} -o qmaild -g qmail -m 0640 ${WRKDIR}/servercert.pem ${PREFIX}/control/servercert.pem ; \ ${ECHO_MSG} ; \ ${ECHO_MSG} "===> Do not forget to do 'make clean' to clean up temporary files" ; \ ${ECHO_MSG} "===> Send ${WRKDIR}/req.pem to your CA to obtain signed_req.pem, and do:" ; \ ${ECHO_MSG} "===> cat signed_req.pem >> ${PREFIX}/control/servercert.pem" ; \ else \ ${ECHO_MSG} "===> You must create the file ${OPENSSLDIR}/openssl.cnf first." ; \ fi .endif .include