CSIT-205 Update qemu install script
[csit.git] / resources / libraries / bash / qemu_build.sh
index 449cce6..e151947 100644 (file)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
+QEMU_VERSION="qemu-2.2.1"
+
+QEMU_DOWNLOAD_REPO="http://wiki.qemu-project.org/download/"
+QEMU_DOWNLOAD_PACKAGE="${QEMU_VERSION}.tar.bz2"
+QEMU_PACKAGE_URL="${QEMU_DOWNLOAD_REPO}${QEMU_DOWNLOAD_PACKAGE}"
+QEMU_INSTALL_DIR="/opt/qemu"
+
+if test "$(id -u)" -ne 0
+then
+    echo "Please use root or sudo to be able to install into: ${QEMU_INSTALL_DIR}"
+    exit 1
+fi
+
+WORKING_DIR=$(mktemp -d)
+test $? -eq 0 || exit 1
+
+cleanup () {
+    rm -r ${WORKING_DIR}
+}
+
+trap cleanup EXIT
+
+if [[ "$@" == "--force" ]]
+then
+    rm -rf ${QEMU_INSTALL_DIR}
+else
+    test -d ${QEMU_INSTALL_DIR} && echo "Qemu already installed: ${QEMU_INSTALL_DIR}" && exit 0
+fi
+
 echo
 echo Downloading QEMU source
 echo
-sudo rm -rf /tmp/qemu-2.2.1
-cd /tmp
-wget -q http://wiki.qemu-project.org/download/qemu-2.2.1.tar.bz2 || exit
+wget -P ${WORKING_DIR} -q ${QEMU_PACKAGE_URL} || exit
+test $? -eq 0 || exit 1
 
 echo
 echo Extracting QEMU
 echo
-tar xjf qemu-2.2.1.tar.bz2 || exit
-rm qemu-2.2.1.tar.bz2
+tar --strip-components 1 -xjf ${WORKING_DIR}/${QEMU_DOWNLOAD_PACKAGE} -C ${WORKING_DIR} || exit
+test $? -eq 0 || exit 1
 
 echo
 echo Building QEMU
 echo
-cd qemu-2.2.1
+cd ${WORKING_DIR}
+mkdir ${QEMU_INSTALL_DIR}
 mkdir build
 cd build
-../configure --target-list=x86_64-softmmu || exit
-make -j`nproc` || exit
+../configure --target-list=x86_64-softmmu --prefix=${QEMU_INSTALL_DIR} || exit
+make -j`nproc` || exit 1
+make install || exit 1
 
 echo
 echo QEMU ready