o Pacify a lot of portlint WARN and FATAL messages

o Change ${PERL} to ${SED} or ${REINPLACE_CMD}
o Added patch patch-qmail-1.03-rfc2821.diff to search other MX servers
  when the first return a code > 500 and < 599
o Install mkaliasdir script on ${PREFIX}/scripts directory
o Remove targets to disable-qmail and enable-sendmail and put it on a
  shell script that is installed on /var/qmail/scripts. Change messages
  reflect this.
o Organize better pkg-plist
o Remove thereal-post-patch target and put all on post-post-patch target
o Add [0-9] to CONFLICTS on qmail-ldap port
o Change LIB_DEPENDS to USE_MYSQL=yes on qmail-mysql port
o Change qmail-spamcontrol to don't need more to apply patches mannualy

PR:		ports/79094
Submitted by:	maintainer
This commit is contained in:
Sergey Matveychuk 2005-05-05 20:03:10 +00:00
parent 56ba17e54e
commit f49371e1f6
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=134675
19 changed files with 709 additions and 945 deletions

View File

@ -13,43 +13,50 @@ PKGNAMESUFFIX= -ldap
PATCH_SITES= http://www.nrg4u.com/qmail/:ldap
PATCHFILES= qmail-ldap-1.03-${LDAP_PATCH_DATE}.patch.gz:ldap
PATCH_DIST_STRIP+= -p1
EXTRA_PATCHES+= ${QMAIL_PORT_PATCHDIR}/patch-ab ${QMAIL_PORT_PATCHDIR}/patch-ac
MAINTAINER= freebsd@galle.com.br
COMMENT= A SECURE, reliable, and FAST MTA for UNIX systems WITH LDAP support
CONFLICTS= nss-* emboss-* digest-*
EXTRA_PATCHES+= ${QMAIL_PORT_PATCHDIR}/patch-ab ${QMAIL_PORT_PATCHDIR}/patch-ac
PATCH_DIST_STRIP+= -p1
CONFLICTS= nss-[0-9]* emboss-[0-9]* digest-[0-9]*
USE_OPENLDAP= yes
USE_REINPLACE= yes
PKGNAMESUFFIX:= ${PKGNAMESUFFIX}2
.if !defined(WITHOUT_TLS)
PKGNAMESUFFIX:= ${PKGNAMESUFFIX}-with_tls
PKGNAMESUFFIX:= ${PKGNAMESUFFIX}-with_tls
USE_OPENSSL= yes
.endif # WITHOUT_TLS
# Patches from the main qmail port are not wanted
MAIN_QMAIL_PORT_DNS_PATCH_BARRIER= yes
MAIN_QMAIL_PORT_DNS_PATCH_BARRIER= yes
MAIN_QMAIL_PORT_WITH_BIG_CONCURRENCY_PATCH_BARRIER= yes
MAIN_QMAIL_PORT_WITH_OUTGOINGIP_PATCH_BARRIER= yes
MAIN_QMAIL_PORT_WITH_OUTGOINGIP_PATCH_BARRIER= yes
MAIN_QMAIL_PORT_RFC2821_PATCH_BARRIER= yes
LDAP_PATCH_DATE= 20020901
# Using default from master port, i.e., /var/qmail
PREFIX?= ${QMAIL_PORT_PREFIX}
#PREFIX= /var/qmail-ldap
.if !defined(PRE_MK_INCLUDED)
.if !defined(_PREMKINCLUDED)
.include <bsd.port.pre.mk>
.endif
#QMAIL_PORT= ${PORTSDIR}/mail/qmail
QMAIL_PORT= ${.CURDIR}/../qmail
# Local overrides
MASTERDIR= ${.CURDIR}/../qmail
PATCHDIR= ${.CURDIR}/files
PKGDIR_LOCAL= ${.CURDIR}
DESCR= ${PKGDIR_LOCAL}/pkg-descr
PKGMESSAGE= ${PKGDIR_LOCAL}/pkg-message
PLIST= ${PKGDIR_LOCAL}/pkg-plist
QMAIL_TLS_PORT= ${.CURDIR}/../qmail-tls
QMAIL_PORT_PREFIX!= cd ${QMAIL_PORT} && ${MAKE} -V PREFIX
QMAIL_PORT_PATCHDIR!= cd ${QMAIL_PORT} && ${MAKE} -V PATCHDIR
QMAIL_PORT_PREFIX!= cd ${MASTERDIR} && ${MAKE} -V PREFIX
QMAIL_PORT_PATCHDIR!= cd ${MASTERDIR} && ${MAKE} -V PATCHDIR
DOCFILES+= ${WRKSRC}/QLDAPINSTALL ${WRKSRC}/QLDAPNEWS \
${WRKSRC}/POPBEFORESMTP \
@ -71,32 +78,32 @@ qmail-ldap-pre-fetch:
slaveport-post-patch: qmail-ldap-post-patch
qmail-ldap-post-patch:
@${PERL} -pi -ne "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|LDAPLIBS=-L/usr/local/lib|LDAPLIBS=-L${LOCALBASE}/lib|;s|LDAPINCLUDES=-I/usr/local/include|LDAPINCLUDES=-I${LOCALBASE}/include|" ${WRKSRC}/Makefile
.if !defined(WITHOUT_TLS)
@${PERL} -pi -ne "s|#TLSON=|TLSON=|; \
@${REINPLACE_CMD} "s|#TLSON=|TLSON=|; \
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 # !WITHOUT_TLS
.if !defined(WITHOUT_LDAP_CLUSTER)
@${PERL} -pi -ne "s|#LDAPFLAGS=-DQLDAP_CLUSTER\s+-DEXTERNAL_TODO|LDAPFLAGS\+=-DQLDAP_CLUSTER -DEXTERNAL_TODO#|" ${WRKSRC}/Makefile
@${REINPLACE_CMD} "s|#LDAPFLAGS=-DQLDAP_CLUSTER\s+-DEXTERNAL_TODO|LDAPFLAGS\+=-DQLDAP_CLUSTER -DEXTERNAL_TODO#|" ${WRKSRC}/Makefile
.endif # WITHOUT_LDAP_CLUSTER
.if !defined(WITHOUT_AUTOMAILDIRMAKE)
@${PERL} -pi -ne "s|#MDIRMAKE=-DAUTOMAILDIRMAKE|MDIRMAKE=-DAUTOMAILDIRMAKE|" ${WRKSRC}/Makefile
@${REINPLACE_CMD} "s|#MDIRMAKE=-DAUTOMAILDIRMAKE|MDIRMAKE=-DAUTOMAILDIRMAKE|" ${WRKSRC}/Makefile
.endif # WITHOUT_AUTOMAILDIRMAKE
.if !defined(WITHOUT_AUTOHOMEDIRMAKE)
@${PERL} -pi -ne "s|#HDIRMAKE=-DAUTOHOMEDIRMAKE|HDIRMAKE=-DAUTOHOMEDIRMAKE|" ${WRKSRC}/Makefile
@${REINPLACE_CMD} "s|#HDIRMAKE=-DAUTOHOMEDIRMAKE|HDIRMAKE=-DAUTOHOMEDIRMAKE|" ${WRKSRC}/Makefile
.endif # WITHOUT_AUTOHOMEDIRMAKE
.if defined(WITH_LDAP_DEBUG)
@${PERL} -pi -ne "s|#DEBUG=-DDEBUG|DEBUG=-DDEBUG|" ${WRKSRC}/Makefile
@${REINPLACE_CMD} "s|#DEBUG=-DDEBUG|DEBUG=-DDEBUG|" ${WRKSRC}/Makefile
.endif # WITH_LDAP_DEBUG
.if defined(WITH_CLEARTEXTPASSWD)
@${PERL} -pi -ne "s|^#\s*-DCLEARTEXTPASSWD.*$$|LDAPFLAGS\+=-DCLEARTEXTPASSWD|" \
@${REINPLACE_CMD} "s|^#\s*-DCLEARTEXTPASSWD.*$$|LDAPFLAGS\+=-DCLEARTEXTPASSWD|" \
${WRKSRC}/Makefile
.endif # WITH_CLEARTEXTPASSWD
.if defined(WITH_DASH_EXT)
@${PERL} -pi -ne "s|^# -DDASH_EXT.*$$|LDAPFLAGS\+=-DDASH_EXT|" \
@${REINPLACE_CMD} "s|^# -DDASH_EXT.*$$|LDAPFLAGS\+=-DDASH_EXT|" \
${WRKSRC}/Makefile
.endif # WITH_DASH_EXT
@ -106,14 +113,4 @@ certificate:
certificate-req:
@cd ${QMAIL_TLS_PORT} && ${MAKE} $@ clean
# Local overrides
MASTERDIR= ${QMAIL_PORT}
PATCHDIR= ${.CURDIR}/files
PKGDIR_LOCAL= ${.CURDIR}
DESCR= ${PKGDIR_LOCAL}/pkg-descr
PKGMESSAGE= ${PKGDIR_LOCAL}/pkg-message
PLIST= ${PKGDIR_LOCAL}/pkg-plist
PRE_MK_INCLUDED= yes
.include "${MASTERDIR}/Makefile"

View File

@ -11,13 +11,8 @@ Do not forget to read /var/qmail/doc/QLDAPINSTALL. After all,
this is NOT our old stock qmail. And, /var/qmail/doc/ANTISPAM
for some antispam control measures.
You can enable qmail as your default mailer:
# this will disable the default MTA
1) do "make disable-sendmail"
# enable qmail as your default MTA
2) do "make enable-qmail"
You can enable qmail as your default mailer executing:
> /var/qmail/scripts/enable-qmail
=====><=====

View File

