set -e
-TEMP=`getopt -o i:b:s: -n '$0' -- "$@"`
+. common.sh
-if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
-
-# Note the quotes around `$TEMP': they are essential!
-eval set -- "$TEMP"
-
-while true; do
- case "$1" in
- -i) instance=$2; shift 2;;
-
- -b) blockdev=$2; shift 2;;
-
- -s) swapdev=$2; shift 2;;
-
- --) shift; break;;
-
- *) echo "Internal error!"; exit 1;;
- esac
-done
-if [ -z "$instance" -o -z "$blockdev" -o -z "$swapdev" ]; then
- echo "Missing -i or -b or -s argument!"
- exit 1
-fi
-
-mkswap $swapdev
mke2fs -Fjq $blockdev
-swap_uuid=$(/sbin/vol_id --uuid $swapdev )
-root_uuid=$(/sbin/vol_id --uuid $blockdev )
+root_uuid=$($VOL_ID -u $blockdev )
+if [ -n "$swapdev" ]; then
+ mkswap $swapdev
+ swap_uuid=$($VOL_ID -u $swapdev )
+fi
TMPDIR=`mktemp -d` || exit 1
trap "umount $TMPDIR; rmdir $TMPDIR" EXIT
# Fix /etc/fstab with the new volumes' UUIDs
if [ -e $TMPDIR/etc/fstab ]; then
ROOT_LINE="UUID=$root_uuid / ext3 defaults 0 1"
- SWAP_LINE="UUID=$swap_uuid swap swap defaults 0 0"
- cat $TMPDIR/etc/fstab | \
- sed -re "s#^(/dev/sda|UUID=[a-f0-9-]+)\s+/\s+.*\$#$ROOT_LINE#" \
- -re "s#^(/dev/sdb|UUID=[a-f0-9-]+)\s+swap\s+.*\$#$SWAP_LINE#" \
- > $TMPDIR/etc/fstab.new
+ if [ -n "$swapdev" ]; then
+ SWAP_LINE="UUID=$swap_uuid swap swap defaults 0 0"
+ cat $TMPDIR/etc/fstab | \
+ sed -re "s#^(/dev/sda|UUID=[a-f0-9-]+)\s+/\s+.*\$#$ROOT_LINE#" \
+ -re "s#^(/dev/sdb|UUID=[a-f0-9-]+)\s+swap\s+.*\$#$SWAP_LINE#" \
+ > $TMPDIR/etc/fstab.new
+ else
+ cat $TMPDIR/etc/fstab | \
+ sed -re "s#^(/dev/sda|UUID=[a-f0-9-]+)\s+/\s+.*\$#$ROOT_LINE#" \
+ > $TMPDIR/etc/fstab.new
+ fi
mv $TMPDIR/etc/fstab.new $TMPDIR/etc/fstab
fi