commit:     f9d1928dc234b97340d2e398629cad01213fbef7
Author:     Rolf Eike Beer <eike <AT> sf-mail <DOT> de>
AuthorDate: Thu Oct 10 11:49:53 2019 +0000
Commit:     Joonas Niilola <juippis <AT> gentoo <DOT> org>
CommitDate: Tue Nov 12 14:45:30 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f9d1928d

qmail.eclass: hide qmail-pop3 behind a use flag

Other solutions offer much more features and better security, so do not install
this by default. Keep it for the moment for those who explicitely want it.

Signed-off-by: Rolf Eike Beer <eike <AT> sf-mail.de>
Closes: https://github.com/gentoo/gentoo/pull/13551
Signed-off-by: Joonas Niilola <juippis <AT> gentoo.org>

 eclass/qmail.eclass                                | 69 ++++++++++++----------
 mail-mta/netqmail/metadata.xml                     |  1 +
 mail-mta/netqmail/netqmail-1.06-r10.ebuild         |  2 +-
 ...il-1.06-r10.ebuild => netqmail-1.06-r11.ebuild} |  6 +-
 mail-mta/netqmail/netqmail-1.06-r4.ebuild          |  2 +-
 5 files changed, 46 insertions(+), 34 deletions(-)

diff --git a/eclass/qmail.eclass b/eclass/qmail.eclass
index b6ef483aa82..7e33611462b 100644
--- a/eclass/qmail.eclass
+++ b/eclass/qmail.eclass
@@ -64,7 +64,7 @@ is_prime() {
 
 dospp() {
        insinto "${QMAIL_HOME}"/plugins/
-       insopts -o root -g "$GROUP_ROOT" -m 0755
+       insopts -o root -g "${GROUP_ROOT}" -m 0755
        newins $1 ${2:-$(basename $1)}
 }
 
@@ -77,8 +77,8 @@ dosupervise() {
        local runfile=${2:-${service}} logfile=${3:-${service}-log}
        [[ -z "${service}" ]] && die "no service given"
 
-       insopts -o root -g "$GROUP_ROOT" -m 0755
-       diropts -o root -g "$GROUP_ROOT" -m 0755
+       insopts -o root -g "${GROUP_ROOT}" -m 0755
+       diropts -o root -g "${GROUP_ROOT}" -m 0755
 
        dodir ${SUPERVISE_DIR}/${service}{,/log}
        fperms +t ${SUPERVISE_DIR}/${service}{,/log}
@@ -169,11 +169,13 @@ qmail_full_install() {
        einfo "Installing all qmail software"
        insopts -o root -g qmail -m 755
        doins bouncesaying condredirect config-fast except preline qbiff \
-               qmail-{pop3d,qmqpd,qmtpd,qread,qstat,smtpd,tcpok,tcpto} \
+               qmail-{qmqpd,qmtpd,qread,qstat,smtpd,tcpok,tcpto} \
                qreceipt qsmhook tcp-env
+       use pop3 && doins qmail-pop3d
 
        insopts -o root -g qmail -m 711
-       doins qmail-{clean,getpw,local,popup,pw2u,remote,rspawn,send} splogger
+       doins qmail-{clean,getpw,local,pw2u,remote,rspawn,send} splogger
+       use pop3 && doins qmail-popup
 
        insopts -o root -g qmail -m 700
        doins qmail-{lspawn,newmrh,newu,start}
@@ -188,12 +190,12 @@ qmail_full_install() {
 qmail_config_install() {
        einfo "Installing stock configuration files"
        insinto "${QMAIL_HOME}"/control
-       insopts -o root -g "$GROUP_ROOT" -m 644
+       insopts -o root -g "${GROUP_ROOT}" -m 644
        doins "${GENQMAIL_S}"/control/{conf-*,defaultdelivery}
 
        einfo "Installing configuration sanity checker and launcher"
        insinto "${QMAIL_HOME}"/bin
-       insopts -o root -g "$GROUP_ROOT" -m 644
+       insopts -o root -g "${GROUP_ROOT}" -m 644
        doins "${GENQMAIL_S}"/control/qmail-config-system
 
        declare -F qmail_config_install_hook >/dev/null && \
@@ -244,9 +246,9 @@ qmail_maildir_install() {
        done
 
        einfo "Setting up default maildirs in the account skeleton"
-       diropts -o root -g "$GROUP_ROOT" -m 755
+       diropts -o root -g "${GROUP_ROOT}" -m 755
        insinto /etc/skel
-       insopts -o root -g "$GROUP_ROOT" -m 644
+       insopts -o root -g "${GROUP_ROOT}" -m 644
        newins "${GENQMAIL_S}"/control/defaultdelivery .qmail.sample
        "${MAILDIRMAKE}" "${D}"/etc/skel/.maildir
        keepdir /etc/skel/.maildir/{cur,new,tmp}
@@ -258,10 +260,16 @@ qmail_maildir_install() {
 qmail_tcprules_install() {
        dodir "${TCPRULES_DIR}"
        insinto "${TCPRULES_DIR}"
-       insopts -o root -g "$GROUP_ROOT" -m 0644
+       insopts -o root -g "${GROUP_ROOT}" -m 0644
        doins "${GENQMAIL_S}"/tcprules/Makefile.qmail
        doins "${GENQMAIL_S}"/tcprules/tcp.qmail-*
-       use ssl || rm -f "${D}${TCPRULES_DIR}"/tcp.qmail-pop3sd
+       use ssl && use pop3 || rm -f "${D}${TCPRULES_DIR}"/tcp.qmail-pop3sd
+}
+
+qmail_supervise_install_one() {
+       dosupervise ${i}
+       diropts -o qmaill -g "${GROUP_ROOT}" -m 755
+       keepdir /var/log/qmail/${i}
 }
 
 qmail_supervise_install() {
@@ -269,16 +277,13 @@ qmail_supervise_install() {
 
        cd "${GENQMAIL_S}"/supervise
 
-       for i in qmail-{send,smtpd,qmtpd,qmqpd,pop3d}; do
-               dosupervise ${i}
-               diropts -o qmaill -g "$GROUP_ROOT" -m 755
-               keepdir /var/log/qmail/${i}
+       for i in qmail-{send,smtpd,qmtpd,qmqpd}; do
+               qmail_supervise_install_one ${i}
        done
 
-       if use ssl; then
-               dosupervise qmail-pop3sd
-               diropts -o qmaill -g "$GROUP_ROOT" -m 755
-               keepdir /var/log/qmail/qmail-pop3sd
+       if use pop3; then
+               qmail_supervise_install_one qmail-pop3d
+               use ssl && qmail_supervise_install_one qmail-pop3sd
        fi
 
        declare -F qmail_supervise_install_hook >/dev/null && \
@@ -288,7 +293,7 @@ qmail_supervise_install() {
 qmail_spp_install() {
        einfo "Installing qmail-spp configuration files"
        insinto "${QMAIL_HOME}"/control/
-       insopts -o root -g "$GROUP_ROOT" -m 0644
+       insopts -o root -g "${GROUP_ROOT}" -m 0644
        doins "${GENQMAIL_S}"/spp/smtpplugins
 
        einfo "Installing qmail-spp plugins"
@@ -308,16 +313,16 @@ qmail_ssl_install() {
 
        einfo "Installing SSL Certificate creation script"
        insinto "${QMAIL_HOME}"/control
-       insopts -o root -g "$GROUP_ROOT" -m 0644
+       insopts -o root -g "${GROUP_ROOT}" -m 0644
        doins "${GENQMAIL_S}"/ssl/servercert.cnf
 
        insinto "${QMAIL_HOME}"/bin
-       insopts -o root -g "$GROUP_ROOT" -m 0755
+       insopts -o root -g "${GROUP_ROOT}" -m 0755
        doins "${GENQMAIL_S}"/ssl/mkservercert
 
        einfo "Installing RSA key generation cronjob"
        insinto /etc/${CRON_FOLDER}
-       insopts -o root -g "$GROUP_ROOT" -m 0755
+       insopts -o root -g "${GROUP_ROOT}" -m 0755
        doins "${GENQMAIL_S}"/ssl/qmail-genrsacert.sh
 
        keepdir "${QMAIL_HOME}"/control/tlshosts
@@ -375,7 +380,9 @@ qmail_rootmail_fixup() {
 
 qmail_tcprules_fixup() {
        mkdir -p "${TCPRULES_DIR}"
-       for f in {smtp,qmtp,qmqp,pop3}{,.cdb}; do
+       local POP_FILES=
+       use pop3 && POP_FILES="pop3 pop3.cdb"
+       for f in {smtp,qmtp,qmqp}{,.cdb} ${POP_FILES}; do
                old="/etc/tcp.${f}"
                new="${TCPRULES_DIR}/tcp.qmail-${f}"
                fail=0
@@ -417,13 +424,15 @@ qmail_supervise_config_notice() {
        elog "ln -s ${SUPERVISE_DIR}/qmail-send /service/qmail-send"
        elog "ln -s ${SUPERVISE_DIR}/qmail-smtpd /service/qmail-smtpd"
        elog
-       elog "To start the pop3 server as well, create the following link:"
-       elog "ln -s ${SUPERVISE_DIR}/qmail-pop3d /service/qmail-pop3d"
-       elog
-       if use ssl; then
-               elog "To start the pop3s server as well, create the following 
link:"
-               elog "ln -s ${SUPERVISE_DIR}/qmail-pop3sd /service/qmail-pop3sd"
+       if use pop3; then
+               elog "To start the pop3 server as well, create the following 
link:"
+               elog "ln -s ${SUPERVISE_DIR}/qmail-pop3d /service/qmail-pop3d"
                elog
+               if use ssl; then
+                       elog "To start the pop3s server as well, create the 
following link:"
+                       elog "ln -s ${SUPERVISE_DIR}/qmail-pop3sd 
/service/qmail-pop3sd"
+                       elog
+               fi
        fi
        elog "Additionally, the QMTP and QMQP protocols are supported, "
        elog "and can be started as:"

diff --git a/mail-mta/netqmail/metadata.xml b/mail-mta/netqmail/metadata.xml
index c6d66631634..20870378053 100644
--- a/mail-mta/netqmail/metadata.xml
+++ b/mail-mta/netqmail/metadata.xml
@@ -14,6 +14,7 @@
                <flag name="gencertdaily">Generate SSL certificates daily 
instead of
                        hourly</flag>
                <flag name="highvolume">Prepare netqmail for high volume 
servers</flag>
+               <flag name="pop3">Include POP3 server</flag>
        </use>
        <upstream>
                <remote-id type="sourceforge">qmail-spp</remote-id>

diff --git a/mail-mta/netqmail/netqmail-1.06-r10.ebuild 
b/mail-mta/netqmail/netqmail-1.06-r10.ebuild
index 315e297526f..35fb8779c8d 100644
--- a/mail-mta/netqmail/netqmail-1.06-r10.ebuild
+++ b/mail-mta/netqmail/netqmail-1.06-r10.ebuild
@@ -42,7 +42,7 @@ SRC_URI="mirror://qmail/${P}.tar.gz
 LICENSE="public-domain"
 SLOT="0"
 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~x86"
-IUSE="authcram gencertdaily highvolume libressl qmail-spp ssl vanilla"
+IUSE="authcram gencertdaily highvolume libressl +pop3 qmail-spp ssl vanilla"
 REQUIRED_USE="vanilla? ( !ssl !qmail-spp !highvolume )"
 RESTRICT="test"
 

diff --git a/mail-mta/netqmail/netqmail-1.06-r10.ebuild 
b/mail-mta/netqmail/netqmail-1.06-r11.ebuild
similarity index 97%
copy from mail-mta/netqmail/netqmail-1.06-r10.ebuild
copy to mail-mta/netqmail/netqmail-1.06-r11.ebuild
index 315e297526f..cced7ca4249 100644
--- a/mail-mta/netqmail/netqmail-1.06-r10.ebuild
+++ b/mail-mta/netqmail/netqmail-1.06-r11.ebuild
@@ -42,7 +42,7 @@ SRC_URI="mirror://qmail/${P}.tar.gz
 LICENSE="public-domain"
 SLOT="0"
 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~x86"
-IUSE="authcram gencertdaily highvolume libressl qmail-spp ssl vanilla"
+IUSE="authcram gencertdaily highvolume libressl pop3 qmail-spp ssl vanilla"
 REQUIRED_USE="vanilla? ( !ssl !qmail-spp !highvolume )"
 RESTRICT="test"
 
@@ -70,7 +70,9 @@ RDEPEND="${DEPEND}
        virtual/checkpassword
        virtual/daemontools
        authcram? ( >=net-mail/cmd5checkpw-0.30 )
-       ssl? ( sys-apps/ucspi-ssl )
+       ssl? (
+               pop3? ( sys-apps/ucspi-ssl )
+       )
        !mail-mta/courier
        !mail-mta/esmtp
        !mail-mta/exim

diff --git a/mail-mta/netqmail/netqmail-1.06-r4.ebuild 
b/mail-mta/netqmail/netqmail-1.06-r4.ebuild
index 8d6b6afbb0b..520694626f7 100644
--- a/mail-mta/netqmail/netqmail-1.06-r4.ebuild
+++ b/mail-mta/netqmail/netqmail-1.06-r4.ebuild
@@ -37,7 +37,7 @@ SRC_URI="mirror://qmail/${P}.tar.gz
 LICENSE="public-domain"
 SLOT="0"
 KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86"
-IUSE="authcram gencertdaily highvolume libressl qmail-spp ssl vanilla"
+IUSE="authcram gencertdaily highvolume libressl +pop3 qmail-spp ssl vanilla"
 REQUIRED_USE='vanilla? ( !ssl !qmail-spp !highvolume )'
 RESTRICT="test"
 

Reply via email to