@ -1,6 +1,83 @@
bin/auth_imap
bin/auth_pop
bin/bouncesaying
bin/condredirect
bin/datemail
bin/digest
bin/elq
bin/except
bin/forward
bin/maildir2mbox
bin/maildirmake
bin/maildirwatch
bin/mailsubj
bin/pbsadd
bin/pbscheck
bin/pbsdbd
bin/pinq
bin/predate
bin/preline
bin/qail
bin/qbiff
bin/qmail-clean
bin/qmail-getpw
bin/qmail-inject
bin/qmail-ldaplookup
bin/qmail-local
bin/qmail-lspawn
bin/qmail-newmrh
bin/qmail-newu
bin/qmail-pop3d
bin/qmail-popup
bin/qmail-pw2u
bin/qmail-qmqpc
bin/qmail-qmqpd
bin/qmail-qmtpd
bin/qmail-qread
bin/qmail-qstat
bin/qmail-queue
bin/qmail-quotawarn
bin/qmail-remote
bin/qmail-reply
bin/qmail-rspawn
bin/qmail-send
bin/qmail-showctl
bin/qmail-smtpd
bin/qmail-start
bin/qmail-tcpok
bin/qmail-tcpto
bin/qreceipt
bin/qsmhook
bin/sendmail
bin/splogger
bin/tcp-env
boot/binm1
boot/binm1+df
boot/binm2
boot/binm2+df
boot/binm3
boot/binm3+df
boot/home
boot/home+df
boot/maildir
boot/proc
boot/proc+df
@comment This port installs the following manually (ie. not through qmail-hier)
configure/config
configure/config-fast
configure/dnsfq
configure/dnsip
configure/dnsptr
configure/hostname
configure/install
configure/ipmeprint
scripts/enable-qmail
scripts/mkaliasdir
%%PORTDOCS%%%%DOCDIR%%/BLURB
%%PORTDOCS%%%%DOCDIR%%/BLURB2
%%PORTDOCS%%%%DOCDIR%%/BLURB3
%%PORTDOCS%%%%DOCDIR%%/BLURB4
%%PORTDOCS%%%%DOCDIR%%/FAQ
%%PORTDOCS%%%%DOCDIR%%/UPGRADE
%%PORTDOCS%%%%DOCDIR%%/SENDMAIL
%%PORTDOCS%%%%DOCDIR%%/INSTALL
%%PORTDOCS%%%%DOCDIR%%/INSTALL.alias
%%PORTDOCS%%%%DOCDIR%%/INSTALL.ctl
@ -8,10 +85,7 @@
%%PORTDOCS%%%%DOCDIR%%/INSTALL.maildir
%%PORTDOCS%%%%DOCDIR%%/INSTALL.mbox
%%PORTDOCS%%%%DOCDIR%%/INSTALL.vsm
%%PORTDOCS%%%%DOCDIR%%/TEST.deliver
%%PORTDOCS%%%%DOCDIR%%/TEST.receive
%%PORTDOCS%%%%DOCDIR%%/REMOVE.sendmail
%%PORTDOCS%%%%DOCDIR%%/REMOVE.binmail
%%PORTDOCS%%%%DOCDIR%%/INTERNALS
%%PORTDOCS%%%%DOCDIR%%/PIC.local2alias
%%PORTDOCS%%%%DOCDIR%%/PIC.local2ext
%%PORTDOCS%%%%DOCDIR%%/PIC.local2local
@ -22,163 +96,27 @@
%%PORTDOCS%%%%DOCDIR%%/PIC.relaygood
%%PORTDOCS%%%%DOCDIR%%/PIC.rem2local
%%PORTDOCS%%%%DOCDIR%%/POPBEFORESMTP
%%PORTDOCS%%%%DOCDIR%%/PORT_NOTES
%%PORTDOCS%%%%DOCDIR%%/PORT_NOTES_FreeBSD_40-RELEASE
%%PORTDOCS%%%%DOCDIR%%/QLDAPINSTALL
%%PORTDOCS%%%%DOCDIR%%/QLDAPNEWS
%%PORTDOCS%%%%DOCDIR%%/QLDAPTODO
%%PORTDOCS%%%%DOCDIR%%/QLDAPPICTURE
boot/home
boot/home+df
boot/proc
boot/proc+df
boot/binm1
boot/binm1+df
boot/binm2
boot/binm2+df
boot/binm3
boot/binm3+df
@group qmail
@mode 04711
@comment *** NOTE different owner
@owner qmailq
bin/qmail-queue
@owner
@mode 0700
bin/qmail-lspawn
@mode 0700
bin/qmail-start
@mode 0711
bin/qmail-getpw
@mode 0711
bin/qmail-local
@mode 0711
bin/qmail-remote
@mode 0711
bin/qmail-rspawn
@mode 0711
bin/qmail-clean
@mode 0711
bin/qmail-send
@mode 0711
bin/splogger
@mode 0700
bin/qmail-newu
@mode 0700
bin/qmail-newmrh
@mode 0711
bin/qmail-pw2u
@mode 0755
bin/qmail-inject
@mode 0755
bin/predate
@mode 0755
bin/datemail
@mode 0755
bin/digest
@mode 0755
bin/mailsubj
@mode 0755
bin/pbsadd
@mode 0755
bin/pbscheck
@mode 0755
bin/pbsdbd
@mode 0755
bin/qmail-showctl
@mode 0755
bin/qmail-qread
@mode 0755
bin/qmail-qstat
@mode 0755
bin/qmail-tcpto
@mode 0755
bin/qmail-tcpok
@mode 0755
bin/qmail-pop3d
@mode 0711
bin/qmail-popup
@mode 0755
bin/qmail-qmqpc
@mode 0755
bin/qmail-qmqpd
@mode 0755
bin/qmail-qmtpd
@mode 0755
bin/qmail-smtpd
@mode 0755
bin/qmail-todo
@mode 0755
bin/sendmail
@mode 0755
bin/tcp-env
@mode 0755
bin/qreceipt
@mode 0755
bin/qsmhook
@mode 0755
bin/qbiff
@mode 0755
bin/forward
@mode 0755
bin/preline
@mode 0755
bin/condredirect
@mode 0755
bin/bouncesaying
@mode 0755
bin/except
@mode 0755
bin/maildirmake
@mode 0755
bin/maildir2mbox
@mode 0755
bin/maildirwatch
@mode 0755
bin/qail
@mode 0755
bin/elq
@mode 0755
bin/pinq
@mode 0755
bin/qmail-reply
@mode 0755
bin/qmail-quotawarn
@mode 0700
bin/auth_pop
@mode 0700
bin/auth_imap
@mode 0700
bin/qmail-ldaplookup
@group
@owner
@mode
@comment This port installs the following manually (ie. not through qmail-hier)
configure/install
configure/config
configure/config-fast
configure/dnsfq
configure/hostname
configure/dnsip
configure/ipmeprint
configure/dnsptr
%%PORTDOCS%%%%DOCDIR%%/BLURB
%%PORTDOCS%%%%DOCDIR%%/BLURB2
%%PORTDOCS%%%%DOCDIR%%/BLURB3
%%PORTDOCS%%%%DOCDIR%%/BLURB4
%%PORTDOCS%%%%DOCDIR%%/INTERNALS
%%PORTDOCS%%%%DOCDIR%%/REMOVE.sendmail
%%PORTDOCS%%%%DOCDIR%%/REMOVE.binmail
%%PORTDOCS%%%%DOCDIR%%/SECURITY
%%PORTDOCS%%%%DOCDIR%%/THOUGHTS
%%PORTDOCS%%%%DOCDIR%%/PORT_NOTES
%%PORTDOCS%%%%DOCDIR%%/PORT_NOTES_FreeBSD_40-RELEASE
%%PORTDOCS%%%%DOCDIR%%/SENDMAIL
%%PORTDOCS%%%%DOCDIR%%/SYSDEPS
%%PORTDOCS%%%%DOCDIR%%/TEST.deliver
%%PORTDOCS%%%%DOCDIR%%/TEST.receive
%%PORTDOCS%%%%DOCDIR%%/THOUGHTS
%%PORTDOCS%%%%DOCDIR%%/UPGRADE
%%PORTDOCS%%%%DOCDIR%%/mailer.conf.sample
%%PORTDOCS%%%%DOCDIR%%/mkaliasdir
boot/maildir
%%PORTDOCS%%@dirrm %%DOCDIR%%
@dirrm scripts
@dirrm configure
@dirrm boot
@dirrm bin
@unexec echo "If you are permanently removing qmail, you should also ``rm -Rf ${PKG_PREFIX}/alias ${PKG_PREFIX}/control ${PKG_PREFIX}/queue ${PKG_PREFIX}/users'' and remove the qmail users/groups." | /usr/bin/fmt
@unexec echo "1) If you are permanently removing qmail, you should also ``rm -Rf ${PKG_PREFIX}/alias ${PKG_PREFIX}/control ${PKG_PREFIX}/queue ${PKG_PREFIX}/users'' and remove the qmail users/groups." | /usr/bin/fmt
@unexec echo "2) Do not forget to reconfigure your /etc/mail/mailer.conf to use your older MTA, or reconfigure your old MTA binaries if you decided to replace them." | /usr/bin/fmt
@unexec echo "3) Do not forget to enable sendmail as your default MTA if you have to. You can do it just executing 'echo sendmail_enable=\"YES\" >> /etc/rc.conf" | /usr/bin/fmt

View File

@ -17,7 +17,8 @@ PATCHFILES+= qmail-mysql-${MYSQL_PATCH_VERSION}.patch:mysql
MAINTAINER= freebsd@galle.com.br
COMMENT= A SECURE, reliable, and FAST MTA for UNIX systems WITH MySQL support
LIB_DEPENDS+= mysqlclient.10:${PORTSDIR}/databases/mysql323-client
USE_MYSQL= yes
USE_REINPLACE= yes
# patches from the master port that brake this one are now allowed
MAIN_QMAIL_PORT_WITH_QMAILQUEUE_PATCH_BARRIER= yes
@ -26,30 +27,25 @@ MYSQL_PATCH_VERSION= 1.1.8
# Using default from master port, i.e., /var/qmail
PREFIX?= ${QMAIL_PORT_PREFIX}
#PREFIX= /var/qmail-mysql
.if !defined(PRE_MK_INCLUDED)
.if !defined(_PREMKINCLUDED)
.include <bsd.port.pre.mk>
.endif
#QMAIL_PORT= ${PORTSDIR}/mail/qmail
QMAIL_PORT= ${.CURDIR}/../qmail
QMAIL_PORT_PREFIX!= cd ${QMAIL_PORT} && ${MAKE} -V PREFIX
# Local overrides
MASTERDIR= ${.CURDIR}/../qmail
PKGDIR_LOCAL= ${.CURDIR}
DESCR= ${PKGDIR_LOCAL}/pkg-descr
PKGMESSAGE= ${PKGDIR_LOCAL}/pkg-message
QMAIL_PORT_PREFIX!= cd ${MASTERDIR} && ${MAKE} -V PREFIX
# Yet anther ugly hack (works due to code inside the main qmail port)
slaveport-post-patch: qmail-mysql-post-patch
qmail-mysql-post-patch:
@${PERL} -pi -ne \
@${REINPLACE_CMD} \
's|/opt/mysql|${LOCALBASE}|' \
${WRKSRC}/Makefile
# Local overrides
MASTERDIR= ${QMAIL_PORT}
PKGDIR_LOCAL= ${.CURDIR}
DESCR= ${PKGDIR_LOCAL}/pkg-descr
PKGMESSAGE= ${PKGDIR_LOCAL}/pkg-message
PRE_MK_INCLUDED= yes
.include "${MASTERDIR}/Makefile"

View File

@ -10,10 +10,5 @@ or login.conf(5)).
Do not forget to read http://iain.cx/unix/qmail/mysql.php. After all,
this is NOT our old stock qmail.
You can enable qmail as your default mailer:
# this will disable the default MTA
1) do "make disable-sendmail"
# enable qmail as your default MTA
2) do "make enable-qmail"
You can enable qmail as your default mailer executing:
> /var/qmail/scripts/enable-qmail

View File

