chiark / gitweb /
[PATCH] implement printf-like placeholder support for NAME
[elogind.git] / test.block
index f5e808b557008e0a0860ddf26413221b56832cef..622a66037f3d4494c3bba07e6d410e9dfdc4d04e 100644 (file)
@@ -1,10 +1,30 @@
-#!/bin/sh
-export ACTION=add
-#export ACTION=remove
-export DEVPATH=/devices/pci0/00:09.0/usb1/1-1/1-1.1/ttyUSB7
-export DEVPATH=/class/tty/ttyUSB0
-export DEVPATH=/block/hda
+#! /bin/sh
+#
+# test.block - run udev(8) on each block device in /sys/block
 
+if [ $# = "0" ] ; then
+       echo
+       echo "usage: $0 <action>"
+       echo "where <action> is \"add\" or \"remove\""
+       echo
+       exit 1
+fi
 
-./udev block
-#./udev tty
+SYSFSDIR=/sys          # change this for a nonstand sysfs mount point
+BIN=./udev             # location of your udev binary
+export ACTION=$1       # 'add' or 'remove'
+
+for i in ${SYSFSDIR}/block/*; do
+       # add each drive
+       export DEVPATH="/"`echo $i | cut --delimiter='/' --fields=3-`
+       $BIN block
+
+       # add each partition, on each device
+       for j in $i/*; do
+               if [ -f $j/dev ]; then
+                       export DEVPATH="/"`echo $j |  \
+                               cut --delimiter='/' --fields=3-`
+                       $BIN block
+               fi
+       done
+done