ports/59339: [PATCH] net/balance: rc.subr(8) script
Oliver Eikemeier
eikemeier at fillmore-labs.com
Sun Nov 16 16:00:43 UTC 2003
>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:
More information about the freebsd-ports-bugs
mailing list