qemu: enable slirp, add missing keymap patch

This commit is contained in:
Juergen Daubert 2023-09-09 12:24:04 +02:00
parent ed4623a8ac
commit fc25e04086
4 changed files with 98 additions and 4 deletions

View File

@ -19,6 +19,9 @@ drwxr-xr-x root/root usr/bin/
drwxr-xr-x root/root usr/include/
-rw-r--r-- root/root usr/include/qemu-plugin.h
drwxr-xr-x root/root usr/lib/
lrwxrwxrwx root/root usr/lib/libslirp.so -> libslirp.so.0
lrwxrwxrwx root/root usr/lib/libslirp.so.0 -> libslirp.so.0.4.0
-rwxr-xr-x root/root usr/lib/libslirp.so.0.4.0
drwxr-xr-x root/root usr/lib/qemu/
-rwxr-xr-x root/root usr/lib/qemu/qemu-bridge-helper
drwxr-xr-x root/root usr/share/

View File

@ -1,6 +1,6 @@
untrusted comment: verify with /etc/ports/opt.pub
RWSE3ohX2g5d/cUmviWcZVkZAza1Jl2AAnoYESEkgovHsTDBAgZ4i0lXxHHJUJ2Oas6TQXjek2tTSkfH0bE9Rfc1b2M3TUZ57wQ=
SHA256 (Pkgfile) = 9dbc38b69c7865dcfe4b10bdfe1424a98c665394209306297597622546ea9914
SHA256 (.footprint) = 015a0ee651fe1363aaec56122eb435bff85037137d9d168803ecc24229a88df0
RWSE3ohX2g5d/fu3DN2FfxQ9pEMAipZgO/qJiShOzd56uavatdfjbk/XC2NSAFUpr7nk9XA5cUkB/tDDUZV5R8O8p/F5t1DRKQw=
SHA256 (Pkgfile) = b0928419d14236ed3edfd2a106d096464593089468e37284db61ecc05c24664e
SHA256 (.footprint) = ccf4cee785f5d2f5897fe69f4cec43156be5548bc5957e84d009d60208528aef
SHA256 (qemu-8.1.0.tar.xz) = 710c101198e334d4762eef65f649bc43fa8a5dd75303554b8acfec3eb25f0e55
SHA256 (keyutils.patch) = 1ed4ffac0568e3ca62ed09429eaa2f896bc42bfbce7eafce502264101e59feb1

View File

@ -6,7 +6,7 @@
name=qemu
version=8.1.0
release=2
release=3
source=(https://download.qemu.org/$name-$version.tar.xz
keyutils.patch)
@ -30,6 +30,7 @@ build() {
--localstatedir=/var \
--enable-linux-user \
--enable-fdt=system \
--enable-slirp \
--python=/usr/bin/python3 \
--target-list=x86_64-linux-user,i386-linux-user,i386-softmmu,x86_64-softmmu \
--disable-gtk \

90
qemu/keyutils.patch Normal file
View File

@ -0,0 +1,90 @@
From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org, "Daniel P. Berrangé" <berrange@redhat.com>
Cc: qemu-stable@nongnu.org, "Paolo Bonzini" <pbonzini@redhat.com>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>,
"Philippe Mathieu-Daudé" <philmd@linaro.org>,
antischmock@googlemail.com
Subject: [PATCH] meson.build: Make keyutils independent from keyring
Date: Thu, 24 Aug 2023 11:42:08 +0200 [thread overview]
Message-ID: <20230824094208.255279-1-thuth@redhat.com> (raw)
Commit 0db0fbb5cf ("Add conditional dependency for libkeyutils")
tried to provide a possibility for the user to disable keyutils
if not required by makeing it depend on the keyring feature. This
looked reasonable at a first glance (the unit test in tests/unit/
needs both), but the condition in meson.build fails if the feature
is meant to be detected automatically, and there is also another
spot in backends/meson.build where keyutils is used independently
from keyring. So let's remove the dependency on keyring again and
introduce a proper meson build option instead.
Cc: qemu-stable@nongnu.org
Fixes: 0db0fbb5cf ("Add conditional dependency for libkeyutils")
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1842
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
meson.build | 6 ++++--
meson_options.txt | 2 ++
scripts/meson-buildoptions.sh | 3 +++
3 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/meson.build b/meson.build
index 98e68ef0b1..5756148576 100644
--- a/meson.build
+++ b/meson.build
@@ -1771,8 +1771,9 @@ if gnutls.found()
method: 'pkg-config')
endif
keyutils = not_found
-if get_option('keyring').enabled()
- keyutils = dependency('libkeyutils', required: false, method: 'pkg-config')
+if not get_option('libkeyutils').auto() or have_block
+ keyutils = dependency('libkeyutils', required: get_option('libkeyutils'),
+ method: 'pkg-config')
endif
has_gettid = cc.has_function('gettid')
@@ -4211,6 +4212,7 @@ endif
summary_info += {'AF_ALG support': have_afalg}
summary_info += {'rng-none': get_option('rng_none')}
summary_info += {'Linux keyring': have_keyring}
+summary_info += {'Linux keyutils': keyutils}
summary(summary_info, bool_yn: true, section: 'Crypto')
# UI
diff --git a/meson_options.txt b/meson_options.txt
index aaea5ddd77..ae6d8f469d 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -119,6 +119,8 @@ option('avx512bw', type: 'feature', value: 'auto',
description: 'AVX512BW optimizations')
option('keyring', type: 'feature', value: 'auto',
description: 'Linux keyring support')
+option('libkeyutils', type: 'feature', value: 'auto',
+ description: 'Linux keyutils support')
option('attr', type : 'feature', value : 'auto',
description: 'attr/xattr support')
diff --git a/scripts/meson-buildoptions.sh b/scripts/meson-buildoptions.sh
index 9da3fe299b..d7020af175 100644
--- a/scripts/meson-buildoptions.sh
+++ b/scripts/meson-buildoptions.sh
@@ -120,6 +120,7 @@ meson_options_help() {
printf "%s\n" ' libdaxctl libdaxctl support'
printf "%s\n" ' libdw debuginfo support'
printf "%s\n" ' libiscsi libiscsi userspace initiator'
+ printf "%s\n" ' libkeyutils Linux keyutils support'
printf "%s\n" ' libnfs libnfs block device driver'
printf "%s\n" ' libpmem libpmem support'
printf "%s\n" ' libssh ssh block device support'
@@ -341,6 +342,8 @@ _meson_option_parse() {
--libexecdir=*) quote_sh "-Dlibexecdir=$2" ;;
--enable-libiscsi) printf "%s" -Dlibiscsi=enabled ;;
--disable-libiscsi) printf "%s" -Dlibiscsi=disabled ;;
+ --enable-libkeyutils) printf "%s" -Dlibkeyutils=enabled ;;
+ --disable-libkeyutils) printf "%s" -Dlibkeyutils=disabled ;;
--enable-libnfs) printf "%s" -Dlibnfs=enabled ;;
--disable-libnfs) printf "%s" -Dlibnfs=disabled ;;
--enable-libpmem) printf "%s" -Dlibpmem=enabled ;;
--
2.39.3