mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-17 18:06:59 +02:00
app-emulation/qemu: update to 6.1.0
Update app-emulation/qemu to 6.1.0, mainly to address security issues like CVE-2021-3682 .
This commit is contained in:
parent
2093afe3eb
commit
ce3f18f6fa
@ -1 +1 @@
|
|||||||
DIST qemu-5.2.0.tar.xz 106902800 BLAKE2B 4413d5591cbabf80faba5b0b7347ee7749ff0a71af44bdf7f64b1995e17ecf1f3df539fa8e63959e0d50cd0502a41a2921e60cc6d078ed8ab5b09ab4b86d4ed7 SHA512 bddd633ce111471ebc651e03080251515178808556b49a308a724909e55dac0be0cc0c79c536ac12d239678ae94c60100dc124be9b9d9538340c03a2f27177f3
|
DIST qemu-6.1.0.tar.xz 111258808 BLAKE2B 412eecf6d39debd6089b26d3b22e5d25c6c8c30d2eaf31b17c25cc2b3a1b10794a30218dfb151c78801aa295255aa974b297f1fe05b93f14334f203c2af5ccee SHA512 3378ae21c75b77ee6a759827f1fcf7b2a50a0fef07e3b0e89117108022a8d8655fa977e4d65596f4f24f7c735c6594d44b0c6f69732ea4465e88a7406b1d5d3c
|
||||||
|
@ -1,2 +0,0 @@
|
|||||||
KERNEL=="kvm", GROUP="kvm", MODE="0660"
|
|
||||||
KERNEL=="vhost-net", GROUP="kvm", MODE="0660", OPTIONS+="static_node=vhost-net"
|
|
@ -1,40 +0,0 @@
|
|||||||
-Wall -Wextra compains about unused arguments,
|
|
||||||
causes safe-stack to be mis-detected.
|
|
||||||
--- a/configure
|
|
||||||
+++ b/configure
|
|
||||||
@@ -2293,7 +2293,7 @@ fi
|
|
||||||
cat > $TMPC << EOF
|
|
||||||
#include <stdint.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
-int main(int argc, char *argv[]) {
|
|
||||||
+int main(void) {
|
|
||||||
return printf("%zu", SIZE_MAX);
|
|
||||||
}
|
|
||||||
EOF
|
|
||||||
@@ -4911,7 +4911,7 @@ fi
|
|
||||||
|
|
||||||
if test "$safe_stack" = "yes"; then
|
|
||||||
cat > $TMPC << EOF
|
|
||||||
-int main(int argc, char *argv[])
|
|
||||||
+int main(void)
|
|
||||||
{
|
|
||||||
#if ! __has_feature(safe_stack)
|
|
||||||
#error SafeStack Disabled
|
|
||||||
@@ -4933,7 +4933,7 @@ EOF
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
cat > $TMPC << EOF
|
|
||||||
-int main(int argc, char *argv[])
|
|
||||||
+int main(void)
|
|
||||||
{
|
|
||||||
#if defined(__has_feature)
|
|
||||||
#if __has_feature(safe_stack)
|
|
||||||
@@ -5283,7 +5283,7 @@ static const int Z = 1;
|
|
||||||
#define TAUT(X) ((X) == Z)
|
|
||||||
#define PAREN(X, Y) (X == Y)
|
|
||||||
#define ID(X) (X)
|
|
||||||
-int main(int argc, char *argv[])
|
|
||||||
+int main(void)
|
|
||||||
{
|
|
||||||
int x = 0, y = 0;
|
|
||||||
x = ID(x);
|
|
@ -1,16 +0,0 @@
|
|||||||
Se absolute filename in files like
|
|
||||||
/usr/share/qemu/firmware/50-edk2-x86_64-secure.json
|
|
||||||
|
|
||||||
Bug: https://bugs.gentoo.org/766743
|
|
||||||
Patch-by: Jannik Glückert
|
|
||||||
--- a/pc-bios/descriptors/meson.build
|
|
||||||
+++ b/pc-bios/descriptors/meson.build
|
|
||||||
@@ -8,7 +8,7 @@ foreach f: [
|
|
||||||
]
|
|
||||||
configure_file(input: files(f),
|
|
||||||
output: f,
|
|
||||||
- configuration: {'DATADIR': qemu_datadir},
|
|
||||||
+ configuration: {'DATADIR': get_option('prefix') / qemu_datadir},
|
|
||||||
install: get_option('install_blobs'),
|
|
||||||
install_dir: qemu_datadir / 'firmware')
|
|
||||||
endforeach
|
|
@ -1,73 +0,0 @@
|
|||||||
From bbd2d5a8120771ec59b86a80a1f51884e0a26e53 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Christian Ehrhardt <christian.ehrhardt@canonical.com>
|
|
||||||
Date: Mon, 14 Dec 2020 16:09:38 +0100
|
|
||||||
Subject: [PATCH] build: -no-pie is no functional linker flag
|
|
||||||
|
|
||||||
Recent binutils changes dropping unsupported options [1] caused a build
|
|
||||||
issue in regard to the optionroms.
|
|
||||||
|
|
||||||
ld -m elf_i386 -T /<<PKGBUILDDIR>>/pc-bios/optionrom//flat.lds -no-pie \
|
|
||||||
-s -o multiboot.img multiboot.o
|
|
||||||
ld.bfd: Error: unable to disambiguate: -no-pie (did you mean --no-pie ?)
|
|
||||||
|
|
||||||
This isn't really a regression in ld.bfd, filing the bug upstream
|
|
||||||
revealed that this never worked as a ld flag [2] - in fact it seems we
|
|
||||||
were by accident setting --nmagic).
|
|
||||||
|
|
||||||
Since it never had the wanted effect this usage of LDFLAGS_NOPIE, should be
|
|
||||||
droppable without any effect. This also is the only use-case of LDFLAGS_NOPIE
|
|
||||||
in .mak, therefore we can also remove it from being added there.
|
|
||||||
|
|
||||||
[1]: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=983d925d
|
|
||||||
[2]: https://sourceware.org/bugzilla/show_bug.cgi?id=27050#c5
|
|
||||||
|
|
||||||
Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
|
|
||||||
Message-Id: <20201214150938.1297512-1-christian.ehrhardt@canonical.com>
|
|
||||||
Cc: qemu-stable@nongnu.org
|
|
||||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
|
||||||
---
|
|
||||||
configure | 3 ---
|
|
||||||
pc-bios/optionrom/Makefile | 1 -
|
|
||||||
2 files changed, 4 deletions(-)
|
|
||||||
|
|
||||||
--- a/configure
|
|
||||||
+++ b/configure
|
|
||||||
@@ -2137,7 +2137,6 @@ EOF
|
|
||||||
# Check we support --no-pie first; we will need this for building ROMs.
|
|
||||||
if compile_prog "-Werror -fno-pie" "-no-pie"; then
|
|
||||||
CFLAGS_NOPIE="-fno-pie"
|
|
||||||
- LDFLAGS_NOPIE="-no-pie"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "$static" = "yes"; then
|
|
||||||
@@ -2153,7 +2152,6 @@ if test "$static" = "yes"; then
|
|
||||||
fi
|
|
||||||
elif test "$pie" = "no"; then
|
|
||||||
CONFIGURE_CFLAGS="$CFLAGS_NOPIE $CONFIGURE_CFLAGS"
|
|
||||||
- CONFIGURE_LDFLAGS="$LDFLAGS_NOPIE $CONFIGURE_LDFLAGS"
|
|
||||||
elif compile_prog "-Werror -fPIE -DPIE" "-pie"; then
|
|
||||||
CONFIGURE_CFLAGS="-fPIE -DPIE $CONFIGURE_CFLAGS"
|
|
||||||
CONFIGURE_LDFLAGS="-pie $CONFIGURE_LDFLAGS"
|
|
||||||
@@ -6714,7 +6712,6 @@ echo "QEMU_CXXFLAGS=$QEMU_CXXFLAGS" >> $config_host_mak
|
|
||||||
echo "GLIB_CFLAGS=$glib_cflags" >> $config_host_mak
|
|
||||||
echo "GLIB_LIBS=$glib_libs" >> $config_host_mak
|
|
||||||
echo "QEMU_LDFLAGS=$QEMU_LDFLAGS" >> $config_host_mak
|
|
||||||
-echo "LDFLAGS_NOPIE=$LDFLAGS_NOPIE" >> $config_host_mak
|
|
||||||
echo "LD_I386_EMULATION=$ld_i386_emulation" >> $config_host_mak
|
|
||||||
echo "EXESUF=$EXESUF" >> $config_host_mak
|
|
||||||
echo "HOST_DSOSUF=$HOST_DSOSUF" >> $config_host_mak
|
|
||||||
diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile
|
|
||||||
index 084fc10f05..30771f8d17 100644
|
|
||||||
--- a/pc-bios/optionrom/Makefile
|
|
||||||
+++ b/pc-bios/optionrom/Makefile
|
|
||||||
@@ -41,7 +41,6 @@ override CFLAGS += $(call cc-option, $(Wa)-32)
|
|
||||||
|
|
||||||
LD_I386_EMULATION ?= elf_i386
|
|
||||||
override LDFLAGS = -m $(LD_I386_EMULATION) -T $(SRC_DIR)/flat.lds
|
|
||||||
-override LDFLAGS += $(LDFLAGS_NOPIE)
|
|
||||||
|
|
||||||
all: multiboot.bin linuxboot.bin linuxboot_dma.bin kvmvapic.bin pvh.bin
|
|
||||||
|
|
||||||
--
|
|
||||||
2.30.0
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
|||||||
https://bugs.gentoo.org/759310
|
|
||||||
--- a/configure
|
|
||||||
+++ b/configure
|
|
||||||
@@ -521,6 +521,7 @@ ld="${LD-${cross_prefix}ld}"
|
|
||||||
ranlib="${RANLIB-${cross_prefix}ranlib}"
|
|
||||||
nm="${NM-${cross_prefix}nm}"
|
|
||||||
strip="${STRIP-${cross_prefix}strip}"
|
|
||||||
+strings="${STRINGS-${cross_prefix}strings}"
|
|
||||||
windres="${WINDRES-${cross_prefix}windres}"
|
|
||||||
pkg_config_exe="${PKG_CONFIG-${cross_prefix}pkg-config}"
|
|
||||||
query_pkg_config() {
|
|
||||||
@@ -2265,9 +2266,9 @@ int main(int argc, char *argv[]) {
|
|
||||||
EOF
|
|
||||||
|
|
||||||
if compile_object ; then
|
|
||||||
- if strings -a $TMPO | grep -q BiGeNdIaN ; then
|
|
||||||
+ if $strings -a $TMPO | grep -q BiGeNdIaN ; then
|
|
||||||
bigendian="yes"
|
|
||||||
- elif strings -a $TMPO | grep -q LiTtLeEnDiAn ; then
|
|
||||||
+ elif $strings -a $TMPO | grep -q LiTtLeEnDiAn ; then
|
|
||||||
bigendian="no"
|
|
||||||
else
|
|
||||||
echo big/little test failed
|
|
14
sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-6.0.0-make.patch
vendored
Normal file
14
sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-6.0.0-make.patch
vendored
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
Allow MAKE='make V=1' and similar.
|
||||||
|
|
||||||
|
https://bugs.gentoo.org/795678
|
||||||
|
--- a/configure
|
||||||
|
+++ b/configure
|
||||||
|
@@ -1953,7 +1953,7 @@ if test -z "$python"
|
||||||
|
then
|
||||||
|
error_exit "Python not found. Use --python=/path/to/python"
|
||||||
|
fi
|
||||||
|
-if ! has "$make"
|
||||||
|
+if ! has $make
|
||||||
|
then
|
||||||
|
error_exit "GNU make ($make) not found"
|
||||||
|
fi
|
@ -0,0 +1,21 @@
|
|||||||
|
commit 080832e4f4801a28bd1170c49e61f6a0f5f05d03
|
||||||
|
Author: Paolo Bonzini <pbonzini@redhat.com>
|
||||||
|
Date: Tue Sep 7 12:45:12 2021 +0200
|
||||||
|
|
||||||
|
ebpf: only include in system emulators
|
||||||
|
|
||||||
|
eBPF files are being included in user emulators, which is useless and
|
||||||
|
also breaks compilation because ebpf/trace-events is only processed
|
||||||
|
if a system emulator is included in the build.
|
||||||
|
|
||||||
|
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/566
|
||||||
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||||
|
Signed-off-by: Jason Wang <jasowang@redhat.com>
|
||||||
|
|
||||||
|
diff --git a/ebpf/meson.build b/ebpf/meson.build
|
||||||
|
index 9cd0635370..2dd0fd8948 100644
|
||||||
|
--- a/ebpf/meson.build
|
||||||
|
+++ b/ebpf/meson.build
|
||||||
|
@@ -1 +1 @@
|
||||||
|
-common_ss.add(when: libbpf, if_true: files('ebpf_rss.c'), if_false: files('ebpf_rss-stub.c'))
|
||||||
|
+softmmu_ss.add(when: libbpf, if_true: files('ebpf_rss.c'), if_false: files('ebpf_rss-stub.c'))
|
26
sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-6.1.0-strings.patch
vendored
Normal file
26
sdk_container/src/third_party/coreos-overlay/app-emulation/qemu/files/qemu-6.1.0-strings.patch
vendored
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
Forward-ported from original patch for 5.2.0.
|
||||||
|
|
||||||
|
diff --git a/configure b/configure
|
||||||
|
index da2501489f..4660ee3ee5 100755
|
||||||
|
--- a/configure
|
||||||
|
+++ b/configure
|
||||||
|
@@ -516,6 +516,7 @@ ld="${LD-${cross_prefix}ld}"
|
||||||
|
ranlib="${RANLIB-${cross_prefix}ranlib}"
|
||||||
|
nm="${NM-${cross_prefix}nm}"
|
||||||
|
strip="${STRIP-${cross_prefix}strip}"
|
||||||
|
+strings="${STRINGS-${cross_prefix}strings}"
|
||||||
|
windres="${WINDRES-${cross_prefix}windres}"
|
||||||
|
pkg_config_exe="${PKG_CONFIG-${cross_prefix}pkg-config}"
|
||||||
|
query_pkg_config() {
|
||||||
|
@@ -2380,9 +2381,9 @@ int main(int argc, char *argv[])
|
||||||
|
EOF
|
||||||
|
|
||||||
|
if compile_prog ; then
|
||||||
|
- if strings -a $TMPE | grep -q BiGeNdIaN ; then
|
||||||
|
+ if $strings -a $TMPE | grep -q BiGeNdIaN ; then
|
||||||
|
bigendian="yes"
|
||||||
|
- elif strings -a $TMPE | grep -q LiTtLeEnDiAn ; then
|
||||||
|
+ elif $strings -a $TMPE | grep -q LiTtLeEnDiAn ; then
|
||||||
|
bigendian="no"
|
||||||
|
else
|
||||||
|
echo big/little test failed
|
@ -1,17 +0,0 @@
|
|||||||
Set absolute filename in files like
|
|
||||||
/usr/share/qemu/firmware/50-edk2-x86_64-secure.json
|
|
||||||
|
|
||||||
Bug: https://bugs.gentoo.org/766743
|
|
||||||
Bug: https://bugs.launchpad.net/qemu/+bug/1913012
|
|
||||||
Patch-by: Jannik Glückert
|
|
||||||
--- a/pc-bios/descriptors/meson.build
|
|
||||||
+++ b/pc-bios/descriptors/meson.build
|
|
||||||
@@ -9,7 +9,7 @@ if install_edk2_blobs
|
|
||||||
]
|
|
||||||
configure_file(input: files(f),
|
|
||||||
output: f,
|
|
||||||
- configuration: {'DATADIR': qemu_datadir},
|
|
||||||
+ configuration: {'DATADIR': get_option('prefix') / qemu_datadir},
|
|
||||||
install: get_option('install_blobs'),
|
|
||||||
install_dir: qemu_datadir / 'firmware')
|
|
||||||
endforeach
|
|
@ -1,13 +1,13 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
|
||||||
<pkgmetadata>
|
<pkgmetadata>
|
||||||
<maintainer type="person">
|
<maintainer type="person">
|
||||||
<email>tamiko@gentoo.org</email>
|
<email>tamiko@gentoo.org</email>
|
||||||
<name>Matthias Maier</name>
|
<name>Matthias Maier</name>
|
||||||
</maintainer>
|
</maintainer>
|
||||||
<maintainer type="person">
|
<maintainer type="person">
|
||||||
<email>slyfox@gentoo.org</email>
|
<email>zlogene@gentoo.org</email>
|
||||||
<name>Sergei Trofimovich</name>
|
<name>Mikle Kolyada</name>
|
||||||
</maintainer>
|
</maintainer>
|
||||||
<maintainer type="project">
|
<maintainer type="project">
|
||||||
<email>virtualization@gentoo.org</email>
|
<email>virtualization@gentoo.org</email>
|
||||||
@ -17,9 +17,11 @@
|
|||||||
<flag name="accessibility">Adds support for braille displays using brltty</flag>
|
<flag name="accessibility">Adds support for braille displays using brltty</flag>
|
||||||
<flag name="aio">Enables support for Linux's Async IO</flag>
|
<flag name="aio">Enables support for Linux's Async IO</flag>
|
||||||
<flag name="alsa">Enable alsa output for sound emulation</flag>
|
<flag name="alsa">Enable alsa output for sound emulation</flag>
|
||||||
|
<flag name="bpf">Enable eBPF support for RSS implementation.</flag>
|
||||||
<flag name="capstone">Enable disassembly support with <pkg>dev-libs/capstone</pkg></flag>
|
<flag name="capstone">Enable disassembly support with <pkg>dev-libs/capstone</pkg></flag>
|
||||||
<flag name="curl">Support ISOs / -cdrom directives via HTTP or HTTPS.</flag>
|
<flag name="curl">Support ISOs / -cdrom directives via HTTP or HTTPS.</flag>
|
||||||
<flag name="fdt">Enables firmware device tree support</flag>
|
<flag name="fdt">Enables firmware device tree support</flag>
|
||||||
|
<flag name="fuse">Enables FUSE block device export</flag>
|
||||||
<flag name="glusterfs">Enables GlusterFS cluster fileystem via
|
<flag name="glusterfs">Enables GlusterFS cluster fileystem via
|
||||||
<pkg>sys-cluster/glusterfs</pkg></flag>
|
<pkg>sys-cluster/glusterfs</pkg></flag>
|
||||||
<flag name="gnutls">Enable TLS support for the VNC console server.
|
<flag name="gnutls">Enable TLS support for the VNC console server.
|
||||||
@ -39,7 +41,7 @@
|
|||||||
When the blobs are different, random corruption/bugs/crashes/etc... may be observed.</flag>
|
When the blobs are different, random corruption/bugs/crashes/etc... may be observed.</flag>
|
||||||
<flag name="plugins">Enable qemu plugin API via shared library loading.</flag>
|
<flag name="plugins">Enable qemu plugin API via shared library loading.</flag>
|
||||||
<flag name="pulseaudio">Enable pulseaudio output for sound emulation</flag>
|
<flag name="pulseaudio">Enable pulseaudio output for sound emulation</flag>
|
||||||
<flag name="rbd">Enable rados block device backend support, see http://ceph.newdream.net/wiki/QEMU-RBD</flag>
|
<flag name="rbd">Enable rados block device backend support, see https://docs.ceph.com/en/mimic/rbd/qemu-rbd/</flag>
|
||||||
<flag name="sdl">Enable the SDL-based console</flag>
|
<flag name="sdl">Enable the SDL-based console</flag>
|
||||||
<flag name="sdl-image">SDL Image support for icons</flag>
|
<flag name="sdl-image">SDL Image support for icons</flag>
|
||||||
<flag name="slirp">Enable TCP/IP in hypervisor via <pkg>net-libs/libslirp</pkg></flag>
|
<flag name="slirp">Enable TCP/IP in hypervisor via <pkg>net-libs/libslirp</pkg></flag>
|
||||||
@ -54,10 +56,10 @@
|
|||||||
<flag name="usb">Enable USB passthrough via <pkg>dev-libs/libusb</pkg></flag>
|
<flag name="usb">Enable USB passthrough via <pkg>dev-libs/libusb</pkg></flag>
|
||||||
<flag name="usbredir">Use <pkg>sys-apps/usbredir</pkg> to redirect USB devices to another machine over TCP</flag>
|
<flag name="usbredir">Use <pkg>sys-apps/usbredir</pkg> to redirect USB devices to another machine over TCP</flag>
|
||||||
<flag name="vde">Enable VDE-based networking</flag>
|
<flag name="vde">Enable VDE-based networking</flag>
|
||||||
<flag name="vhost-net">Enable accelerated networking using vhost-net, see http://www.linux-kvm.org/page/VhostNet</flag>
|
<flag name="vhost-net">Enable accelerated networking using vhost-net, see https://www.linux-kvm.org/page/VhostNet</flag>
|
||||||
<flag name="vhost-user-fs">Enable shared file system access using the FUSE protocol carried over virtio.</flag>
|
<flag name="vhost-user-fs">Enable shared file system access using the FUSE protocol carried over virtio.</flag>
|
||||||
<flag name="virgl">Enable experimental Virgil 3d (virtual software GPU)</flag>
|
<flag name="virgl">Enable experimental Virgil 3d (virtual software GPU)</flag>
|
||||||
<flag name="virtfs">Enable VirtFS via virtio-9p-pci / fsdev. See http://wiki.qemu.org/Documentation/9psetup</flag>
|
<flag name="virtfs">Enable VirtFS via virtio-9p-pci / fsdev. See https://wiki.qemu.org/Documentation/9psetup</flag>
|
||||||
<flag name="vte">Enable terminal support (<pkg>x11-libs/vte</pkg>) in the GTK+ interface</flag>
|
<flag name="vte">Enable terminal support (<pkg>x11-libs/vte</pkg>) in the GTK+ interface</flag>
|
||||||
<flag name="xattr">Add support for getting and setting POSIX extended attributes, through
|
<flag name="xattr">Add support for getting and setting POSIX extended attributes, through
|
||||||
<pkg>sys-apps/attr</pkg>. Requisite for the virtfs backend.</flag>
|
<pkg>sys-apps/attr</pkg>. Requisite for the virtfs backend.</flag>
|
||||||
|
@ -3,13 +3,13 @@
|
|||||||
|
|
||||||
EAPI="7"
|
EAPI="7"
|
||||||
|
|
||||||
PYTHON_COMPAT=( python{3_6,3_7} )
|
PYTHON_COMPAT=( python3_{7,8,9,10} )
|
||||||
PYTHON_REQ_USE="ncurses,readline"
|
PYTHON_REQ_USE="ncurses,readline"
|
||||||
|
|
||||||
FIRMWARE_ABI_VERSION="4.0.0-r50"
|
FIRMWARE_ABI_VERSION="6.1.0"
|
||||||
|
|
||||||
inherit eutils linux-info toolchain-funcs multilib python-r1 \
|
inherit linux-info toolchain-funcs python-r1 udev fcaps readme.gentoo-r1 \
|
||||||
udev fcaps readme.gentoo-r1 pax-utils l10n xdg-utils
|
pax-utils xdg-utils
|
||||||
|
|
||||||
if [[ ${PV} = *9999* ]]; then
|
if [[ ${PV} = *9999* ]]; then
|
||||||
EGIT_REPO_URI="https://git.qemu.org/git/qemu.git"
|
EGIT_REPO_URI="https://git.qemu.org/git/qemu.git"
|
||||||
@ -23,17 +23,17 @@ if [[ ${PV} = *9999* ]]; then
|
|||||||
SRC_URI=""
|
SRC_URI=""
|
||||||
else
|
else
|
||||||
SRC_URI="https://download.qemu.org/${P}.tar.xz"
|
SRC_URI="https://download.qemu.org/${P}.tar.xz"
|
||||||
KEYWORDS="amd64 arm64 ~ppc ~ppc64 x86"
|
KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~x86"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
|
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
|
||||||
HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
|
HOMEPAGE="https://www.qemu.org https://www.linux-kvm.org"
|
||||||
|
|
||||||
LICENSE="GPL-2 LGPL-2 BSD-2"
|
LICENSE="GPL-2 LGPL-2 BSD-2"
|
||||||
SLOT="0"
|
SLOT="0"
|
||||||
|
|
||||||
IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug doc
|
IUSE="accessibility +aio alsa bpf bzip2 capstone +caps +curl debug +doc
|
||||||
+fdt glusterfs gnutls gtk infiniband iscsi io-uring
|
+fdt fuse glusterfs gnutls gtk infiniband iscsi io-uring
|
||||||
jack jemalloc +jpeg kernel_linux
|
jack jemalloc +jpeg kernel_linux
|
||||||
kernel_FreeBSD lzo multipath
|
kernel_FreeBSD lzo multipath
|
||||||
ncurses nfs nls numa opengl +oss +pin-upstream-blobs
|
ncurses nfs nls numa opengl +oss +pin-upstream-blobs
|
||||||
@ -43,14 +43,52 @@ IUSE="accessibility +aio alsa bzip2 capstone +caps +curl debug doc
|
|||||||
usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
|
usbredir vde +vhost-net vhost-user-fs virgl virtfs +vnc vte xattr xen
|
||||||
xfs zstd"
|
xfs zstd"
|
||||||
|
|
||||||
COMMON_TARGETS="aarch64 alpha arm cris hppa i386 m68k microblaze microblazeel
|
COMMON_TARGETS="
|
||||||
mips mips64 mips64el mipsel nios2 or1k ppc ppc64 riscv32 riscv64 s390x
|
aarch64
|
||||||
sh4 sh4eb sparc sparc64 x86_64 xtensa xtensaeb"
|
alpha
|
||||||
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS}
|
arm
|
||||||
avr lm32 moxie rx tricore unicore32"
|
cris
|
||||||
IUSE_USER_TARGETS="${COMMON_TARGETS}
|
hppa
|
||||||
aarch64_be armeb mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus
|
i386
|
||||||
tilegx"
|
m68k
|
||||||
|
microblaze
|
||||||
|
microblazeel
|
||||||
|
mips
|
||||||
|
mips64
|
||||||
|
mips64el
|
||||||
|
mipsel
|
||||||
|
nios2
|
||||||
|
or1k
|
||||||
|
ppc
|
||||||
|
ppc64
|
||||||
|
riscv32
|
||||||
|
riscv64
|
||||||
|
s390x
|
||||||
|
sh4
|
||||||
|
sh4eb
|
||||||
|
sparc
|
||||||
|
sparc64
|
||||||
|
x86_64
|
||||||
|
xtensa
|
||||||
|
xtensaeb
|
||||||
|
"
|
||||||
|
IUSE_SOFTMMU_TARGETS="
|
||||||
|
${COMMON_TARGETS}
|
||||||
|
avr
|
||||||
|
rx
|
||||||
|
tricore
|
||||||
|
"
|
||||||
|
IUSE_USER_TARGETS="
|
||||||
|
${COMMON_TARGETS}
|
||||||
|
aarch64_be
|
||||||
|
armeb
|
||||||
|
hexagon
|
||||||
|
mipsn32
|
||||||
|
mipsn32el
|
||||||
|
ppc64abi32
|
||||||
|
ppc64le
|
||||||
|
sparc32plus
|
||||||
|
"
|
||||||
|
|
||||||
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
|
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
|
||||||
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
|
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
|
||||||
@ -67,9 +105,11 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
|
|||||||
qemu_softmmu_targets_ppc? ( fdt )
|
qemu_softmmu_targets_ppc? ( fdt )
|
||||||
qemu_softmmu_targets_riscv32? ( fdt )
|
qemu_softmmu_targets_riscv32? ( fdt )
|
||||||
qemu_softmmu_targets_riscv64? ( fdt )
|
qemu_softmmu_targets_riscv64? ( fdt )
|
||||||
static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy )
|
sdl-image? ( sdl )
|
||||||
|
static? ( static-user !alsa !gtk !jack !opengl !pulseaudio !plugins !rbd !snappy !udev )
|
||||||
static-user? ( !plugins )
|
static-user? ( !plugins )
|
||||||
vhost-user-fs? ( caps seccomp )
|
vhost-user-fs? ( caps seccomp )
|
||||||
|
virgl? ( opengl )
|
||||||
virtfs? ( caps xattr )
|
virtfs? ( caps xattr )
|
||||||
vte? ( gtk )
|
vte? ( gtk )
|
||||||
multipath? ( udev )
|
multipath? ( udev )
|
||||||
@ -102,11 +142,13 @@ SOFTMMU_TOOLS_DEPEND="
|
|||||||
)
|
)
|
||||||
aio? ( dev-libs/libaio[static-libs(+)] )
|
aio? ( dev-libs/libaio[static-libs(+)] )
|
||||||
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||||
|
bpf? ( dev-libs/libbpf:= )
|
||||||
bzip2? ( app-arch/bzip2[static-libs(+)] )
|
bzip2? ( app-arch/bzip2[static-libs(+)] )
|
||||||
capstone? ( dev-libs/capstone:= )
|
capstone? ( dev-libs/capstone:= )
|
||||||
caps? ( sys-libs/libcap-ng[static-libs(+)] )
|
caps? ( sys-libs/libcap-ng[static-libs(+)] )
|
||||||
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
|
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
|
||||||
fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] )
|
fdt? ( >=sys-apps/dtc-1.5.0[static-libs(+)] )
|
||||||
|
fuse? ( >=sys-fs/fuse-3.1:3[static-libs(+)] )
|
||||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
|
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
|
||||||
gnutls? (
|
gnutls? (
|
||||||
dev-libs/nettle:=[static-libs(+)]
|
dev-libs/nettle:=[static-libs(+)]
|
||||||
@ -128,14 +170,17 @@ SOFTMMU_TOOLS_DEPEND="
|
|||||||
jpeg? ( virtual/jpeg:0=[static-libs(+)] )
|
jpeg? ( virtual/jpeg:0=[static-libs(+)] )
|
||||||
lzo? ( dev-libs/lzo:2[static-libs(+)] )
|
lzo? ( dev-libs/lzo:2[static-libs(+)] )
|
||||||
multipath? ( sys-fs/multipath-tools )
|
multipath? ( sys-fs/multipath-tools )
|
||||||
ncurses? ( sys-libs/ncurses:=[unicode(+),static-libs(+)] )
|
ncurses? (
|
||||||
|
sys-libs/ncurses:=[unicode(+)]
|
||||||
|
sys-libs/ncurses:=[static-libs(+)]
|
||||||
|
)
|
||||||
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
|
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
|
||||||
numa? ( sys-process/numactl[static-libs(+)] )
|
numa? ( sys-process/numactl[static-libs(+)] )
|
||||||
opengl? (
|
opengl? (
|
||||||
virtual/opengl
|
virtual/opengl
|
||||||
media-libs/libepoxy[static-libs(+)]
|
media-libs/libepoxy[static-libs(+)]
|
||||||
media-libs/mesa[static-libs(+)]
|
media-libs/mesa[static-libs(+)]
|
||||||
media-libs/mesa[egl,gbm]
|
media-libs/mesa[egl(+),gbm(+)]
|
||||||
)
|
)
|
||||||
png? ( media-libs/libpng:0=[static-libs(+)] )
|
png? ( media-libs/libpng:0=[static-libs(+)] )
|
||||||
pulseaudio? ( media-sound/pulseaudio )
|
pulseaudio? ( media-sound/pulseaudio )
|
||||||
@ -155,7 +200,7 @@ SOFTMMU_TOOLS_DEPEND="
|
|||||||
>=app-emulation/spice-0.12.0[static-libs(+)]
|
>=app-emulation/spice-0.12.0[static-libs(+)]
|
||||||
)
|
)
|
||||||
ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
|
ssh? ( >=net-libs/libssh-0.8.6[static-libs(+)] )
|
||||||
udev? ( virtual/libudev[static-libs(+)] )
|
udev? ( virtual/libudev:= )
|
||||||
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
|
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
|
||||||
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
|
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
|
||||||
vde? ( net-misc/vde[static-libs(+)] )
|
vde? ( net-misc/vde[static-libs(+)] )
|
||||||
@ -166,25 +211,28 @@ SOFTMMU_TOOLS_DEPEND="
|
|||||||
zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
|
zstd? ( >=app-arch/zstd-1.4.0[static-libs(+)] )
|
||||||
"
|
"
|
||||||
|
|
||||||
|
EDK2_OVMF_VERSION="202105"
|
||||||
|
SEABIOS_VERSION="1.14.0"
|
||||||
|
|
||||||
X86_FIRMWARE_DEPEND="
|
X86_FIRMWARE_DEPEND="
|
||||||
pin-upstream-blobs? (
|
pin-upstream-blobs? (
|
||||||
~sys-firmware/edk2-ovmf-201905[binary]
|
~sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}[binary]
|
||||||
~sys-firmware/ipxe-1.0.0_p20190728[binary,qemu]
|
~sys-firmware/ipxe-1.21.1[binary,qemu]
|
||||||
~sys-firmware/seabios-1.12.0[binary,seavgabios]
|
~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios]
|
||||||
~sys-firmware/sgabios-0.1_pre8[binary]
|
~sys-firmware/sgabios-0.1_pre10[binary]
|
||||||
)
|
)
|
||||||
!pin-upstream-blobs? (
|
!pin-upstream-blobs? (
|
||||||
sys-firmware/edk2-ovmf
|
>=sys-firmware/edk2-ovmf-${EDK2_OVMF_VERSION}
|
||||||
sys-firmware/ipxe[qemu]
|
sys-firmware/ipxe[qemu]
|
||||||
>=sys-firmware/seabios-1.10.2[seavgabios]
|
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
|
||||||
sys-firmware/sgabios
|
sys-firmware/sgabios
|
||||||
)"
|
)"
|
||||||
PPC_FIRMWARE_DEPEND="
|
PPC_FIRMWARE_DEPEND="
|
||||||
pin-upstream-blobs? (
|
pin-upstream-blobs? (
|
||||||
~sys-firmware/seabios-1.12.0[binary,seavgabios]
|
~sys-firmware/seabios-${SEABIOS_VERSION}[binary,seavgabios]
|
||||||
)
|
)
|
||||||
!pin-upstream-blobs? (
|
!pin-upstream-blobs? (
|
||||||
>=sys-firmware/seabios-1.10.2[seavgabios]
|
>=sys-firmware/seabios-${SEABIOS_VERSION}[seavgabios]
|
||||||
)
|
)
|
||||||
"
|
"
|
||||||
|
|
||||||
@ -193,7 +241,10 @@ BDEPEND="
|
|||||||
dev-lang/perl
|
dev-lang/perl
|
||||||
sys-apps/texinfo
|
sys-apps/texinfo
|
||||||
virtual/pkgconfig
|
virtual/pkgconfig
|
||||||
doc? ( dev-python/sphinx )
|
doc? (
|
||||||
|
dev-python/sphinx[${PYTHON_USEDEP}]
|
||||||
|
dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
|
||||||
|
)
|
||||||
gtk? ( nls? ( sys-devel/gettext ) )
|
gtk? ( nls? ( sys-devel/gettext ) )
|
||||||
test? (
|
test? (
|
||||||
dev-libs/glib[utils]
|
dev-libs/glib[utils]
|
||||||
@ -223,11 +274,10 @@ RDEPEND="${CDEPEND}
|
|||||||
|
|
||||||
PATCHES=(
|
PATCHES=(
|
||||||
"${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
|
"${FILESDIR}"/${PN}-2.11.1-capstone_include_path.patch
|
||||||
"${FILESDIR}"/${PN}-5.2.0-cleaner-werror.patch
|
|
||||||
"${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
|
"${FILESDIR}"/${PN}-5.2.0-disable-keymap.patch
|
||||||
"${FILESDIR}"/${PN}-5.2.0-strings.patch
|
"${FILESDIR}"/${PN}-6.0.0-make.patch
|
||||||
"${FILESDIR}"/${PN}-5.2.0-fix-firmware-path.patch
|
"${FILESDIR}"/${PN}-6.1.0-strings.patch
|
||||||
"${FILESDIR}"/${PN}-5.2.0-no-pie-ld.patch
|
"${FILESDIR}"/${P}-automagic-libbpf.patch
|
||||||
)
|
)
|
||||||
|
|
||||||
QA_PREBUILT="
|
QA_PREBUILT="
|
||||||
@ -340,7 +390,7 @@ check_targets() {
|
|||||||
local var=$1 mak=$2
|
local var=$1 mak=$2
|
||||||
local detected sorted
|
local detected sorted
|
||||||
|
|
||||||
pushd "${S}"/default-configs/targets/ >/dev/null || die
|
pushd "${S}"/configs/targets/ >/dev/null || die
|
||||||
|
|
||||||
# Force C locale until glibc is updated. #564936
|
# Force C locale until glibc is updated. #564936
|
||||||
detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
|
detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
|
||||||
@ -453,11 +503,13 @@ qemu_src_configure() {
|
|||||||
conf_opts+=(
|
conf_opts+=(
|
||||||
$(conf_notuser accessibility brlapi)
|
$(conf_notuser accessibility brlapi)
|
||||||
$(conf_notuser aio linux-aio)
|
$(conf_notuser aio linux-aio)
|
||||||
|
$(conf_softmmu bpf)
|
||||||
$(conf_notuser bzip2)
|
$(conf_notuser bzip2)
|
||||||
$(conf_notuser capstone)
|
$(conf_notuser capstone)
|
||||||
$(conf_notuser caps cap-ng)
|
$(conf_notuser caps cap-ng)
|
||||||
$(conf_notuser curl)
|
$(conf_notuser curl)
|
||||||
$(conf_notuser fdt)
|
$(conf_notuser fdt)
|
||||||
|
$(conf_notuser fuse)
|
||||||
$(conf_notuser glusterfs)
|
$(conf_notuser glusterfs)
|
||||||
$(conf_notuser gnutls)
|
$(conf_notuser gnutls)
|
||||||
$(conf_notuser gnutls nettle)
|
$(conf_notuser gnutls nettle)
|
||||||
@ -493,7 +545,7 @@ qemu_src_configure() {
|
|||||||
$(conf_notuser vhost-user-fs)
|
$(conf_notuser vhost-user-fs)
|
||||||
$(conf_tools vhost-user-fs virtiofsd)
|
$(conf_tools vhost-user-fs virtiofsd)
|
||||||
$(conf_notuser virgl virglrenderer)
|
$(conf_notuser virgl virglrenderer)
|
||||||
$(conf_notuser virtfs)
|
$(conf_softmmu virtfs)
|
||||||
$(conf_notuser vnc)
|
$(conf_notuser vnc)
|
||||||
$(conf_notuser vte)
|
$(conf_notuser vte)
|
||||||
$(conf_notuser xen)
|
$(conf_notuser xen)
|
||||||
@ -570,6 +622,9 @@ qemu_src_configure() {
|
|||||||
tc-enables-pie && conf_opts+=( --enable-pie )
|
tc-enables-pie && conf_opts+=( --enable-pie )
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Meson will not use a cross-file unless cross_prefix is set.
|
||||||
|
tc-is-cross-compiler && conf_opts+=( --cross-prefix="${CHOST}-" )
|
||||||
|
|
||||||
# Plumb through equivalent of EXTRA_ECONF to allow experiments
|
# Plumb through equivalent of EXTRA_ECONF to allow experiments
|
||||||
# like bug #747928.
|
# like bug #747928.
|
||||||
conf_opts+=( ${EXTRA_CONF_QEMU} )
|
conf_opts+=( ${EXTRA_CONF_QEMU} )
|
||||||
@ -720,7 +775,7 @@ src_install() {
|
|||||||
[[ -e check-report.html ]] && dodoc check-report.html
|
[[ -e check-report.html ]] && dodoc check-report.html
|
||||||
|
|
||||||
if use kernel_linux; then
|
if use kernel_linux; then
|
||||||
udev_newrules "${FILESDIR}"/65-kvm.rules-r1 65-kvm.rules
|
udev_newrules "${FILESDIR}"/65-kvm.rules-r2 65-kvm.rules
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if use python; then
|
if use python; then
|
||||||
@ -798,7 +853,7 @@ src_install() {
|
|||||||
firmware_abi_change() {
|
firmware_abi_change() {
|
||||||
local pv
|
local pv
|
||||||
for pv in ${REPLACING_VERSIONS}; do
|
for pv in ${REPLACING_VERSIONS}; do
|
||||||
if ver_test $pv -lt ${FIRMWARE_ABI_VERSION}; then
|
if ver_test ${pv} -lt ${FIRMWARE_ABI_VERSION}; then
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
done
|
done
|
Loading…
Reference in New Issue
Block a user