[pkg-dhcp-commits] [isc-dhcp] 01/02: release 4.3.3-6

Michael Gilbert mgilbert at moszumanska.debian.org
Sun Jan 31 04:49:33 UTC 2016


This is an automated email from the git hooks/post-receive script.

mgilbert pushed a commit to branch master
in repository isc-dhcp.

commit ee3dffdda38a8cfc6ad2005d8d64a165d2a709ba
Author: Michael Gilbert <mgilbert at debian.org>
Date:   Sat Jan 9 20:44:28 2016 +0000

    release 4.3.3-6
---
 debian/changelog                |   7 +-
 debian/isc-dhcp-server.config   |   2 +-
 debian/isc-dhcp-server.init.d   | 152 +++++++++++++++++++++++++++-------------
 debian/isc-dhcp-server.postinst |  25 +++----
 debian/rules                    |   1 +
 5 files changed, 120 insertions(+), 67 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 7325ae9..0010f0f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,9 @@
-isc-dhcp (4.3.3-6) UNRELEASED; urgency=medium
+isc-dhcp (4.3.3-6) experimental; urgency=medium
 
-  * Don't assume IPv6 prefix length of 64 (closes: #684009).
+  * Fix missing build flags from the last upload.
+  * Support IPv6 in the server init script (closes: #592539).
+    - Thanks to Florent Fourcot and Ron Murray.
+  * Don't assume an IPv6 prefix length of 64 (closes: #684009).
     - Thanks to Arne Nordmark.
 
  -- Michael Gilbert <mgilbert at debian.org>  Sun, 04 Oct 2015 03:24:47 +0000
diff --git a/debian/isc-dhcp-server.config b/debian/isc-dhcp-server.config
index 412c4b3..80091aa 100644
--- a/debian/isc-dhcp-server.config
+++ b/debian/isc-dhcp-server.config
@@ -13,7 +13,7 @@ INITCONFFILE=/etc/default/isc-dhcp-server
 # preserve the configuration.
 if [ -r ${INITCONFFILE} ]; then
 	. ${INITCONFFILE}
-	db_set isc-dhcp-server/interfaces "${INTERFACES}"
+	db_set isc-dhcp-server/interfaces "${INTERFACESv4}"
 fi
 
 db_title "DHCP Server"
diff --git a/debian/isc-dhcp-server.init.d b/debian/isc-dhcp-server.init.d
index 1fb1506..e057919 100644
--- a/debian/isc-dhcp-server.init.d
+++ b/debian/isc-dhcp-server.init.d
@@ -1,6 +1,4 @@
 #!/bin/sh
-#
-#
 
 ### BEGIN INIT INFO
 # Provides:          isc-dhcp-server
@@ -34,72 +32,123 @@ fi
 # Read init script configuration
 [ -f "$DHCPD_DEFAULT" ] && . "$DHCPD_DEFAULT"
 
-NAME=dhcpd
-DESC="ISC DHCP server"
-# fallback to default config file
-DHCPD_CONF=${DHCPD_CONF:-/etc/dhcp/dhcpd.conf}
-# try to read pid file name from config file, with fallback to /var/run/dhcpd.pid
-if [ -z "$DHCPD_PID" ]; then
-	DHCPD_PID=$(sed -n -e 's/^[ \t]*pid-file-name[ \t]*"\(.*\)"[ \t]*;.*$/\1/p' < "$DHCPD_CONF" 2>/dev/null | head -n 1)
+NAME4=dhcpd
+NAME6=dhcpd6
+
+DESC4="ISC DHCPv4 server"
+DESC6="ISC DHCPv6 server"
+
+# use already specified config file or fallback to defaults
+DHCPDv4_CONF=${DHCPDv4_CONF:-/etc/dhcp/dhcpd.conf}
+DHCPDv6_CONF=${DHCPDv6_CONF:-/etc/dhcp/dhcpd.conf}
+
+# try to read pid file name from config file or fallback to defaults
+if [ -z "$DHCPDv4_PID" ]; then
+	DHCPDv4_PID=$(sed -n -e 's/^[ \t]*pid-file-name[ \t]*"\(.*\)"[ \t]*;.*$/\1/p' < "$DHCPDv4_CONF" 2>/dev/null | head -n 1)
+fi
+if [ -z "$DHCPDv6_PID" ]; then
+	DHCPDv6_PID=$(sed -n -e 's/^[ \t]*pid-file-name[ \t]*"\(.*\)"[ \t]*;.*$/\1/p' < "$DHCPDv6_CONF" 2>/dev/null | head -n 1)
 fi
-DHCPD_PID="${DHCPD_PID:-/var/run/dhcpd.pid}"
+DHCPDv4_PID="${DHCPDv4_PID:-/var/run/dhcpd.pid}"
+DHCPDv6_PID="${DHCPDv4_PID:-/var/run/dhcpd6.pid}"
 
 test_config()
 {
-	if ! /usr/sbin/dhcpd -t $OPTIONS -q -cf "$DHCPD_CONF" > /dev/null 2>&1; then
-		echo "dhcpd self-test failed. Please fix $DHCPD_CONF."
+        VERSION="$1"
+	CONF="$2"
+
+	if ! /usr/sbin/dhcpd -t $VERSION -q -cf "$CONF" > /dev/null 2>&1; then
+		echo "dhcpd self-test failed. Please fix $CONF."
 		echo "The error was: "
-		/usr/sbin/dhcpd -t $OPTIONS -cf "$DHCPD_CONF"
+		/usr/sbin/dhcpd -t $VERSION -cf "$CONF"
 		exit 1
 	fi
-	touch /var/lib/dhcp/dhcpd.leases
 }
 
-# single arg is -v for messages, -q for none
 check_status()
 {
-    if [ ! -r "$DHCPD_PID" ]; then
-	test "$1" != -v || echo "$NAME is not running."
-	return 3
-    fi
-    if read pid < "$DHCPD_PID" && ps -p "$pid" > /dev/null 2>&1; then
-	test "$1" != -v || echo "$NAME is running."
-	return 0
-    else
-	test "$1" != -v || echo "$NAME is not running but $DHCPD_PID exists."
-	return 1
-    fi
+        OPTION="$1"
+        PIDFILE="$2"
+        NAME="$3"
+
+        if [ ! -r "$PIDFILE" ]; then
+                test "$OPTION" != -v || echo "$NAME is not running."
+		return 3
+        fi
+
+        if read pid < "$PIDFILE" && ps -p "$pid" > /dev/null 2>&1; then
+		test "$OPTION" != -v || echo "$NAME is running."
+		return 0
+        else
+		test "$OPTION" != -v || echo "$NAME is not running but $PIDFILE exists."
+		return 1
+        fi
+}
+
+start_daemon()
+{
+	VERSION="$1"
+	CONF="$2"
+	NAME="$3"
+	PIDFILE="$4"
+	DESC="$5"
+
+	shift 5
+	INTERFACES="$*"
+
+	test_config "$VERSION" "$CONF"
+	log_daemon_msg "Starting $DESC" "$NAME"
+
+	if [ -e "$DHCPD_PID" ]; then
+		log_failure_msg "dhcpd service already running (pid file $PIDFILE currenty exists)"
+		exit 1
+	fi
+
+	start-stop-daemon --start --quiet --pidfile $PIDFILE \
+		--exec /usr/sbin/dhcpd -- $VERSION -q -cf $CONF $INTERFACES
+	sleep 2
+
+	if check_status -q $PIDFILE $NAME; then
+		log_end_msg 0
+	else
+		log_failure_msg "check syslog for diagnostics."
+		log_end_msg 1
+		exit 1
+	fi
+}
+
+stop_daemon()
+{
+	if check_status -q $DHCPDv4_PID $NAME4; then
+		log_daemon_msg "Stopping $DESC4" "$NAME4"
+		start-stop-daemon --stop --quiet --pidfile $DHCPDv4_PID
+		log_end_msg $?
+		rm -f "$DHCPDv4_PID"
+	fi
+
+	if check_status -q $DHCPDv6_PID $NAME6; then
+		log_daemon_msg "Stopping $DESC6" "$NAME6"
+		start-stop-daemon --stop --quiet --pidfile $DHCPDv6_PID
+		log_end_msg $?
+		rm -f "$DHCPDv6_PID"
+	fi
 }
 
 case "$1" in
 	start)
