[arch-commits] Commit in ifplugd/trunk (PKGBUILD ifplugd)
Dave Reisner
dreisner at archlinux.org
Sat Apr 28 18:49:33 UTC 2012
Date: Saturday, April 28, 2012 @ 14:49:33
Author: dreisner
Revision: 157469
upgpkg: ifplugd 0.28-9
- fix a few latent bugs from ifplugd script testing
Modified:
ifplugd/trunk/PKGBUILD
ifplugd/trunk/ifplugd
----------+
PKGBUILD | 13 ++++++++-----
ifplugd | 41 +++++++++++++++++++----------------------
2 files changed, 27 insertions(+), 27 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2012-04-28 17:53:35 UTC (rev 157468)
+++ PKGBUILD 2012-04-28 18:49:33 UTC (rev 157469)
@@ -5,7 +5,7 @@
pkgname=ifplugd
pkgver=0.28
-pkgrel=8
+pkgrel=9
pkgdesc="A daemon which brings up/down network interfaces upon cable insertion/removal."
arch=('i686' 'x86_64')
url="http://0pointer.de/lennart/projects/ifplugd"
@@ -14,10 +14,13 @@
backup=('etc/ifplugd/ifplugd.conf' 'etc/ifplugd/ifplugd.action')
options=('!makeflags')
source=($url/${pkgname}-${pkgver}.tar.gz 'ifplugd' 'ifplugd.action' 'ifplugd-0.28-interface.patch' 'ifdown.01-route.sh' 'ifup.01-route.sh' 'ifup.02-ntpdate.sh')
-md5sums=('df6f4bab52f46ffd6eb1f5912d4ccee3' '70d66121ae5163348855236951e069a2'\
- 'e91a3d77d707ae79fbc10146848032dc' '54eb22844b5aeed161c0b80aa9008570'\
- 'd6ce6c7bd481a0b3944c944c5b277c0b' 'c35f0a637911b747f8dc3bd3c6156a1b'\
- 'f8690ee18a5ca72555585ee96826c2cf')
+md5sums=('df6f4bab52f46ffd6eb1f5912d4ccee3'
+ 'ef27f40434ca85ccaf57a7e388eb001e'
+ '6f98767c4ea2cf0580f73ced81efd21a'
+ '54eb22844b5aeed161c0b80aa9008570'
+ 'd6ce6c7bd481a0b3944c944c5b277c0b'
+ 'c35f0a637911b747f8dc3bd3c6156a1b'
+ 'f8690ee18a5ca72555585ee96826c2cf')
build() {
cd ${srcdir}/${pkgname}-${pkgver}
Modified: ifplugd
===================================================================
--- ifplugd 2012-04-28 17:53:35 UTC (rev 157468)
+++ ifplugd 2012-04-28 18:49:33 UTC (rev 157469)
@@ -10,7 +10,7 @@
# env vars
daemonname=ifplugd
cfg=/etc/ifplugd/ifplugd.conf
-PID=$(pgrep -ox ifplugd)
+PID=$(pidof -o %PPID ifplugd)
# source configuration file
[[ -r $cfg ]] && . "$cfg"
@@ -18,24 +18,25 @@
# discover interfaces to monitor
# (replacing INTERFACES with net_ifs, since AL
# already uses it in /etc/rc.conf)
-if [[ -z $net_ifs ]]; then
+if [[ -z $net_ifs ]]; then
net_ifs=(/sys/class/net/!(lo))
net_ifs=("${net_ifs[@]##*/}")
fi
case $1 in
start)
- stat_busy "Starting $daemonname"
- if [[ $PID ]]; then
- stat_fail
- exit 1
- fi
+ stat_busy "Starting $daemonname: ${net_ifs[*]}"
for nic in "${net_ifs[@]}"; do
- args=ARGS_$nic
- [[ -z ${!args} ]] && args=$ARGS || args=${!args}
- ifplugd -i "$nic" $args || (( ++err ))
- printf ' %s' "$nic"
+ # only start if a PID doesn't already exist
+ if [[ ! -f /var/run/ifplugd.$nic.pid ]]; then
+ args=ARGS_$nic
+ [[ -z ${!args} ]] && args=$ARGS || args=${!args}
+ ifplugd -i "$nic" $args
+
+ # use presence of PID file to check for start success
+ [[ -f /var/run/ifplugd.$nic.pid ]] || (( ++err ))
+ fi
done
unset nic
@@ -48,15 +49,13 @@
fi
;;
stop)
- stat_busy "Stopping $daemonname"
- if [[ -z $PID ]]; then
- stat_fail
- exit 1
- fi
+ stat_busy "Stopping $daemonname: ${net_ifs[*]}"
- for nic in "${net_ifs[@]}"; do
+ for nic in /var/run/ifplugd.*.pid; do
+ [[ -f $nic ]] || { (( ++err )); break; }
+ nic=${nic%.pid}
+ nic=${nic##*.}
ifplugd -k -i "$nic" || (( ++err ))
- printf ' %s' "$nic"
done
if (( err )); then
@@ -79,10 +78,9 @@
unset nic
;;
suspend)
- stat_busy "Suspending $daemonname"
+ stat_busy "Suspending $daemonname: ${net_ifs[*]}"
for nic in "${net_ifs[@]}"; do
ifplugd -S -i $nic || (( ++err ))
- printf ' %s' "$nic"
done
unset nic
@@ -94,11 +92,10 @@
fi
;;
resume)
- stat_busy "Resuming $daemonname"
+ stat_busy "Resuming $daemonname ${net_ifs[*]}"
for nic in "${net_ifs[@]}"; do
ifplugd -R -i $nic || (( ++err ))
- printf ' %s' "$nic"
done
unset nic
More information about the arch-commits
mailing list