summaryrefslogtreecommitdiffstats
path: root/net/wide-dhcp
diff options
context:
space:
mode:
authortg <tg@FreeBSD.org>2000-07-05 12:37:06 +0000
committertg <tg@FreeBSD.org>2000-07-05 12:37:06 +0000
commit3a84881f168162a487490bbbd275ca05b7f5560d (patch)
treee888acd7e17d635c1f902fccb1eefdf89f15641a /net/wide-dhcp
parent83513fef56c1c9996eb040a93488ed7837fac927 (diff)
downloadFreeBSD-ports-3a84881f168162a487490bbbd275ca05b7f5560d.zip
FreeBSD-ports-3a84881f168162a487490bbbd275ca05b7f5560d.tar.gz
As threatened on freebsd-ports: all startup scripts know about the two
options `start' and `stop' now (unless I have forgotten any). This allows us to call the scripts from /etc/rc.shutdown with the correct option. The (42 or so) ports that already DTRT before are unchanged.
Diffstat (limited to 'net/wide-dhcp')
-rw-r--r--net/wide-dhcp/Makefile20
-rw-r--r--net/wide-dhcp/files/wide-dhcps.sh.sample30
2 files changed, 31 insertions, 19 deletions
diff --git a/net/wide-dhcp/Makefile b/net/wide-dhcp/Makefile
index 6eb19087..1078aaa 100644
--- a/net/wide-dhcp/Makefile
+++ b/net/wide-dhcp/Makefile
@@ -46,25 +46,7 @@ post-install:
.endif
@if [ ! -f ${STARTUP_SCRIPT} ]; then \
${ECHO} "Installing ${STARTUP_SCRIPT} startup file."; \
- ${ECHO} '#!/bin/sh' > ${STARTUP_SCRIPT}; \
- ${ECHO} 'DB_POOL=/etc/dhcpdb.pool' >> ${STARTUP_SCRIPT}; \
- ${ECHO} 'DB_RELAY=/etc/dhcpdb.relay' >> ${STARTUP_SCRIPT}; \
- ${ECHO} 'DB_BIND=/var/db/dhcpdb.bind' >> ${STARTUP_SCRIPT}; \
- ${ECHO} 'if [ -f $${DB_POOL} -a -f $${DB_RELAY} \' \
- >> ${STARTUP_SCRIPT}; \
- ${ECHO} ' -a -x ${PREFIX}/sbin/dhcps ]; then' \
- >> ${STARTUP_SCRIPT}; \
- ${ECHO} ' if [ -f $${DB_BIND} ]; then' >> ${STARTUP_SCRIPT}; \
- ${ECHO} ' find $${DB_POOL} -newer $${DB_BIND} -exec ${RM} $${DB_BIND} \;' \
- >> ${STARTUP_SCRIPT}; \
- ${ECHO} ' fi' >> ${STARTUP_SCRIPT}; \
- ${ECHO} " ${PREFIX}/sbin/dhcps [Interface Name]" \
- >> ${STARTUP_SCRIPT}; \
- ${ECHO} " ${ECHO} -n ' dhcps'" \
- >> ${STARTUP_SCRIPT}; \
- ${ECHO} 'fi' >> ${STARTUP_SCRIPT}; \
- ${CHMOD} 755 ${STARTUP_SCRIPT}; \
- ${CHOWN} bin.bin ${STARTUP_SCRIPT}; \
+ ${INSTALL_SCRIPT} ${FILESDIR}/wide-dhcps.sh.sample ${STARTUP_SCRIPT}; \
fi
@if [ ! -c /dev/bpf1 ]; then \
${ECHO} "********************************************************";\
diff --git a/net/wide-dhcp/files/wide-dhcps.sh.sample b/net/wide-dhcp/files/wide-dhcps.sh.sample
new file mode 100644
index 0000000..6cab4e8
--- /dev/null
+++ b/net/wide-dhcp/files/wide-dhcps.sh.sample
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+if ! PREFIX=$(expr $0 : "\(/.*\)/etc/rc\.d/$(basename $0)\$"); then
+ echo "$0: Cannot determine the PREFIX" >&2
+ exit 1
+fi
+
+DB_POOL=/etc/dhcpdb.pool
+DB_RELAY=/etc/dhcpdb.relay
+DB_BIND=/var/db/dhcpdb.bind
+
+case "$1" in
+start)
+ if [ -f ${DB_POOL} -a -f ${DB_RELAY} -a -x ${PREFIX}/sbin/dhcps ]; then
+ if [ -f ${DB_BIND} ]; then
+ find ${DB_POOL} -newer ${DB_BIND} -exec rm ${DB_BIND} \;
+ fi
+ ${PREFIX}/sbin/dhcps [Interface Name]
+ echo -n ' dhcps'
+ fi
+ ;;
+stop)
+ killall dhcps && echo -n ' dhcps'
+ ;;
+*)
+ echo "Usage: `basename $0` {start|stop}" >&2
+ ;;
+esac
+
+exit 0
OpenPOWER on IntegriCloud