From 26cdf42b8a4d8f15768f93cf0895a359a3412638 Mon Sep 17 00:00:00 2001 From: Angelos Mouzakitis Date: Mon, 12 Dec 2022 12:41:38 +0100 Subject: virtio-loopback: v5: Add recipes for virtio-loopback support Includes the virtio-loopback kernel module, the adapter application, the vhost-user devices from QEMU and a Rust vhost-user-rng device implementation. v2: Update recipes to conform with the OE-Styleguide v3: Recipes fixes for generic builds v4: Generalize the recipes to build for different architectures v5: Update recipes to comply with the OE-Styleguide Change-Id: I67c14fd77e564c0aecdde40dc1cf7e893dae6de1 Signed-off-by: Angelos Mouzakitis --- .../qemu-vhost-user-devices.bb | 48 ++++++++++++++++++++++ ...ray-terminate-entry-for-arg-parsing-optio.patch | 23 +++++++++++ 2 files changed, 71 insertions(+) create mode 100644 meta-egvirt/recipes-qemu/qemu-vhost-user-devices/qemu-vhost-user-devices.bb create mode 100644 meta-egvirt/recipes-qemu/qemu-vhost-user-devices/qemu-vhost-user-devices/0001-Add-NULL-array-terminate-entry-for-arg-parsing-optio.patch (limited to 'meta-egvirt/recipes-qemu/qemu-vhost-user-devices') diff --git a/meta-egvirt/recipes-qemu/qemu-vhost-user-devices/qemu-vhost-user-devices.bb b/meta-egvirt/recipes-qemu/qemu-vhost-user-devices/qemu-vhost-user-devices.bb new file mode 100644 index 00000000..2e7eeef5 --- /dev/null +++ b/meta-egvirt/recipes-qemu/qemu-vhost-user-devices/qemu-vhost-user-devices.bb @@ -0,0 +1,48 @@ +BBCLASSEXTEND = "" +SUMMARY = "Fast open source processor emulator" +DESCRIPTION = "Recipe for vhost-user-rng -blk and -input" +HOMEPAGE = "http://qemu.org" +LICENSE = "GPL-2.0-only & LGPL-2.1-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ + file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f" + +inherit pkgconfig + +DEPENDS = "glib-2.0 zlib pixman bison-native ninja-native" +SRC_URI = "git://git.virtualopensystems.com/virtio-loopback/qemu.git;protocol=https;branch=beta-release \ + file://0001-Add-NULL-array-terminate-entry-for-arg-parsing-optio.patch \ + " +SRCREV = "bf75006d5415b4e485f0bc30b8d7461b3616e9ca" +S = "${WORKDIR}/git" + +UPSTREAM_CHECK_REGEX = "qemu-(?P\d+(\.\d+)+)\.tar" + +# Per https://lists.nongnu.org/archive/html/qemu-devel/2020-09/msg03873.html +# upstream states qemu doesn't work without optimization +DEBUG_BUILD = "0" + +export LIBTOOL="${HOST_SYS}-libtool" + +B = "${WORKDIR}/build" + +do_configure() { + unset bindir libdir mandir datadir includedir libexecdir + # Pass empty --cross-prefix to suspend errors due to build configurations + # on different architectures. CC/CXX and other build variables are set by Yocto + # itself correct. + ${S}/configure --cross-prefix= +} +do_configure[cleandirs] += "${B}" + +do_install() { + mkdir ${D}/usr/bin/ -p + install -m 0755 ${S}/../build/contrib/vhost-user-input/vhost-user-input ${D}/usr/bin/ + install -m 0755 ${S}/../build/contrib/vhost-user-blk/vhost-user-blk ${D}/usr/bin/ + install -m 0755 ${S}/../build/tools/vhost-user-rng/vhost-user-rng ${D}/usr/bin/ +} + +FILES:${PN} += "/usr/bin" +RDEPENDS:${PN}:class-target += "bash" + +DISABLE_STATIC = "" + diff --git a/meta-egvirt/recipes-qemu/qemu-vhost-user-devices/qemu-vhost-user-devices/0001-Add-NULL-array-terminate-entry-for-arg-parsing-optio.patch b/meta-egvirt/recipes-qemu/qemu-vhost-user-devices/qemu-vhost-user-devices/0001-Add-NULL-array-terminate-entry-for-arg-parsing-optio.patch new file mode 100644 index 00000000..a7af1b68 --- /dev/null +++ b/meta-egvirt/recipes-qemu/qemu-vhost-user-devices/qemu-vhost-user-devices/0001-Add-NULL-array-terminate-entry-for-arg-parsing-optio.patch @@ -0,0 +1,23 @@ +From 729065c67520aed4ded15092fd394e2841dc2e0c Mon Sep 17 00:00:00 2001 +From: Angelos Mouzakitis +Date: Thu, 1 Dec 2022 22:07:07 +0100 +Subject: [PATCH] Add NULL array-terminate entry for arg-parsing options + +--- + contrib/vhost-user-blk/vhost-user-blk.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/contrib/vhost-user-blk/vhost-user-blk.c b/contrib/vhost-user-blk/vhost-user-blk.c +index 725583ec4d..f8833e52d1 100644 +--- a/contrib/vhost-user-blk/vhost-user-blk.c ++++ b/contrib/vhost-user-blk/vhost-user-blk.c +@@ -627,7 +627,8 @@ static GOptionEntry entries[] = { + {"blk-file", 'b', 0, G_OPTION_ARG_FILENAME, &opt_blk_file, + "block device or file path", "PATH"}, + { "read-only", 'r', 0, G_OPTION_ARG_NONE, &opt_read_only, +- "Enable read-only", NULL } ++ "Enable read-only", NULL }, ++ { NULL }, + }; + + int main(int argc, char **argv) -- cgit 1.2.3-korg