-		test_config
-		if [ -e "$DHCPD_PID" ]; then
-			log_failure_msg "dhcpd service already running (pid file $DHCPD_PID currenty exists)"
-			exit 1
+		if test -n "$INTERFACESv4"; then
+			start_daemon "-4" "$DHCPDv4_CONF" "$NAME4" \
+				"$DHCPDv4_PID" "$DESC4" "$INTERFACESv4"
 		fi
-		log_daemon_msg "Starting $DESC" "$NAME"
-		start-stop-daemon --start --quiet --pidfile "$DHCPD_PID" \
-			--exec /usr/sbin/dhcpd -- \
-			-q $OPTIONS -cf "$DHCPD_CONF" -pf "$DHCPD_PID" $INTERFACES
-		sleep 2
-
-		if check_status -q; then
-			log_end_msg 0
-		else
-			log_failure_msg "check syslog for diagnostics."
-			log_end_msg 1
-			exit 1
+		if test -n "$INTERFACESv6"; then
+			start_daemon "-6" "$DHCPDv6_CONF" "$NAME6" \
+				"$DHCPDv6_PID" "$DESC6" "$INTERFACESv6"
 		fi
 		;;
 	stop)
-		log_daemon_msg "Stopping $DESC" "$NAME"
-		start-stop-daemon --stop --quiet --pidfile "$DHCPD_PID"
-		log_end_msg $?
-		rm -f "$DHCPD_PID"
+		stop_daemon
 		;;
 	restart | force-reload)
