diff options
author | schmonz <schmonz@pkgsrc.org> | 2019-08-20 02:38:04 +0000 |
---|---|---|
committer | schmonz <schmonz@pkgsrc.org> | 2019-08-20 02:38:04 +0000 |
commit | 13fc2085ef8485f6dc17cef8084d877babd1c02d (patch) | |
tree | 31d46d0080f6178905ee4c466c5c69d5010f4cbd /mail/qmail | |
parent | 5744f0fe8fbf7c94c78a494553ece2b9a52ab0fe (diff) | |
download | pkgsrc-13fc2085ef8485f6dc17cef8084d877babd1c02d.tar.gz |
Update from netqmail 1.06 (2007) to notqmail 1.07 (just released). From
the changelog:
- code: remove incorrect usage of vfork()
- code: detect and prefer utmpx where available
- code: removed idedit, install-big. var-qmail packages are no more
- portability problem: explicitly initialize strerr_sys and
define BIND_8_COMPAT to work around Mac OS X
- code: add instchown to set ownership and mode on installed files
- code: add instpackage to install without root access
- doc: rename INSTALL, SENDMAIL to INSTALL.md, SENDMAIL.md to
support building on case-insensitive filesystems
- code: lookup uid/gid at runtime
- code: use DESTDIR environment variable as root directory in install
pkgsrc changes:
- If hostname isn't FQDN, config-fast-pkgsrc wouldn't produce a working
config, so don't run it; tell user what to do instead
- Stage QMAIL_QUEUE_DIR into DESTDIR/tmp, to be more obvious that it's
not being packaged up (and is not how a queue gets created at
pkg_add time)
- Drop custom destdir, qbiffutmpx, and Darwin patches
- Rebase TLS-onlyremote, QMAILREMOTE, and SRS patches
- Require latest ucspi-ssl and ucspi-tcp6 for IPv4 fixes
- Move MESSAGE.tls to README.tls, and remove other MESSAGE*
- Set PKG_HOME even for non-default values of QMAIL_ALIAS_USER
- Check whether alias/.qmail-foo exist before trying to remove
Bump PKGREVISION.
Diffstat (limited to 'mail/qmail')
-rw-r--r-- | mail/qmail/DEINSTALL | 13 | ||||
-rw-r--r-- | mail/qmail/INSTALL | 137 | ||||
-rw-r--r-- | mail/qmail/MESSAGE | 14 | ||||
-rw-r--r-- | mail/qmail/MESSAGE.srs | 8 | ||||
-rw-r--r-- | mail/qmail/MESSAGE.tls | 16 | ||||
-rw-r--r-- | mail/qmail/Makefile | 90 | ||||
-rw-r--r-- | mail/qmail/PLIST | 10 | ||||
-rw-r--r-- | mail/qmail/distinfo | 43 | ||||
-rw-r--r-- | mail/qmail/files/README.tls | 26 | ||||
-rw-r--r-- | mail/qmail/files/config-fast-pkgsrc-defaults.sh | 27 | ||||
-rw-r--r-- | mail/qmail/options.mk | 36 | ||||
-rw-r--r-- | mail/qmail/patches/patch-strerr_sys.c | 15 |
12 files changed, 213 insertions, 222 deletions
diff --git a/mail/qmail/DEINSTALL b/mail/qmail/DEINSTALL index f5e851262ea..a2eeb5401bb 100644 --- a/mail/qmail/DEINSTALL +++ b/mail/qmail/DEINSTALL @@ -1,4 +1,4 @@ -# $NetBSD: DEINSTALL,v 1.7 2018/12/04 17:01:39 schmonz Exp $ +# $NetBSD: DEINSTALL,v 1.8 2019/08/20 02:38:04 schmonz Exp $ QMAILDIR=@QMAILDIR@ QMAIL_QUEUE_EXTRA=@QMAIL_QUEUE_EXTRA@ @@ -10,10 +10,13 @@ case "${STAGE}" in DEINSTALL) cd ${PKG_SYSCONFDIR} for i in mailer-daemon postmaster root ${QMAIL_QUEUE_EXTRA}; do - contents=$(${CAT} alias/.qmail-${i}) - if [ "${contents}" = '# pkgsrc says: replace this comment with your config' ] \ - || [ "${contents}" = '' ]; then - ${RM} -f alias/.qmail-${i} + f="alias/.qmail-${i}" + if [ -e ${f} ]; then + contents=$(${CAT} ${f}) + if [ "${contents}" = '# pkgsrc says: replace this comment with your config' ] \ + || [ "${contents}" = '' ]; then + ${RM} -f ${f} + fi fi done for i in defaultdomain locals me plusdomain rcpthosts; do diff --git a/mail/qmail/INSTALL b/mail/qmail/INSTALL index 36c99c5d024..3e468b2bb94 100644 --- a/mail/qmail/INSTALL +++ b/mail/qmail/INSTALL @@ -1,109 +1,126 @@ -# $NetBSD: INSTALL,v 1.15 2019/07/15 16:11:58 schmonz Exp $ +# $NetBSD: INSTALL,v 1.16 2019/08/20 02:38:04 schmonz Exp $ DOCDIR=@DOCDIR@ EGDIR=@EGDIR@ PKGMANDIR=@PKGMANDIR@ QMAILDIR=@QMAILDIR@ QMAIL_QUEUE_DIR=@QMAIL_QUEUE_DIR@ -QMAIL_QUEUE_EXTRA=@QMAIL_QUEUE_EXTRA@ VAR_QMAIL_DIRS="alias bin boot control doc man queue users" -case ${STAGE} in +error_qmaildir() { + local _qmaildir + _qmaildir="$1" -PRE-INSTALL) - for dir in $VAR_QMAIL_DIRS; do - if [ -e ${QMAILDIR}/$dir ]; then - ${CAT} <<EOF + ${CAT} <<EOF =========================================================================== -ERROR: ${QMAILDIR} exists and is non-empty. +ERROR: ${_qmaildir} exists and is non-empty. Please remove or rename it, then try again. =========================================================================== EOF - exit 1 - fi - done + exit 1 +} + +error_instchown() { + local _exitcode + _exitcode="$1" - if ${ECHO} ${QMAIL_QUEUE_DIR} | ${GREP} -q "^${QMAILDIR}/"; then - ${CAT} <<EOF + ${CAT} <<EOF =========================================================================== -ERROR: QMAIL_QUEUE_DIR must not be under ${QMAILDIR}. +ERROR: instchown exited ${_exitcode}. -Please adjust your definition of QMAIL_QUEUE_DIR, then try again. +Permissions are likely wrong, and/or the queue may be uninitialized. =========================================================================== EOF - exit 1 - fi + exit 1 +} - # keep in sync with Makefile:pre-install - ${LN} -s ${PKG_SYSCONFDIR}/alias ${QMAILDIR}/alias - ${LN} -s ${PREFIX}/bin ${QMAILDIR}/bin - ${LN} -s ${EGDIR}/boot ${QMAILDIR}/boot - ${LN} -s ${PKG_SYSCONFDIR}/control ${QMAILDIR}/control - ${LN} -s ${DOCDIR} ${QMAILDIR}/doc - ${LN} -s ${PREFIX}/${PKGMANDIR} ${QMAILDIR}/man - ${LN} -s ${QMAIL_QUEUE_DIR} ${QMAILDIR}/queue - ${LN} -s ${PKG_SYSCONFDIR}/users ${QMAILDIR}/users - - ;; +error_instcheck() { + local _output + _output="$1" -POST-INSTALL) - ${PREFIX}/share/qmail/setup/install-destdir - QMAIL_SETUP_EXITCODE=$? - if [ ${QMAIL_SETUP_EXITCODE} -ne 0 ]; then - ${CAT} <<EOF + ${CAT} <<EOF =========================================================================== -ERROR: install-destdir exited nonzero (${QMAIL_SETUP_EXITCODE}). +ERROR: instcheck issued warnings: + +${_output} Permissions are likely wrong, and/or the queue may be uninitialized. =========================================================================== EOF - exit 1 - fi + exit 1 +} - QMAIL_CHECK_OUTPUT=$(${PREFIX}/share/qmail/setup/instcheck 2>&1) - if [ -n "${QMAIL_CHECK_OUTPUT}" ]; then - ${CAT} <<EOF +warning_fqdn() { + local _command _name + _command="$1" + _name="$2" + + ${CAT} <<EOF =========================================================================== -ERROR: instcheck issued warnings: +WARNING: "${_name}" is not a fully qualified name. -${QMAIL_CHECK_OUTPUT} +To configure basic qmail control files, please run this command: -Permissions are likely wrong, and/or the queue may be uninitialized. +# ${_command} ${_name}.YOURDOMAIN.TLD =========================================================================== EOF - exit 1 - fi +} - cd ${PREFIX}/share/qmail/setup && ./config-fast-pkgsrc `./hostname` +case "${STAGE}" in - cd ${PKG_SYSCONFDIR}/.pkgsrc-defaults-do-not-edit - for i in locals rcpthosts; do - ${SORT} -u ${i} > ${i}.tmp && ${MV} ${i}.tmp ${i} +PRE-INSTALL) + for dir in $VAR_QMAIL_DIRS; do + if [ -e ${QMAILDIR}/$dir ]; then + error_qmaildir ${QMAILDIR} + fi done - cd ${PKG_SYSCONFDIR} - for i in defaultdomain locals me plusdomain rcpthosts; do - [ -f control/${i} ] \ - || ${CP} .pkgsrc-defaults-do-not-edit/${i} control - done + # keep in sync with Makefile:pre-install + ${LN} -s ${PKG_SYSCONFDIR}/alias ${QMAILDIR}/alias + ${LN} -s ${PREFIX}/bin ${QMAILDIR}/bin + ${LN} -s ${EGDIR}/boot ${QMAILDIR}/boot + ${LN} -s ${PKG_SYSCONFDIR}/control ${QMAILDIR}/control + ${LN} -s ${DOCDIR} ${QMAILDIR}/doc + ${LN} -s ${PREFIX}/${PKGMANDIR} ${QMAILDIR}/man + ${LN} -s ${QMAIL_QUEUE_DIR} ${QMAILDIR}/queue + ${LN} -s ${PKG_SYSCONFDIR}/users ${QMAILDIR}/users - cd ${PKG_SYSCONFDIR}/alias - for i in mailer-daemon postmaster root ${QMAIL_QUEUE_EXTRA}; do - [ -s .qmail-${i} ] \ - || ${ECHO} '# pkgsrc says: replace this comment with your config' \ - > .qmail-${i} - ${CHMOD} 644 .qmail-${i} - done + ;; + +POST-INSTALL) + # create the queue + ${PREFIX}/share/qmail/setup/instpackage >/dev/null 2>&1 + ${PREFIX}/share/qmail/setup/instchown + QMAIL_SETUP_EXITCODE=$? + if [ ${QMAIL_SETUP_EXITCODE} -ne 0 ]; then + error_instchown ${QMAIL_SETUP_EXITCODE} + fi + + QMAIL_CHECK_OUTPUT=$(${PREFIX}/share/qmail/setup/instcheck 2>&1) + if [ -n "${QMAIL_CHECK_OUTPUT}" ]; then + error_instcheck "${QMAIL_CHECK_OUTPUT}" + fi + + QMAIL_CONFIG_CMD="${PREFIX}/share/qmail/setup/config-fast-pkgsrc" + QMAIL_FQDN=$(${PREFIX}/share/qmail/setup/hostname) + case "${QMAIL_FQDN}" in + *.*) + ${QMAIL_CONFIG_CMD} "${QMAIL_FQDN}" + ;; + *) + warning_fqdn "${QMAIL_CONFIG_CMD}" "${QMAIL_FQDN}" + ;; + esac ;; diff --git a/mail/qmail/MESSAGE b/mail/qmail/MESSAGE deleted file mode 100644 index f037e799913..00000000000 --- a/mail/qmail/MESSAGE +++ /dev/null @@ -1,14 +0,0 @@ -=========================================================================== -$NetBSD: MESSAGE,v 1.13 2006/04/29 04:53:17 schmonz Exp $ - -Please read ${DOCDIR}/README.pkgsrc. - -There are many ways to enable qmail. One popular, well-regarded -choice is to follow the directions in Dave Sill's "Life with qmail": - - <URL:http://www.lifewithqmail.org/lwq.html> - -Alternatively, you can let pkgsrc do the work by installing the -qmail-run package. - -=========================================================================== diff --git a/mail/qmail/MESSAGE.srs b/mail/qmail/MESSAGE.srs deleted file mode 100644 index bdc6b0252a5..00000000000 --- a/mail/qmail/MESSAGE.srs +++ /dev/null @@ -1,8 +0,0 @@ -=========================================================================== -$NetBSD: MESSAGE.srs,v 1.1 2017/03/31 13:52:00 schmonz Exp $ - -The Sender Rewriting Scheme patch requires configuration. - -Please read ${DOCDIR}/README.srs. - -=========================================================================== diff --git a/mail/qmail/MESSAGE.tls b/mail/qmail/MESSAGE.tls deleted file mode 100644 index 0c671578d6e..00000000000 --- a/mail/qmail/MESSAGE.tls +++ /dev/null @@ -1,16 +0,0 @@ -=========================================================================== -$NetBSD: MESSAGE.tls,v 1.1 2017/08/13 23:42:55 schmonz Exp $ - -If you don't already have an SSL certificate for qmail: - -# ${OPENSSL} req -new -x509 -nodes -days 366 -out ${SERVERCERT} -keyout ${SERVERCERT} -# chmod 640 ${SERVERCERT} -# chown ${QMAIL_DAEMON_USER}:${QMAIL_QMAIL_GROUP} ${SERVERCERT} -# ln -s ${SERVERCERT} ${CLIENTCERT} -# update_tmprsadh - -Once you have a certificate, regularly regenerate DH params from cron(8): - - 01 01 * * * update_tmprsadh > /dev/null 2>&1 - -=========================================================================== diff --git a/mail/qmail/Makefile b/mail/qmail/Makefile index 06d79c430df..ae5ee3995e6 100644 --- a/mail/qmail/Makefile +++ b/mail/qmail/Makefile @@ -1,14 +1,16 @@ -# $NetBSD: Makefile,v 1.113 2019/07/01 14:57:31 schmonz Exp $ +# $NetBSD: Makefile,v 1.114 2019/08/20 02:38:04 schmonz Exp $ # -DISTNAME= netqmail-1.06 +DISTNAME= notqmail-1.07 PKGNAME= qmail-1.03 -PKGREVISION= 45 +PKGREVISION= 46 CATEGORIES= mail -MASTER_SITES= ${HOMEPAGE} +MASTER_SITES= ${MASTER_SITE_GITHUB:=notqmail/} +GITHUB_PROJECT= notqmail +GITHUB_RELEASE= ${DISTNAME} MAINTAINER= schmonz@NetBSD.org -HOMEPAGE= http://netqmail.org/ +HOMEPAGE= https://notqmail.org/ COMMENT= Secure, reliable, efficient, simple, and fast MTA LICENSE= public-domain @@ -22,9 +24,6 @@ CONFLICTS+= netqmail-[0-9]* CONFLICTS+= pulsar<=0.1.1 CONFLICTS+= qmail-run<=20170706 -WRKSRC= ${WRKDIR}/${DISTNAME} - -DJB_CONFIG_CMDS= ${ECHO} ${DESTDIR:Q}${QMAILDIR:Q} > conf-destdir; DJB_CONFIG_CMDS+= ${ECHO} ${QMAIL_ALIAS_USER:Q} > conf-users; DJB_CONFIG_CMDS+= ${ECHO} ${QMAIL_DAEMON_USER:Q} >> conf-users; DJB_CONFIG_CMDS+= ${ECHO} ${QMAIL_LOG_USER:Q} >> conf-users; @@ -36,11 +35,8 @@ DJB_CONFIG_CMDS+= ${ECHO} ${QMAIL_SEND_USER:Q} >> conf-users; DJB_CONFIG_CMDS+= ${ECHO} ${QMAIL_QMAIL_GROUP:Q} > conf-groups; DJB_CONFIG_CMDS+= ${ECHO} ${QMAIL_NOFILES_GROUP:Q} >> conf-groups; DJB_BUILD_TARGETS= man -INSTALL_TARGET= setup DJB_RESTRICTED= no -CPPFLAGS.Darwin+= -DBIND_8_COMPAT=1 - PKG_SYSCONFSUBDIR= qmail OWN_DIRS+= ${PKG_SYSCONFDIR} ${PKG_SYSCONFDIR}/alias OWN_DIRS+= ${PKG_SYSCONFDIR}/control ${PKG_SYSCONFDIR}/users @@ -50,8 +46,6 @@ OWN_DIRS+= ${QMAILDIR} ${QMAIL_QUEUE_DIR} DOCDIR= ${PREFIX}/share/doc/qmail EGDIR= ${PREFIX}/share/examples/qmail SHAREDIR= ${PREFIX}/share/qmail -MESSAGE_SRC+= ${PKGDIR}/MESSAGE -MESSAGE_SUBST+= DOCDIR=${DOCDIR:Q} EGDIR=${EGDIR:Q} FILES_SUBST+= DOCDIR=${DOCDIR:Q} EGDIR=${EGDIR:Q} FILES_SUBST+= PKGMANDIR=${PKGMANDIR:Q} SHAREDIR=${SHAREDIR:Q} FILES_SUBST+= QMAILDIR=${QMAILDIR:Q} @@ -63,7 +57,7 @@ FILES_SUBST+= PKGNAME=${PKGNAME:Q} FILES_SUBST+= WC=${WC:Q} SETUP_PROGRAMS= dnsfq dnsip dnsptr hostname ipmeprint -SETUP_PROGRAMS+= install-destdir instcheck +SETUP_PROGRAMS+= instpackage instchown instcheck SETUP_SCRIPTS= config config-fast config-fast-pkgsrc MANDIRS= man @@ -98,30 +92,22 @@ SUBST_SED.logging+= -e 's|""|${QUEUE_EXTRA}|g' SUBST_MESSAGE.logging= Setting QUEUE_EXTRA. .endif -SUBST_CLASSES+= caseclash -SUBST_STAGE.caseclash= do-configure -SUBST_FILES.caseclash= hier.c -SUBST_SED.caseclash= -e 's|"doc","INSTALL"|".","doc/INSTALL"|g' -SUBST_SED.caseclash+= -e 's|"doc","SENDMAIL"|".","doc/SENDMAIL"|g' - SUBST_CLASSES+= catpages SUBST_STAGE.catpages= do-configure SUBST_FILES.catpages= hier.c SUBST_SED.catpages= -e 's|.*"man/cat[0-9]".*||g' SUBST_SED.catpages+= -e 's|.*"tcp-environ\.5".*||g' # also in ucspi-tcp -.if defined(MANZ) -SUBST_CLASSES+= manzpages -SUBST_STAGE.manzpages= post-build -SUBST_FILES.manzpages= hier_destdir.c -SUBST_SED.manzpages= -e 's|\(.*"man/man[0-9]",".*\.[0-9]\)|\1.gz|g' -.endif - SUBST_CLASSES+= paths SUBST_STAGE.paths= do-configure SUBST_FILES.paths= README.* SUBST_VARS.paths= PKGNAME PKG_INFO PREFIX GREP +SUBST_CLASSES+= config +SUBST_STAGE.config= do-configure +SUBST_FILES.config= config-fast-pkgsrc-defaults.sh +SUBST_VARS.config= SORT MV CP PKG_SYSCONFDIR QMAIL_QUEUE_EXTRA + SUBST_FILES.djbware+= cdb_seek.c dns.c PKG_USERS_VARS+= QMAIL_ALIAS_USER QMAIL_DAEMON_USER QMAIL_LOG_USER @@ -139,15 +125,15 @@ PKG_USERS+= ${QMAIL_SEND_USER}:${QMAIL_QMAIL_GROUP} .for user in ${PKG_USERS:C/\:.*//} PKG_HOME.${user}= ${QMAILDIR} .endfor -PKG_HOME.alias= ${QMAILDIR}/alias +PKG_HOME.${QMAIL_ALIAS_USER}= ${QMAILDIR}/alias READMES= README.pkgsrc # Record all patches applied, starting with the non-optional ones: -QMAILPATCHES= netqmail:${DEFAULT_DISTFILES} +QMAILPATCHES= notqmail:${DEFAULT_DISTFILES} QMAILPATCHES+= tls:${TLSREMOTE_PATCH} -TLSREMOTE_PATCH= netqmail-1.06-tls-20190408-onlyremote-20190408.patch +TLSREMOTE_PATCH= notqmail-1.07-tls-20190517-onlyremote-20190819.patch PATCHFILES+= ${TLSREMOTE_PATCH} SITES.${TLSREMOTE_PATCH}= https://schmonz.com/qmail/tlsonlyremote/ @@ -157,11 +143,6 @@ PATCHFILES+= ${BIGDNS_PATCH} SITES.${BIGDNS_PATCH}= https://www.ckdhr.com/ckd/ PATCH_DIST_STRIP.${BIGDNS_PATCH}=-p1 -QMAILPATCHES+= destdir:${DESTDIR_PATCH} -DESTDIR_PATCH= netqmail-1.06-destdir-20181217.patch -PATCHFILES+= ${DESTDIR_PATCH} -SITES.${DESTDIR_PATCH}= https://schmonz.com/qmail/destdir/ - QMAILPATCHES+= maildiruniq:${MAILDIRUNIQ_PATCH} MAILDIRUNIQ_PATCH= qmail-1.03-maildir-uniq.patch PATCHFILES+= ${MAILDIRUNIQ_PATCH} @@ -177,13 +158,8 @@ OUTGOINGIP_PATCH= outgoingip.patch PATCHFILES+= ${OUTGOINGIP_PATCH} SITES.${OUTGOINGIP_PATCH}= http://qmailorg.schmonz.com/ -QMAILPATCHES+= qbiffutmpx:${QBIFFUTMPX_PATCH} -QBIFFUTMPX_PATCH= netqmail-1.06-qbiffutmpx-20170820.patch -PATCHFILES+= ${QBIFFUTMPX_PATCH} -SITES.${QBIFFUTMPX_PATCH}= https://schmonz.com/qmail/qbiffutmpx/ - QMAILPATCHES+= remote:${REMOTE_PATCH} -REMOTE_PATCH= netqmail-1.06-qmailremote-20170716.patch +REMOTE_PATCH= notqmail-1.07-tls-20190517-qmailremote-20190819.patch PATCHFILES+= ${REMOTE_PATCH} SITES.${REMOTE_PATCH}= https://schmonz.com/qmail/remote/ @@ -203,18 +179,30 @@ post-extract: for i in ${READMES}; do \ ${CP} ${FILESDIR}/$$i ${WRKSRC} || ${TRUE}; \ done - mkdir ${WRKSRC}/doc && \ - for i in INSTALL SENDMAIL; do \ - ${MV} ${WRKSRC}/$$i ${WRKSRC}/doc/$$i; \ + ${CP} ${FILESDIR}/config-fast-pkgsrc-defaults.sh ${WRKSRC} + for i in FILES; do \ + ${TOUCH} ${WRKSRC}/$$i; \ done +USE_TOOLS+= sleep post-build: - cd ${WRKSRC}; \ - ${SED} -e 's|${QMAILDIR}/control/|${PKG_SYSCONFDIR}/.pkgsrc-defaults-do-not-edit/|' < config-fast > config-fast-pkgsrc +.if defined(MANZ) + cd ${WRKSRC} && \ + ${SLEEP} 2 && \ + ${SED} -e 's|\(.*"man/man[0-9]",".*\.[0-9]\)|\1.gz|g' \ + < hier.c > hier.c.tmp && \ + ${MV} hier.c.tmp hier.c && \ + ${MAKE} instchown instcheck +.endif + cd ${WRKSRC} && \ + ${SED} -e 's|${QMAILDIR}/control/|${PKG_SYSCONFDIR}/.pkgsrc-defaults-do-not-edit/|' \ + < config-fast > config-fast-pkgsrc && \ + ${CAT} ${WRKSRC}/config-fast-pkgsrc-defaults.sh \ + >> config-fast-pkgsrc pre-install: ${MKDIR} ${DESTDIR}${QMAILDIR} - ${MKDIR} ${DESTDIR}${QMAIL_QUEUE_DIR} + ${MKDIR} ${DESTDIR}/tmp${QMAIL_QUEUE_DIR} # keep in sync with INSTALL:PRE-INSTALL ${LN} -s ${DESTDIR}${EGDIR}/alias ${DESTDIR}${QMAILDIR}/alias ${LN} -s ${DESTDIR}${PREFIX}/bin ${DESTDIR}${QMAILDIR}/bin @@ -222,16 +210,18 @@ pre-install: ${LN} -s ${DESTDIR}${EGDIR}/control ${DESTDIR}${QMAILDIR}/control ${LN} -s ${DESTDIR}${DOCDIR} ${DESTDIR}${QMAILDIR}/doc ${LN} -s ${DESTDIR}${PREFIX}/${PKGMANDIR} ${DESTDIR}${QMAILDIR}/man - ${LN} -s ${DESTDIR}${QMAIL_QUEUE_DIR} ${DESTDIR}${QMAILDIR}/queue + ${LN} -s ${DESTDIR}/tmp${QMAIL_QUEUE_DIR} ${DESTDIR}${QMAILDIR}/queue ${LN} -s ${DESTDIR}${EGDIR}/users ${DESTDIR}${QMAILDIR}/users +do-install: + cd ${WRKSRC}; \ + DESTDIR=${DESTDIR:Q} ./instpackage + post-install: for i in ${READMES}; do \ ${INSTALL_DATA} ${WRKSRC}/$$i ${DESTDIR}${DOCDIR}; \ done - cd ${WRKSRC} && ${MAKE} instcheck install-destdir - ${INSTALL_PROGRAM_DIR} ${DESTDIR}${SHAREDIR}/setup for i in ${SETUP_PROGRAMS}; do \ ${INSTALL_PROGRAM} ${WRKSRC}/$$i \ diff --git a/mail/qmail/PLIST b/mail/qmail/PLIST index da486d769ef..6111615c18f 100644 --- a/mail/qmail/PLIST +++ b/mail/qmail/PLIST @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST,v 1.21 2018/11/14 16:43:17 schmonz Exp $ +@comment $NetBSD: PLIST,v 1.22 2019/08/20 02:38:04 schmonz Exp $ bin/bouncesaying bin/condredirect bin/datemail @@ -96,12 +96,12 @@ man/man8/qmail-tcpok.8 man/man8/qmail-tcpto.8 man/man8/splogger.8 share/doc/qmail/FAQ -share/doc/qmail/INSTALL share/doc/qmail/INSTALL.alias share/doc/qmail/INSTALL.ctl share/doc/qmail/INSTALL.ids share/doc/qmail/INSTALL.maildir share/doc/qmail/INSTALL.mbox +share/doc/qmail/INSTALL.md share/doc/qmail/INSTALL.vsm share/doc/qmail/PIC.local2alias share/doc/qmail/PIC.local2ext @@ -114,9 +114,10 @@ share/doc/qmail/PIC.relaygood share/doc/qmail/PIC.rem2local share/doc/qmail/README.pkgsrc ${PLIST.srs}share/doc/qmail/README.srs +${PLIST.tls}share/doc/qmail/README.tls share/doc/qmail/REMOVE.binmail share/doc/qmail/REMOVE.sendmail -share/doc/qmail/SENDMAIL +share/doc/qmail/SENDMAIL.md share/doc/qmail/TEST.deliver share/doc/qmail/TEST.receive share/doc/qmail/UPGRADE @@ -137,6 +138,7 @@ share/qmail/setup/dnsfq share/qmail/setup/dnsip share/qmail/setup/dnsptr share/qmail/setup/hostname -share/qmail/setup/install-destdir share/qmail/setup/instcheck +share/qmail/setup/instchown +share/qmail/setup/instpackage share/qmail/setup/ipmeprint diff --git a/mail/qmail/distinfo b/mail/qmail/distinfo index 4004dea1a78..080ba9797b0 100644 --- a/mail/qmail/distinfo +++ b/mail/qmail/distinfo @@ -1,33 +1,29 @@ -$NetBSD: distinfo,v 1.44 2019/04/10 22:24:57 schmonz Exp $ +$NetBSD: distinfo,v 1.45 2019/08/20 02:38:04 schmonz Exp $ SHA1 (netqmail-1.05-TAI-leapsecs.patch) = 2c21cd7e20b241c1a82b79379f2c7ee3da5519f7 RMD160 (netqmail-1.05-TAI-leapsecs.patch) = 9fd59001be5a07d914c66127236ebe8c33f64675 SHA512 (netqmail-1.05-TAI-leapsecs.patch) = 2278139b825330a418171ad6dd4667410819591d3828f8b40dda789e1aafe1cefcc638fdc6d9de21a8c0ca6caffb41fbbb44bab2dd80f570e81c6e900c8596f7 Size (netqmail-1.05-TAI-leapsecs.patch) = 16382 bytes -SHA1 (netqmail-1.06-destdir-20181217.patch) = b309f99d29af95358301ae6dde6b32c8db6c371a -RMD160 (netqmail-1.06-destdir-20181217.patch) = e42312b05c6f5dbb6614bfffb17991e25a4518d0 -SHA512 (netqmail-1.06-destdir-20181217.patch) = 1cb02193f69930569c4c340c427d8e0002d1fb67b622ee8fd0fcbb273b5deca356fa2e0b11d44a2473cf2c083fc09d43bb3dfb70f22d284f262f2c2d6cf4221e -Size (netqmail-1.06-destdir-20181217.patch) = 12726 bytes -SHA1 (netqmail-1.06-qbiffutmpx-20170820.patch) = ebc33f028b12ef808d7dcaa05824cca06f7d27d4 -RMD160 (netqmail-1.06-qbiffutmpx-20170820.patch) = dd2d26902f5e12f6c318ad73cc01b1af07c855a3 -SHA512 (netqmail-1.06-qbiffutmpx-20170820.patch) = c2abcf345d242a42a72583fa85efc8fef37dd3f952407f5e6d3d46632c558ffb6909c60851abf23f113e712f902f7d82934cb07f79a75f511d6df48361a0972c -Size (netqmail-1.06-qbiffutmpx-20170820.patch) = 3120 bytes -SHA1 (netqmail-1.06-qmailremote-20170716.patch) = cf7fa5aaf74a5b7d48b2cf0e5f46f7c124de83c7 -RMD160 (netqmail-1.06-qmailremote-20170716.patch) = c26d7f8510cab92bcf5d5fbb861ec62ff593196a -SHA512 (netqmail-1.06-qmailremote-20170716.patch) = de77c1b01ab88199b3f096e64a733dd86867001dfbcea1cf0d6b20e99d448638e0294440ef48fabc309355440834a8747b4c476cf47b89e6ddb3b7250008dd8e -Size (netqmail-1.06-qmailremote-20170716.patch) = 1668 bytes SHA1 (netqmail-1.06-tls-20160918-onlyremote-20181107-spp-20181109-smtputf8-20181109.patch) = c2c89aed0bc2059a8a6686bd0ec094fe08b63600 RMD160 (netqmail-1.06-tls-20160918-onlyremote-20181107-spp-20181109-smtputf8-20181109.patch) = 1ad6791996f8741917e2b2980c7e5f6a9449e00f SHA512 (netqmail-1.06-tls-20160918-onlyremote-20181107-spp-20181109-smtputf8-20181109.patch) = a02cad7ef0f57a9eee8a12444a30df4d112ba256fa581124d7f0fb78acee4da53d0211d98de5822f058518d6a872e01e737f28e437b8ed5f8fa392ae8808468b Size (netqmail-1.06-tls-20160918-onlyremote-20181107-spp-20181109-smtputf8-20181109.patch) = 6962 bytes -SHA1 (netqmail-1.06-tls-20190408-onlyremote-20190408.patch) = e8f57536ef0d65f03b6494fc0ced023cfadb5661 -RMD160 (netqmail-1.06-tls-20190408-onlyremote-20190408.patch) = c6b013a6474f278ee111075112b0361c5f4b1305 -SHA512 (netqmail-1.06-tls-20190408-onlyremote-20190408.patch) = dcf0df01637c42780eb0a454b1cf25eeb516c693e8d11aef498c59cee44e69317d6c84013196352a8435a094343331b3231b2d8437c8309b5599a625459e4990 -Size (netqmail-1.06-tls-20190408-onlyremote-20190408.patch) = 27028 bytes -SHA1 (netqmail-1.06.tar.gz) = 9ee9a603e2ad3d8e1d34b900e19b7a5d275f538b -RMD160 (netqmail-1.06.tar.gz) = d31598afa862abb35bc1feb8d038ab619b5a17a2 -SHA512 (netqmail-1.06.tar.gz) = de40a6d8fac502bd785010434d99b99f2c0524e10aea3d0f2a0d35c70fce91e991eb1fb8f20a1276eb56d7e73130ea5e2c178f6075d138af47b28d9ca6e6046b -Size (netqmail-1.06.tar.gz) = 260941 bytes +SHA1 (notqmail-1.07-tls-20190517-onlyremote-20190819.patch) = 9392e0833458c933db2668c3f19f26c0b05bdec4 +RMD160 (notqmail-1.07-tls-20190517-onlyremote-20190819.patch) = 49f3f36fb03a89e8afab450597f697c1f9210477 +SHA512 (notqmail-1.07-tls-20190517-onlyremote-20190819.patch) = f3064c3f6ce40da0e99624ee59df99c8211016ae161a8cf5170d19a7fe3300d1a3d7c675d67ec1989c5421b9c10a131266c12d3eb8af02329eb677d3f46709f9 +Size (notqmail-1.07-tls-20190517-onlyremote-20190819.patch) = 26547 bytes +SHA1 (notqmail-1.07-tls-20190517-qmailremote-20190819-srs-20190819.patch) = 8aaabb5ab8e7737055dae47c1a83ec8ff7741c20 +RMD160 (notqmail-1.07-tls-20190517-qmailremote-20190819-srs-20190819.patch) = a3682ab33bb0e746ae214dbac91e0c8f92c780e2 +SHA512 (notqmail-1.07-tls-20190517-qmailremote-20190819-srs-20190819.patch) = 8b9894d743f6ea7ceb72d34fedaa8afeb61afdfb5b6d929b5c76eb31da27232cb6f952a26b3733c244bfd430750d250bdc0fa92464c6a64f017abd97c84e8c77 +Size (notqmail-1.07-tls-20190517-qmailremote-20190819-srs-20190819.patch) = 24175 bytes +SHA1 (notqmail-1.07-tls-20190517-qmailremote-20190819.patch) = 2aa984625c439069a9c252186f989a51f48449ad +RMD160 (notqmail-1.07-tls-20190517-qmailremote-20190819.patch) = 95622f1895c2909bc3a3c5f609bd1f116437f65a +SHA512 (notqmail-1.07-tls-20190517-qmailremote-20190819.patch) = cf4f7dda23f90ffff26b3cb0ff4c5d7037ca70a43370e4bd9edd703a67ae0aa125bd5fe54aa97aea6b82054ac6819cc469a091e4cc7b39a48f61409420cfd516 +Size (notqmail-1.07-tls-20190517-qmailremote-20190819.patch) = 1643 bytes +SHA1 (notqmail-1.07.tar.gz) = 7aebb1e4cebcdb248bd907f1a7949c5f0030665b +RMD160 (notqmail-1.07.tar.gz) = 2f8b610a8ffb0829af071a91515626c83f58126c +SHA512 (notqmail-1.07.tar.gz) = 586d1ebeba881ebbd5234c957e1bf599d0854eea9dea13f387790b3de3188d49ec1654590862c613894c588b7b0a140345e0d9849da2f4cd974963a485124f49 +Size (notqmail-1.07.tar.gz) = 227458 bytes SHA1 (outgoingip.patch) = c37b50facc72f82cad6505d2db88d5eccc5418b2 RMD160 (outgoingip.patch) = 032c653d395e5f599c0998e92debb09d84f90f0f SHA512 (outgoingip.patch) = 876eba3e65eba02f62838e5324cf64985254805ac5ec9417b168caa8c8d150a5185885d49a92d968690438289963bd6569e3de3330daf71a248206cd94227cd2 @@ -48,9 +44,4 @@ SHA1 (qmail-spp-0.42.tar.gz) = 76a94051b017dd331d8c791e466bb2a936ceba41 RMD160 (qmail-spp-0.42.tar.gz) = 5511722c52346692488a63bca53106d580a004c7 SHA512 (qmail-spp-0.42.tar.gz) = 03449862886a0ca20fbadab4c94b34b55d185f8df3261bd68aea99e9ded9edfab4477c6b38a8e0295e9b38b0045615da8b1a906a458f28745eadd3c4d882bcbf Size (qmail-spp-0.42.tar.gz) = 18689 bytes -SHA1 (qmail-srs-0.8.patch) = 44d6075fe22d698b21a9045b0cce7f607bc86eee -RMD160 (qmail-srs-0.8.patch) = cf86dc7874dc116b31bf933f18615c75cfc4c0c4 -SHA512 (qmail-srs-0.8.patch) = a2a6c26a02d1c607f4ed4f73d6c8b57ed6a6c31126f20b073e9cd2258ca43c0da98a67de254df30e07e3887c90239cba0ccf3f45d535f4c66017217da1732f9b -Size (qmail-srs-0.8.patch) = 25412 bytes SHA1 (patch-Makefile) = ee82c0d6e64aaf617e3b2e69c577b6c4c23f62ca -SHA1 (patch-strerr_sys.c) = 15e6466c655058664cb660e5e12232bf45010814 diff --git a/mail/qmail/files/README.tls b/mail/qmail/files/README.tls new file mode 100644 index 00000000000..e6dec702cbc --- /dev/null +++ b/mail/qmail/files/README.tls @@ -0,0 +1,26 @@ + Configuring TLS + =============== + +You've applied a Transport Layer Security patch to your qmail installation. +It is documented more fully by its author here: + +<URL:https://schmonz.com/qmail/tlsonlyremote/> + + +For qmail to opportunistically encrypt outgoing mail, obtain a +certificate (e.g., from Let's Encrypt) and make it available as +@SERVERCERT@. + +# chmod 640 @SERVERCERT@ +# chown @QMAIL_DAEMON_USER@:@QMAIL_QMAIL_GROUP@ @SERVERCERT@ +# ln -s @SERVERCERT@ @CLIENTCERT@ +# update_tmprsadh + +Once you have a certificate, regularly regenerate DH params from cron(8): + + 01 01 * * * @PREFIX@/bin/update_tmprsadh > /dev/null 2>&1 + + +For qmail to opportunistically encrypt incoming mail, and to require +encryption before authentication for submitted messages, install the +qmail-run package and use its qmailsmtpd and qmailofmipd rc.d scripts. diff --git a/mail/qmail/files/config-fast-pkgsrc-defaults.sh b/mail/qmail/files/config-fast-pkgsrc-defaults.sh new file mode 100644 index 00000000000..bdbdcff65b7 --- /dev/null +++ b/mail/qmail/files/config-fast-pkgsrc-defaults.sh @@ -0,0 +1,27 @@ +# $NetBSD: config-fast-pkgsrc-defaults.sh,v 1.1 2019/08/20 02:38:04 schmonz Exp $ + +SORT=@SORT@ +MV=@MV@ +CP=@CP@ + +PKG_SYSCONFDIR=@PKG_SYSCONFDIR@ +QMAIL_QUEUE_EXTRA=@QMAIL_QUEUE_EXTRA@ + +cd ${PKG_SYSCONFDIR}/.pkgsrc-defaults-do-not-edit +for i in locals rcpthosts; do + ${SORT} -u ${i} > ${i}.tmp && ${MV} ${i}.tmp ${i} +done + +cd ${PKG_SYSCONFDIR} +for i in defaultdomain locals me plusdomain rcpthosts; do + [ -f control/${i} ] \ + || ${CP} .pkgsrc-defaults-do-not-edit/${i} control +done + +cd ${PKG_SYSCONFDIR}/alias +for i in mailer-daemon postmaster root ${QMAIL_QUEUE_EXTRA}; do + [ -s .qmail-${i} ] \ + || echo '# pkgsrc says: replace this comment with your config' \ + > .qmail-${i} + chmod 644 .qmail-${i} +done diff --git a/mail/qmail/options.mk b/mail/qmail/options.mk index 8ad33ad7f77..a59970ad102 100644 --- a/mail/qmail/options.mk +++ b/mail/qmail/options.mk @@ -1,4 +1,4 @@ -# $NetBSD: options.mk,v 1.65 2019/06/28 19:18:25 schmonz Exp $ +# $NetBSD: options.mk,v 1.66 2019/08/20 02:38:04 schmonz Exp $ PKG_OPTIONS_VAR= PKG_OPTIONS.qmail PKG_SUPPORTED_OPTIONS+= eai inet6 pam syncdir tai-system-clock tls @@ -29,6 +29,7 @@ CUSTOMERROR_PATCH= qmail-queue-custom-error-v2.netqmail-1.05.patch PATCHFILES+= ${CUSTOMERROR_PATCH} SITES.${CUSTOMERROR_PATCH}= https://notes.sagredo.eu/files/qmail/patches/ PATCH_DIST_STRIP.${CUSTOMERROR_PATCH}=-p1 +PATCH_DIST_CAT.${CUSTOMERROR_PATCH}= ${SED} -e 's|vfork|fork|g' < ${CUSTOMERROR_PATCH} .endif PLIST_VARS+= srs @@ -36,20 +37,9 @@ PLIST_VARS+= srs PLIST.srs= yes . include "../../mail/libsrs2/buildlink3.mk" QMAILPATCHES+= srs:${SRS_PATCH} -SRS_PATCH= qmail-srs-0.8.patch +SRS_PATCH= notqmail-1.07-tls-20190517-qmailremote-20190819-srs-20190819.patch PATCHFILES+= ${SRS_PATCH} -SITES.${SRS_PATCH}= http://www.mco2.com.br/opensource/download/qmail/ -PATCH_DIST_STRIP.${SRS_PATCH}= -l -PATCH_DIST_CAT.${SRS_PATCH}= ${SED} -e 's|binm3 binm3+df|binm3 binm3+df update_tmprsadh|g' < ${SRS_PATCH} -SUBST_CLASSES+= srsnetq1 srsnetq2 -SUBST_STAGE.srsnetq1= pre-patch -SUBST_STAGE.srsnetq2= pre-configure -SUBST_FILES.srsnetq1= Makefile -SUBST_FILES.srsnetq2= Makefile -SUBST_SED.srsnetq1= -e 's|^auto_split.o env.a$$|auto_split.o|' -SUBST_SED.srsnetq2= -e 's|^auto_split.o$$|auto_split.o env.a|' -SUBST_SED.srsnetq1+= -e 's|^ substdio.a error.a str.a fs.a auto_qmail.o auto_split.o env.a$$| substdio.a error.a str.a fs.a auto_qmail.o auto_split.o|' -SUBST_SED.srsnetq2+= -e 's|^ substdio.a error.a str.a fs.a auto_qmail.o auto_split.o \\$$| substdio.a error.a str.a fs.a auto_qmail.o auto_split.o env.a \\|' +SITES.${SRS_PATCH}= https://schmonz.com/qmail/srs/ SUBST_CLASSES+= srsinclude SUBST_STAGE.srsinclude= do-configure SUBST_FILES.srsinclude= srs.c @@ -58,7 +48,6 @@ SUBST_CLASSES+= srsreadme SUBST_STAGE.srsreadme= do-configure SUBST_FILES.srsreadme= README.srs SUBST_VARS.srsreadme= PKG_SYSCONFDIR -MESSAGE_SRC+= ${PKGDIR}/MESSAGE.srs READMES+= README.srs .endif @@ -103,19 +92,18 @@ SUBST_STAGE.tmprsadh= do-configure SUBST_FILES.tmprsadh= update_tmprsadh.sh SUBST_SED.tmprsadh= -e 's|^export PATH=.*||' SUBST_SED.tmprsadh+= -e 's|^openssl |${OPENSSL} |' -MESSAGE_SRC+= ${PKGDIR}/MESSAGE.tls -MESSAGE_SUBST+= OPENSSL=${OPENSSL:Q} -MESSAGE_SUBST+= SERVERCERT=${PKG_SYSCONFDIR:Q}/control/servercert.pem -MESSAGE_SUBST+= CLIENTCERT=${PKG_SYSCONFDIR:Q}/control/clientcert.pem -MESSAGE_SUBST+= QMAIL_DAEMON_USER=${QMAIL_DAEMON_USER:Q} -MESSAGE_SUBST+= QMAIL_QMAIL_GROUP=${QMAIL_QMAIL_GROUP:Q} -DEPENDS+= ucspi-ssl-[0-9]*:../../net/ucspi-ssl +READMES+= README.tls +SUBST_VARS.paths+= OPENSSL QMAIL_DAEMON_USER QMAIL_QMAIL_GROUP +SUBST_VARS.paths+= OPENSSL SERVERCERT CLIENTCERT +SUBST_SED.paths+= -e 's|@SERVERCERT@|${PKG_SYSCONFDIR:Q}/control/servercert.pem|g' +SUBST_SED.paths+= -e 's|@CLIENTCERT@|${PKG_SYSCONFDIR:Q}/control/clientcert.pem|g' +DEPENDS+= ucspi-ssl>=0.999.10.11nb2:../../net/ucspi-ssl .else BUILDLINK_TRANSFORM+= rm:-lssl BUILDLINK_TRANSFORM+= rm:-lcrypto . if !empty(PKG_OPTIONS:Minet6) -DEPENDS+= ucspi-tcp6-[0-9]*:../../net/ucspi-tcp6 +DEPENDS+= ucspi-tcp6>=1.10.7nb1:../../net/ucspi-tcp6 . else -DEPENDS+= {ucspi-tcp6-[0-9]*,ucspi-tcp-[0-9]*}:../../net/ucspi-tcp +DEPENDS+= {ucspi-tcp6>=1.10.7nb1,ucspi-tcp-[0-9]*}:../../net/ucspi-tcp . endif .endif diff --git a/mail/qmail/patches/patch-strerr_sys.c b/mail/qmail/patches/patch-strerr_sys.c deleted file mode 100644 index bb66403f95b..00000000000 --- a/mail/qmail/patches/patch-strerr_sys.c +++ /dev/null @@ -1,15 +0,0 @@ -$NetBSD: patch-strerr_sys.c,v 1.1 2013/08/15 15:43:48 schmonz Exp $ - -Compile on Darwin. - ---- strerr_sys.c.orig 1998-06-15 10:53:16.000000000 +0000 -+++ strerr_sys.c -@@ -1,7 +1,7 @@ - #include "error.h" - #include "strerr.h" - --struct strerr strerr_sys; -+struct strerr strerr_sys = {0,0,0,0}; - - void strerr_sysinit() - { |