|
|
|
|
From faae70a870156f86a5cf55ca967b15d7612941ff Mon Sep 17 00:00:00 2001
|
|
|
|
|
From: Miroslav Rezanina <mrezanin@redhat.com>
|
|
|
|
|
Date: Wed, 26 May 2021 10:56:02 +0200
|
|
|
|
|
Subject: Initial redhat build
|
|
|
|
|
|
|
|
|
|
This patch introduces redhat build structure in redhat subdirectory. In addition,
|
|
|
|
|
several issues are fixed in QEMU tree:
|
|
|
|
|
|
|
|
|
|
- Change of app name for sasl_server_init in VNC code from qemu to qemu-kvm
|
|
|
|
|
- As we use qemu-kvm as name in all places, this is updated to be consistent
|
|
|
|
|
- Man page renamed from qemu to qemu-kvm
|
|
|
|
|
- man page is installed using make install so we have to fix it in qemu tree
|
|
|
|
|
|
|
|
|
|
We disable make check due to issues with some of the tests.
|
|
|
|
|
|
|
|
|
|
This rebase is based on qemu-kvm-8.1.0-5.el9
|
|
|
|
|
|
|
|
|
|
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
|
|
|
|
--
|
|
|
|
|
Rebase changes (6.1.0):
|
|
|
|
|
- Move build to .distro
|
|
|
|
|
- Move changes for support file to related commit
|
|
|
|
|
- Added dependency for python3-sphinx-rtd_theme
|
|
|
|
|
- Removed --disable-sheepdog configure option
|
|
|
|
|
- Added new hw-display modules
|
|
|
|
|
- SASL initialization moved to ui/vnc-auth-sasl.c
|
|
|
|
|
- Add accel-qtest-<arch> and accel-tcg-x86_64 libraries
|
|
|
|
|
- Added hw-usb-host module
|
|
|
|
|
- Disable new configure options (bpf, nvmm, slirp-smbd)
|
|
|
|
|
- Use -pie for ksmctl build (annocheck complain fix)
|
|
|
|
|
|
|
|
|
|
Rebase changes (6.2.0):
|
|
|
|
|
- removed --disable-jemalloc and --disable-tcmalloc configure options
|
|
|
|
|
- added audio-oss.so
|
|
|
|
|
- added fdt requirement for x86_64
|
|
|
|
|
- tests/acceptance renamed to tests/avocado
|
|
|
|
|
- added multiboot_dma.bin
|
|
|
|
|
- Add -Wno-string-plus-int to extra flags
|
|
|
|
|
- Updated configure options
|
|
|
|
|
|
|
|
|
|
Rebase changes (7.0.0):
|
|
|
|
|
- Do not use -mlittle CFLAG on ppc64le
|
|
|
|
|
- Used upstream handling issue with ui/clipboard.c
|
|
|
|
|
- Use -mlittle-endian on ppc64le instead of deleteing it in configure
|
|
|
|
|
- Drop --disable-libxml2 option for configure (upstream)
|
|
|
|
|
- Remove vof roms
|
|
|
|
|
- Disable AVX2 support
|
|
|
|
|
- Use internal meson
|
|
|
|
|
- Disable new configure options (dbus-display and qga-vss)
|
|
|
|
|
- Change permissions on installing tests/Makefile.include
|
|
|
|
|
- Remove ssh block driver
|
|
|
|
|
|
|
|
|
|
Rebase changes (7.1.0):
|
|
|
|
|
- --disable-vnc-png renamed to --disable-png (upstream)
|
|
|
|
|
- removed --disable-vhost-vsock and --disable-vhost-scsi
|
|
|
|
|
- capstone submodule removed
|
|
|
|
|
- Temporary include capstone build
|
|
|
|
|
|
|
|
|
|
Rebase changes (7.2.0):
|
|
|
|
|
- Switch --enable-slirp=system to --enable-slirp
|
|
|
|
|
- Added new configure options (blkio and sndio, both disabled)
|
|
|
|
|
|
|
|
|
|
Rebase changes (7.2.0):
|
|
|
|
|
- Fix SRPM name generation to work on Fedora 37
|
|
|
|
|
- Switch back to system meson
|
|
|
|
|
|
|
|
|
|
Rebase changes (8.0.0):
|
|
|
|
|
- use enable-dtrace-backands instead of enable-dtrace-backend
|
|
|
|
|
- Removed qemu virtiofsd bits
|
|
|
|
|
- test/check-block.sh removed (upstream)
|
|
|
|
|
- Add new --disable-* options for configure
|
|
|
|
|
|
|
|
|
|
Rebase changes (8.1.0):
|
|
|
|
|
- qmp-spec.txt installed by make
|
|
|
|
|
- Removed --meson configure option
|
|
|
|
|
- Add --disable-pypi
|
|
|
|
|
- Removed --with-git and -with-gitsubmodules
|
|
|
|
|
- Renamed --disable-pypi to --disable-downloads
|
|
|
|
|
- Minor updates in README.tests
|
|
|
|
|
|
|
|
|
|
Rebase changes (8.2.0):
|
|
|
|
|
- Removed --disable-hax (upstream)
|
|
|
|
|
- Added --disable-plugins configure option
|
|
|
|
|
- Fixing frh.py strings
|
|
|
|
|
|
|
|
|
|
Merged patches (6.0.0):
|
|
|
|
|
- 605758c902 Limit build on Power to qemu-img and qemu-ga only
|
|
|
|
|
|
|
|
|
|
Merged patches (6.1.0):
|
|
|
|
|
- f04f91751f Use cached tarballs
|
|
|
|
|
- 6581165c65 Remove message with running VM count
|
|
|
|
|
- 03c3cac9fc spec-file: build qemu-kvm without SPICE and QXL
|
|
|
|
|
- e0ae6c1f6c spec-file: Obsolete qemu-kvm-ui-spice
|
|
|
|
|
- 9d2e9f9ecf spec: Do not build qemu-kvm-block-gluster
|
|
|
|
|
- cf470b4234 spec: Do not link pcnet and ne2k_pci roms
|
|
|
|
|
- e981284a6b redhat: Install the s390-netboot.img that we've built
|
|
|
|
|
- 24ef557f33 spec: Remove usage of Group: tag
|
|
|
|
|
- c40d69b4f4 spec: Drop %defattr usage
|
|
|
|
|
- f8e98798ce spec: Clean up BuildRequires
|
|
|
|
|
- 47246b43ee spec: Remove iasl BuildRequires
|
|
|
|
|
- 170dc1cbe0 spec: Remove redundant 0 in conditionals
|
|
|
|
|
- 8718f6fa11 spec: Add more have_XXX conditionals
|
|
|
|
|
- a001269ce9 spec: Remove binutils versioned Requires
|
|
|
|
|
- 34545ee641 spec: Remove diffutils BuildRequires
|
|
|
|
|
- c2c82beac9 spec: Remove redundant Requires:
|
|
|
|
|
- 9314c231f4 spec: Add XXX_version macros
|
|
|
|
|
- c43db0bf0f spec: Add have_block_rbd
|
|
|
|
|
- 3ecb0c0319 qga: drop StandardError=syslog
|
|
|
|
|
- 018049dc80 Remove iscsi support
|
|
|
|
|
- a2edf18777 redhat: Replace the kvm-setup.service with a /etc/modules-load.d config file
|
|
|
|
|
- 387b5fbcfe redhat: Move qemu-kvm-docs dependency to qemu-kvm
|
|
|
|
|
- 4ead693178 redhat: introducting qemu-kvm-hw-usbredir
|
|
|
|
|
- 4dc6fc3035 redhat: use the standard vhost-user JSON path
|
|
|
|
|
- 84757178b4 Fix local build
|
|
|
|
|
- 8c394227dd spec: Restrict block drivers in tools
|
|
|
|
|
- b6aa7c1fae Move tools to separate package
|
|
|
|
|
- eafd82e509 Split qemu-pr-helper to separate package
|
|
|
|
|
- 2c0182e2aa spec: RPM_BUILD_ROOT -> %{buildroot}
|
|
|
|
|
- 91bd55ca13 spec: More use of %{name} instead of 'qemu-kvm'
|
|
|
|
|
- 50ba299c61 spec: Use qemu-pr-helper.service from qemu.git (partial)
|
|
|
|
|
- ee08d4e0a3 spec: Use %{_sourcedir} for referencing sources
|
|
|
|
|
- 039e7f7d02 spec: Add tools_only
|
|
|
|
|
- 884ba71617 spec: %build: Add run_configure helper
|
|
|
|
|
- 8ebd864d65 spec: %build: Disable more bits with %{disable_everything} (partial)
|
|
|
|
|
- f23fdb53f5 spec: %build: Add macros for some 'configure' parameters
|
|
|
|
|
- fe951a8bd8 spec: %files: Move qemu-guest-agent and qemu-img earlier
|
|
|
|
|
- 353b632e37 spec: %install: Remove redundant bits
|
|
|
|
|
- 9d2015b752 spec: %install: Add %{modprobe_kvm_conf} macro
|
|
|
|
|
- 6d05134e8c spec: %install: Remove qemu-guest-agent /etc/qemu-kvm usage
|
|
|
|
|
- 985b226467 spec: %install: clean up qemu-ga section
|
|
|
|
|
- dfaf9c600d spec: %install: Use a single %{tools_only} section
|
|
|
|
|
- f6978ddb46 spec: Make tools_only not cross spec sections
|
|
|
|
|
- 071c211098 spec: %install: Limit time spent in %{qemu_kvm_build}
|
|
|
|
|
- 1b65c674be spec: misc syntactic merges with Fedora
|
|
|
|
|
- 4da16294cf spec: Use Fedora's pattern for specifying rc version
|
|
|
|
|
- d7ee259a79 spec: %files: don't use fine grained -docs file list
|
|
|
|
|
- 64cad0c60f spec: %files: Add licenses to qemu-common too
|
|
|
|
|
- c3de4f080a spec: %install: Drop python3 shebang fixup
|
|
|
|
|
- 46fc216115 Update local build to work with spec file improvements
|
|
|
|
|
- bab9531548 spec: Remove buildldflags
|
|
|
|
|
- c8360ab6a9 spec: Use %make_build macro
|
|
|
|
|
- f6966c66e9 spec: Drop make install sharedir and datadir usage
|
|
|
|
|
- 86982421bc spec: use %make_install macro
|
|
|
|
|
- 191c405d22 spec: parallelize `make check`
|
|
|
|
|
- 251a1fb958 spec: Drop explicit --build-id
|
|
|
|
|
- 44c7dda6c3 spec: use %{build_ldflags}
|
|
|
|
|
- 0009a34354 Move virtiofsd to separate package
|
|
|
|
|
- 34d1b200b3 Utilize --firmware configure option
|
|
|
|
|
- 2800e1dd03 spec: Switch toolchain to Clang/LLVM (except process-patches.sh)
|
|
|
|
|
- e8a70f500f spec: Use safe-stack for x86_64
|
|
|
|
|
- e29445d50d spec: Reenable write support for VMDK etc. in tools
|
|
|
|
|
- a4fe2a3e16 redhat: Disable LTO on non-x86 architectures
|
|
|
|
|
|
|
|
|
|
Merged patches (6.2.0):
|
|
|
|
|
- 333452440b remove sgabios dependency
|
|
|
|
|
- 7d3633f184 enable pulseaudio
|
|
|
|
|
- bd898709b0 spec: disable use of gcrypt for crypto backends in favour of gnutls
|
|
|
|
|
- e4f0c6dee6 spec: Remove block-curl and block-ssh dependency
|
|
|
|
|
- 4dc13bfe63 spec: Build the VDI block driver
|
|
|
|
|
- d2f2ff3c74 spec: Explicitly include compress filter
|
|
|
|
|
- a7d047f9c2 Move ksmtuned files to separate package
|
|
|
|
|
|
|
|
|
|
Merged patches (7.0.0):
|
|
|
|
|
- 098d4d08d0 spec: Rename qemu-kvm-hw-usbredir to qemu-kvm-device-usb-redirect
|
|
|
|
|
- c2bd0d6834 spec: Split qemu-kvm-ui-opengl
|
|
|
|
|
- 2c9cda805d spec: Introduce packages for virtio-gpu-* modules (changed as rhel device tree not set)
|
|
|
|
|
- d0414a3e0b spec: Introduce device-display-virtio-vga* packages
|
|
|
|
|
- 3534ec46d4 spec: Move usb-host module to separate package
|
|
|
|
|
- ddc14d4737 spec: Move qtest accel module to tests package
|
|
|
|
|
- 6f2c4befa6 spec: Extend qemu-kvm-core description
|
|
|
|
|
- 6f11866e4e (rhel/rhel-9.0.0) Update to qemu-kvm-6.2.0-6.el9
|
|
|
|
|
- da0a28758f ui/clipboard: fix use-after-free regression
|
|
|
|
|
- 895d4d52eb spec: Remove qemu-virtiofsd
|
|
|
|
|
- c8c8c8bd84 spec: Fix obsolete for spice subpackages
|
|
|
|
|
- d46d2710b2 spec: Obsolete old usb redir subpackage
|
|
|
|
|
- 6f52a50b68 spec: Obsolete ssh driver
|
|
|
|
|
|
|
|
|
|
Merged patches (7.2.0):
|
|
|
|
|
- 8c6834feb6 Remove opengl display device subpackages (C9S MR 124)
|
|
|
|
|
- 0ecc97f29e spec: Add requires for packages with additional virtio-gpu variants (C9S MR 124)
|
|
|
|
|
|
|
|
|
|
Merged patches (8.0.0):
|
|
|
|
|
- 7754f6ba78 Minor packaging fixes
|
|
|
|
|
- 401af56187 spec: Disable VDUSE
|
|
|
|
|
|
|
|
|
|
Merged patches (8.1.0):
|
|
|
|
|
- 0c2306676f Enable Linux io_uring
|
|
|
|
|
- b7fa6426d5 Enable libblkio block drivers
|
|
|
|
|
- 19f6d7a6f4 Fix virtio-blk-vhost-vdpa typo in spec file
|
|
|
|
|
- f356cae88f spec: Build DBUS display
|
|
|
|
|
- 77b763efd5 Provide elf2dmp binary in qemu-tools
|
|
|
|
|
|
|
|
|
|
Merged patches (8.2.0):
|
|
|
|
|
- cd9efa221d Enable qemu-kvm-device-usb-redirec for aarch64
|
|
|
|
|
|
|
|
|
|
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
|
|
|
|
---
|
|
|
|
|
.distro/Makefile | 100 +
|
|
|
|
|
.distro/Makefile.common | 42 +
|
|
|
|
|
.distro/README.tests | 39 +
|
|
|
|
|
.distro/modules-load.conf | 4 +
|
|
|
|
|
.distro/qemu-guest-agent.service | 1 -
|
|
|
|
|
.distro/qemu-kvm.spec.template | 4909 +++++++++++++++++++++++
|
|
|
|
|
.distro/rpminspect.yaml | 6 +-
|
|
|
|
|
.distro/scripts/extract_build_cmd.py | 12 +
|
|
|
|
|
.distro/scripts/frh.py | 4 +-
|
|
|
|
|
.distro/scripts/process-patches.sh | 4 +
|
|
|
|
|
.gitignore | 1 +
|
|
|
|
|
README.systemtap | 43 +
|
|
|
|
|
scripts/qemu-guest-agent/fsfreeze-hook | 2 +-
|
|
|
|
|
scripts/systemtap/conf.d/qemu_kvm.conf | 4 +
|
|
|
|
|
scripts/systemtap/script.d/qemu_kvm.stp | 1 +
|
|
|
|
|
ui/vnc-auth-sasl.c | 2 +-
|
|
|
|
|
16 files changed, 5168 insertions(+), 6 deletions(-)
|
|
|
|
|
create mode 100644 .distro/Makefile
|
|
|
|
|
create mode 100644 .distro/Makefile.common
|
|
|
|
|
create mode 100644 .distro/README.tests
|
|
|
|
|
create mode 100644 .distro/modules-load.conf
|
|
|
|
|
create mode 100644 .distro/qemu-kvm.spec.template
|
|
|
|
|
create mode 100644 README.systemtap
|
|
|
|
|
create mode 100644 scripts/systemtap/conf.d/qemu_kvm.conf
|
|
|
|
|
create mode 100644 scripts/systemtap/script.d/qemu_kvm.stp
|
|
|
|
|
|
|
|
|
|
diff --git a/README.systemtap b/README.systemtap
|
|
|
|
|
new file mode 100644
|
|
|
|
|
index 0000000000..ad913fc990
|
|
|
|
|
--- /dev/null
|
|
|
|
|
+++ b/README.systemtap
|
|
|
|
|
@@ -0,0 +1,43 @@
|
|
|
|
|
+QEMU tracing using systemtap-initscript
|
|
|
|
|
+---------------------------------------
|
|
|
|
|
+
|
|
|
|
|
+You can capture QEMU trace data all the time using systemtap-initscript. This
|
|
|
|
|
+uses SystemTap's flight recorder mode to trace all running guests to a
|
|
|
|
|
+fixed-size buffer on the host. Old trace entries are overwritten by new
|
|
|
|
|
+entries when the buffer size wraps.
|
|
|
|
|
+
|
|
|
|
|
+1. Install the systemtap-initscript package:
|
|
|
|
|
+ # yum install systemtap-initscript
|
|
|
|
|
+
|
|
|
|
|
+2. Install the systemtap scripts and the conf file:
|
|
|
|
|
+ # cp /usr/share/qemu-kvm/systemtap/script.d/qemu_kvm.stp /etc/systemtap/script.d/
|
|
|
|
|
+ # cp /usr/share/qemu-kvm/systemtap/conf.d/qemu_kvm.conf /etc/systemtap/conf.d/
|
|
|
|
|
+
|
|
|
|
|
+The set of trace events to enable is given in qemu_kvm.stp. This SystemTap
|
|
|
|
|
+script can be customized to add or remove trace events provided in
|
|
|
|
|
+/usr/share/systemtap/tapset/qemu-kvm-simpletrace.stp.
|
|
|
|
|
+
|
|
|
|
|
+SystemTap customizations can be made to qemu_kvm.conf to control the flight
|
|
|
|
|
+recorder buffer size and whether to store traces in memory only or disk too.
|
|
|
|
|
+See stap(1) for option documentation.
|
|
|
|
|
+
|
|
|
|
|
+3. Start the systemtap service.
|
|
|
|
|
+ # service systemtap start qemu_kvm
|
|
|
|
|
+
|
|
|
|
|
+4. Make the service start at boot time.
|
|
|
|
|
+ # chkconfig systemtap on
|
|
|
|
|
+
|
|
|
|
|
+5. Confirm that the service works.
|
|
|
|
|
+ # service systemtap status qemu_kvm
|
|
|
|
|
+ qemu_kvm is running...
|
|
|
|
|
+
|
|
|
|
|
+When you want to inspect the trace buffer, perform the following steps:
|
|
|
|
|
+
|
|
|
|
|
+1. Dump the trace buffer.
|
|
|
|
|
+ # staprun -A qemu_kvm >/tmp/trace.log
|
|
|
|
|
+
|
|
|
|
|
+2. Start the systemtap service because the preceding step stops the service.
|
|
|
|
|
+ # service systemtap start qemu_kvm
|
|
|
|
|
+
|
|
|
|
|
+3. Translate the trace record to readable format.
|
|
|
|
|
+ # /usr/share/qemu-kvm/simpletrace.py --no-header /usr/share/qemu-kvm/trace-events /tmp/trace.log
|
|
|
|
|
diff --git a/scripts/qemu-guest-agent/fsfreeze-hook b/scripts/qemu-guest-agent/fsfreeze-hook
|
|
|
|
|
index 13aafd4845..e9b84ec028 100755
|
|
|
|
|
--- a/scripts/qemu-guest-agent/fsfreeze-hook
|
|
|
|
|
+++ b/scripts/qemu-guest-agent/fsfreeze-hook
|
|
|
|
|
@@ -8,7 +8,7 @@
|
|
|
|
|
# request, it is issued with "thaw" argument after filesystem is thawed.
|
|
|
|
|
|
|
|
|
|
LOGFILE=/var/log/qga-fsfreeze-hook.log
|
|
|
|
|
-FSFREEZE_D=$(dirname -- "$0")/fsfreeze-hook.d
|
|
|
|
|
+FSFREEZE_D=$(dirname -- "$(realpath $0)")/fsfreeze-hook.d
|
|
|
|
|
|
|
|
|
|
# Check whether file $1 is a backup or rpm-generated file and should be ignored
|
|
|
|
|
is_ignored_file() {
|
|
|
|
|
diff --git a/scripts/systemtap/conf.d/qemu_kvm.conf b/scripts/systemtap/conf.d/qemu_kvm.conf
|
|
|
|
|
new file mode 100644
|
|
|
|
|
index 0000000000..372d8160a4
|
|
|
|
|
--- /dev/null
|
|
|
|
|
+++ b/scripts/systemtap/conf.d/qemu_kvm.conf
|
|
|
|
|
@@ -0,0 +1,4 @@
|
|
|
|
|
+# Force load uprobes (see BZ#1118352)
|
|
|
|
|
+stap -e 'probe process("/usr/libexec/qemu-kvm").function("main") { printf("") }' -c true
|
|
|
|
|
+
|
|
|
|
|
+qemu_kvm_OPT="-s4" # per-CPU buffer size, in megabytes
|
|
|
|
|
diff --git a/scripts/systemtap/script.d/qemu_kvm.stp b/scripts/systemtap/script.d/qemu_kvm.stp
|
|
|
|
|
new file mode 100644
|
|
|
|
|
index 0000000000..c04abf9449
|
|
|
|
|
--- /dev/null
|
|
|
|
|
+++ b/scripts/systemtap/script.d/qemu_kvm.stp
|
|
|
|
|
@@ -0,0 +1 @@
|
|
|
|
|
+probe qemu.kvm.simpletrace.handle_qmp_command,qemu.kvm.simpletrace.monitor_protocol_*,qemu.kvm.simpletrace.migrate_set_state {}
|
|
|
|
|
diff --git a/ui/vnc-auth-sasl.c b/ui/vnc-auth-sasl.c
|
|
|
|
|
index 47fdae5b21..2a950caa2a 100644
|
|
|
|
|
--- a/ui/vnc-auth-sasl.c
|
|
|
|
|
+++ b/ui/vnc-auth-sasl.c
|
|
|
|
|
@@ -42,7 +42,7 @@
|
|
|
|
|
|
|
|
|
|
bool vnc_sasl_server_init(Error **errp)
|
|
|
|
|
{
|
|
|
|
|
- int saslErr = sasl_server_init(NULL, "qemu");
|
|
|
|
|
+ int saslErr = sasl_server_init(NULL, "qemu-kvm");
|
|
|
|
|
|
|
|
|
|
if (saslErr != SASL_OK) {
|
|
|
|
|
error_setg(errp, "Failed to initialize SASL auth: %s",
|
|
|
|
|
--
|
|
|
|
|
2.39.3
|
|
|
|
|
|