diff options
author | Bryan Drewery <bdrewery@FreeBSD.org> | 2013-02-23 18:49:29 +0000 |
---|---|---|
committer | Bryan Drewery <bdrewery@FreeBSD.org> | 2013-02-23 18:49:29 +0000 |
commit | 678eff9c21376f148cb541f9e5a9070cd9016690 (patch) | |
tree | cf8caf07763252cbc740b274c9638da674840b17 /mail/qmail/files | |
parent | 18e5af8e58f3396d09f7b9b9a4a09271db31b632 (diff) | |
download | ports-678eff9c21376f148cb541f9e5a9070cd9016690.tar.gz ports-678eff9c21376f148cb541f9e5a9070cd9016690.zip |
- Cleanup example rc file
- Support SHUTDOWN
- Check for needed files/dependencies in precmd
- Respect LOCALBASE
- Make rclint happy
- Rename symlink from qmail.sh to qmailsmtpd
- Rename installed example rc file from qmail-smtpd.rcNG to qmailsmtpd
Notes
Notes:
svn path=/head/; revision=312845
Diffstat (limited to 'mail/qmail/files')
-rw-r--r-- | mail/qmail/files/pkg-install.in | 4 | ||||
-rw-r--r-- | mail/qmail/files/qmail-smtpd.rcNG | 55 | ||||
-rw-r--r-- | mail/qmail/files/qmailsmtpd.in | 68 |
3 files changed, 70 insertions, 57 deletions
diff --git a/mail/qmail/files/pkg-install.in b/mail/qmail/files/pkg-install.in index a1359c8ddcd1..c533138fb401 100644 --- a/mail/qmail/files/pkg-install.in +++ b/mail/qmail/files/pkg-install.in @@ -12,10 +12,10 @@ if [ "$2" = "POST-INSTALL" ]; then [ -e ${PREFIX}/control/me ] || (cd ${PREFIX}/configure && ./config) - %%RCDLINK%%ln -s ${PREFIX}/rc %%LOCALBASE%%/etc/rc.d/qmail.sh + %%RCDLINK%%ln -s ${PREFIX}/rc %%LOCALBASE%%/etc/rc.d/qmailsmtpd %%RCDLINK%%echo "" - %%RCDLINK%%echo "A %%LOCALBASE%%/etc/rc.d/qmail.sh symlink was created. To enable qmail at boot" + %%RCDLINK%%echo "A %%LOCALBASE%%/etc/rc.d/qmailsmtpd symlink was created. To enable qmail at boot" %%RCDLINK%%echo "time you need to copy a script to %%PREFIX%%/rc. There are some examples at" %%RCDLINK%%echo "%%PREFIX%%/boot" %%RCDLINK%%echo "" diff --git a/mail/qmail/files/qmail-smtpd.rcNG b/mail/qmail/files/qmail-smtpd.rcNG deleted file mode 100644 index 7eb43e3b9cbc..000000000000 --- a/mail/qmail/files/qmail-smtpd.rcNG +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/sh - -# $FreeBSD$ -# -# PROVIDE: qmailsmtpd -# REQUIRE: LOGIN cleanvar -# -# To use the checkpassword interface to qmail-smtpd, set -# qmailsmtpd_checkpassword to the full path to the checkpassword program (e.g. -# security/checkpassword or security checkpassword-pam). -# -# Note: tcpserver can be found in the sysutils/ucspi-tcp package. -# -# qmailsmtpd_checkpassword could be set to e.g. /usr/local/bin/checkpassword-pam - -. /etc/rc.subr - -name="qmailsmtpd" -rcvar=qmailsmtpd_enable -load_rc_config $name - -: ${qmailsmtpd_tcpserver="/usr/local/bin/tcpserver"} -: ${qmailsmtpd_tcprules="/usr/local/bin/tcprules"} -: ${qmailsmtpd_enable="NO"} -: ${qmailsmtpd_cdb="/etc/tcp.smtp"} -: ${qmailsmtpd_flags="-R -H -u 82 -g 81"} -: ${qmailsmtpd_host="0"} -: ${qmailsmtpd_port="smtp"} -: ${qmailsmtpd_smtpd="/var/qmail/bin/qmail-smtpd"} -: ${qmailsmtpd_fqdn=`hostname`} -: ${qmailsmtpd_checksubprogram="/usr/bin/true"} - -qmailsmtpd_start() { - $qmailsmtpd_tcprules $qmailsmtpd_cdb.cdb $qmailsmtpd_cdb.tmp < $qmailsmtpd_cdb \ - || return 1 - - if [ "x$qmailsmtpd_checkpassword" != "x" ]; then - qmailsmtpd_usercheck="$qmailsmtpd_fqdn $qmailsmtpd_checkpassword $qmailsmtpd_checksubprogram" - fi - - echo "Starting qmail-smtpd." - - $qmailsmtpd_tcpserver -x $qmailsmtpd_cdb.cdb $qmailsmtpd_flags $qmailsmtpd_host $qmailsmtpd_port \ - $qmailsmtpd_smtpd $qmailsmtpd_usercheck & - echo $! > /var/run/qmailsmtpd.pid -} - -qmailsmtpd_stop() { - echo "Stopping qmail-smtpd" - kill `cat /var/run/qmailsmtpd.pid` -} - -start_cmd="qmailsmtpd_start" -stop_cmd="qmailsmtpd_stop" -run_rc_command "$1" diff --git a/mail/qmail/files/qmailsmtpd.in b/mail/qmail/files/qmailsmtpd.in new file mode 100644 index 000000000000..936592127ef7 --- /dev/null +++ b/mail/qmail/files/qmailsmtpd.in @@ -0,0 +1,68 @@ +#!/bin/sh + +# $FreeBSD$ +# +# PROVIDE: qmailsmtpd +# REQUIRE: LOGIN cleanvar +# KEYWORD: shutdown +# +# To use the checkpassword interface to qmail-smtpd, set +# qmailsmtpd_checkpassword to the full path to the checkpassword program (e.g. +# security/checkpassword or security checkpassword-pam). +# +# Note: tcpserver can be found in the sysutils/ucspi-tcp package. +# +# qmailsmtpd_checkpassword could be set to e.g. /usr/local/bin/checkpassword-pam + +. /etc/rc.subr + +name=qmailsmtpd +rcvar=qmailsmtpd_enable + +load_rc_config $name + +: ${qmailsmtpd_tcpserver:=%%LOCALBASE%%/bin/tcpserver} +: ${qmailsmtpd_tcprules:=%%LOCALBASE%%/bin/tcprules} +: ${qmailsmtpd_pidfile:=/var/run/qmailsmtpd.pid} +: ${qmailsmtpd_enable:=NO} +: ${qmailsmtpd_cdb:=/etc/tcp.smtp} +: ${qmailsmtpd_flags="-R -H -u 82 -g 81"} +: ${qmailsmtpd_host:=0} +: ${qmailsmtpd_port:=smtp} +: ${qmailsmtpd_smtpd:=%%PREFIX%%/bin/qmail-smtpd} +: ${qmailsmtpd_fqdn:=`hostname`} +: ${qmailsmtpd_checksubprogram:=/usr/bin/true} + +start_cmd=qmailsmtpd_start +start_precmd=qmailsmtpd_precmd +pidfile=${qmailsmtpd_pidfile} +procname=${qmailsmtpd_tcprules} + +qmailsmtpd_start() +{ + if [ -n "$qmailsmtpd_checkpassword" ]; then + qmailsmtpd_usercheck="$qmailsmtpd_fqdn $qmailsmtpd_checkpassword $qmailsmtpd_checksubprogram" + fi + + echo "Starting qmailsmtpd." + + $qmailsmtpd_tcpserver -x $qmailsmtpd_cdb.cdb $qmailsmtpd_flags $qmailsmtpd_host $qmailsmtpd_port \ + $qmailsmtpd_smtpd $qmailsmtpd_usercheck & + echo $! > $pidfile +} + +qmailsmtpd_precmd() +{ + if ! [ -e "${qmailsmtpd_tcpserver}" ]; then + echo "sysutils/ucspi-tcp is required" >&2 + return 1 + fi + if ! [ -e "${qmailsmtpd_cdb}" ]; then + echo "TCP rules file '${qmailsmtpd_cdb}' is missing." >&2 + return 1 + fi + $qmailsmtpd_tcprules $qmailsmtpd_cdb.cdb $qmailsmtpd_cdb.tmp < $qmailsmtpd_cdb \ + || return 1 +} + +run_rc_command "$1" |