ports/166417: rc script for net/delegate (ports)

moto kawasaki moto at kawasaki3.org
Mon Mar 26 15:50:12 UTC 2012


>Number:         166417
>Category:       ports
>Synopsis:       rc script for net/delegate (ports)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Mon Mar 26 15:50:12 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     moto kawasaki
>Release:        FreeBSD 8.2-RELEASE-p5 amd64
>Organization:
>Environment:
FreeBSD rt2.kawasaki3.org 8.2-RELEASE-p5 FreeBSD 8.2-RELEASE-p5 #0: Sun Dec 25 13:43:25 JST 2011     root at rt2.kawasaki3.org:/usr/obj/usr/src/sys/RT2  amd64
>Description:
"delegate is a multi-purpose application leel gateway" as shown in its home page, http://www.delegate.org/, and FreeBSD Ports collection contains it in net/delegate.

The start-up script, installed as /usr/local/etc/rc.d/delegated.sh-dist, is not an rc-script style one but a simple start up without stop/restart/status features.
>How-To-Repeat:
# cd /usr/ports/net/delegate
# make install
# cd /usr/local/etc/rc.d
# more delegated.sh-dist
>Fix:
I'd like to suggest an rc-script style one as follows.

================================================================================
#!/bin/sh

# moto kawasaki $Id$
#
# PROVIDE: delegated
# REQUIRE: LOGIN
# KEYWORD: shutdown
#
delegated_enable_desc="enable/disable to run delegated"
delegated_enable_defval="No"
#
delegated_ports_desc="list of [IP to bind:]<port> on which a delgated runs. ex) \"10.200.200.200:8080 8443\""
delegated_ports_defval=""
#
delegated_confdir_desc="Path to a directory in which delegated config files exist. Please don't include \"-P<port>\" in config files."
delegated_confdir_defval="/usr/local/etc/delegated"
#
delegated_piddir_desc="Path to a directory in which delegated stores pid files"
delegated_piddir_defval="/var/spool/delegate-nobody/act/pid"
#

. /etc/rc.subr

name=delegated
rcvar="delegated_enable delegated_ports delegated_confidr delegated_piddir"

: ${delegated_enable:=${delegated_enable_defval}}
: ${delegated_ports:=${delegated_ports_defval}}
: ${delegated_confdir:=${delegated_confdir_defval}}
: ${delegated_piddir:=${delegated_piddir_defval}}

load_rc_config $name

command=/usr/local/sbin/${name}
pidfile=/dev/null

start_cmd="${name}_start"
stop_cmd="${name}_stop"
status_cmd="${name}_status"

delegated_start() {
    for i in ${delegated_ports}
    do
        if [ -r ${delegated_confdir}/${i}.conf ]
        then
            echo "${delegated_confdir}/${i}.conf found"
            ${command} -P${i} +=${delegated_confdir}/${i}.conf
        else
            echo "${delegated_confdir}/${i}.conf not found" 1>&2
        fi
    done
}

delegated_stop() {
    for i in ${delegated_ports}
    do
        ${command} -P${i} -Fkill
    done
}

delegated_status() {
    for i in `ls ${delegated_piddir}`
    do
        echo "${i}: `cat ${delegated_piddir}/${i}`"
    done
}

run_rc_command "$1"
================================================================================

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list