Switch from vol_id to blkid if using udev >=146-1 (Closes: #555529).
[live-boot-grml.git] / scripts / live-helpers
index 0d97d10..84d460b 100644 (file)
@@ -76,7 +76,17 @@ is_supported_fs ()
 
 get_fstype ()
 {
-       /lib/udev/vol_id -t ${1} 2>/dev/null
+       # udev >=146-1 no longer provides vol_id:
+       if [ -x /lib/udev/vol_id ]
+       then
+               /lib/udev/vol_id -t ${1} 2>/dev/null
+       else
+               eval $(blkid -o udev "${1}")
+               if [ -n "$ID_FS_TYPE" ]
+               then
+                       echo "${ID_FS_TYPE}"
+               fi
+       fi
 }
 
 where_is_mounted ()
@@ -339,10 +349,21 @@ find_cow_device ()
                                done
                        fi
 
-                       if [ "$(/lib/udev/vol_id -l ${devname} 2>/dev/null)" = "${pers_label}" ]
+                       # udev >=146-1 no longer provides vol_id:
+                       if [ -x /lib/udev/vol_id ]
                        then
-                               echo "${devname}"
-                               return 0
+                               if [ "$(/lib/udev/vol_id -l ${devname} 2>/dev/null)" = "${pers_label}" ]
+                               then
+                                       echo "${devname}"
+                                       return 0
+                               fi
+                       else
+                               eval $(blkid -o udev "${devname}")
+                               if [ "$ID_FS_LABEL" = "${pers_label}" ]
+                               then
+                                       echo "${devname}"
+                                       return 0
+                               fi
                        fi
 
                        if [ "${PERSISTENT}" = "nofiles" ]