@ -20,17 +20,18 @@ COMMENT= A SECURE, reliable, and FAST MTA for UNIX systems WITH SMTP_AUTH+TLS
ONLY_FOR_ARCHS= i386
USE_OPENSSL= YES
USE_REINPLACE= yes
# Patches from the main qmail port are not wanted
MAIN_QMAIL_PORT_WITH_OUTGOINGIP_PATCH_BARRIER= yes
MAIN_QMAIL_PORT_RFC2821_PATCH_BARRIER= yes
SMTP_AUTH-TLS_PATCH_DATE= 20020519
# Using default from master port, i.e., /var/qmail
PREFIX?= ${QMAIL_PORT_PREFIX}
#PREFIX= /var/qmail-smtp_auth+tls
.if !defined(PRE_MK_INCLUDED)
.if !defined(_PREMKINCLUDED)
.include <bsd.port.pre.mk>
.endif
@ -40,9 +41,14 @@ CFLAGS+= -I${OPENSSLBASE}/include -L${OPENSSLBASE}/lib -DTLS
CFLAGS+= -DDEBUG
.endif # WITH_TLS_DEBUG
#QMAIL_PORT= ${PORTSDIR}/mail/qmail
QMAIL_PORT= ${.CURDIR}/../qmail
QMAIL_PORT_PREFIX!= cd ${QMAIL_PORT} && ${MAKE} -V PREFIX
# Local overrides
MASTERDIR= ${.CURDIR}/../qmail
PKGDIR_LOCAL= ${.CURDIR}
DESCR= ${PKGDIR_LOCAL}/pkg-descr
PKGMESSAGE= ${PKGDIR_LOCAL}/pkg-message
PLIST= ${PKGDIR_LOCAL}/pkg-plist
QMAIL_PORT_PREFIX!= cd ${MASTERDIR} && ${MAKE} -V PREFIX
DOCFILES+= ${WRKDIR}/SMTP_AUTH+TLS.readme \
${WRKSRC}/README.auth
@ -58,7 +64,7 @@ qmail-smtp_auth+tls-post-patch:
@${HEAD} -6 ${DISTDIR}/qmail-1.03-starttls-smtp-auth.patch \
| ${TAIL} -5 \
> ${WRKDIR}/SMTP_AUTH+TLS.readme
@${PERL} -pi -ne "s|/usr/local/ssl|${OPENSSLBASE}|" ${WRKSRC}/Makefile
@${REINPLACE_CMD} "s|/usr/local/ssl|${OPENSSLBASE}|" ${WRKSRC}/Makefile
# Primary Ugh... ;-)
# idea stolen from www/apache13-ssl, a target written by adam@algroup.co.uk
@ -99,11 +105,4 @@ certificate-req:
${ECHO_MSG} "===> You must create the file ${OPENSSLDIR}/openssl.cnf first." ; \
fi
# Local overrides
MASTERDIR= ${QMAIL_PORT}
PKGDIR_LOCAL= ${.CURDIR}
DESCR= ${PKGDIR_LOCAL}/pkg-descr
PKGMESSAGE= ${PKGDIR_LOCAL}/pkg-message
PLIST= ${PKGDIR_LOCAL}/pkg-plist
.include "${MASTERDIR}/Makefile"

View File

@ -1,6 +1,74 @@
bin/bouncesaying
bin/condredirect
bin/datemail
bin/elq
bin/except
bin/forward
bin/maildir2mbox
bin/maildirmake
bin/maildirwatch
bin/mailsubj
bin/pinq
bin/predate
bin/preline
bin/qail
bin/qbiff
bin/qmail-clean
bin/qmail-getpw
bin/qmail-inject
bin/qmail-local
bin/qmail-lspawn
bin/qmail-newmrh
bin/qmail-newu
bin/qmail-pop3d
bin/qmail-popup
bin/qmail-pw2u
bin/qmail-qmqpc
bin/qmail-qmqpd
bin/qmail-qmtpd
bin/qmail-qread
bin/qmail-qstat
bin/qmail-queue
bin/qmail-remote
bin/qmail-rspawn
bin/qmail-send
bin/qmail-showctl
bin/qmail-smtpd
bin/qmail-start
bin/qmail-tcpok
bin/qmail-tcpto
bin/qreceipt
bin/qsmhook
bin/sendmail
bin/splogger
bin/tcp-env
boot/binm1
boot/binm1+df
boot/binm2
boot/binm2+df
boot/binm3
boot/binm3+df
boot/home
boot/home+df
boot/maildir
boot/proc
boot/proc+df
@comment This port installs the following manually (ie. not through qmail-hier)
configure/config
configure/config-fast
configure/dnsfq
configure/dnsip
configure/dnsptr
configure/hostname
configure/install
configure/ipmeprint
scripts/enable-qmail
scripts/mkaliasdir
%%PORTDOCS%%%%DOCDIR%%/BLURB
%%PORTDOCS%%%%DOCDIR%%/BLURB2
%%PORTDOCS%%%%DOCDIR%%/BLURB3
%%PORTDOCS%%%%DOCDIR%%/BLURB4
%%PORTDOCS%%%%DOCDIR%%/FAQ
%%PORTDOCS%%%%DOCDIR%%/UPGRADE
%%PORTDOCS%%%%DOCDIR%%/SENDMAIL
%%PORTDOCS%%%%DOCDIR%%/INSTALL
%%PORTDOCS%%%%DOCDIR%%/INSTALL.alias
%%PORTDOCS%%%%DOCDIR%%/INSTALL.ctl
@ -8,10 +76,7 @@
%%PORTDOCS%%%%DOCDIR%%/INSTALL.maildir
%%PORTDOCS%%%%DOCDIR%%/INSTALL.mbox
%%PORTDOCS%%%%DOCDIR%%/INSTALL.vsm
%%PORTDOCS%%%%DOCDIR%%/TEST.deliver
%%PORTDOCS%%%%DOCDIR%%/TEST.receive
%%PORTDOCS%%%%DOCDIR%%/REMOVE.sendmail
%%PORTDOCS%%%%DOCDIR%%/REMOVE.binmail
%%PORTDOCS%%%%DOCDIR%%/INTERNALS
%%PORTDOCS%%%%DOCDIR%%/PIC.local2alias
%%PORTDOCS%%%%DOCDIR%%/PIC.local2ext
%%PORTDOCS%%%%DOCDIR%%/PIC.local2local
@ -21,143 +86,25 @@
%%PORTDOCS%%%%DOCDIR%%/PIC.relaybad
%%PORTDOCS%%%%DOCDIR%%/PIC.relaygood
%%PORTDOCS%%%%DOCDIR%%/PIC.rem2local
%%PORTDOCS%%%%DOCDIR%%/README.auth
%%PORTDOCS%%%%DOCDIR%%/SMTP_AUTH+TLS.readme
boot/home
boot/home+df
boot/proc
boot/proc+df
boot/binm1
boot/binm1+df
boot/binm2
boot/binm2+df
boot/binm3
boot/binm3+df
@group qmail
@mode 04711
@comment *** NOTE different owner
@owner qmailq
bin/qmail-queue
@owner
@mode 0700
bin/qmail-lspawn
@mode 0700
bin/qmail-start
@mode 0711
bin/qmail-getpw
@mode 0711
bin/qmail-local
@mode 0711
bin/qmail-remote
@mode 0711
bin/qmail-rspawn
@mode 0711
bin/qmail-clean
@mode 0711
bin/qmail-send
@mode 0711
bin/splogger
@mode 0700
bin/qmail-newu
@mode 0700
bin/qmail-newmrh
@mode 0711
bin/qmail-pw2u
@mode 0755
bin/qmail-inject
@mode 0755
bin/predate
@mode 0755
bin/datemail
@mode 0755
bin/mailsubj
@mode 0755
bin/qmail-showctl
@mode 0755
bin/qmail-qread
@mode 0755
bin/qmail-qstat
@mode 0755
bin/qmail-tcpto
@mode 0755
bin/qmail-tcpok
@mode 0755
bin/qmail-pop3d
@mode 0711
bin/qmail-popup
@mode 0755
bin/qmail-qmqpc
@mode 0755
bin/qmail-qmqpd
@mode 0755
bin/qmail-qmtpd
@mode 0755
bin/qmail-smtpd
@mode 0755
bin/sendmail
@mode 0755
bin/tcp-env
@mode 0755
bin/qreceipt
@mode 0755
bin/qsmhook
@mode 0755
bin/qbiff
@mode 0755
bin/forward
@mode 0755
bin/preline
@mode 0755
bin/condredirect
@mode 0755
bin/bouncesaying
@mode 0755
bin/except
@mode 0755
bin/maildirmake
@mode 0755
bin/maildir2mbox
@mode 0755
bin/maildirwatch
@mode 0755
bin/qail
@mode 0755
bin/elq
@mode 0755
bin/pinq
@group
@owner
@mode
@comment This port installs the following manually (ie. not through qmail-hier)
configure/install
configure/config
configure/config-fast
configure/dnsfq
configure/hostname
configure/dnsip
configure/ipmeprint
configure/dnsptr
%%PORTDOCS%%%%DOCDIR%%/BLURB
%%PORTDOCS%%%%DOCDIR%%/BLURB2
%%PORTDOCS%%%%DOCDIR%%/BLURB3
%%PORTDOCS%%%%DOCDIR%%/BLURB4
%%PORTDOCS%%%%DOCDIR%%/INTERNALS
%%PORTDOCS%%%%DOCDIR%%/SECURITY
%%PORTDOCS%%%%DOCDIR%%/THOUGHTS
%%PORTDOCS%%%%DOCDIR%%/PORT_NOTES
%%PORTDOCS%%%%DOCDIR%%/PORT_NOTES_FreeBSD_40-RELEASE
%%PORTDOCS%%%%DOCDIR%%/README.auth
%%PORTDOCS%%%%DOCDIR%%/REMOVE.sendmail
%%PORTDOCS%%%%DOCDIR%%/REMOVE.binmail
%%PORTDOCS%%%%DOCDIR%%/SECURITY
%%PORTDOCS%%%%DOCDIR%%/SENDMAIL
%%PORTDOCS%%%%DOCDIR%%/SMTP_AUTH+TLS.readme
%%PORTDOCS%%%%DOCDIR%%/SYSDEPS
%%PORTDOCS%%%%DOCDIR%%/TEST.deliver
%%PORTDOCS%%%%DOCDIR%%/TEST.receive
%%PORTDOCS%%%%DOCDIR%%/THOUGHTS
%%PORTDOCS%%%%DOCDIR%%/UPGRADE
%%PORTDOCS%%%%DOCDIR%%/mailer.conf.sample
%%PORTDOCS%%%%DOCDIR%%/mkaliasdir
boot/maildir
%%PORTDOCS%%@dirrm %%DOCDIR%%
@dirrm scripts
@dirrm configure
@dirrm boot
@dirrm bin
@unexec echo "1) If you are permanently removing qmail, you should also ``rm -Rf ${PKG_PREFIX}/alias ${PKG_PREFIX}/control ${PKG_PREFIX}/queue ${PKG_PREFIX}/users'' and remove the qmail users/groups." | /usr/bin/fmt
@unexec echo "2) Do not forget to reconfigure your /etc/mail/mailer.conf to use your older MTA, or reconfigure your old MTA binaries if you decided to replace them." | /usr/bin/fmt
@unexec echo "3) Do not forget to enable sendmail as your default MTA if you have to. Go to mail/qmail portsdir and do a 'make enable-sendmail'" | /usr/bin/fmt
@unexec echo "3) Do not forget to enable sendmail as your default MTA if you have to. You can do it just executing 'echo sendmail_enable=\"YES\" >> /etc/rc.conf" | /usr/bin/fmt

