search for vol_id and use retrocompatible options
authorGuido Trotter <ultrotter@google.com>
Wed, 22 Oct 2008 14:08:52 +0000 (14:08 +0000)
committerGuido Trotter <ultrotter@google.com>
Wed, 22 Oct 2008 14:08:52 +0000 (14:08 +0000)
older versions of udev, for example the one on dapper, install vol_id in
/lib/udev but not in /sbin. They also require shorter options, which
happen to work on newer udev as well.

Reviewed-by: iustinp

common.sh
create.in
import

index 3804c5a..488e0b4 100644 (file)
--- a/common.sh
+++ b/common.sh
@@ -1,4 +1,15 @@
 
+for dir in /lib/udev /sbin; do
+  if [ -f $dir/vol_id -a -x $dir/vol_id ]; then
+    VOL_ID=$dir/vol_id
+  fi
+done
+
+if [ -z "$VOL_ID" ]; then
+    echo "vol_id not found, please install udev"
+    exit 1
+fi
+
 get_api5_arguments() {
   TEMP=`getopt -o o:n:i:b:s: -n '$0' -- "$@"`
   if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
index ad6ccef..e34c719 100755 (executable)
--- a/create.in
+++ b/create.in
@@ -49,10 +49,10 @@ CACHE_FILE="$CACHE_DIR/cache-${SUITE}-${DPKG_ARCH}.tar"
 . common.sh
 
 mke2fs -Fjq $blockdev
-root_uuid=$(/sbin/vol_id --uuid $blockdev )
+root_uuid=$($VOL_ID -u $blockdev )
 if [ -n "$swapdev" ]; then
   mkswap $swapdev
-  swap_uuid=$(/sbin/vol_id --uuid $swapdev )
+  swap_uuid=$($VOL_ID -u $swapdev )
 fi
 
 TMPDIR=`mktemp -d` || exit 1
diff --git a/import b/import
index 2a4542e..19ea796 100755 (executable)
--- a/import
+++ b/import
@@ -22,10 +22,10 @@ set -e
 . common.sh
 
 mke2fs -Fjq $blockdev
-root_uuid=$(/sbin/vol_id --uuid $blockdev )
+root_uuid=$($VOL_ID -u $blockdev )
 if [ -n "$swapdev" ]; then
   mkswap $swapdev
-  swap_uuid=$(/sbin/vol_id --uuid $swapdev )
+  swap_uuid=$($VOL_ID -u $swapdev )
 fi
 
 TMPDIR=`mktemp -d` || exit 1