[pkg-wpa-devel] r1588 - in /hostapd/trunk/debian: changelog ifupdown.sh postinst

kelmo-guest at users.alioth.debian.org kelmo-guest at users.alioth.debian.org
Sun Jul 24 08:20:13 UTC 2011


Author: kelmo-guest
Date: Sun Jul 24 08:20:13 2011
New Revision: 1588

URL: http://svn.debian.org/wsvn/pkg-wpa/?sc=1&rev=1588
Log:
* Support /run/sendsigs.omit.d/:
  - create new omission pid files in /run/sendsigs.omit.d/ if it exists
  - migrate existing omission pid files from old locations to
    /run/sendsigs.omit.d/ if it exists at upgrade time
* Add a loop to ifupdown.sh to wait for creation of hostapd pid file before
  attempting creation of sensigs omission pid file, in some cases hostapd
  daemon can return before creation of the pid file has been written to disk.

Added:
    hostapd/trunk/debian/postinst
Modified:
    hostapd/trunk/debian/changelog
    hostapd/trunk/debian/ifupdown.sh

Modified: hostapd/trunk/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-wpa/hostapd/trunk/debian/changelog?rev=1588&op=diff
==============================================================================
--- hostapd/trunk/debian/changelog (original)
+++ hostapd/trunk/debian/changelog Sun Jul 24 08:20:13 2011
@@ -1,3 +1,15 @@
+hostapd (1:0.7.3-3) unstable; urgency=low
+
+  * Support /run/sendsigs.omit.d/:
+    - create new omission pid files in /run/sendsigs.omit.d/ if it exists
+    - migrate existing omission pid files from old locations to
+      /run/sendsigs.omit.d/ if it exists at upgrade time
+  * Add a loop to ifupdown.sh to wait for creation of hostapd pid file before
+    attempting creation of sensigs omission pid file, in some cases hostapd
+    daemon can return before creation of the pid file has been written to disk.
+
+ -- Kel Modderman <kel at otaku42.de>  Sun, 24 Jul 2011 17:52:37 +1000
+
 hostapd (1:0.7.3-2) unstable; urgency=low
 
   * upload to unstable

Modified: hostapd/trunk/debian/ifupdown.sh
URL: http://svn.debian.org/wsvn/pkg-wpa/hostapd/trunk/debian/ifupdown.sh?rev=1588&op=diff
==============================================================================
--- hostapd/trunk/debian/ifupdown.sh (original)
+++ hostapd/trunk/debian/ifupdown.sh Sun Jul 24 08:20:13 2011
@@ -33,9 +33,14 @@
 HOSTAPD_PIDFILE="/var/run/hostapd.$IFACE.pid"
 
 HOSTAPD_OMIT_PIDFILE=
-if [ -d /lib/init/rw/sendsigs.omit.d/ ]; then
+if [ -d /run/sendsigs.omit.d/ ]; then
+	# Debian, initscripts (>= 2.88dsf-13.3)
+	WPA_SUP_OMIT_PIDFILE="/run/sendsigs.omit.d/hostapd.${WPA_IFACE}.pid"
+elif [ -d /lib/init/rw/sendsigs.omit.d/ ]; then
+	# Debian, initscripts (< 2.88dsf-13.3)
 	HOSTAPD_OMIT_PIDFILE="/lib/init/rw/sendsigs.omit.d/hostapd.$IFACE.pid"
 elif [ -d /var/run/sendsigs.omit.d/ ]; then
+	# Ubuntu (< "oneiric")
 	HOSTAPD_OMIT_PIDFILE="/var/run/sendsigs.omit.d/hostapd.$IFACE.pid"
 fi
 
@@ -88,13 +93,26 @@
 	start-stop-daemon --start --oknodo --quiet --exec "$HOSTAPD_BIN" \
 		--pidfile "$HOSTAPD_PIDFILE" -- $HOSTAPD_OPTIONS > "$TO_NULL"
 
-	if [ "$?" -eq 0 ]; then
-		[ "$HOSTAPD_OMIT_PIDFILE" ] && \
-			cat "$HOSTAPD_PIDFILE" > "$HOSTAPD_OMIT_PIDFILE"
-		return 0
+	if [ "$?" -ne 0 ]; then
+		return "$?"
 	fi
 
-	return 1
+	if [ "$HOSTAPD_OMIT_PIDFILE" ]; then
+		HOSTAPD_PIDFILE_WAIT=0
+		until [ -s "$HOSTAPD_PIDFILE" ]; do
+			if [ "$HOSTAPD_PIDFILE_WAIT" -ge 5 ]; then
+				hostapd_msg stderr \
+					"timeout waiting for pid file creation"
+				return 1
+			fi
+
+			HOSTAPD_PIDFILE_WAIT=$(($HOSTAPD_PIDFILE_WAIT + 1))
+			sleep 1
+		done
+		cat "$HOSTAPD_PIDFILE" > "$HOSTAPD_OMIT_PIDFILE"
+	fi
+
+	return 0
 }
 
 kill_hostapd () {

Added: hostapd/trunk/debian/postinst
URL: http://svn.debian.org/wsvn/pkg-wpa/hostapd/trunk/debian/postinst?rev=1588&op=file
==============================================================================
--- hostapd/trunk/debian/postinst (added)
+++ hostapd/trunk/debian/postinst Sun Jul 24 08:20:13 2011
@@ -1,0 +1,45 @@
+#!/bin/sh
+# This script can be called in the following ways:
+#
+# After the package was installed:
+#       <postinst> configure <old-version>
+#
+#
+# If prerm fails during upgrade or fails on failed upgrade:
+#       <old-postinst> abort-upgrade <new-version>
+#
+# If prerm fails during deconfiguration of a package:
+#       <postinst> abort-deconfigure in-favour <new-package> <version>
+#                  removing <old-package> <version>
+#
+# If prerm fails during replacement due to conflict:
+#       <postinst> abort-remove in-favour <new-package> <version>
+
+set -e
+
+case "$1" in
+	configure)
+		# Migrate sendsigs pid ommission files to /run
+		if [ -d /run/sendsigs.omit.d ]; then
+			for omitd in /lib/init/rw/sendsigs.omit.d \
+			    /var/run/sendsigs.omit.d
+			do
+				if [ -d "$omitd" ]; then
+					for f in ${omitd}/hostapd.*.pid
+					do
+						mv "$f" /run/sendsigs.omit.d/
+					done
+				fi
+			done
+		fi
+		;;
+	abort-upgrade|abort-deconfigure|abort-remove)
+		;;
+	*)
+		echo "$0 called with unknown argument \`$1'" 1>&2
+		exit 1
+		;;
+esac
+
+#DEBHELPER#
+exit 0




More information about the Pkg-wpa-devel mailing list