summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorDaniel Baumann <daniel@debian.org>2010-04-30 18:08:29 +0200
committerDaniel Baumann <daniel@debian.org>2011-03-09 17:48:08 +0100
commit65c4409a123cfd128a1c49f6c4b8c335f0cbd9af (patch)
treefd50ca9261db4913f75828761f0de2ebfa814aa6 /bin
parent05282e4936ad180d45b8986ad2d6512e55f9daae (diff)
downloadlive-boot-65c4409a123cfd128a1c49f6c4b8c335f0cbd9af.tar.gz
live-boot-65c4409a123cfd128a1c49f6c4b8c335f0cbd9af.zip
Merging casper 1.182.
Diffstat (limited to 'bin')
-rwxr-xr-xbin/live-new-uuid29
1 files changed, 20 insertions, 9 deletions
diff --git a/bin/live-new-uuid b/bin/live-new-uuid
index 97cc7d4..2e29f6a 100755
--- a/bin/live-new-uuid
+++ b/bin/live-new-uuid
@@ -31,10 +31,10 @@ set -e
help() {
echo
- echo "USAGE: $0 initrd.gz <path-to-new-initrd.gz> <path-to-new-live-uuid> "
+ echo "USAGE: $0 initrd.{l,g}z <path-to-new-initrd> <path-to-new-live-uuid> "
echo
- echo "initrd.gz is the absolute path to the original gzipped initramfs"
- echo "<path-to-new-initrd.gz> is the destination directory for the new gzipped initramfs"
+ echo "initrd.{l,g}z is the absolute path to the original gzipped or lzmaed initramfs"
+ echo "<path-to-new-initrd> is the destination directory for the new compressed initramfs"
echo "<path-to-new-live-uuid> is the destination directory for the new live-uuid-TYPE "
echo
echo "if either path is absent, they will end up in the current directory "
@@ -50,10 +50,21 @@ CWD=`pwd`
TEMPDIR=`mktemp -d /tmp/uuid-XXXXXX`
TYPE=`uname -r | cut -d '-' -f 3`
+if echo "$1" | grep ".lz$" >/dev/null; then
+ COMPRESSOR="lzma"
+ SUFFIX=".lz"
+elif echo "$1" | grep ".gz$" >/dev/null; then
+ COMPRESSOR="gzip"
+ SUFFIX=".gz"
+else
+ echo "Unsupported archive type."
+ exit 2
+fi
+
if [ -z "$2" ] || [ ! -d "$2" ] || [ "$2" = "." ]; then
- GZIPDIR="$CWD"
+ COMPRESS_DIR="$CWD"
else
- GZIPDIR="$2"
+ COMPRESS_DIR="$2"
fi
if [ -z "$3" ] || [ ! -d "$3" ] || [ "$3" = "." ]; then
@@ -63,13 +74,13 @@ else
fi
cd "$TEMPDIR"
-zcat "$1" | cpio -id
+$COMPRESSOR -cd "$1" -S "$SUFFIX" | cpio -id
uuidgen -r > conf/uuid.conf
-find . | cpio --quiet --dereference -o -H newc | gzip > "$GZIPDIR/initrd.gz"
+find . | cpio --quiet --dereference -o -H newc | $COMPRESSOR -9c > "$COMPRESS_DIR/initrd$SUFFIX"
if [ "$(ls "$LIVEDIR/live-uuid"-* >/dev/null 2>&1 | wc -l)" = 1 ]; then
- cp conf/uuid.conf "$LIVEDIR/live-uuid"-*
+ cp conf/uuid.conf "$LIVEDIR/live-uuid"-*
else
- cp conf/uuid.conf "$LIVEDIR/live-uuid-$TYPE"
+ cp conf/uuid.conf "$LIVEDIR/live-uuid-$TYPE"
fi
cd "$CWD"
rm -rf "$TEMPDIR"