Adding debian version 3.0~a1-1.
[live-boot-grml.git] / bin / live-snapshot
index bf63041..08e5fd6 100755 (executable)
@@ -4,7 +4,7 @@
 #
 #   This program mounts a device (fallback to /tmpfs under $MOUNTP
 #   and saves the /live/cow (or a different directory) filesystem in it
-#   for reuse in another live-initramfs session.
+#   for reuse in another live-boot session.
 #   Look at the manpage for more informations.
 #
 # Copyright (C) 2006-2008 Marco Amadori <marco.amadori@gmail.com>
@@ -40,7 +40,11 @@ fi
 . /usr/share/initramfs-tools/scripts/live-helpers
 
 LIVE_CONF="/etc/live.conf"
-. "${LIVE_CONF}"
+
+if [ -r "${LIVE_CONF}" ]
+then
+       . "${LIVE_CONF}"
+fi
 
 export USERNAME USERFULLNAME HOSTNAME
 
@@ -238,7 +242,7 @@ Defaults ()
        # Parse resync string
        if [ -n "${SNAP_RESYNC_STRING}" ]
        then
-               SNAP_COW=$(echo "${SNAP_RESYNC_STRING/\/root/${DEF_SNAP_COW}}" | cut -f1 -d ':')
+               SNAP_COW=$(echo "${SNAP_RESYNC_STRING}" | sed -e 's|^/root\([^:.]*\).*$|'"${DEF_SNAP_COW}"'\1|')
                SNAP_DEV=$(echo "${SNAP_RESYNC_STRING}" | cut -f2 -d ':')
                SNAP_MNT=$(echo "${SNAP_RESYNC_STRING}" | cut -f3 -d ':')
                DEST="${MOUNTP}/${SNAP_MNT}"
@@ -362,7 +366,7 @@ Do_filelist ()
        if [ -f "${SNAP_LIST}" ]
        then
                # if SNAP_COW == /live/cow/home, SNAP_RW = /home
-               SNAP_RW="${SNAP_COW/${DEF_SNAP_COW}}"
+               SNAP_RW=$(echo "${SNAP_COW}" | sed -e "s|${DEF_SNAP_COW}||g")
                if [ -z "${SNAP_RW}" ]
                then
                        SNAP_RW="/"
@@ -443,10 +447,10 @@ Do_snapshot ()
                                        grep -F -v -f "${EXCLUDE_LIST}" | \
                                        tr '\n' '\0' | \
                                        tr '\1' '\n' | \
-                                       $COPY_CMD || exit 1
+                                       eval $COPY_CMD || exit 1
                        else
                                cat "${TMP_FILELIST}" | \
-                                       $COPY_CMD || exit 1
+                                       eval $COPY_CMD || exit 1
                        fi
                        cd "${OLDPWD}"
                        ;;