summaryrefslogtreecommitdiff
path: root/net-mgmt/wide-dhcp
diff options
context:
space:
mode:
authorThomas Gellekum <tg@FreeBSD.org>2000-07-05 12:37:06 +0000
committerThomas Gellekum <tg@FreeBSD.org>2000-07-05 12:37:06 +0000
commit546041ba3113a4a58d8f3e7e7cb90e78fcb38ea8 (patch)
tree7b9cd553a62be7a9bd52800d334be8b703eb93a1 /net-mgmt/wide-dhcp
parentFix a typo that broke make index. (diff)
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-mgmt/wide-dhcp')
-rw-r--r--net-mgmt/wide-dhcp/Makefile20
-rw-r--r--net-mgmt/wide-dhcp/files/wide-dhcps.sh.sample30
2 files changed, 31 insertions, 19 deletions
diff --git a/net-mgmt/wide-dhcp/Makefile b/net-mgmt/wide-dhcp/Makefile
index 6eb19087709d..1078aaaf5ac4 100644
--- a/net-mgmt/wide-dhcp/Makefile
+++ b/net-mgmt/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-mgmt/wide-dhcp/files/wide-dhcps.sh.sample b/net-mgmt/wide-dhcp/files/wide-dhcps.sh.sample
new file mode 100644
index 000000000000..6cab4e824a0f
--- /dev/null
+++ b/net-mgmt/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