Date: Sun, 16 Nov 2003 16:53:00 +0100 From: Oliver Eikemeier <eikemeier@fillmore-labs.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/59339: [PATCH] net/balance: rc.subr(8) script Message-ID: <3FB79D5C.6010209@fillmore-labs.com> Resent-Message-ID: <200311161600.hAGG0dDk017349@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 59339 >Category: ports >Synopsis: [PATCH] net/balance: rc.subr(8) script >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Sun Nov 16 08:00:38 PST 2003 >Closed-Date: >Last-Modified: >Originator: Oliver Eikemeier >Release: FreeBSD 5.1-CURRENT i386 >Organization: Fillmore Labs - http://www.fillmore-labs.com >Environment: System: FreeBSD nuuk.fillmore-labs.com 5.1-CURRENT >Description: A rcNG script for port net/balance. Sample entry in rc.conf(5): balance_enable="YES" balance_hosts="host1 host2" balance_host1_adress="host1.domain.example" balance_host1_ports="ftp http" balance_host1_targets="host1.internal.domain.example" balance_host2_adress="host2.domain.example" balance_host2_ports="ssh ldap 8180" balance_host2_targets="host2.internal.domain.example" >How-To-Repeat: >Fix: --- balance.patch begins here --- Index: net/balance/Makefile =================================================================== RCS file: /home/ncvs/ports/net/balance/Makefile,v retrieving revision 1.8 diff -u -r1.8 Makefile --- net/balance/Makefile 4 Nov 2003 20:11:47 -0000 1.8 +++ net/balance/Makefile 7 Nov 2003 12:30:17 -0000 @@ -17,14 +17,21 @@ ALL_TARGET= balance USE_REINPLACE= yes +USE_RC_SUBR= yes + MAN1= balance.1 post-patch: ${REINPLACE_CMD} -e 's|^CFLAGS|#CFLAGS|g ; \ s|^CC|#CC|g' ${WRKSRC}/Makefile +post-build: + @${SED} -e 's,%%RC_SUBR%%,${RC_SUBR},g' -e 's,%%PREFIX%%,${PREFIX},g' \ + ${FILESDIR}/${PORTNAME}.sh >${WRKDIR}/${PORTNAME}.sh + do-install: - ${INSTALL_PROGRAM} ${WRKSRC}/balance ${PREFIX}/bin - ${INSTALL_MAN} ${WRKSRC}/balance.1 ${PREFIX}/man/man1 + @${INSTALL_PROGRAM} ${WRKSRC}/balance ${PREFIX}/bin + @${INSTALL_MAN} ${WRKSRC}/balance.1 ${PREFIX}/man/man1 + @${INSTALL_SCRIPT} ${WRKDIR}/${PORTNAME}.sh ${PREFIX}/etc/rc.d/${PORTNAME}.sh .include <bsd.port.mk> Index: net/balance/pkg-plist =================================================================== RCS file: /home/ncvs/ports/net/balance/pkg-plist,v retrieving revision 1.1 diff -u -r1.1 pkg-plist --- net/balance/pkg-plist 19 Dec 2000 12:17:21 -0000 1.1 +++ net/balance/pkg-plist 4 Nov 2003 20:09:14 -0000 @@ -1 +1,2 @@ bin/balance +etc/rc.d/balance.sh Index: net/balance/files/balance.sh =================================================================== RCS file: net/balance/files/balance.sh diff -N net/balance/files/balance.sh --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ net/balance/files/balance.sh 4 Nov 2003 20:10:21 -0000 @@ -0,0 +1,79 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: balance +# REQUIRE: LOGIN +# KEYWORD: FreeBSD shutdown + +# +# Add the following lines to /etc/rc.conf to enable balance: +# +#balance_enable="YES" +#balance_hosts="host1" +#balance_host1_adress="host1.external.example" +#balance_host1_ports="http 8180" +#balance_host1_targets="host1.internal.example" +# +# See balance(8) for flags +# + +. %%RC_SUBR%% + +name=balance +rcvar=`set_rcvar` +command=%%PREFIX%%/bin/balance + +start_cmd=start_cmd +stop_cmd=stop_cmd +status_cmd=status_cmd + +start_cmd() +{ + if [ -x "${command}" ]; then + for host in ${balance_hosts}; do + eval ports=\"\${balance_${host}_ports}\" + eval adress=\"\${balance_${host}_adress}\" + eval targets=\"\${balance_${host}_targets}\" + for port in ${ports}; do + "${command}" -b ${adress} ${port} ${targets} + done + done + fi +} + +stop_cmd() +{ + if [ -x "${command}" ]; then + for host in ${balance_hosts}; do + eval ports=\"\${balance_${host}_ports}\" + eval adress=\"\${balance_${host}_adress}\" + for port in ${ports}; do + echo "balance at ${adress}:${port}" + "${command}" -b ${adress} -c kill ${port} + done + done + fi +} + +status_cmd() +{ + if [ -x "${command}" ]; then + for host in ${balance_hosts}; do + eval ports=\"\${balance_${host}_ports}\" + eval adress=\"\${balance_${host}_adress}\" + for port in ${ports}; do + echo "balance at ${adress}:${port}" + "${command}" -b ${adress} -c show ${port} + done + done + fi +} + +# set defaults + +balance_enable=${balance_enable:-"NO"} + +load_rc_config $name +run_rc_command "$1" --- balance.patch ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3FB79D5C.6010209>