1*4882a593Smuzhiyunudev can provide all the values that usbmount determined using the 2*4882a593Smuzhiyunblkid binary. This patch drops use of blkid in favor of using the 3*4882a593Smuzhiyunenvironment variables set by udev. Thus it removes the dependency 4*4882a593Smuzhiyunon blkid from usbmount. 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunSigned-off-by: Sven Neumann <s.neumann@raumfeld.com> 7*4882a593Smuzhiyun--- usbmount-0.0.22/usbmount.orig 2013-06-18 14:44:40.143096147 +0200 8*4882a593Smuzhiyun+++ usbmount-0.0.22/usbmount 2013-06-19 16:13:09.882434896 +0200 9*4882a593Smuzhiyun@@ -59,11 +59,6 @@ 10*4882a593Smuzhiyun exit 0 11*4882a593Smuzhiyun fi 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun-if [ ! -x /sbin/blkid ]; then 14*4882a593Smuzhiyun- log err "cannot execute /sbin/blkid" 15*4882a593Smuzhiyun- exit 1 16*4882a593Smuzhiyun-fi 17*4882a593Smuzhiyun- 18*4882a593Smuzhiyun # Per Policy 9.3.2, directories under /var/run have to be created 19*4882a593Smuzhiyun # after every reboot. 20*4882a593Smuzhiyun if [ ! -e /var/run/usbmount ]; then 21*4882a593Smuzhiyun@@ -83,15 +78,7 @@ 22*4882a593Smuzhiyun trap '( lockfile-remove /var/run/usbmount/.mount )' 0 23*4882a593Smuzhiyun log debug "acquired lock /var/run/usbmount/.mount.lock" 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun- # Grab device information from device and "divide it" 26*4882a593Smuzhiyun- # FIXME: improvement: implement mounting by label (notice that labels 27*4882a593Smuzhiyun- # can contain spaces, which makes things a little bit less comfortable). 28*4882a593Smuzhiyun- DEVINFO=$(/sbin/blkid -p $DEVNAME) 29*4882a593Smuzhiyun- FSTYPE=$(echo "$DEVINFO" | sed 's/.*[[:blank:]]TYPE="\([^"]*\)".*/\1/g; s/[[:blank:]]*//g;') 30*4882a593Smuzhiyun- UUID=$(echo "$DEVINFO" | sed 's/.*[[:blank:]]UUID="\([^"]*\)".*/\1/g; s/[[:blank:]]*//g;') 31*4882a593Smuzhiyun- USAGE=$(echo "$DEVINFO" | sed 's/.*[[:blank:]]USAGE="\([^"]*\)".*/\1/g; s/[[:blank:]]*//g;') 32*4882a593Smuzhiyun- 33*4882a593Smuzhiyun- if ! echo $USAGE | egrep -q "(filesystem|disklabel)"; then 34*4882a593Smuzhiyun+ if ! echo $ID_FS_USAGE | egrep -q "(filesystem|disklabel)"; then 35*4882a593Smuzhiyun log info "$DEVNAME does not contain a filesystem or disklabel" 36*4882a593Smuzhiyun exit 1 37*4882a593Smuzhiyun fi 38*4882a593Smuzhiyun@@ -101,14 +88,14 @@ 39*4882a593Smuzhiyun log info "executing command: mount $DEVNAME" 40*4882a593Smuzhiyun mount $DEVNAME || log err "mount by DEVNAME with $DEVNAME wasn't successful; return code $?" 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun- elif grep -q "^[[:blank:]]*UUID=$UUID" /etc/fstab; then 43*4882a593Smuzhiyun- log info "executing command: mount -U $UUID" 44*4882a593Smuzhiyun- mount -U $UUID || log err "mount by UUID with $UUID wasn't successful; return code $?" 45*4882a593Smuzhiyun+ elif grep -q "^[[:blank:]]*UUID=$ID_FS_UUID" /etc/fstab; then 46*4882a593Smuzhiyun+ log info "executing command: mount -U $ID_FS_UUID" 47*4882a593Smuzhiyun+ mount -U $ID_FS_UUID || log err "mount by UUID with $ID_FS_UUID wasn't successful; return code $?" 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun else 50*4882a593Smuzhiyun- log debug "$DEVNAME contains filesystem type $FSTYPE" 51*4882a593Smuzhiyun+ log debug "$DEVNAME contains filesystem type $ID_FS_TYPE" 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun- fstype=$FSTYPE 54*4882a593Smuzhiyun+ fstype=$ID_FS_TYPE 55*4882a593Smuzhiyun # Test if the filesystem type is in the list of filesystem 56*4882a593Smuzhiyun # types to mount. 57*4882a593Smuzhiyun if in_list "$fstype" "$FILESYSTEMS"; then 58*4882a593Smuzhiyun@@ -176,11 +163,13 @@ 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun # Run hook scripts; ignore errors. 61*4882a593Smuzhiyun export UM_DEVICE="$DEVNAME" 62*4882a593Smuzhiyun+ export UM_UUID="$ID_FS_UUID" 63*4882a593Smuzhiyun export UM_MOUNTPOINT="$mountpoint" 64*4882a593Smuzhiyun export UM_FILESYSTEM="$fstype" 65*4882a593Smuzhiyun export UM_MOUNTOPTIONS="$options" 66*4882a593Smuzhiyun export UM_VENDOR="$vendor" 67*4882a593Smuzhiyun export UM_MODEL="$model" 68*4882a593Smuzhiyun+ export UM_LABEL="$ID_FS_LABEL" 69*4882a593Smuzhiyun log info "executing command: run-parts /etc/usbmount/mount.d" 70*4882a593Smuzhiyun run-parts /etc/usbmount/mount.d || : 71*4882a593Smuzhiyun else 72