View File

@ -16,6 +16,9 @@ EXTRACT_ONLY= ${QMAIL_DIST}
MAINTAINER= freebsd@galle.com.br
COMMENT= Qmail MTA with SpamControl patches
EXTRA_PATCHES+= ${QMAIL_PORT_PATCHDIR}/patch-aa ${QMAIL_PORT_PATCHDIR}/patch-ab \
${QMAIL_PORT_PATCHDIR}/patch-ac
# Distfiles
QMAIL_DIST= ${PORTNAME}-${QMAIL_VERSION}${EXTRACT_SUFX}
SPAMCONTROL_DIST= spamcontrol-${SPAMCONTROL_VERSION}_tgz.bin
@ -33,14 +36,15 @@ OPTIONS= RELAYMAILFROM "Open relay based on mailfrom" off \
MOREIPME "Additional control files moreipme & notipme" off \
BIGTODO "Bruce Guenter's BigToDo patch" off
.if !defined(PRE_MK_INCLUDED)
.if !defined(_PREMKINCLUDED)
.include <bsd.port.pre.mk>
.endif
MASTERDIR= ${.CURDIR}/../qmail
PATCHDIR= ${.CURDIR}/files
# Using default from master port, i.e., /var/qmail
QMAIL_PORT= ${PORTSDIR}/mail/qmail
QMAIL_PORT_PREFIX!= cd ${QMAIL_PORT} && ${MAKE} -V PREFIX
MASTERDIR= ${QMAIL_PORT}
QMAIL_PORT_PREFIX!= cd ${MASTERDIR} && ${MAKE} -V PREFIX
QMAIL_PORT_PATCHDIR!= cd ${MASTERDIR} && ${MAKE} -V PATCHDIR
# Block some patches because SpamControl contain the same patches inside
MAIN_QMAIL_PORT_DNS_PATCH_BARRIER= yes
@ -49,6 +53,7 @@ MAIN_QMAIL_PORT_WITH_BIG_CONCURRENCY_PATCH_BARRIER= yes
MAIN_QMAIL_PORT_WITH_BIG_TODO_PATCH_BARRIER= yes
MAIN_QMAIL_PORT_WITH_OUTGOINGIP_PATCH_BARRIER= yes
MAIN_QMAIL_PORT_WITH_QMAILQUEUE_PATCH_BARRIER= yes
MAIN_QMAIL_PORT_RFC2821_PATCH_BARRIER= yes
ALL_TARGET+= ${EXTRA_MAN8}
@ -75,7 +80,7 @@ DOCFILES+= ${WRKDIR}/doc/FILES.spamcontrol ${WRKDIR}/doc/HISTORY.spamcontrol \
${WRKDIR}/doc/badmailfrom ${WRKDIR}/doc/badmimetypes \
${WRKDIR}/doc/badrcptto ${WRKDIR}/doc/conf-spamcontrol \
${WRKDIR}/doc/install_spamcontrol.sh ${WRKDIR}/doc/tarpitcount
SCRIPTS= qmail-alias2recipients qmail-pwd2recipients \
SCRIPTS+= qmail-alias2recipients qmail-pwd2recipients \
qmail-users2recipients qmail-vpopmail2recipients
# Fill SELECTED_OPTIONS with options to write conf-spamcontrol
@ -136,10 +141,6 @@ SELECTED_OPTIONS+= bigtodo=no
post-extract:
@cd ${WRKSRC} && ${TAR} -xzf ${DISTDIR}/${SPAMCONTROL_DIST}
slaveport-post-patch:
@cd ${WRKSRC} && \
${PATCH} -s < ${.CURDIR}/files/patch-qmail-smtpd.c.patch
pre-configure:
@${ECHO_CMD} ${WRKDIR} > ${WRKSRC}/conf-qmail
@${ECHO_CMD} "# Generated by qmail-spamcontrol FreeBSD port" \
@ -149,10 +150,4 @@ pre-configure:
.endfor
@cd ${WRKSRC} && ./install_spamcontrol.sh
post-install:
@${MKDIR} ${PREFIX}/scripts
.for script in ${SCRIPTS}
@${INSTALL_SCRIPT} ${WRKDIR}/scripts/${script} ${PREFIX}/scripts
.endfor
.include "${MASTERDIR}/Makefile"

View File

@ -1,5 +1,5 @@
--- orig/qmail-smtpd.c.patch Sun Apr 3 15:51:55 2005
+++ ./galle/qmail-smtpd.c.patch Mon Apr 4 08:06:31 2005
+++ qmail-smtpd.c.patch Mon Apr 4 08:06:31 2005
@@ -1,8 +1,6 @@
---- qmail-smtpd.c.orig 1998-06-15
-+++ qmail-smtpd.c 2005-04-03

View File

@ -1,27 +1,3 @@
@group qmail
@mode 04711
@comment *** NOTE different owner
@owner qmailq
bin/qmail-queue
@owner
@mode 0700
bin/qmail-badloadertypes
bin/qmail-badmimetypes
bin/qmail-lspawn
bin/qmail-newmrh
bin/qmail-newu
bin/qmail-recipients
bin/qmail-start
@mode 0711
bin/qmail-clean
bin/qmail-getpw
bin/qmail-local
bin/qmail-pw2u
bin/qmail-remote
bin/qmail-rspawn
bin/qmail-send
bin/splogger
@mode 0755
bin/bouncesaying
bin/condredirect
bin/datemail
@ -37,25 +13,38 @@ bin/predate
bin/preline
bin/qail
bin/qbiff
bin/qmail-badloadertypes
bin/qmail-badmimetypes
bin/qmail-clean
bin/qmail-getpw
bin/qmail-inject
bin/qmail-local
bin/qmail-lspawn
bin/qmail-newmrh
bin/qmail-newu
bin/qmail-pop3d
bin/qmail-popup
bin/qmail-pw2u
bin/qmail-qmqpc
bin/qmail-qmqpd
bin/qmail-qmtpd
bin/qmail-qread
bin/qmail-qstat
bin/qmail-queue
bin/qmail-recipients
bin/qmail-remote
bin/qmail-rspawn
bin/qmail-send
bin/qmail-showctl
bin/qmail-smtpd
bin/qmail-start
bin/qmail-tcpok
bin/qmail-tcpto
bin/qreceipt
bin/qsmhook
bin/sendmail
bin/splogger
bin/tcp-env
@group
@owner
@mode
boot/binm1
boot/binm1+df
boot/binm2
@ -76,6 +65,8 @@ configure/dnsptr
configure/hostname
configure/install
configure/ipmeprint
scripts/enable-qmail
scripts/mkaliasdir
scripts/qmail-alias2recipients
scripts/qmail-pwd2recipients
scripts/qmail-users2recipients
@ -142,7 +133,6 @@ scripts/qmail-vpopmail2recipients
%%PORTDOCS%%%%DOCDIR%%/conf-spamcontrol
%%PORTDOCS%%%%DOCDIR%%/install_spamcontrol.sh
%%PORTDOCS%%%%DOCDIR%%/mailer.conf.sample
%%PORTDOCS%%%%DOCDIR%%/mkaliasdir
%%PORTDOCS%%%%DOCDIR%%/tarpitcount
%%PORTDOCS%%@dirrm %%DOCDIR%%
@dirrm scripts
@ -151,4 +141,4 @@ scripts/qmail-vpopmail2recipients
@dirrm bin
@unexec echo "1) If you are permanently removing qmail, you should also ``rm -Rf ${PKG_PREFIX}/alias ${PKG_PREFIX}/control ${PKG_PREFIX}/queue ${PKG_PREFIX}/users'' and remove the qmail users/groups." | /usr/bin/fmt
@unexec echo "2) Do not forget to reconfigure your /etc/mail/mailer.conf to use your older MTA, or reconfigure your old MTA binaries if you decided to replace them." | /usr/bin/fmt
@unexec echo "3) Do not forget to enable sendmail as your default MTA if you have to. Go to mail/qmail portsdir and do a 'make enable-sendmail'" | /usr/bin/fmt
@unexec echo "3) Do not forget to enable sendmail as your default MTA if you have to. You can do it just executing 'echo sendmail_enable=\"YES\" >> /etc/rc.conf" | /usr/bin/fmt

View File

@ -18,17 +18,18 @@ MAINTAINER= freebsd@galle.com.br
COMMENT= A SECURE, reliable, and FAST MTA for UNIX systems WITH TLS support
USE_OPENSSL= YES
USE_REINPLACE= yes
# Patches from the main qmail port are not wanted
MAIN_QMAIL_PORT_WITH_OUTGOINGIP_PATCH_BARRIER= yes
MAIN_QMAIL_PORT_RFC2821_PATCH_BARRIER= yes
TLS_PATCH_DATE= 20020825
# Using default from master port, i.e., /var/qmail
PREFIX?= ${QMAIL_PORT_PREFIX}
#PREFIX= /var/qmail-tls
.if !defined(PRE_MK_INCLUDED)
.if !defined(_PREMKINCLUDED)
.include <bsd.port.pre.mk>
.endif
@ -38,9 +39,14 @@ CFLAGS+= -I${OPENSSLBASE}/include -L${OPENSSLBASE}/lib -DTLS
CFLAGS+= -DDEBUG
.endif # WITH_TLS_DEBUG
#QMAIL_PORT= ${PORTSDIR}/mail/qmail
QMAIL_PORT= ${.CURDIR}/../qmail
QMAIL_PORT_PREFIX!= cd ${QMAIL_PORT} && ${MAKE} -V PREFIX
# Local overrides
MASTERDIR= ${.CURDIR}/../qmail
PKGDIR_LOCAL= ${.CURDIR}
DESCR= ${PKGDIR_LOCAL}/pkg-descr
PKGMESSAGE= ${PKGDIR_LOCAL}/pkg-message
PLIST= ${PKGDIR_LOCAL}/pkg-plist
QMAIL_PORT_PREFIX!= cd ${MASTERDIR} && ${MAKE} -V PREFIX
DOCFILES+= ${WRKDIR}/TLS.readme
@ -53,7 +59,7 @@ slaveport-post-patch: qmail-tls-post-patch
qmail-tls-post-patch:
@${HEAD} -74 ${DISTDIR}/tls.patch > ${WRKDIR}/TLS.readme
@${PERL} -pi -ne "s|/usr/local/ssl|${OPENSSLBASE}|" ${WRKSRC}/Makefile
@${REINPLACE_CMD} "s|/usr/local/ssl|${OPENSSLBASE}|" ${WRKSRC}/Makefile
# Primary Ugh... ;-)
# idea stolen from www/apache13-ssl, a target written by adam@algroup.co.uk
@ -94,11 +100,4 @@ certificate-req:
${ECHO_MSG} "===> You must create the file ${OPENSSLDIR}/openssl.cnf first." ; \
fi
# Local overrides
MASTERDIR= ${QMAIL_PORT}
PKGDIR_LOCAL= ${.CURDIR}
DESCR= ${PKGDIR_LOCAL}/pkg-descr
PKGMESSAGE= ${PKGDIR_LOCAL}/pkg-message
PLIST= ${PKGDIR_LOCAL}/pkg-plist
.include "${MASTERDIR}/Makefile"

