Adding upstream version 1.91.4.
[live-boot-grml.git] / bin / live-snapshot
index b803b15..a7214bd 100755 (executable)
@@ -3,7 +3,7 @@
 # live-snapshot - utility to manage Debian Live systems snapshots
 #
 #   This program mount a device (fallback to /tmpfs under /mnt/snapshot
-#   and save the /cow (or a different dir) filesystem in it for reusing
+#   and save the /live/cow (or a different dir) filesystem in it for reusing
 #   in another live-initramfs session. Look at manpage for more info.
 #
 # Copyright (C) 2006 Marco Amadori <marco.amadori@gmail.com>
@@ -23,7 +23,7 @@
 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 #
 # On Debian systems, the complete text of the GNU General Public License
-# can be found in /usr/share/common-licenses/GPL file.
+# can be found in /usr/share/common-licenses/GPL-2 file.
 
 PROGRAM="`basename $0`"
 VERSION=0.0.1
@@ -90,11 +90,11 @@ Help ()
        Header
        echo
        echo "Options:"
-       echo "  -c, --cow: specifies the copy on write directory (default: /cow)."
+       echo "  -c, --cow: specifies the copy on write directory (default: /live/cow)."
        echo "  -d, --device: specifies the output snapshot device (default: none)."
        echo "  -o, --output: specifies the output image file (default: $type dependent)."
     echo "  -r, --resync-string: internally used to resync previous made snapshots."
-       echo "  -t, --type: specifies the snapshot type between \"squashfs\", \"ext2\" or \"cpio\".gz archive (default: cpio)"
+       echo "  -t, --type: specifies the snapshot type between \"squashfs\", \"ext2\", \"ext3\" or \"cpio\".gz archive (default: cpio)"
     echo -e "\nLook at live-snapshot(1) man page for more information."
        exit 0
 }
@@ -120,7 +120,7 @@ Version ()
        echo "Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA"
        echo
        echo "On Debian systems, the complete text of the GNU General Public License"
-       echo "can be found in /usr/share/common-licenses/GPL file."
+       echo "can be found in /usr/share/common-licenses/GPL-2 file."
        echo
        echo "Homepage: <http://debian-live.alioth.debian.org/>"
        exit 0
@@ -138,7 +138,7 @@ Do_snapshot ()
                cpio)
                        ( cd "${COW}" && find . -path '*.wh.*' -prune -o -print0 | cpio --quiet -o0 -H newc | gzip -9c > "${DEST}" ) || exit 1
                        ;;
-               ext2)
+               ext2|ext3)
                        DU_DIM="`du -ks ${COW} | cut -f1`"
                        REAL_DIM="`expr ${DU_DIM} + ${DU_DIM} / 20`" # Just 5% more to be sure, need something more sophistcated here...
                        genext2fs --size-in-blocks=${REAL_DIM} --reserved-blocks=0 --root="${COW}" "${DEST}" || exit 1
@@ -154,7 +154,7 @@ Is_same_mount ()
 {
        dir1="`Base_path $1`"
        dir2="`Base_path $2`"
-       if [ "${dir1}" == "${dir2}" ]; then
+       if [ "${dir1}" = "${dir2}" ]; then
                return 0
        else
                return 1
@@ -224,7 +224,7 @@ Mount_device ()
 Defaults ()
 {
        MOUNTP="/mnt/live-snapshot"
-       COW="/cow"
+       COW="/live/cow"
        DEV=""
        DEST="${MOUNTP}/live-sn.cpio.gz"
        TYPE="cpio"
@@ -242,13 +242,13 @@ Defaults ()
                                TYPE="squashfs" ;;
                        "")
                                TYPE="ext2" ;;
-                       *.ext2)
+                       *.ext2|*.ext3)
                                TYPE="ext2" ;;
                        *)
                                Usage "Unregognized String" ;;
                esac
        else
-               DEF_COW="/cow"
+               DEF_COW="/live/cow"
                # Bad options handling
                if [ -z "${SNAP_COW}" ]; then
                        COW="${DEF_COW}"
@@ -257,7 +257,7 @@ Defaults ()
                fi
 
                case "${SNAP_TYPE}" in
-                       "cpio"|"squashfs"|"ext2")
+                       "cpio"|"squashfs"|"ext2"|"ext3")
                                TYPE="${SNAP_TYPE}"
                                ;;
                        "")