Adding debian version 4.0~a1-1.
[live-boot-grml.git] / scripts / boot / 9990-misc-helpers.sh
index cc39fcb..358448b 100755 (executable)
@@ -99,16 +99,7 @@ is_nice_device ()
 {
        sysfs_path="${1#/sys}"
 
-       if [ -e /lib/udev/path_id ]
-       then
-               # squeeze
-               PATH_ID="/lib/udev/path_id"
-       else
-               # wheezy/sid (udev >= 174)
-               PATH_ID="/sbin/udevadm test-builtin path_id"
-       fi
-
-       if ${PATH_ID} "${sysfs_path}" | egrep -q "ID_PATH=(usb|pci-[^-]*-(ide|sas|scsi|usb|virtio)|platform-sata_mv|platform-orion-ehci|platform-mmc|platform-mxsdhci)"
+       if /sbin/udevadm test-builtin path_id "${sysfs_path}" | egrep -q "ID_PATH=(usb|pci-[^-]*-(ide|sas|scsi|usb|virtio)|platform-sata_mv|platform-orion-ehci|platform-mmc|platform-mxsdhci)"
        then
                return 0
        elif echo "${sysfs_path}" | grep -q '^/block/vd[a-z]$'
@@ -911,7 +902,9 @@ probe_for_file_name ()
        then
                echo ${ret}
        else
+               # unmount and remove mountpoint
                umount ${backing} > /dev/null 2>&1 || true
+               rmdir ${backing} > /dev/null 2>&1 || true
        fi
 }
 
@@ -938,7 +931,7 @@ find_persistence_media ()
        local white_listed_devices="${2}"
        local ret=""
 
-       local black_listed_devices="$(what_is_mounted_on /live/image)"
+       local black_listed_devices="$(what_is_mounted_on /live/medium)"
 
        for dev in $(storage_devices "${black_listed_devices}" "${white_listed_devices}")
        do
@@ -1231,7 +1224,7 @@ do_union ()
 
 get_custom_mounts ()
 {
-       # Side-effect: leaves $devices with live-persistence.conf mounted in /live/persistence
+       # Side-effect: leaves $devices with persistence.conf mounted in /live/persistence
        # Side-effect: prints info to file $custom_mounts
 
        local custom_mounts=${1}
@@ -1256,9 +1249,14 @@ get_custom_mounts ()
                        continue
                fi
 
-               local include_list="${backing}/${persistence_list}"
-               if [ ! -r "${include_list}" ]
+               local include_list
+               if [ -r "${backing}/${persistence_list}" ]
+               then
+                       include_list="${backing}/${persistence_list}"
+               elif [ -r "${backing}/${old_persistence_list}" ]
                then
+                       include_list="${backing}/${old_persistence_list}"
+               else
                        continue
                fi
 
@@ -1304,7 +1302,7 @@ get_custom_mounts ()
                        local source="${dir}"
                        if [ -n "${opt_source}" ]
                        then
-                               if echo ${opt_source} | grep -q -e "^/" -e "^\(.*/\)\?\.\.\?\(/.*\)\?$" && [ "${source}" != "." ]
+                               if echo ${opt_source} | grep -q -e "^/" -e "^\(.*/\)\?\.\.\?\(/.*\)\?$" && [ "${opt_source}" != "." ]
                                then
                                        log_warning_msg "Skipping unsafe custom mount with option source=${opt_source}: must be either \".\" (the media root) or a relative path w.r.t. the media root that contains neither comas, nor the special \".\" and \"..\" path components"
                                        continue
@@ -1440,23 +1438,23 @@ activate_custom_mounts ()
                fi
 
                # XXX: If CONFIG_AUFS_ROBR is added to the Debian kernel we can
-               # ignore the loop below and set rofs_dest_backing=$dest
-               local rofs_dest_backing=""
+               # ignore the loop below and set rootfs_dest_backing=$dest
+               local rootfs_dest_backing=""
                if [ -n "${opt_link}"]
                then
-                       for d in /live/rofs/*
+                       for d in /live/rootfs/*
                        do
                                if [ -n "${rootmnt}" ]
                                then
-                                       rofs_dest_backing="${d}/$(echo ${dest} | sed -e "s|${rootmnt}||")"
+                                       rootfs_dest_backing="${d}/$(echo ${dest} | sed -e "s|${rootmnt}||")"
                                else
-                                       rofs_dest_backing="${d}/${dest}"
+                                       rootfs_dest_backing="${d}/${dest}"
                                fi
-                               if [ -d "${rofs_dest_backing}" ]
+                               if [ -d "${rootfs_dest_backing}" ]
                                then
                                        break
                                else
-                                       rofs_dest_backing=""
+                                       rootfs_dest_backing=""
                                fi
                        done
                fi
@@ -1479,18 +1477,18 @@ activate_custom_mounts ()
                        mkdir -p ${cow_dir}
                        chown_ref "${source}" "${cow_dir}"
                        chmod_ref "${source}" "${cow_dir}"
-                       do_union ${links_source} ${cow_dir} ${source} ${rofs_dest_backing}
+                       do_union ${links_source} ${cow_dir} ${source} ${rootfs_dest_backing}
                        link_files ${links_source} ${dest} ${rootmnt}
                elif [ -n "${opt_union}" ] && [ -z "${PERSISTENCE_READONLY}" ]
                then
-                       do_union ${dest} ${source} ${rofs_dest_backing}
+                       do_union ${dest} ${source} ${rootfs_dest_backing}
                elif [ -n "${opt_bind}" ] && [ -z "${PERSISTENCE_READONLY}" ]
                then
                        mount --bind "${source}" "${dest}"
                elif [ -n "${opt_bind}" -o -n "${opt_union}" ] && [ -n "${PERSISTENCE_READONLY}" ]
                then
                        # bind-mount and union mount are handled the same
-                       # in read-only mode, but note that rofs_dest_backing
+                       # in read-only mode, but note that rootfs_dest_backing
                        # is non-empty (and necessary) only for unions
                        if [ -n "${rootmnt}" ]
                        then
@@ -1510,7 +1508,7 @@ activate_custom_mounts ()
                        mkdir -p ${cow_dir}
                        chown_ref "${source}" "${cow_dir}"
                        chmod_ref "${source}" "${cow_dir}"
-                       do_union ${dest} ${cow_dir} ${source} ${rofs_dest_backing}
+                       do_union ${dest} ${cow_dir} ${source} ${rootfs_dest_backing}
                fi
 
                PERSISTENCE_IS_ON="1"
@@ -1525,31 +1523,6 @@ activate_custom_mounts ()
        echo ${used_devices}
 }
 
-fix_backwards_compatibility ()
-{
-       local device=${1}
-       local dir=${2}
-       local opt=${3}
-
-       if [ -n "${PERSISTENCE_READONLY}" ]
-       then
-               return
-       fi
-
-       local backing="$(mount_persistence_media ${device})"
-       if [ -z "${backing}" ]
-       then
-               return
-       fi
-
-       local include_list="${backing}/${persistence_list}"
-       if [ ! -r "${include_list}" ]
-       then
-               echo "# persistence backwards compatibility:
-${dir} ${opt},source=." > "${include_list}"
-       fi
-}
-
 is_mountpoint ()
 {
        directory="$1"