From 16262790cb6ddacf6c632625cc865e03b1b8671f Mon Sep 17 00:00:00 2001 From: "Adrian C. (anrxc)" Date: Sun, 25 Nov 2012 21:24:58 +0100 Subject: rcdscripts: import first snapshot of rc.d scripts as of 11.25.2012 In 30 days these scripts will start dissapearing from official Arch Linux packages. This is an attempt to conserve them, and keep sysvinit usable. --- src/dhcp/dhcp4 | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/dhcp/dhcp6 | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ src/dhcp/dhcpd | 40 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 154 insertions(+) create mode 100755 src/dhcp/dhcp4 create mode 100755 src/dhcp/dhcp6 create mode 100755 src/dhcp/dhcpd (limited to 'src/dhcp') diff --git a/src/dhcp/dhcp4 b/src/dhcp/dhcp4 new file mode 100755 index 0000000..8e1277a --- /dev/null +++ b/src/dhcp/dhcp4 @@ -0,0 +1,57 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/conf.d/dhcp + +PIDFILE="/var/run/dhcpd.pid" + +if [[ -f $PIDFILE ]]; then + read -r PID < "$PIDFILE" + + # prevent stale pidfiles from hanging around + if [[ ! -d /proc/$PID ]]; then + echo 'pid not found. deleteing stale pidfile' + unset PID + rm -f "$PIDFILE" + fi +fi + +case "$1" in + start) + stat_busy "Starting DHCPv4 Server" + if [[ $PID ]]; then + stat_fail + exit 1 + fi + if /usr/sbin/dhcpd -4 -pf "$PIDFILE" $DHCP4_ARGS; then + add_daemon dhcp4 + stat_done + else + stat_fail + exit 1 + fi + ;; + stop) + stat_busy "Stopping DHCPv4 Server" + if [[ ! $PID ]]; then + stat_fail + exit 1 + fi + if { kill $PID && rm -f "$PIDFILE"; } &>/dev/null; then + rm_daemon dhcp4 + stat_done + else + stat_fail + exit 1 + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac + diff --git a/src/dhcp/dhcp6 b/src/dhcp/dhcp6 new file mode 100755 index 0000000..6b4b4d3 --- /dev/null +++ b/src/dhcp/dhcp6 @@ -0,0 +1,57 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/conf.d/dhcp + +PIDFILE="/var/run/dhcp6.pid" + +if [[ -f $PIDFILE ]]; then + read -r PID < "$PIDFILE" + + # prevent stale pidfiles from hanging around + if [[ ! -d /proc/$PID ]]; then + echo 'pid not found. deleteing stale pidfile' + unset PID + rm -f "$PIDFILE" + fi +fi + +case "$1" in + start) + stat_busy "Starting DHCPv6 Server" + if [[ $PID ]]; then + stat_fail + exit 1 + fi + if /usr/sbin/dhcpd -6 -pf "$PIDFILE" $DHCP6_ARGS; then + add_daemon dhcp6 + stat_done + else + stat_fail + exit 1 + fi + ;; + stop) + stat_busy "Stopping DHCPv6 Server" + if [[ ! $PID ]]; then + stat_fail + exit 1 + fi + if { kill $PID && rm -f "$PIDFILE"; } &>/dev/null; then + rm_daemon dhcp6 + stat_done + else + stat_fail + exit 1 + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac + diff --git a/src/dhcp/dhcpd b/src/dhcp/dhcpd new file mode 100755 index 0000000..1fbb31e --- /dev/null +++ b/src/dhcp/dhcpd @@ -0,0 +1,40 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +. /etc/conf.d/dhcp + +PIDFILE="/var/run/dhcpd.pid" +PID=`cat $PIDFILE 2>/dev/null` +case "$1" in + start) + stat_busy "Starting DHCP Server" + if [ "$PID" = "" ]; then + /usr/sbin/dhcpd $DHCP_ARGS + fi + if [ "$PID" != "" -o $? -gt 0 ]; then + stat_fail + else + add_daemon dhcpd + stat_done + fi + ;; + stop) + stat_busy "Stopping DHCP Server" + [ ! -z "$PID" ] && kill $PID &> /dev/null + rm -f $PIDFILE + if [ $? -gt 0 ]; then + stat_fail + else + rm_daemon dhcpd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac -- cgit v1.2.3