[packages/qemu] - updated to 6.2.0; -system-moxie is gone - updated execve patch - added u2f-emu patch (adjust e2f-e
qboosh
qboosh at pld-linux.org
Thu Jun 23 16:59:00 CEST 2022
commit f6b5cdb2d5f3867ed93ff074ab76ad1d00599f4f
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Sun Jun 12 08:33:10 2022 +0200
- updated to 6.2.0; -system-moxie is gone
- updated execve patch
- added u2f-emu patch (adjust e2f-emu.h header for meson-based libu2f-emu build)
- added -module-audio-jack and -devel subpackages
qemu-u2f-emu.patch | 11 ++++
qemu-user-execve.patch | 10 ++--
qemu.spec | 148 +++++++++++++++++++++++++++++--------------------
x32.patch | 11 ----
4 files changed, 104 insertions(+), 76 deletions(-)
---
diff --git a/qemu.spec b/qemu.spec
index ce6c1c2..d643611 100644
--- a/qemu.spec
+++ b/qemu.spec
@@ -29,7 +29,7 @@
%bcond_without virgl # build virgl support
%bcond_without xkbcommon # xkbcommon support
-%if %{without gtk}
+%if %{without gtk3}
%undefine with_vte
%endif
%ifarch x32
@@ -42,12 +42,12 @@
Summary: QEMU CPU Emulator
Summary(pl.UTF-8): QEMU - emulator procesora
Name: qemu
-Version: 6.0.0
+Version: 6.2.0
Release: 1
License: GPL v2, BSD (edk2 firmware files)
Group: Applications/Emulators
Source0: https://download.qemu.org/%{name}-%{version}.tar.xz
-# Source0-md5: cce185dc0119546e395909e8a71a75bb
+# Source0-md5: a077669ce58b6ee07ec355e54aad25be
# Loads kvm kernel modules at boot
Source3: kvm-modules-load.conf
# Creates /dev/kvm
@@ -70,6 +70,7 @@ Patch1: %{name}-user-execve.patch
Patch2: %{name}-xattr.patch
Patch3: libjpeg-boolean.patch
Patch4: x32.patch
+Patch5: %{name}-u2f-emu.patch
URL: https://www.qemu.org/
%{?with_opengl:BuildRequires: Mesa-libgbm-devel}
%{?with_opengl:BuildRequires: OpenGL-GLX-devel}
@@ -79,22 +80,29 @@ URL: https://www.qemu.org/
BuildRequires: alsa-lib-devel
%{?with_brlapi:BuildRequires: brlapi-devel}
BuildRequires: bzip2-devel
-BuildRequires: capstone-devel >= 3.0.5
-%{?with_ceph:BuildRequires: ceph-devel}
-BuildRequires: curl-devel
+BuildRequires: capstone-devel >= 4.0
+%{?with_ceph:BuildRequires: ceph-devel >= 12}
+BuildRequires: curl-devel >= 7.29.0
BuildRequires: cyrus-sasl-devel >= 2
+BuildRequires: daxctl-devel >= 57
+BuildRequires: gcc >= 6:7.4
BuildRequires: gettext-tools
-BuildRequires: glib2-devel >= 1:2.48
+BuildRequires: glib2-devel >= 1:2.56
# minimal is 3.4 but new features are used up to 6
%{?with_glusterfs:BuildRequires: glusterfs-devel >= 6}
-BuildRequires: gnutls-devel >= 3.1.18
+BuildRequires: gnutls-devel >= 3.6.14
%{?with_gtk3:BuildRequires: gtk+3-devel >= 3.22.0}
+BuildRequires: jack-audio-connection-kit-devel
+# for tests
+#BuildRequires: keyutils-devel
BuildRequires: libaio-devel
+BuildRequires: libbpf-devel
%{?with_smartcard:BuildRequires: libcacard-devel >= 2.5.1}
BuildRequires: libcap-ng-devel
BuildRequires: libdrm-devel
%{?with_opengl:BuildRequires: libepoxy-devel}
-BuildRequires: libfdt-devel >= 1.4.2
+BuildRequires: libfdt-devel >= 1.5.1
+BuildRequires: libfuse3-devel >= 3.8
%{?with_rdma:BuildRequires: libibverbs-devel}
%{?with_iscsi:BuildRequires: libiscsi-devel >= 1.9.0}
%{?with_rdma:BuildRequires: libibumad-devel}
@@ -103,10 +111,12 @@ BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
%{?with_rdma:BuildRequires: librdmacm-devel}
%{?with_seccomp:BuildRequires: libseccomp-devel >= 2.3.0}
-BuildRequires: libssh-devel >= 0.8
+BuildRequires: libselinux-devel
+BuildRequires: libssh-devel >= 0.8.7
BuildRequires: libslirp-devel >= 4.0.0
# for tests only
#BuildRequires: libtasn1-devel
+BuildRequires: libu2f-emu-devel
BuildRequires: libusb-devel >= 1.0.22
BuildRequires: liburing-devel
BuildRequires: libuuid-devel
@@ -114,11 +124,11 @@ BuildRequires: libxml2-devel >= 2.0
%{?with_lttng:BuildRequires: lttng-ust-devel}
BuildRequires: lzfse-devel
BuildRequires: lzo-devel >= 2
-BuildRequires: meson >= 0.55.0
+BuildRequires: meson >= 0.59.3
%{?with_multipath:BuildRequires: multipath-tools-devel}
BuildRequires: ncurses-devel
-# also libgcrypt-devel >= 1.5.0 possible, but gnutls already pulls nettle
-BuildRequires: nettle-devel >= 2.7.1
+# also libgcrypt-devel >= 1.8 possible, but gnutls already pulls nettle
+BuildRequires: nettle-devel >= 3.4
BuildRequires: ninja
%{?with_smartcard:BuildRequires: nss-devel >= 1:3.12.8}
BuildRequires: numactl-devel
@@ -129,7 +139,8 @@ BuildRequires: pixman-devel >= 0.21.8
BuildRequires: pkgconfig
%{?with_pmem:BuildRequires: pmdk-devel}
%{?with_pulseaudio:BuildRequires: pulseaudio-devel}
-BuildRequires: python3 >= 1:3.5
+BuildRequires: python3 >= 1:3.6
+BuildRequires: rpm-build >= 4.6
BuildRequires: rpmbuild(macros) >= 1.644
%{?with_system_seabios:BuildRequires: seabios}
BuildRequires: sed >= 4.0
@@ -151,8 +162,8 @@ BuildRequires: which
%{?with_virgl:BuildRequires: virglrenderer-devel}
%{?with_vte:BuildRequires: vte-devel >= 0.32.0}
# xencontrol xenstore xenguest xenforeignmemory xengnttab xenevtchn xendevicemodel; xentoolcore for xen 4.10+
-# min version is 4.2, more features up to 4.10
-%{?with_xen:BuildRequires: xen-devel >= 4.10}
+# min version is 4.2, more features up to 4.11
+%{?with_xen:BuildRequires: xen-devel >= 4.11}
BuildRequires: xfsprogs-devel
%if %{with xkbcommon}
BuildRequires: xkeyboard-config
@@ -163,7 +174,7 @@ BuildRequires: xz
BuildRequires: zlib-devel
BuildRequires: zstd-devel >= 1.4.0
%if %{with user_static}
-BuildRequires: glib2-static >= 1:2.48
+BuildRequires: glib2-static >= 1:2.56
BuildRequires: glibc-static
BuildRequires: pcre-static
BuildRequires: zlib-static
@@ -178,7 +189,6 @@ Requires: %{name}-system-hppa = %{version}-%{release}
Requires: %{name}-system-m68k = %{version}-%{release}
Requires: %{name}-system-microblaze = %{version}-%{release}
Requires: %{name}-system-mips = %{version}-%{release}
-Requires: %{name}-system-moxie = %{version}-%{release}
Requires: %{name}-system-nios2 = %{version}-%{release}
Requires: %{name}-system-or1k = %{version}-%{release}
Requires: %{name}-system-ppc = %{version}-%{release}
@@ -197,9 +207,12 @@ ExcludeArch: i386
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define systempkg_req \
-Requires: capstone >= 3.0.5 \
+Requires: capstone >= 4.0 \
+Requires: daxctl-libs >= 57 \
%{?with_smartcard:Requires: libcacard >= 2.5.1} \
-Requires: libfdt >= 1.4.2 \
+Requires: libfdt >= 1.5.1 \
+Requires: libfuse3 >= 3.8 \
+%{?with_iscsi:Requires: libiscsi >= 1.9.0} \
%if %{with seccomp} \
Requires: libseccomp >= 2.3.0 \
%endif \
@@ -211,8 +224,7 @@ Requires: spice-server-libs >= 0.12.5 \
%endif \
%if %{with usbredir} \
Requires: usbredir >= 0.6 \
-%endif \
-Requires: zstd >= 1.4.0
+%endif
# don't strip/chrpath anything in there; these are boot images, roms etc
%define _noautostrip .*%{_datadir}/qemu/.*
@@ -249,6 +261,18 @@ aby działał na kolejnych procesorach. QEMU ma dwa tryby pracy:
używane do wirtualnego hostowania kilku wirtualnych pecetów na
pojedynczym serwerze.
+%package devel
+Summary: Header file for QEMU plugins development
+Summary(pl.UTF-8): Plik nagłówkowy do tworzenia wtyczek QEMU
+Group: Development/Libraries
+BuildArch: noarch
+
+%description devel
+Header file for QEMU plugins development.
+
+%description devel -l pl.UTF-8
+Plik nagłówkowy do tworzenia wtyczek QEMU.
+
%package common
Summary: QEMU common files needed by all QEMU targets
Summary(pl.UTF-8): Wspólne pliki QEMU wymagane przez wszystkie środowiska QEMU
@@ -260,16 +284,18 @@ Requires(pre): /bin/id
Requires(pre): /usr/bin/getgid
Requires(pre): /usr/sbin/groupadd
Requires(pre): /usr/sbin/useradd
-Requires: glib2 >= 1:2.48
-Requires: gnutls-libs >= 3.1.18
+Requires: glib2 >= 1:2.56
+Requires: gnutls-libs >= 3.6.14
%{?with_gtk3:Requires: gtk+3 >= 3.22.0}
-Requires: nettle >= 2.7.1
+Requires: nettle >= 3.4
Requires: systemd-units >= 38
%{?with_vte:Requires: vte >= 0.32.0}
+Requires: zstd >= 1.4.0
Provides: group(qemu)
Provides: user(qemu)
Obsoletes: qemu-kvm-common < 2
Obsoletes: qemu-module-block-archipelago < 2.9.0
+Obsoletes: qemu-system-moxie < 6.1
Conflicts: qemu < 1.0-2
%description common
@@ -523,25 +549,6 @@ dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
Ten pakiet zawiera emulator systemu z procesorem MIPS.
-%package system-moxie
-Summary: QEMU system emulator for Moxie
-Summary(pl.UTF-8): QEMU - emulator systemu z procesorem Moxie
-Group: Applications/Emulators
-Requires: %{name}-common = %{version}-%{release}
-%systempkg_req
-
-%description system-moxie
-QEMU is a generic and open source processor emulator which achieves a
-good emulation speed by using dynamic translation.
-
-This package provides the system emulator with Moxie CPU.
-
-%description system-moxie -l pl.UTF-8
-QEMU to ogólny, mający otwarte źródła emulator procesora, osiągający
-dobrą szybkość emulacji dzięki użyciu translacji dynamicznej.
-
-Ten pakiet zawiera emulator systemu z procesorem Moxie.
-
%package system-nios2
Summary: QEMU system emulator for Nios II
Summary(pl.UTF-8): QEMU - emulator systemu z procesorem Nios II
@@ -785,7 +792,7 @@ Summary: QEMU guest agent
Summary(pl.UTF-8): Agent gościa QEMU
Group: Daemons
Requires(post,preun,postun): systemd-units >= 38
-Requires: glib2 >= 1:2.48
+Requires: glib2 >= 1:2.56
Requires: systemd-units >= 38
Obsoletes: qemu-kvm-guest-agent < 2
Conflicts: SysVinit < 2.96-2
@@ -810,11 +817,24 @@ systemach-gościach, komunikującego się kanałem virtio-serial o nazwie
Ten pakiet nie musi być zainstalowany w systemie hosta.
+%package module-audio-jack
+Summary: QEMU module for JACK audio output
+Summary(pl.UTF-8): Moduł QEMU z wyjściem dźwięku JACK
+Group: Applications/Emulators
+Requires: %{name}-common = %{version}-%{release}
+
+%description module-audio-jack
+QEMU module for JACK audio output.
+
+%description module-audio-jack -l pl.UTF-8
+Moduł QEMU z wyjściem dźwięku JACK.
+
%package module-block-curl
Summary: QEMU module for 'curl' block devices
Summary(pl.UTF-8): Moduł QEMU dla urządeń blokowych typu 'curl'
Group: Applications/Emulators
Requires: %{name}-common = %{version}-%{release}
+Requires: curl-libs >= 7.29.0
%description module-block-curl
QEMU block device support for CURL. It allows to access remote disks
@@ -872,6 +892,7 @@ Summary: QEMU module for 'rbd' block devices
Summary(pl.UTF-8): Moduł QEMU dla urządeń blokowych typu 'rbd'
Group: Applications/Emulators
Requires: %{name}-common = %{version}-%{release}
+Requires: ceph-libs >= 12
%description module-block-rbd
QEMU block device support for Ceph/RBD volumes.
@@ -884,7 +905,7 @@ Summary: QEMU module for 'ssh' block devices
Summary(pl.UTF-8): Moduł QEMU dla urządeń blokowych typu 'ssh'
Group: Applications/Emulators
Requires: %{name}-common = %{version}-%{release}
-Requires: libssh >= 0.8
+Requires: libssh >= 0.8.7
%description module-block-ssh
QEMU block device support for accessing remote disks using the Secure
@@ -938,13 +959,15 @@ Sondy systemtap/dtrace dla QEMU.
%patch2 -p1
%patch3 -p1
%patch4 -p1
+%patch5 -p1
%{__sed} -i '1s,/usr/bin/env python3,%{__python3},' scripts/qemu-trace-stap
%if %{with systemtap}
# don't require stap binary during build
-%{__sed} -i -e "s/has 'stap'/true/" configure
+%{__sed} -i -e "s/stap.found()/true/" meson.build docs/meson.build scripts/meson.build
%endif
+
%build
build() {
@@ -979,7 +1002,7 @@ build() {
build dynamic \
--extra-cflags="%{rpmcflags} %{rpmcppflags}" \
--extra-ldflags="%{rpmldflags} -Wl,-z,relro -Wl,-z,now" \
- --audio-drv-list="alsa%{?with_oss:,oss}%{?with_sdl:,sdl}%{?with_pulseaudio:,pa}" \
+ --audio-drv-list="alsa,jack%{?with_oss:,oss}%{?with_pulseaudio:,pa}%{?with_sdl:,sdl}" \
--enable-attr \
%{__enable_disable brlapi} \
--enable-cap-ng \
@@ -1173,12 +1196,6 @@ fi
%if %{with system_seabios}
ln -sf /usr/share/seabios/bios.bin $RPM_BUILD_ROOT%{_datadir}/%{name}/bios-256k.bin
# bios.bin provided by qemu is stripped to 128k, with no Xen support, keep it
-for f in $RPM_BUILD_ROOT%{_datadir}/%{name}/*.aml ; do
- bn="$(basename $f)"
- if [ -e "/usr/share/seabios/$bn" ] ; then
- ln -sf "/usr/share/seabios/$bn" "$f"
- fi
-done
%endif
%if %{with gtk3}
@@ -1193,6 +1210,8 @@ for t in client server; do
cp -p build-dynamic/contrib/ivshmem-$t/ivshmem-$t $RPM_BUILD_ROOT%{_bindir}
done
+# test modules
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/%{name}/accel-qtest-*.so
# Windows installer icon, not used
%{__rm} $RPM_BUILD_ROOT%{_datadir}/%{name}/qemu-nsis.bmp
# packaged as %doc
@@ -1260,6 +1279,10 @@ fi
%files
%defattr(644,root,root,755)
+%files devel
+%defattr(644,root,root,755)
+%{_includedir}/qemu-plugin.h
+
%files common -f %{name}.lang
%defattr(644,root,root,755)
%doc LICENSE README.rst pc-bios/edk2-licenses.txt
@@ -1295,6 +1318,8 @@ fi
# modules without too many external dependencies
%attr(755,root,root) %{_libdir}/%{name}/block-dmg-bz2.so
%attr(755,root,root) %{_libdir}/%{name}/block-dmg-lzfse.so
+%attr(755,root,root) %{_libdir}/%{name}/accel-tcg-i386.so
+%attr(755,root,root) %{_libdir}/%{name}/accel-tcg-x86_64.so
%attr(755,root,root) %{_libdir}/%{name}/audio-alsa.so
%if %{with oss}
%attr(755,root,root) %{_libdir}/%{name}/audio-oss.so
@@ -1306,10 +1331,14 @@ fi
%attr(755,root,root) %{_libdir}/%{name}/chardev-baum.so
%endif
%attr(755,root,root) %{_libdir}/%{name}/hw-display-qxl.so
-%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-gpu-pci.so
%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-gpu.so
+%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-gpu-gl.so
+%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-gpu-pci.so
+%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-gpu-pci-gl.so
%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-vga.so
+%attr(755,root,root) %{_libdir}/%{name}/hw-display-virtio-vga-gl.so
%attr(755,root,root) %{_libdir}/%{name}/hw-s390x-virtio-gpu-ccw.so
+%attr(755,root,root) %{_libdir}/%{name}/hw-usb-host.so
%attr(755,root,root) %{_libdir}/%{name}/ui-curses.so
%if %{with usbredir}
%attr(755,root,root) %{_libdir}/%{name}/hw-usb-redirect.so
@@ -1485,10 +1514,6 @@ fi
%attr(755,root,root) %{_bindir}/qemu-system-mips64
%attr(755,root,root) %{_bindir}/qemu-system-mips64el
-%files system-moxie
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/qemu-system-moxie
-
%files system-nios2
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/qemu-system-nios2
@@ -1580,6 +1605,7 @@ fi
%{_datadir}/%{name}/linuxboot.bin
%{_datadir}/%{name}/linuxboot_dma.bin
%{_datadir}/%{name}/multiboot.bin
+%{_datadir}/%{name}/multiboot_dma.bin
%{_datadir}/%{name}/pvh.bin
%{_datadir}/%{name}/pxe-e1000.rom
%{_datadir}/%{name}/pxe-eepro100.rom
@@ -1618,6 +1644,10 @@ fi
%{_mandir}/man7/qemu-ga-ref.7*
%{_mandir}/man8/qemu-ga.8*
+%files module-audio-jack
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/audio-jack.so
+
%files module-block-curl
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/%{name}/block-curl.so
diff --git a/qemu-u2f-emu.patch b/qemu-u2f-emu.patch
new file mode 100644
index 0000000..3f74ad8
--- /dev/null
+++ b/qemu-u2f-emu.patch
@@ -0,0 +1,11 @@
+--- qemu-6.2.0/hw/usb/u2f-emulated.c.orig 2021-12-14 21:42:02.000000000 +0100
++++ qemu-6.2.0/hw/usb/u2f-emulated.c 2022-06-23 06:03:41.512678723 +0200
+@@ -31,7 +31,7 @@
+ #include "hw/usb.h"
+ #include "hw/qdev-properties.h"
+
+-#include <u2f-emu/u2f-emu.h>
++#include <u2f-emu.h>
+
+ #include "u2f.h"
+
diff --git a/qemu-user-execve.patch b/qemu-user-execve.patch
index 8a0cf71..1834887 100644
--- a/qemu-user-execve.patch
+++ b/qemu-user-execve.patch
@@ -78,18 +78,16 @@ index ee12035..5951279 100644
{"R", "QEMU_RESERVED_VA", true, handle_arg_reserved_va,
"size", "reserve 'size' bytes for guest virtual address space"},
{"d", "QEMU_LOG", true, handle_arg_log,
-diff --git a/linux-user/qemu.h b/linux-user/qemu.h
-index bd90cc3..0d9b058 100644
---- a/linux-user/qemu.h
-+++ b/linux-user/qemu.h
-@@ -140,6 +140,7 @@ void init_task_state(TaskState *ts);
+--- qemu-6.2.0/linux-user/user-internals.h.orig
++++ qemu-6.2.0/linux-user/user-internals.h
+@@ -28,6 +28,7 @@ void init_task_state(TaskState *ts);
void task_settid(TaskState *);
void stop_all_tasks(void);
extern const char *qemu_uname_release;
+extern const char *qemu_execve_path;
extern unsigned long mmap_min_addr;
- /* ??? See if we can avoid exposing so much of the loader internals. */
+ typedef struct IOCTLEntry IOCTLEntry;
--- qemu-2.12.0/linux-user/syscall.c~ 2018-04-30 21:43:39.000000000 +0300
+++ qemu-2.12.0/linux-user/syscall.c 2018-04-30 21:46:36.362935706 +0300
@@ -5854,6 +5854,109 @@ static target_timer_t get_timer_id(abi_long arg)
diff --git a/x32.patch b/x32.patch
index 342bb07..c0dec10 100644
--- a/x32.patch
+++ b/x32.patch
@@ -9,14 +9,3 @@
test "$targetos" != "Darwin" && test "$targetos" != "SunOS" && \
test "$targetos" != "Haiku" && test "$softmmu" = yes ; then
# Different host OS linkers have different ideas about the name of the ELF
---- qemu-2.6.0/include/qemu/atomic.h~ 2016-07-17 18:37:57.000000000 +0200
-+++ qemu-2.6.0/include/qemu/atomic.h 2016-07-17 18:38:33.485893530 +0200
-@@ -20,7 +20,7 @@
- (unsigned short)1, \
- (expr)+0))))))
-
--#ifdef __ATOMIC_RELAXED
-+#if defined(__ATOMIC_RELAXED) && !defined(__ILP32__)
- /* For C11 atomic ops */
-
- /* Manual memory barriers
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/qemu.git/commitdiff/f6b5cdb2d5f3867ed93ff074ab76ad1d00599f4f
More information about the pld-cvs-commit
mailing list