-		test_config
 		$0 stop
 		sleep 2
 		$0 start
@@ -108,9 +157,12 @@ case "$1" in
 		fi
 		;;
 	status)
-		echo -n "Status of $DESC: "
-		check_status -v
-		exit "$?"
+		echo -n "Status of $DESC4: "
+		check_status -v $DHCPv4_PID $NAME4
+		STATUSv4="$?"
+		echo -n "Status of $DESC6: "
+		check_status -v $DHCPv6_PID $NAME6
+		exit "$(($STATUSv4|$?))"
 		;;
 	*)
 		echo "Usage: $0 {start|stop|restart|force-reload|status}"
diff --git a/debian/isc-dhcp-server.postinst b/debian/isc-dhcp-server.postinst
index b28014f..19af69c 100644
--- a/debian/isc-dhcp-server.postinst
+++ b/debian/isc-dhcp-server.postinst
@@ -34,19 +34,15 @@ umask 022
 [ -r "${INITCONFFILE}" ] || {
 	echo Generating ${INITCONFFILE}... >&2
 	cat >${INITCONFFILE} <<'EOFMAGICNUMBER1234'
-# Defaults for isc-dhcp-server initscript
-# sourced by /etc/init.d/isc-dhcp-server
-# installed at /etc/default/isc-dhcp-server by the maintainer scripts
-
-#
-# This is a POSIX shell fragment
-#
+# Defaults for isc-dhcp-server (sourced by /etc/init.d/isc-dhcp-server)
 
 # Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
-#DHCPD_CONF=/etc/dhcp/dhcpd.conf
+#DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
+#DHCPDv6_CONF=/etc/dhcp/dhcpd.conf
 
 # Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
-#DHCPD_PID=/var/run/dhcpd.pid
+#DHCPDv4_PID=/var/run/dhcpd.pid
+#DHCPDv6_PID=/var/run/dhcpd6.pid
 
 # Additional options to start dhcpd with.
 #	Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
@@ -54,18 +50,19 @@ umask 022
 
 # On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
 #	Separate multiple interfaces with spaces, e.g. "eth0 eth1".
-INTERFACES=""
+INTERFACESv4=""
+INTERFACESv6=""
 EOFMAGICNUMBER1234
 }
 
 # ------------------------- Debconf questions start ---------------------
 
 db_get isc-dhcp-server/interfaces || true
-INTERFACES="${RET}"
+INTERFACESv4="${RET}"
 
-if [ -n "$INTERFACES" ]; then
+if [ -n "$INTERFACESv4" ]; then
     TMPFILE="$(mktemp -q ${INITCONFFILE}.new.XXXXXX)"
-    sed -e "s,^[[:space:]]*INTERFACES[[:space:]]*=.*,INTERFACES=\"${INTERFACES}\"," \
+    sed -e "s,^[[:space:]]*INTERFACESv4[[:space:]]*=.*,INTERFACESv4=\"${INTERFACESv4}\"," \
 		<${INITCONFFILE} >${TMPFILE}
     cp ${TMPFILE} ${INITCONFFILE}
     rm ${TMPFILE}
@@ -74,7 +71,7 @@ fi
 # ------------------------- Debconf questions end ---------------------
 db_stop
 
-test ! -x /sbin/restorecon || /sbin/restorecon /var/lib/dhcp/dhcpd.leases
+test ! -x /sbin/restorecon || restorecon /var/lib/dhcp/dhcpd.leases
 
 #DEBHELPER#
 
diff --git a/debian/rules b/debian/rules
index 1a24449..4184716 100755
--- a/debian/rules
+++ b/debian/rules
@@ -12,6 +12,7 @@ DHCLIENT_SCRIPT=/sbin/dhclient-script
 
 CFLAGS+=-Wall
 CFLAGS+=-I/usr/include/bind-export
+CFLAGS+=$(shell dpkg-buildflags --get CFLAGS)
 
 CFLAGS+=-D_PATH_DHCPD_CONF='\"/etc/dhcp/dhcpd.conf\"'
 CFLAGS+=-D_PATH_DHCPD_DB='\"$(LEASE_PATH)/dhcpd.leases\"'

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-dhcp/isc-dhcp.git



More information about the pkg-dhcp-commits mailing list