View File

@ -1,6 +1,74 @@
bin/bouncesaying
bin/condredirect
bin/datemail
bin/elq
bin/except
bin/forward
bin/maildir2mbox
bin/maildirmake
bin/maildirwatch
bin/mailsubj
bin/pinq
bin/predate
bin/preline
bin/qail
bin/qbiff
bin/qmail-clean
bin/qmail-getpw
bin/qmail-inject
bin/qmail-local
bin/qmail-lspawn
bin/qmail-newmrh
bin/qmail-newu
bin/qmail-pop3d
bin/qmail-popup
bin/qmail-pw2u
bin/qmail-qmqpc
bin/qmail-qmqpd
bin/qmail-qmtpd
bin/qmail-qread
bin/qmail-qstat
bin/qmail-queue
bin/qmail-remote
bin/qmail-rspawn
bin/qmail-send
bin/qmail-showctl
bin/qmail-smtpd
bin/qmail-start
bin/qmail-tcpok
bin/qmail-tcpto
bin/qreceipt
bin/qsmhook
bin/sendmail
bin/splogger
bin/tcp-env
boot/binm1
boot/binm1+df
boot/binm2
boot/binm2+df
boot/binm3
boot/binm3+df
boot/home
boot/home+df
boot/maildir
boot/proc
boot/proc+df
@comment This port installs the following manually (ie. not through qmail-hier)
configure/config
configure/config-fast
configure/dnsfq
configure/dnsip
configure/dnsptr
configure/hostname
configure/install
configure/ipmeprint
scripts/enable-qmail
scripts/mkaliasdir
%%PORTDOCS%%%%DOCDIR%%/BLURB
%%PORTDOCS%%%%DOCDIR%%/BLURB2
%%PORTDOCS%%%%DOCDIR%%/BLURB3
%%PORTDOCS%%%%DOCDIR%%/BLURB4
%%PORTDOCS%%%%DOCDIR%%/FAQ
%%PORTDOCS%%%%DOCDIR%%/UPGRADE
%%PORTDOCS%%%%DOCDIR%%/SENDMAIL
%%PORTDOCS%%%%DOCDIR%%/INSTALL
%%PORTDOCS%%%%DOCDIR%%/INSTALL.alias
%%PORTDOCS%%%%DOCDIR%%/INSTALL.ctl
@ -8,10 +76,7 @@
%%PORTDOCS%%%%DOCDIR%%/INSTALL.maildir
%%PORTDOCS%%%%DOCDIR%%/INSTALL.mbox
%%PORTDOCS%%%%DOCDIR%%/INSTALL.vsm
%%PORTDOCS%%%%DOCDIR%%/TEST.deliver
%%PORTDOCS%%%%DOCDIR%%/TEST.receive
%%PORTDOCS%%%%DOCDIR%%/REMOVE.sendmail
%%PORTDOCS%%%%DOCDIR%%/REMOVE.binmail
%%PORTDOCS%%%%DOCDIR%%/INTERNALS
%%PORTDOCS%%%%DOCDIR%%/PIC.local2alias
%%PORTDOCS%%%%DOCDIR%%/PIC.local2ext
%%PORTDOCS%%%%DOCDIR%%/PIC.local2local
@ -21,142 +86,24 @@
%%PORTDOCS%%%%DOCDIR%%/PIC.relaybad
%%PORTDOCS%%%%DOCDIR%%/PIC.relaygood
%%PORTDOCS%%%%DOCDIR%%/PIC.rem2local
%%PORTDOCS%%%%DOCDIR%%/TLS.readme
boot/home
boot/home+df
boot/proc
boot/proc+df
boot/binm1
boot/binm1+df
boot/binm2
boot/binm2+df
boot/binm3
boot/binm3+df
@group qmail
@mode 04711
@comment *** NOTE different owner
@owner qmailq
bin/qmail-queue
@owner
@mode 0700
bin/qmail-lspawn
@mode 0700
bin/qmail-start
@mode 0711
bin/qmail-getpw
@mode 0711
bin/qmail-local
@mode 0711
bin/qmail-remote
@mode 0711
bin/qmail-rspawn
@mode 0711
bin/qmail-clean
@mode 0711
bin/qmail-send
@mode 0711
bin/splogger
@mode 0700
bin/qmail-newu
@mode 0700
bin/qmail-newmrh
@mode 0711
bin/qmail-pw2u
@mode 0755
bin/qmail-inject
@mode 0755
bin/predate
@mode 0755
bin/datemail
@mode 0755
bin/mailsubj
@mode 0755
bin/qmail-showctl
@mode 0755
bin/qmail-qread
@mode 0755
bin/qmail-qstat
@mode 0755
bin/qmail-tcpto
@mode 0755
bin/qmail-tcpok
@mode 0755
bin/qmail-pop3d
@mode 0711
bin/qmail-popup
@mode 0755
bin/qmail-qmqpc
@mode 0755
bin/qmail-qmqpd
@mode 0755
bin/qmail-qmtpd
@mode 0755
bin/qmail-smtpd
@mode 0755
bin/sendmail
@mode 0755
bin/tcp-env
@mode 0755
bin/qreceipt
@mode 0755
bin/qsmhook
@mode 0755
bin/qbiff
@mode 0755
bin/forward
@mode 0755
bin/preline
@mode 0755
bin/condredirect
@mode 0755
bin/bouncesaying
@mode 0755
bin/except
@mode 0755
bin/maildirmake
@mode 0755
bin/maildir2mbox
@mode 0755
bin/maildirwatch
@mode 0755
bin/qail
@mode 0755
bin/elq
@mode 0755
bin/pinq
@group
@owner
@mode
@comment This port installs the following manually (ie. not through qmail-hier)
configure/install
configure/config
configure/config-fast
configure/dnsfq
configure/hostname
configure/dnsip
configure/ipmeprint
configure/dnsptr
%%PORTDOCS%%%%DOCDIR%%/BLURB
%%PORTDOCS%%%%DOCDIR%%/BLURB2
%%PORTDOCS%%%%DOCDIR%%/BLURB3
%%PORTDOCS%%%%DOCDIR%%/BLURB4
%%PORTDOCS%%%%DOCDIR%%/INTERNALS
%%PORTDOCS%%%%DOCDIR%%/SECURITY
%%PORTDOCS%%%%DOCDIR%%/THOUGHTS
%%PORTDOCS%%%%DOCDIR%%/PORT_NOTES
%%PORTDOCS%%%%DOCDIR%%/PORT_NOTES_FreeBSD_40-RELEASE
%%PORTDOCS%%%%DOCDIR%%/REMOVE.sendmail
%%PORTDOCS%%%%DOCDIR%%/REMOVE.binmail
%%PORTDOCS%%%%DOCDIR%%/SECURITY
%%PORTDOCS%%%%DOCDIR%%/SENDMAIL
%%PORTDOCS%%%%DOCDIR%%/SYSDEPS
%%PORTDOCS%%%%DOCDIR%%/TEST.deliver
%%PORTDOCS%%%%DOCDIR%%/TEST.receive
%%PORTDOCS%%%%DOCDIR%%/THOUGHTS
%%PORTDOCS%%%%DOCDIR%%/TLS.readme
%%PORTDOCS%%%%DOCDIR%%/UPGRADE
%%PORTDOCS%%%%DOCDIR%%/mailer.conf.sample
%%PORTDOCS%%%%DOCDIR%%/mkaliasdir
boot/maildir
%%PORTDOCS%%@dirrm %%DOCDIR%%
@dirrm scripts
@dirrm configure
@dirrm boot
@dirrm bin
@unexec echo "1) If you are permanently removing qmail, you should also ``rm -Rf ${PKG_PREFIX}/alias ${PKG_PREFIX}/control ${PKG_PREFIX}/queue ${PKG_PREFIX}/users'' and remove the qmail users/groups." | /usr/bin/fmt
@unexec echo "2) Do not forget to reconfigure your /etc/mail/mailer.conf to use your older MTA, or reconfigure your old MTA binaries if you decided to replace them." | /usr/bin/fmt
@unexec echo "3) Do not forget to enable sendmail as your default MTA if you have to. Go to mail/qmail portsdir and do a 'make enable-sendmail'" | /usr/bin/fmt
@unexec echo "3) Do not forget to enable sendmail as your default MTA if you have to. You can do it just executing 'echo sendmail_enable=\"YES\" >> /etc/rc.conf" | /usr/bin/fmt

View File

