blob: 7966de71e99ef9de0091cb08697806dfac0c8d97 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
#!/bin/sh
# vim: ft=sh ts=4 sts=4 sw=4 et ai
# -*- Mode: bash; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
help() {
echo "Usage: self-extract.sh [--suffix SUFFIX] [--delete] [--sharedir DIR]"
echo " --suffix: use the given suffix when extracting the live VM directory"
echo " --delete: delete the live VM directory when the VM exits"
echo " --sharedir: directory to use for sharing files between guest and host"
exit 0
}
SUFFIX=
DELETE=
SHAREDIR=
while [[ $# > 0 ]]; do
key="$1"
case $key in
-s|--suffix)
SUFFIX="$2"
shift
;;
-d|--delete)
DELETE=yes
;;
-a|--sharedir)
SHAREDIR="$2"
shift
;;
-h|--help)
help
;;
*)
die "Unrecognized option '$key'"
;;
esac
shift
done
NAME=__NAME_PLACEHOLDER__
BUNDLE=`readlink -f "$0"` || exit 1
if [ -n "$SUFFIX" ]; then
TEMP="$PWD/$NAME.$SUFFIX"
mkdir -p "$TEMP"
else
TEMP=`mktemp -d "$PWD/$NAME.XXXXXXXXXX"` || exit 1
fi
echo "Extracting to: $TEMP"
cd "$TEMP" || exit 1
sed '1,/^__MARK__$/d' "$BUNDLE" > $NAME.tar.gz || exit 1
tar -xvf $NAME.tar.gz || exit 1
cd $NAME || exit 1
./run.sh "$SHAREDIR" || exit 1
if [ "$DELETE" = "yes" ]; then
rm -rf "$TEMP"
fi
exit 0
__MARK__
|