| udev can provide all the values that usbmount determined using the |
| blkid binary. This patch drops use of blkid in favor of using the |
| environment variables set by udev. Thus it removes the dependency |
| on blkid from usbmount. |
| |
| Signed-off-by: Sven Neumann <s.neumann@raumfeld.com> |
| --- usbmount-0.0.22/usbmount.orig 2013-06-18 14:44:40.143096147 +0200 |
| +++ usbmount-0.0.22/usbmount 2013-06-19 16:13:09.882434896 +0200 |
| @@ -59,11 +59,6 @@ |
| exit 0 |
| fi |
| |
| -if [ ! -x /sbin/blkid ]; then |
| - log err "cannot execute /sbin/blkid" |
| - exit 1 |
| -fi |
| - |
| # Per Policy 9.3.2, directories under /var/run have to be created |
| # after every reboot. |
| if [ ! -e /var/run/usbmount ]; then |
| @@ -83,15 +78,7 @@ |
| trap '( lockfile-remove /var/run/usbmount/.mount )' 0 |
| log debug "acquired lock /var/run/usbmount/.mount.lock" |
| |
| - # Grab device information from device and "divide it" |
| - # FIXME: improvement: implement mounting by label (notice that labels |
| - # can contain spaces, which makes things a little bit less comfortable). |
| - DEVINFO=$(/sbin/blkid -p $DEVNAME) |
| - FSTYPE=$(echo "$DEVINFO" | sed 's/.*[[:blank:]]TYPE="\([^"]*\)".*/\1/g; s/[[:blank:]]*//g;') |
| - UUID=$(echo "$DEVINFO" | sed 's/.*[[:blank:]]UUID="\([^"]*\)".*/\1/g; s/[[:blank:]]*//g;') |
| - USAGE=$(echo "$DEVINFO" | sed 's/.*[[:blank:]]USAGE="\([^"]*\)".*/\1/g; s/[[:blank:]]*//g;') |
| - |
| - if ! echo $USAGE | egrep -q "(filesystem|disklabel)"; then |
| + if ! echo $ID_FS_USAGE | egrep -q "(filesystem|disklabel)"; then |
| log info "$DEVNAME does not contain a filesystem or disklabel" |
| exit 1 |
| fi |
| @@ -101,14 +88,14 @@ |
| log info "executing command: mount $DEVNAME" |
| mount $DEVNAME || log err "mount by DEVNAME with $DEVNAME wasn't successful; return code $?" |
| |
| - elif grep -q "^[[:blank:]]*UUID=$UUID" /etc/fstab; then |
| - log info "executing command: mount -U $UUID" |
| - mount -U $UUID || log err "mount by UUID with $UUID wasn't successful; return code $?" |
| + elif grep -q "^[[:blank:]]*UUID=$ID_FS_UUID" /etc/fstab; then |
| + log info "executing command: mount -U $ID_FS_UUID" |
| + mount -U $ID_FS_UUID || log err "mount by UUID with $ID_FS_UUID wasn't successful; return code $?" |
| |
| else |
| - log debug "$DEVNAME contains filesystem type $FSTYPE" |
| + log debug "$DEVNAME contains filesystem type $ID_FS_TYPE" |
| |
| - fstype=$FSTYPE |
| + fstype=$ID_FS_TYPE |
| # Test if the filesystem type is in the list of filesystem |
| # types to mount. |
| if in_list "$fstype" "$FILESYSTEMS"; then |
| @@ -176,11 +163,13 @@ |
| |
| # Run hook scripts; ignore errors. |
| export UM_DEVICE="$DEVNAME" |
| + export UM_UUID="$ID_FS_UUID" |
| export UM_MOUNTPOINT="$mountpoint" |
| export UM_FILESYSTEM="$fstype" |
| export UM_MOUNTOPTIONS="$options" |
| export UM_VENDOR="$vendor" |
| export UM_MODEL="$model" |
| + export UM_LABEL="$ID_FS_LABEL" |
| log info "executing command: run-parts /etc/usbmount/mount.d" |
| run-parts /etc/usbmount/mount.d || : |
| else |