@ -6,7 +6,7 @@
#
PORTNAME= qmail
PORTVERSION?= ${QMAIL_VERSION}
PORTVERSION?= ${QMAIL_VERSION}
PORTREVISION?= 3
CATEGORIES= mail
MASTER_SITES+= http://cr.yp.to/software/ \
@ -16,6 +16,9 @@ MASTER_SITES+= http://cr.yp.to/software/ \
${MASTER_SITE_QMAIL}
DISTNAME= ${PORTNAME}-${QMAIL_VERSION}
MAINTAINER?= freebsd@galle.com.br
COMMENT?= A secure, reliable, efficient, simple, and fast MTA
# qmail-* skeleton ports including this port may not want
# its patches
.if !defined(MAIN_QMAIL_PORT_DNS_PATCH_BARRIER)
@ -34,10 +37,19 @@ PATCH_SITES+= http://david.acz.org/software/:sendmail_flagf
PATCHFILES+= sendmail-flagf.patch:sendmail_flagf
.endif # MAIN_QMAIL_PORT_SENDMAIL_F_PATCH_BARRIER
PATCH_SITES+= ${MASTER_SITE_LOCAL:S/$/:local,dns,ldap,mysql,smtp_auth_tls,tls/}
PATCH_SITE_SUBDIR+= lioux/:local,dns,ldap,mysql,smtp_auth_tls,tls
.if !defined(MAIN_QMAIL_PORT_RFC2821_PATCH_BARRIER)
# 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 # MAIN_QMAIL_PORT_RFC2821_PATCH_BARRIER
MASTER_SITE_QMAIL+= \
PATCH_SITES+= ${MASTER_SITE_LOCAL:S/$/:local,dns,ldap,mysql,smtp_auth_tls,tls/}
PATCH_SITE_SUBDIR+= lioux/:local,dns,ldap,mysql,smtp_auth_tls,tls
MASTER_SITE_QMAIL+= \
http://qmail.geto.net/%SUBDIR%/ \
http://qmail.palomine.net/%SUBDIR%/ \
http://qmail.mirrors.summersault.com/%SUBDIR%/ \
@ -114,7 +126,7 @@ PATCH_SITES+= ${MASTER_SITE_QMAIL}
# MAIN_QMAIL_PORT_WITH_OUTGOINGIP_PATCH_BARRIER
#
.if defined(WITH_QMAILQUEUE_PATCH)&&!defined(MAIN_QMAIL_PORT_WITH_QMAILQUEUE_PATCH_BARRIER)
PATCHFILES+= qmailqueue-patch
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
@ -126,10 +138,7 @@ PATCHFILES+= big-concurrency.patch
PATCHFILES+= outgoingip.patch
.endif # WITH_OUTGOINGIP_PATCH && !MAIN_QMAIL_PORT_WITH_OUTGOINGIP_PATCH_BARRIER
MAINTAINER?= freebsd@galle.com.br
COMMENT?= A secure, reliable, efficient, simple, and fast MTA
NO_PACKAGE= djb\'s packaging license does not allow non-standard\
NO_PACKAGE= djb's packaging license does not allow non-standard\
qmail binary distributions
# A normal qmail installation puts everything into /var/qmail/.
@ -143,17 +152,6 @@ QMAIL_VERSION?= 1.03
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
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 \
qmail-send.8 qmail-start.8 qmail-users.5
@ -193,13 +191,13 @@ DOCFILES+= ${WRKSRC}/FAQ ${WRKSRC}/UPGRADE ${WRKSRC}/SENDMAIL \
${WRKSRC}/PIC.relaygood ${WRKSRC}/PIC.rem2local
# More files normally installed with from hier.c
BOOTFILES= ${WRKSRC}/home ${WRKSRC}/home+df ${WRKSRC}/proc \
${WRKSRC}/proc+df ${WRKSRC}/binm1 ${WRKSRC}/binm1+df \
${WRKSRC}/binm2 ${WRKSRC}/binm2+df ${WRKSRC}/binm3 \
${WRKSRC}/binm3+df
BOOTFILES= home home+df proc proc+df binm1 binm1+df \
binm2 binm2+df binm3 binm3+df
# Supplied by Stuart Henderson <stuart@internationalschool.co.uk>
BOOTFILES+= ${FILESDIR}/maildir
BOOTFILES+= maildir
SCRIPTS+= enable-qmail
CONFIGUREPROGS= ${WRKSRC}/install ${WRKSRC}/dnsfq ${WRKSRC}/hostname \
${WRKSRC}/dnsip ${WRKSRC}/ipmeprint ${WRKSRC}/dnsptr
@ -212,7 +210,7 @@ DOCDIR= doc
.endif
NO_MTREE= yes
USE_PERL5_BUILD=yes
USE_REINPLACE= yes
.if !defined(_PREMKINCLUDED)
.include <bsd.port.pre.mk>
@ -265,7 +263,7 @@ post-pre-fetch:
@${ECHO_MSG} ""
.endif
post-patch: thereal-post-patch slaveport-post-patch post-post-patch
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
@ -275,14 +273,33 @@ slaveport-post-patch:
.endif
post-post-patch:
@${PERL} -pi -ne "s!/var/qmail!${PREFIX}!;s!/usr/local/!${LOCALBASE}/!" ${WRKSRC}/Makefile
@${SED} 's!%%PREFIX%%!${PREFIX}!g; \
s!%%ECHO_CMD%%!${ECHO_CMD}!g' \
${FILESDIR}/bootfiles.sed.in > \
${WRKDIR}/bootfiles.sed
.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} ${WRKDIR}/scripts
@${SED} "s!%%PREFIX%%!${PREFIX}!g; s!%%DOCDIR%%!${DOCDIR}!g" \
${FILESDIR}/enable-qmail.in > \
${WRKDIR}/scripts/enable-qmail
@${SED} s!/var/qmail/!${PREFIX}/!g ${FILESDIR}/mailer.conf.sample > \
${WRKDIR}/mailer.conf.sample
@${REINPLACE_CMD} "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.
do-configure:
@# Create/Check the necessary groups/users
@PKG_PREFIX=${PREFIX} ${PERL5} ${PKGINSTALL}
@PKG_PREFIX=${PREFIX} ${PKGINSTALL}
@${ECHO_CMD} "${CC} ${CFLAGS}" > ${WRKSRC}/conf-cc
@${ECHO_CMD} ${PREFIX} > ${WRKSRC}/conf-qmail
.if defined(WITH_BIG_CONCURRENCY_PATCH) \
@ -297,7 +314,7 @@ do-configure:
do-install:
@# Check again, just in case (ideally should error if not found)
@PKG_PREFIX=${PREFIX} ${PERL5} ${PKGINSTALL}
@PKG_PREFIX=${PREFIX} ${PKGINSTALL}
@${MKDIR} ${PREFIX}/${DOCDIR} ${PREFIX}/configure
@cd ${WRKSRC} ; ./install
${INSTALL_PROGRAM} ${CONFIGUREPROGS} ${PREFIX}/configure
@ -325,137 +342,18 @@ do-install:
@${TOUCH} ${PREFIX}/alias/.qmail-${i}
.endfor
@# This is not part of qmail proper, hence the 2nd class citizenship
${INSTALL_SCRIPT} ${FILESDIR}/mkaliasdir ${PREFIX}/${DOCDIR}
.if !defined(WITH_PRESERVE_CONFIG_FILES)
@cd ${PREFIX}/configure ; ./config
.endif
@${MKDIR} ${PREFIX}/scripts
${INSTALL_SCRIPT} ${FILESDIR}/mkaliasdir ${PREFIX}/scripts
.for script in ${SCRIPTS}
${INSTALL_SCRIPT} ${WRKDIR}/scripts/${script} ${PREFIX}/scripts
.endfor
@${MKDIR} ${LOCALBASE}/etc/rc.d
@${LN} -sf ${PREFIX}/rc ${LOCALBASE}/etc/rc.d/qmail.sh
@${ECHO}
@${ECHO_CMD}
@${SED} s!/var/qmail!${PREFIX}!g ${PKGMESSAGE} | ${FMT}
@${ECHO_CMD}
# hack to allow slave ports to include bsd.port.pre.mk and then this file
.if defined(_PREMKINCLUDED)
.include <bsd.port.post.mk>
.else
.include <bsd.port.mk>
.endif
# Ugh... ;-)
thereal-post-patch:
.for i in ${BOOTFILES}
@if [ -f ${i}.sh ] ; \
then \
${PERL} -p -ne 's!QMAIL/!${PREFIX}/!;s!^(exec)!case "\$$1" in\nstart)\n\t\1!;s!(qmail)$$!\1\&\n\texit 0\n\t;;\nstop)\n\texec killall qmail-send\n\t;;\n*)\n\t${ECHO_CMD} "Usage: `basename \$$0` {start|stop}" >&2\n\texit 64\n\t;;\nesac!' $i.sh > ${WRKDIR}/${i:T} ; \
elif [ -f ${i} ] ; \
then \
${PERL} -p -ne 's!QMAIL/!${PREFIX}/!;s!^(exec)!case "\$$1" in\nstart)\n\t\1!;s!(qmail)$$!\1\&\n\texit 0\n\t;;\nstop)\n\texec killall qmail-send\n\t;;\n*)\n\t${ECHO_CMD} "Usage: `basename \$$0` {start|stop}" >&2\n\texit 64\n\t;;\nesac!' $i > ${WRKDIR}/${i:T} ; \
fi
.endfor
@${SED} s!/var/qmail/!${PREFIX}/!g ${FILESDIR}/mailer.conf.sample > \
${WRKDIR}/mailer.conf.sample
# Double Ugh... ;-)
${WRKDIR}/.thereal_disable_sendmail_done:
@if [ ! -d ${WRKDIR} ]; \
then \
${MKDIR} ${WRKDIR} ; \
fi
# 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 ${RC_CONF_FILE}
@if [ -f ${RC_CONF_FILE} ]; \
then \
${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 ${RC_CONF_FILE}" ; \
${ECHO_MSG} "===> FIX this and try again" ; \
${FALSE} ; \
fi
disable-sendmail: thereal-disable-sendmail
@${ECHO_MSG} "===> I hope you know what you are doing:"
@${ECHO_MSG} "===> You just told your system to not"
@${ECHO_MSG} "===> automaticaly start sendmail on your"
@${ECHO_MSG} "===> next startup."
@${ECHO_MSG} "===> (i.e., added sendmail_enable=\"NONE\" to rc.conf)"
@if [ -f ${RC_CONF_FILE} ]; \
then \
${ECHO_CMD} sendmail_enable=\"NONE\" >> ${RC_CONF_FILE} ; \
fi
enable-sendmail: thereal-disable-sendmail
@${ECHO_MSG} "===> I hope you know what you are doing:"
@${ECHO_MSG} "===> You just told your system to"
@${ECHO_MSG} "===> automaticaly start sendmail on your"
@${ECHO_MSG} "===> next startup."
@${ECHO_MSG} "===> (i.e., removed sendmail_enable=\"NONE\" from rc.conf)"
enable-qmail: install disable-sendmail
@if [ -f ${MAILER_CONF_FILE} ]; \
then \
${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 ${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" ; \
${ECHO_MSG} "===> IF THIS FEELS UNEASY, read ${PREFIX}/${DOCDIR}/REMOVE.sendmail and do it manually" ; \
${ECHO_MSG} "" ; \
${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 ${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\"" ; \
${ECHO_MSG} "===> if you do not know what I am talking about." ; \
${ECHO_MSG} "===> Check http://www.FreeBSD.org/ for the most" ; \
${ECHO_MSG} "===> updated copy of the Handbook." ; \
fi
@${ECHO_MSG} "===> Do not forget to choose an appropriate qmail startup"
@${ECHO_MSG} "===> script. Go through ${PREFIX}/boot, choose one"
@${ECHO_MSG} "===> and copy the chosen script as ${PREFIX}/rc"
@${ECHO_MSG} "===> For example, \"cp ${PREFIX}/boot/proc+df ${PREFIX}/rc\""
# taken from mail/postfix idea
force-enable-qmail: install disable-sendmail
@${ECHO_MSG} "===> Replacing sendmail"
@if [ -e ${SENDMAIL} ]; then \
${MV} -f ${SENDMAIL} ${SENDMAIL}.OFF && \
${CHMOD} 0 ${SENDMAIL}.OFF; \
fi
@if [ -e ${PREFIX}/bin/sendmail ]; then \
${LN} -sf ${PREFIX}/bin/sendmail ${SENDMAIL}; \
fi
@${ECHO_MSG} "===> Replacing mailq"
@if [ -e ${MAILQ} ]; then \
${MV} -f ${MAILQ} ${MAILQ}.OFF && \
${CHMOD} 0 ${MAILQ}.OFF; \
fi
@if [ -e ${PREFIX}/bin/qmail-qread ]; then \
${LN} -sf ${PREFIX}/bin/qmail-qread ${MAILQ}; \
fi
@${ECHO_MSG} "===> Replacing newaliases"
@if [ -e ${NEWALIASES} ]; then \
${MV} -f ${NEWALIASES} ${NEWALIASES}.OFF && \
${CHMOD} 0 ${NEWALIASES}.OFF; \
fi
@if [ -e ${PREFIX}/bin/newaliases ]; then \
${LN} -sf ${PREFIX}/bin/newaliases ${NEWALIASES}; \
fi
# The users are instructed (in PORT_NOTES) to install ${QUEUE_DIR}/rc
# themselves. Each /var/qmail/ should have its own rc. On many machines,
# /usr/local/ is nfs mounted and /var/qmail/ is local. An individual
# machine may want/not-want qmail. Pity we can't add a dir to local_startup
# from here.
# Wouldn't hurt to provide an "enable_qmail" and "disable_sendmail" target
# that do 1) and 2) above and disable the existing sendmail, respectively.

View File

@ -20,3 +20,5 @@ MD5 (outgoingip.patch) = 3c9277dcf5f9b4b6d3a270fb3abf7994
SIZE (outgoingip.patch) = 6839
MD5 (sendmail-flagf.patch) = 4e1f2d8315e7e2a5482798c9d19fac4d
SIZE (sendmail-flagf.patch) = 863
MD5 (patch-qmail-1.03-rfc2821.diff) = 1b85f233ab5b9d7ec1a8da1188bf10ef
SIZE (patch-qmail-1.03-rfc2821.diff) = 2564

View File

@ -0,0 +1,15 @@
s!QMAIL/!%%PREFIX%%/!
s!^\(exec\)!case "\$1" in\
start)\
\ \1!
s!\(qmail\)$!\1\&\
\ exit 0\
\ ;;\
stop)\
\ exec killall qmail-send\
\ ;;\
*)\
\ %%ECHO_CMD%% "Usage: `basename \$0` {start|stop}" >\&2\
\ exit 64\
\ ;;\
esac!

