Move check for block device to mount_persistence_media().
[live-boot-grml.git] / components / 9990-misc-helpers.sh
index 9312381..c502d59 100755 (executable)
@@ -2,17 +2,12 @@
 
 #set -e
 
-file_pattern_matches()
-{
-       [ -e "$1" ]
-}
-
 is_live_path()
 {
        DIRECTORY="${1}/${LIVE_MEDIA_PATH}"
        for FILESYSTEM in squashfs ext2 ext3 ext4 xfs dir jffs
        do
-               if file_pattern_matches "${DIRECTORY}/"*.${FILESYSTEM}
+               if ls "${DIRECTORY}/"*.${FILESYSTEM} > /dev/null 2>&1
                then
                        return 0
                fi
@@ -199,9 +194,9 @@ check_dev ()
        if is_supported_fs ${fstype}
        then
                devuid=$(blkid -o value -s UUID "$devname")
-               [ -n "$devuid" ] && grep -qs "\<$devuid\>" $tried && continue
+               [ -n "$devuid" ] && grep -qs "\<$devuid\>" /var/lib/live/boot/devices-already-tried-to-mount && continue
                mount -t ${fstype} -o ro,noatime "${devname}" ${mountpoint} || continue
-               [ -n "$devuid" ] && echo "$devuid" >> $tried
+               [ -n "$devuid" ] && echo "$devuid" >> /var/lib/live/boot/devices-already-tried-to-mount
 
                if [ -n "${FINDISO}" ]
                then
@@ -334,21 +329,6 @@ find_livefs ()
        return 1
 }
 
-really_export ()
-{
-       STRING="${1}"
-       VALUE="$(eval echo -n \${$STRING})"
-
-       if [ -f /live.vars ] && grep -sq "export ${STRING}" /live.vars
-       then
-               sed -i -e 's/\('${STRING}'=\).*$/\1'${VALUE}'/' /live.vars
-       else
-               echo "export ${STRING}=\"${VALUE}\"" >> /live.vars
-       fi
-
-       eval export "${STRING}"="${VALUE}"
-}
-
 is_in_list_separator_helper ()
 {
        local sep element list
@@ -714,6 +694,11 @@ mount_persistence_media ()
        device=${1}
        probe=${2}
 
+       if [ ! -b "${device}" ]
+       then
+               return 1
+       fi
+
        backing="/live/persistence/$(basename ${device})"
 
        mkdir -p "${backing}"
@@ -895,7 +880,7 @@ probe_for_file_name ()
 
        for label in ${overlays}
        do
-               path=${backing}/${PERSISTENCE_PATH}${label}
+               path=${backing}/${PERSISTENCE_PATH}/${label}
                if [ -f "${path}" ]
                then
                        local loopdev
@@ -1270,11 +1255,6 @@ get_custom_mounts ()
 
        for device in ${devices}
        do
-               if [ ! -b "${device}" ]
-               then
-                       continue
-               fi
-
                local device_name backing include_list
                device_name="$(basename ${device})"
                backing=$(mount_persistence_media ${device})