From b2dcc3e01cb2de8a3665c55f731e8a2dd97eff40 Mon Sep 17 00:00:00 2001 From: Manuel Bentele Date: Fri, 5 Feb 2021 14:33:56 +0100 Subject: [qemu] Add support to build the qemu runvirt plugin --- core/modules/qemu/module.build | 19 ++++++++++++++++++- core/modules/qemu/module.conf | 36 +++++++++++++++++++++++++++++++++++- core/modules/qemu/module.conf.debian | 20 -------------------- core/modules/qemu/module.conf.ubuntu | 5 ++--- 4 files changed, 55 insertions(+), 25 deletions(-) delete mode 100644 core/modules/qemu/module.conf.debian diff --git a/core/modules/qemu/module.build b/core/modules/qemu/module.build index fc1bc074..d1d9a691 100644 --- a/core/modules/qemu/module.build +++ b/core/modules/qemu/module.build @@ -1,13 +1,30 @@ #!/bin/bash + fetch_source() { - : + # copy qemu runvirt plugin source to working directory + local src_dir="${MODULE_DIR}/runvirt-plugin-qemu" + local dst_dir="${MODULE_WORK_DIR}/src" + mkdir -p "${dst_dir}" || perror "Could not create source folder for qemu runvirt plugin!" + cp -r "${src_dir}" "${dst_dir}" || perror "Could not copy source files for qemu runvirt plugin!" } build() { + # copy mandatory system packages COPYLIST="list_dpkg_output" [ -e "${COPYLIST}" ] && rm "${COPYLIST}" list_packet_files >> "${COPYLIST}" tarcopy "$(cat "${COPYLIST}" | sort -u)" "${MODULE_BUILD_DIR}" + + # build qemu runvirt plugin + local build_dir="${MODULE_WORK_DIR}/src/runvirt-plugin-qemu" + mvn -f "${build_dir}" clean package || perror "Could not build runvirt-plugin-qemu with Maven!" + + # install qemu runvirt plugin + local build_artifact_filename="runvirt-plugin-qemu-1.0-SNAPSHOT.jar" + local install_dir="${MODULE_BUILD_DIR}/opt/openslx/share/java" + local install_filename="runvirt-plugin-qemu.jar" + mkdir -p "${install_dir}" + cp "${build_dir}/target/${build_artifact_filename}" "${install_dir}/${install_filename}" || perror "Could not install runvirt-plugin-qemu!" } post_copy() { diff --git a/core/modules/qemu/module.conf b/core/modules/qemu/module.conf index 61069809..def35459 100644 --- a/core/modules/qemu/module.conf +++ b/core/modules/qemu/module.conf @@ -1,2 +1,36 @@ #!/bin/bash -REQUIRED_MODULES="libvirt" + +REQUIRED_MODULES=" + libvirt + openjdk-8-jre-headless +" + +REQUIRED_BINARIES=" + ivshmem-client + ivshmem-server + kvm + qemu-img + qemu-io + qemu-nbd + qemu-pr-helper + qemu-system-aarch64 + qemu-system-arm + qemu-system-i386 + qemu-system-x86_64 + virtfs-proxy-helper + qemu-make-debian-root + qemu-bridge-helper + vhost-user-gpu +" + +REQUIRED_DIRECTORIES=" + /etc + /usr/share/ovmf + /usr/share/OVMF + /usr/share/qemu + /usr/share/seabios +" + +REQUIRED_FILES=" + /opt/openslx/share/java/runvirt-plugin-qemu.jar +" diff --git a/core/modules/qemu/module.conf.debian b/core/modules/qemu/module.conf.debian deleted file mode 100644 index f4892d81..00000000 --- a/core/modules/qemu/module.conf.debian +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash -REQUIRED_INSTALLED_PACKAGES=" - qemu - qemu-kvm - mvn - openjdk-11-jdk-headless - openjdk-11-jre -" - -REQUIRED_CONTENT_PACKAGES=" - qemu - qemu-kvm - qemu-system-common - qemu-system-arm - qemu-system-x86 - qemu-utils - seabios - ovmf - openjdk-11-jre -" diff --git a/core/modules/qemu/module.conf.ubuntu b/core/modules/qemu/module.conf.ubuntu index 651d7a37..5f9bc981 100644 --- a/core/modules/qemu/module.conf.ubuntu +++ b/core/modules/qemu/module.conf.ubuntu @@ -1,10 +1,10 @@ #!/bin/bash + REQUIRED_INSTALLED_PACKAGES=" qemu qemu-kvm - mvn + maven openjdk-8-jdk-headless - openjdk-8-jre " REQUIRED_CONTENT_PACKAGES=" @@ -16,5 +16,4 @@ REQUIRED_CONTENT_PACKAGES=" qemu-utils seabios ovmf - openjdk-8-jre " -- cgit v1.2.3-55-g7522