View File

@ -0,0 +1,86 @@
#!/bin/sh
disable_sendmail() {
echo "===> I hope you know what you are doing:"
echo "===> You just told your system to not"
echo "===> automaticaly start sendmail on your"
echo "===> next startup."
echo "===> (i.e., added sendmail_enable=\"NONE\" to rc.conf)"
if [ -f ${RC_CONF_FILE} ]; then
echo sendmail_enable=\"NONE\" >> ${RC_CONF_FILE}
fi
}
enable_qmail() {
if [ -f ${MAILER_CONF_FILE} ]; then
cp ${MAILER_CONF_FILE} ${MAILER_CONF_FILE}.bak && \
cp %%PREFIX%%/%%DOCDIR%%/mailer.conf.sample ${MAILER_CONF_FILE}
else
echo "===> ERROR: YOU DO NOT HAVE A VALID ${MAILER_CONF_FILE}"
echo "===> FIX this and try again"
echo "===> or, run \"$0 --force\" if you are sure"
echo "===> you want this port replacing some binaries"
echo "===> IF THIS FEELS UNEASY, read %%PREFIX%%/%%DOCDIR%%/REMOVE.sendmail and do it manually"
echo ""
echo "=======> VERY IMPORTANT <======="
echo "===> One side issue is that if you do replace them,"
echo "===> you really should consider ADDING \"NO_SENDMAIL=true\""
echo "===> to your /etc/make.conf if you do \"make world\"."
echo "===> Otherwise, \"make world\" will \"fix\" your sendmail"
echo "===> installation breaking your qmail one."
echo "===> Read the FreeBSD Handbook section on \"make world\""
echo "===> if you do not know what I am talking about."
echo "===> Check http://www.FreeBSD.org/ for the most"
echo "===> updated copy of the Handbook."
fi
echo "===> Do not forget to choose an appropriate qmail startup"
echo "===> script. Go through %%PREFIX%%/boot, choose one"
echo "===> and copy the chosen script as %%PREFIX%%/rc"
echo "===> For example, \"cp %%PREFIX%%/boot/proc+df %%PREFIX%%/rc\""
}
# taken from mail/postfix idea
force_enable_qmail() {
echo "===> Replacing sendmail"
if [ -e ${SENDMAIL} ]; then
mv -f ${SENDMAIL} ${SENDMAIL}.OFF && \
chmod 0 ${SENDMAIL}.OFF
fi
if [ -e %%PREFIX%%/bin/sendmail ]; then
ln -sf %%PREFIX%%/bin/sendmail ${SENDMAIL}
fi
echo "===> Replacing mailq"
if [ -e ${MAILQ} ]; then
mv -f ${MAILQ} ${MAILQ}.OFF && \
chmod 0 ${MAILQ}.OFF
fi
if [ -e %%PREFIX%%/bin/qmail-qread ]; then
ln -sf %%PREFIX%%/bin/qmail-qread ${MAILQ}
fi
echo "===> Replacing newaliases"
if [ -e ${NEWALIASES} ]; then
mv -f ${NEWALIASES} ${NEWALIASES}.OFF && \
chmod 0 ${NEWALIASES}.OFF
fi
if [ -e %%PREFIX%%/bin/newaliases ]; then
ln -sf %%PREFIX%%/bin/newaliases ${NEWALIASES}
fi
}
# main
RC_CONF_FILE=/etc/rc.conf
MAILER_CONF_FILE=/etc/mail/mailer.conf
SENDMAIL=/usr/sbin/sendmail
MAILQ=/usr/bin/mailq
NEWALIASES=/usr/bin/newaliases
disable_sendmail
if [ "$1" = "--force"]; then
force_enable_qmail
else
enable_qmail
fi

View File

@ -1,106 +1,129 @@
#!/usr/bin/perl
#
#!/bin/csh -f
# The post-install script
if ($ARGV[1] eq "POST-INSTALL") {
# Build the queue directory structure
# Some of these directories will have been created during the
# pkg_add(1) process. Hopefully this will at least make sure
# that they have the right permissions and owners.
# Author : Marcos Tischer Vallim
# E-Mail : tischer@gmail.com
# Date : Tue Mar 22 00:40:45 BRT 2005
system ("$ENV{PKG_PREFIX}/configure/install x");
system ("cd $ENV{PKG_PREFIX}/configure && ./config");
# Variables
set pw = '/usr/sbin/pw';
set touch = '/usr/bin/touch';
set sed = '/usr/bin/sed';
set null = '/dev/null';
if ($uid != 0) then
echo "It is necessary to add missing qmail users/groups at";
echo "this stage. Please either add them manually or retry";
echo "as root.";
exit 1;
endif
if (! -x "$pw") then
echo "This system looks like a pre-2.2 version of FreeBSD. We see that it";
echo "is missing the "pw" utility. We need this utility. Please get and";
echo "install it, and try again. You can get the source from:";
echo "";
echo " ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/usr.sbin/pw.tar.gz";
echo "";
echo "No $pw";
exit 1;
endif
set groups = (qmail qnofiles);
set gids = (82 81);
set users = (alias qmaild qmaill qmailp qmailq qmailr qmails);
set users_g = (qnofiles qnofiles qnofiles qnofiles qmail qmail qmail);
set uids = (81 82 83 84 85 86 87);
set doguid = 0;
if ($#argv) then
if ($argv[1] == "POST-INSTALL") then
${PKG_PREFIX}/configure/install x;
cd ${PKG_PREFIX}/configure && ./config;
$touch "${PKG_PREFIX}/alias/.{qmail-postmaster,qmail-root,qmail-mailer-daemon}";
if ($status) then
echo "Failed to create files :";
echo " ${PKG_PREFIX}/alias/.qmail-postmaster";
echo " ${PKG_PREFIX}/alias/.qmail-root";
echo " ${PKG_PREFIX}/alias/.qmail-mailer-daemon";
exit 1;
endif
exit 0;
endif
if ($argv[1] == "PRE-INSTALL") then
set doguid = 1;
endif
endif
if (${?PACKAGE_BUILDING}) then
set doguid = 1;
endif
if ($doguid) then
set k = 1;
foreach group ($groups) {
set chkgid = (`$pw groupshow $group | $sed -e "s/:/ /"`);
if ($chkgid[3] != $gids[$k]) then
echo "Group '$group' should have gid '$gids[$k]'";
exit 1;
endif
@ k = $k + 1;
}
set k = 1;
foreach user ($users) {
set chkuid = (`$pw usershow $user | $sed -e "s/:/ /"`);
if ($chkuid[3] != $uids[$k]) then
echo "User '$user' should have uid '$uids[$k]'";
exit 1;
endif
@ k = $k + 1;
}
utime time, time, "$ENV{PKG_PREFIX}/alias/.qmail-postmaster", "$ENV{PKG_PREFIX}/alias/.qmail-root", "$ENV{PKG_PREFIX}/alias/.qmail-mailer-daemon";
exit 0;
}
endif
@groups = ("qmail", "qnofiles");
%users = ('qmaild', "qnofiles", 'qmaill', "qnofiles", 'qmailp', "qnofiles",
'qmailq', "qmail", 'qmailr', "qmail", 'qmails', "qmail");
# daemon, local, pop, queue, remote, deliver, respectively.
# alias is a special case above...
%gids = ("qmail", 82, "qnofiles", 81);
%uids = ('alias', 81, 'qmaild', 82, 'qmaill', 83, 'qmailp', 84, 'qmailq', 85,
'qmailr', 86, 'qmails', 87);
set k = 1;
foreach group ($groups)
$pw groupshow $group >& $null;
if ($ENV{PACKAGE_BUILDING} || $ARGV[1] eq "PRE-INSTALL") {
$doguid=1; # Make sure we get the assigned guids.
}
if ($status) then
$pw groupadd $group -g $gids[$k];
foreach $group (@groups) {
if (! getgrnam ($group)) {
do checkrpw; # May exit
if ($status) then
echo "Failed to add group '$group' as gid '$gids[$k]'";
exit 1;
endif
endif
$x = "-g $gids{$group}";
$result = system ("/usr/sbin/pw groupadd $group $x");
if ($result) {
die "Failed to add group $group as gid $gids{$group}\n";
}
}
}
@ k = $k + 1;
end
if (! getpwnam ("alias")) {
do checkrpw; # May exit
set k = 1;
foreach user ($users)
$pw usershow $user >& $null;
$x = "-u $uids{'alias'}";
$result = system ("/usr/sbin/pw useradd alias -g qnofiles -d \"$ENV{PKG_PREFIX}/alias\" -s /nonexistent $x");
if ($result) {
die "Failed to add user alias as uid $uids{'alias'}\n";
}
}
if ($status) then
if ($user == "alias") then
set home = ${PKG_PREFIX}/alias;
else
set home = ${PKG_PREFIX};
endif
foreach $user (keys %users) {
if (! getpwnam ($user)) {
do checkrpw; # May exit
$pw useradd $user -g $users_g[$k] -d $home -s /nonexistent -u $uids[$k];
$x = "-u $uids{$user}";
$result = system ("/usr/sbin/pw useradd $user -g $users{$user} -d \"$ENV{PKG_PREFIX}\" -s /nonexistent $x");
if ($result) {
die "Failed to add user $user as uid $uids{$user}\n";
}
}
}
if ($status) then
echo "Failed to add user '$user' as uid '$uids[$k]'";
exit 1;
endif
endif
# Check that all gids/uids are as they should be...
# If we are being installed as a package...
if ($doguid) {
foreach $group (@groups) {
if (getgrnam($group) != $gids{$group}) {
die "Group $group should have gid $gids{$group}\n";
}
}
foreach $user (keys %users) {
if (getpwnam($user) != $uids{$user}) {
die "User $user should have uid $uids{$user}\n";
}
}
if (getpwnam("alias") != $uids{"alias"}) {
die "User alias should have uid $uids{'alias'}\n";
}
}
@ k = $k + 1;
end
exit 0;
sub checkrpw {
if (! -x "/usr/sbin/pw") {
print <<'EOM';
This system looks like a pre-2.2 version of FreeBSD. We see that it
is missing the "pw" utility. We need this utility. Please get and
install it, and try again. You can get the source from:
ftp://ftp.freebsd.org/pub/FreeBSD/FreeBSD-current/src/usr.sbin/pw.tar.gz
EOM
die "No /usr/sbin/pw";
}
if ($> != 0) {
print "It is necessary to add missing qmail users/groups at";
print "this stage. Please either add them manually or retry";
print "as root.";
# Let pw(1) signal the failure so the user can see which
# group/user is actually missing.
}
}

View File

@ -7,10 +7,5 @@ qmail, and finally replacing sendmail with qmail.
You should also add /var/qmail/man to your MANPATH (see manpath(1)
or login.conf(5)).
You can enable qmail as your default mailer:
# this will disable the default MTA
1) do "make disable-sendmail"
# enable qmail as your default MTA
2) do "make enable-qmail"
You can enable qmail as your default mailer executing:
> /var/qmail/scripts/enable-qmail

