#!/bin/bash

virtualSize=1048676

create_azure()
{
    output_image_name="${RAW_IMAGE%.*}"
    qemu-img info -f raw --output json ${RAW_IMAGE}
    qemu-img resize -f raw ${RAW_IMAGE} $virtualSize
    qemu-img convert ${RAW_IMAGE} -O vpc -o subformat=fixed,force_size ${output_image_name}.vhd
    tar -cvzf ${output_image_name}.vhd.tar.gz ${output_image_name}.vhd
    rm -f ${RAW_IMAGE} ${output_image_name}.vhd
}

usage() {
    echo "Usage: $0"
    echo "          [--raw-image <image-file>] (required)"
}

OPTS=$(getopt -o h --long raw-image: -n $0 -- "$@")
if [ $? != 0 ] ; then
    usage
    echo "Terminating." >&2
    exit 1
fi

eval set -- "$OPTS"

while true; do
    echo $1
    case "$1" in
        -h) usage ; exit 0;;
        --raw-image) RAW_IMAGE=${2} ; shift 2 ;;
        --) shift; break ;;
        *) break ;;
    esac
done

if [ -z "${RAW_IMAGE}" ] ; then
    echo "no suitable image found" >&2
    usage
    echo "Terminating." >&2
    exit 1
fi

create_azure
