Adding debian version 4.0~a1-1.
[live-boot-grml.git] / scripts / boot / 9990-misc-helpers.sh
index 94c48e6..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]$'
@@ -723,17 +714,12 @@ try_mount ()
        fi
 }
 
-# Try to mount $device to the place expected by live-boot. If $device
-# is already mounted somewhere, move it to the expected place. If
-# we're only probing $device (to check if it has custom persistence)
-# $probe should be set, which suppresses warnings upon failure. On
-# success, print the mount point for $device.
 mount_persistence_media ()
 {
        local device=${1}
        local probe=${2}
 
-       local backing="${rootmnt}/lib/live/mount/persistence/$(basename ${device})"
+       local backing="/live/persistence/$(basename ${device})"
 
        mkdir -p "${backing}"
        local old_backing="$(where_is_mounted ${device})"
@@ -765,12 +751,8 @@ mount_persistence_media ()
                        rmdir "${backing}"
                        return 1
                fi
-       else
-               # This means that $device has already been mounted on
-               # the place expected by live-boot, so we're done.
-               echo ${backing}
-               return 0
        fi
+       return 0
 }
 
 close_persistence_media ()
@@ -949,7 +931,7 @@ find_persistence_media ()
        local white_listed_devices="${2}"
        local ret=""
 
-       local black_listed_devices="$(what_is_mounted_on ${rootmnt}/lib/live/medium)"
+       local black_listed_devices="$(what_is_mounted_on /live/medium)"
 
        for dev in $(storage_devices "${black_listed_devices}" "${white_listed_devices}")
        do
@@ -1242,7 +1224,7 @@ do_union ()
 
 get_custom_mounts ()
 {
-       # Side-effect: leaves $devices with persistence.conf mounted in ${rootmnt}/lib/live/mount/persistence
+       # Side-effect: leaves $devices with persistence.conf mounted in /live/persistence
        # Side-effect: prints info to file $custom_mounts
 
        local custom_mounts=${1}
@@ -1280,7 +1262,7 @@ get_custom_mounts ()
 
                if [ -n "${DEBUG}" ] && [ -e "${include_list}" ]
                then
-                       cp ${include_list} ${rootmnt}/lib/live/mount/persistence/${persistence_list}.${device_name}
+                       cp ${include_list} /live/persistence/${persistence_list}.${device_name}
                fi
 
                while read dir options # < ${include_list}
@@ -1291,9 +1273,9 @@ get_custom_mounts ()
                                continue
                        fi
 
-                       if trim_path ${dir} | grep -q -e "^[^/]" -e "^/lib" -e "^/lib/live\(/.*\)\?$" -e "^/\(.*/\)\?\.\.\?\(/.*\)\?$"
+                       if trim_path ${dir} | grep -q -e "^[^/]" -e "^/live\(/.*\)\?$" -e "^/\(.*/\)\?\.\.\?\(/.*\)\?$"
                        then
-                               log_warning_msg "Skipping unsafe custom mount ${dir}: must be an absolute path containing neither the \".\" nor \"..\" special dirs, and cannot be \"/lib\", or \"/lib/live\" or any of its sub-directories."
+                               log_warning_msg "Skipping unsafe custom mount ${dir}: must be an absolute path containing neither the \".\" nor \"..\" special dirs, and cannot be \"/live\" or any sub-directory therein."
                                continue
                        fi
 
@@ -1460,7 +1442,7 @@ activate_custom_mounts ()
                local rootfs_dest_backing=""
                if [ -n "${opt_link}"]
                then
-                       for d in ${rootmnt}/lib/live/mount/rootfs/*
+                       for d in /live/rootfs/*
                        do
                                if [ -n "${rootmnt}" ]
                                then
@@ -1482,8 +1464,8 @@ activate_custom_mounts ()
                        link_files ${source} ${dest} ${rootmnt}
                elif [ -n "${opt_link}" ] && [ -n "${PERSISTENCE_READONLY}" ]
                then
-                       mkdir -p ${rootmnt}/lib/live/mount/persistence
-                       local links_source=$(mktemp -d ${rootmnt}/lib/live/mount/persistence/links-source-XXXXXX)
+                       mkdir -p /live/persistence
+                       local links_source=$(mktemp -d /live/persistence/links-source-XXXXXX)
                        chown_ref ${source} ${links_source}
                        chmod_ref ${source} ${links_source}
                        # We put the cow dir in the below strange place to
@@ -1491,7 +1473,7 @@ activate_custom_mounts ()
                        # has its own directory and isn't nested with some
                        # other custom mount (if so that mount's files would
                        # be linked, causing breakage.
-                       local cow_dir="${rootmnt}/lib/live/mount/overlay/lib/live/mount/persistence/$(basename ${links_source})"
+                       local cow_dir="/live/overlay/live/persistence/$(basename ${links_source})"
                        mkdir -p ${cow_dir}
                        chown_ref "${source}" "${cow_dir}"
                        chmod_ref "${source}" "${cow_dir}"
@@ -1508,7 +1490,14 @@ activate_custom_mounts ()
                        # bind-mount and union mount are handled the same
                        # in read-only mode, but note that rootfs_dest_backing
                        # is non-empty (and necessary) only for unions
-                       local cow_dir="${rootmnt}/lib/live/mount/overlay/${dest}"
+                       if [ -n "${rootmnt}" ]
+                       then
+                               local cow_dir="$(echo ${dest} | sed -e "s|^${rootmnt}|/live/overlay/|")"
+                       else
+                               # This is happens if persistence is activated
+                               # post boot
+                               local cow_dir="/live/overlay/${dest}"
+                       fi
                        if [ -e "${cow_dir}" ] && [ -z "${opt_link}" ]
                        then
                                # If an earlier custom mount has files here
@@ -1534,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"