View File

@ -1,6 +1,74 @@
bin/bouncesaying
bin/condredirect
bin/datemail
bin/elq
bin/except
bin/forward
bin/maildir2mbox
bin/maildirmake
bin/maildirwatch
bin/mailsubj
bin/pinq
bin/predate
bin/preline
bin/qail
bin/qbiff
bin/qmail-clean
bin/qmail-getpw
bin/qmail-inject
bin/qmail-local
bin/qmail-lspawn
bin/qmail-newmrh
bin/qmail-newu
bin/qmail-pop3d
bin/qmail-popup
bin/qmail-pw2u
bin/qmail-qmqpc
bin/qmail-qmqpd
bin/qmail-qmtpd
bin/qmail-qread
bin/qmail-qstat
bin/qmail-queue
bin/qmail-remote
bin/qmail-rspawn
bin/qmail-send
bin/qmail-showctl
bin/qmail-smtpd
bin/qmail-start
bin/qmail-tcpok
bin/qmail-tcpto
bin/qreceipt
bin/qsmhook
bin/sendmail
bin/splogger
bin/tcp-env
boot/binm1
boot/binm1+df
boot/binm2
boot/binm2+df
boot/binm3
boot/binm3+df
boot/home
boot/home+df
boot/maildir
boot/proc
boot/proc+df
@comment This port installs the following manually (ie. not through qmail-hier)
configure/config
configure/config-fast
configure/dnsfq
configure/dnsip
configure/dnsptr
configure/hostname
configure/install
configure/ipmeprint
scripts/enable-qmail
scripts/mkaliasdir
%%PORTDOCS%%%%DOCDIR%%/BLURB
%%PORTDOCS%%%%DOCDIR%%/BLURB2
%%PORTDOCS%%%%DOCDIR%%/BLURB3
%%PORTDOCS%%%%DOCDIR%%/BLURB4
%%PORTDOCS%%%%DOCDIR%%/FAQ
%%PORTDOCS%%%%DOCDIR%%/UPGRADE
%%PORTDOCS%%%%DOCDIR%%/SENDMAIL
%%PORTDOCS%%%%DOCDIR%%/INSTALL
%%PORTDOCS%%%%DOCDIR%%/INSTALL.alias
%%PORTDOCS%%%%DOCDIR%%/INSTALL.ctl
@ -8,10 +76,7 @@
%%PORTDOCS%%%%DOCDIR%%/INSTALL.maildir
%%PORTDOCS%%%%DOCDIR%%/INSTALL.mbox
%%PORTDOCS%%%%DOCDIR%%/INSTALL.vsm
%%PORTDOCS%%%%DOCDIR%%/TEST.deliver
%%PORTDOCS%%%%DOCDIR%%/TEST.receive
%%PORTDOCS%%%%DOCDIR%%/REMOVE.sendmail
%%PORTDOCS%%%%DOCDIR%%/REMOVE.binmail
%%PORTDOCS%%%%DOCDIR%%/INTERNALS
%%PORTDOCS%%%%DOCDIR%%/PIC.local2alias
%%PORTDOCS%%%%DOCDIR%%/PIC.local2ext
%%PORTDOCS%%%%DOCDIR%%/PIC.local2local
@ -21,141 +86,23 @@
%%PORTDOCS%%%%DOCDIR%%/PIC.relaybad
%%PORTDOCS%%%%DOCDIR%%/PIC.relaygood
%%PORTDOCS%%%%DOCDIR%%/PIC.rem2local
boot/home
boot/home+df
boot/proc
boot/proc+df
boot/binm1
boot/binm1+df
boot/binm2
boot/binm2+df
boot/binm3
boot/binm3+df
@group qmail
@mode 04711
@comment *** NOTE different owner
@owner qmailq
bin/qmail-queue
@owner
@mode 0700
bin/qmail-lspawn
@mode 0700
bin/qmail-start
@mode 0711
bin/qmail-getpw
@mode 0711
bin/qmail-local
@mode 0711
bin/qmail-remote
@mode 0711
bin/qmail-rspawn
@mode 0711
bin/qmail-clean
@mode 0711
bin/qmail-send
@mode 0711
bin/splogger
@mode 0700
bin/qmail-newu
@mode 0700
bin/qmail-newmrh
@mode 0711
bin/qmail-pw2u
@mode 0755
bin/qmail-inject
@mode 0755
bin/predate
@mode 0755
bin/datemail
@mode 0755
bin/mailsubj
@mode 0755
bin/qmail-showctl
@mode 0755
bin/qmail-qread
@mode 0755
bin/qmail-qstat
@mode 0755
bin/qmail-tcpto
@mode 0755
bin/qmail-tcpok
@mode 0755
bin/qmail-pop3d
@mode 0711
bin/qmail-popup
@mode 0755
bin/qmail-qmqpc
@mode 0755
bin/qmail-qmqpd
@mode 0755
bin/qmail-qmtpd
@mode 0755
bin/qmail-smtpd
@mode 0755
bin/sendmail
@mode 0755
bin/tcp-env
@mode 0755
bin/qreceipt
@mode 0755
bin/qsmhook
@mode 0755
bin/qbiff
@mode 0755
bin/forward
@mode 0755
bin/preline
@mode 0755
bin/condredirect
@mode 0755
bin/bouncesaying
@mode 0755
bin/except
@mode 0755
bin/maildirmake
@mode 0755
bin/maildir2mbox
@mode 0755
bin/maildirwatch
@mode 0755
bin/qail
@mode 0755
bin/elq
@mode 0755
bin/pinq
@group
@owner
@mode
@comment This port installs the following manually (ie. not through qmail-hier)
configure/install
configure/config
configure/config-fast
configure/dnsfq
configure/hostname
configure/dnsip
configure/ipmeprint
configure/dnsptr
%%PORTDOCS%%%%DOCDIR%%/BLURB
%%PORTDOCS%%%%DOCDIR%%/BLURB2
%%PORTDOCS%%%%DOCDIR%%/BLURB3
%%PORTDOCS%%%%DOCDIR%%/BLURB4
%%PORTDOCS%%%%DOCDIR%%/INTERNALS
%%PORTDOCS%%%%DOCDIR%%/SECURITY
%%PORTDOCS%%%%DOCDIR%%/THOUGHTS
%%PORTDOCS%%%%DOCDIR%%/PORT_NOTES
%%PORTDOCS%%%%DOCDIR%%/PORT_NOTES_FreeBSD_40-RELEASE
%%PORTDOCS%%%%DOCDIR%%/REMOVE.sendmail
%%PORTDOCS%%%%DOCDIR%%/REMOVE.binmail
%%PORTDOCS%%%%DOCDIR%%/SECURITY
%%PORTDOCS%%%%DOCDIR%%/SENDMAIL
%%PORTDOCS%%%%DOCDIR%%/SYSDEPS
%%PORTDOCS%%%%DOCDIR%%/TEST.deliver
%%PORTDOCS%%%%DOCDIR%%/TEST.receive
%%PORTDOCS%%%%DOCDIR%%/THOUGHTS
%%PORTDOCS%%%%DOCDIR%%/UPGRADE
%%PORTDOCS%%%%DOCDIR%%/mailer.conf.sample
%%PORTDOCS%%%%DOCDIR%%/mkaliasdir
boot/maildir
%%PORTDOCS%%@dirrm %%DOCDIR%%
@dirrm scripts
@dirrm configure
@dirrm boot
@dirrm bin
@unexec echo "1) If you are permanently removing qmail, you should also ``rm -Rf ${PKG_PREFIX}/alias ${PKG_PREFIX}/control ${PKG_PREFIX}/queue ${PKG_PREFIX}/users'' and remove the qmail users/groups." | /usr/bin/fmt
@unexec echo "2) Do not forget to reconfigure your /etc/mail/mailer.conf to use your older MTA, or reconfigure your old MTA binaries if you decided to replace them." | /usr/bin/fmt
@unexec echo "3) Do not forget to enable sendmail as your default MTA if you have to. Go to mail/qmail portsdir and do a 'make enable-sendmail'" | /usr/bin/fmt
@unexec echo "3) Do not forget to enable sendmail as your default MTA if you have to. You can do it just executing 'echo sendmail_enable=\"YES\" >> /etc/rc.conf" | /usr/bin/fmt