# Build time setting
%global SLOF_gittagdate 20140630
%global have_usbredir 1
%global have_spice 1
%global have_fdt 0
%global have_gluster 1
%global have_numa 1
%global have_librdma 1
%global have_seccomp 1
%global have_tcmalloc 1
%ifnarch %{ix86} x86_64 aarch64
%global have_seccomp 0
%endif
%ifnarch %{ix86} x86_64
%global have_usbredir 0
%endif
%ifarch s390 s390x
%global have_librdma 0
%global have_numa 0
%global have_tcmalloc 0
%endif
%ifarch %{ix86}
%global kvm_target i386
%endif
%ifarch x86_64
%global kvm_target x86_64
%else
%global have_spice 0
%global have_gluster 0
%endif
%ifarch %{power64}
%global kvm_target ppc64
%global have_fdt 1
%endif
%ifarch s390
%global kvm_target s390
%endif
%ifarch s390x
%global kvm_target s390x
%endif
%ifarch ppc
%global kvm_target ppc
%global have_fdt 1
%endif
%ifarch aarch64
%global kvm_target aarch64
%global have_fdt 1
%endif
#Versions of various parts:
%define pkgname qemu-kvm
Summary: QEMU guest agent
Name: qemu-guest-agent
Version: 2.3.0
Release: 4%{?dist}
# Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped
Epoch: 10
License: GPLv2+ and LGPLv2+ and BSD
Group: System Environment/Daemons
URL: http://www.qemu.org/
Requires(post): systemd-units
Requires(preun): systemd-units
Requires(postun): systemd-units
# OOM killer breaks builds with parallel make on s390(x)
%ifarch s390 s390x
%define _smp_mflags %{nil}
%endif
Source0: http://wiki.qemu.org/download/qemu-%{version}.tar.bz2
Source1: qemu-guest-agent.service
Source2: 99-qemu-guest-agent.rules
Source3: qemu-ga.sysconfig
Source4: build_configure.sh
Patch1000: kvm-misc-Add-redhat-directory-and-disable-unsupported-devices.patch
Patch1001: kvm-misc-Add-RHEL-7-machine-types.patch
Patch1002: kvm-misc-Enable-disable-devices-for-RHEL-7.patch
Patch1003: kvm-misc-Use-kvm-by-default.patch
Patch1004: kvm-misc-add-qxl_screendump-monitor-command.patch
Patch1005: kvm-misc-seabios-paravirt-allow-more-than-1TB-in-x86-guest.patch
Patch1006: kvm-monitor-Remove-usb_add-del-commands-for-Red-Hat-Enterprise-Linux.patch
Patch1007: kvm-monitor-Remove-host_net_add-remove-for-Red-Hat-Enterprise-Linux.patch
Patch1008: kvm-misc-introduce-RFQDN_REDHAT-RHEL-6-7-fwd.patch
Patch1009: kvm-pci-assign-cap-number-of-devices-that-can-be-assigned.patch
Patch1010: kvm-vfio-cap-number-of-devices-that-can-be-assigned.patch
Patch1011: kvm-QMP-Forward-port-__com-redhat_drive_del-from-RHEL-6.patch
Patch1012: kvm-QMP-Forward-port-__com-redhat_drive_add-from-RHEL-6.patch
Patch1013: kvm-HMP-Forward-port-__com-redhat_drive_add-from-RHEL-6.patch
Patch1014: kvm-QMP-Document-throttling-parameters-of-__com-redhat_drive_add.patch
Patch1015: kvm-misc-Add-support-statement-to-help-output.patch
Patch1016: kvm-__com-redhat_qxl_screendump-add-docs.patch
Patch1017: kvm-vl-Round-memory-sizes-below-2MiB-up-to-2MiB.patch
Patch1018: kvm-misc-use-recommended-max-vcpu-count.patch
Patch1019: kvm-configure-add-option-to-disable-fstack-protect.patch
Patch1020: kvm-misc-fix-guest-physical-bits-to-match-host-to-go-beyond-1TB-guests.patch
Patch1021: kvm-QMP-Relax-__com-redhat_drive_add-parameter-checking.patch
Patch1022: kvm-scripts-qapi-event-py-support-vendor-extension.patch
Patch1024: kvm-trace-add-SystemTap-init-scripts-for-simpletrace-bridge.patch
Patch1026: kvm-trace-add-systemtap-initscript-README-file-to-RPM.patch
Patch1027: kvm-ivshmem-RHEL-only-remove-unsupported-code.patch
Patch1028: kvm-ivshmem-RHEL-only-explicitly-remove-dead-code.patch
Patch1029: kvm-misc-Revert-rhel-Drop-ivshmem-device.patch
Patch1030: kvm-misc-Use-qemu-kvm-in-documentation-instead-of-qemu-system-i386.patch
Patch1031: kvm-qemu-iotests-Fix-broken-test-cases.patch
Patch1032: kvm-numa-Don-t-allow-memdev-on-RHEL-6-machine-types.patch
Patch1033: kvm-acpi-Use-apic_id_limit-when-calculating-legacy-ACPI-table-size.patch
Patch1034: kvm-kvm_stat-Add-RESET-support-for-perf-event-ioctl.patch
Patch1035: kvm-misc-ignore-SIGIO-in-tests-that-use-AIO-context-aarch64-host-only.patch
Patch1036: kvm-aio_notify-force-main-loop-wakeup-with-SIGIO-aarch64-host-only.patch
Patch1037: kvm-pc_sysfw-prevent-pflash-and-or-mis-sized-firmware-for-rhel6-x-0.patch
Patch1038: kvm-misc-Add-pc-i440fx-rhel7-2-0-machine-type.patch
Patch1039: kvm-misc-Add-pc-q35-rhel7-2-0-machine-type.patch
# For bz#1165534 - balloon: improve error message when adding second device
Patch1040: kvm-balloon-improve-error-msg-when-adding-second-device.patch
# For bz#1199174 - QMP: forward port rhel-only error reason to BLOCK_IO_ERROR event
Patch1041: kvm-qmp-add-error-reason-to-the-BLOCK_IO_ERROR-event.patch
# For bz#1122778 - miss "vhdx" and "iscsi" in qemu-img supported format list
Patch1042: kvm-fdc-force-the-fifo-access-to-be-in-bounds-of-the-all.patch
# For bz#1226809 - Overflow in malloc size calculation in VMDK driver
Patch1043: kvm-vmdk-Fix-overflow-if-l1_size-is-0x20000000.patch
# For bz#1228574 - Add RHEL7.2 machine type in QEMU for PPC64LE
Patch1044: kvm-Downstream-only-Add-rhel7.2.0-machine-type.patch
# For bz#1230550 - [abrt] qemu-system-x86: __memcmp_sse4_1(): qemu-system-x86_64 killed by SIGSEGV
Patch1045: kvm-spice-display-fix-segfault-in-qemu_spice_create_upda.patch
# For bz#1221425 - qemu crash when hot-plug a memory device
Patch1046: kvm-pc-dimm-don-t-assert-if-pc-dimm-alignment-hotpluggab.patch
# For bz#1229073 - [graphical framebuffer]Start guest failed when VNC listen on IPV6 address
Patch1047: kvm-Strip-brackets-from-vnc-host.patch
# For bz#1226996 - qcow2: Fix minimum L2 cache size
Patch1048: kvm-qcow2-Set-MIN_L2_CACHE_SIZE-to-2.patch
# For bz#1226996 - qcow2: Fix minimum L2 cache size
Patch1049: kvm-iotests-qcow2-COW-with-minimal-L2-cache-size.patch
# For bz#1226996 - qcow2: Fix minimum L2 cache size
Patch1050: kvm-qcow2-Add-DEFAULT_L2_CACHE_CLUSTERS.patch
# For bz#1231610 - Support more virtio queues
Patch1051: kvm-virtio-ccw-using-VIRTIO_NO_VECTOR-instead-of-0-for-i.patch
# For bz#1231610 - Support more virtio queues
Patch1052: kvm-virtio-ccw-sort-into-categories.patch
# For bz#1231610 - Support more virtio queues
Patch1053: kvm-virtio-ccw-change-realization-sequence.patch
# For bz#1231610 - Support more virtio queues
Patch1054: kvm-virtio-ccw-implement-device_plugged.patch
# For bz#1231610 - Support more virtio queues
Patch1055: kvm-virtio-net-fix-the-upper-bound-when-trying-to-delete.patch
# For bz#1231610 - Support more virtio queues
Patch1056: kvm-monitor-replace-the-magic-number-255-with-MAX_QUEUE_.patch
# For bz#1231610 - Support more virtio queues
Patch1057: kvm-monitor-check-return-value-of-qemu_find_net_clients_.patch
# For bz#1231610 - Support more virtio queues
Patch1058: kvm-virtio-introduce-vector-to-virtqueues-mapping.patch
# For bz#1231610 - Support more virtio queues
Patch1059: kvm-virtio-pci-speedup-MSI-X-masking-and-unmasking.patch
# For bz#1231610 - Support more virtio queues
Patch1060: kvm-pci-remove-hard-coded-bar-size-in-msix_init_exclusiv.patch
# For bz#1231610 - Support more virtio queues
Patch1061: kvm-virtio-net-adding-all-queues-in-.realize.patch
# For bz#1231610 - Support more virtio queues
Patch1062: kvm-virtio-device_plugged-can-fail.patch
# For bz#1231610 - Support more virtio queues
Patch1063: kvm-virtio-introduce-virtio_get_num_queues.patch
# For bz#1231610 - Support more virtio queues
Patch1064: kvm-virtio-ccw-introduce-ccw-specific-queue-limit.patch
# For bz#1231610 - Support more virtio queues
Patch1065: kvm-virtio-ccw-validate-the-number-of-queues-against-bus.patch
# For bz#1231610 - Support more virtio queues
Patch1066: kvm-virtio-s390-introduce-virito-s390-queue-limit.patch
# For bz#1231610 - Support more virtio queues
Patch1067: kvm-virtio-s390-introduce-virtio_s390_device_plugged.patch
# For bz#1231610 - Support more virtio queues
Patch1068: kvm-virtio-rename-VIRTIO_PCI_QUEUE_MAX-to-VIRTIO_QUEUE_M.patch
# For bz#1231610 - Support more virtio queues
Patch1069: kvm-virtio-increase-the-queue-limit-to-1024.patch
# For bz#1231610 - Support more virtio queues
Patch1070: kvm-virtio-pci-don-t-try-to-mask-or-unmask-vqs-without-n.patch
# For bz#1231335 - [abrt] qemu-kvm: bdrv_error_action(): qemu-kvm killed by SIGABRT
Patch1071: kvm-atomics-add-explicit-compiler-fence-in-__atomic-memo.patch
# For bz#1221943 - On_crash events didn't work when using guest's pvpanic device
Patch1072: kvm-pc-acpi-fix-pvpanic-for-buggy-guests.patch
# For bz#1219090 - vfio-pci - post QEMU2.3 fixes, error sign + BAR overflow
Patch1073: kvm-vfio-pci-Fix-error-path-sign.patch
# For bz#1219090 - vfio-pci - post QEMU2.3 fixes, error sign + BAR overflow
Patch1074: kvm-vfio-pci-Further-fix-BAR-size-overflow.patch
# For bz#1215087 - migration: 7.2->earlier; serial compatibility
Patch1075: kvm-Add-flag-for-pre-2.2-migration-compatibility.patch
# For bz#1215087 - migration: 7.2->earlier; serial compatibility
Patch1076: kvm-Serial-Migration-compatibility-pre-2.2-7.2.patch
# For bz#1215088 - migration: 7.2->earlier; mc146818rtc compatibility
Patch1077: kvm-Migration-compat-for-mc146818rtc-irq_reinject_on_ack.patch
# For bz#1120706 - Support dynamic virtual Memory deallocation - qemu-kvm
Patch1078: kvm-docs-update-documentation-for-memory-hot-unplug.patch
# For bz#1120706 - Support dynamic virtual Memory deallocation - qemu-kvm
Patch1079: kvm-acpi-mem-hotplug-add-acpi_memory_slot_status-to-get-.patch
# For bz#1120706 - Support dynamic virtual Memory deallocation - qemu-kvm
Patch1080: kvm-acpi-mem-hotplug-add-unplug-request-cb-for-memory-de.patch
# For bz#1120706 - Support dynamic virtual Memory deallocation - qemu-kvm
Patch1081: kvm-acpi-mem-hotplug-add-unplug-cb-for-memory-device.patch
# For bz#1120706 - Support dynamic virtual Memory deallocation - qemu-kvm
Patch1082: kvm-acpi-extend-aml_field-to-support-UpdateRule.patch
# For bz#1120706 - Support dynamic virtual Memory deallocation - qemu-kvm
Patch1083: kvm-acpi-fix-Memory-device-control-fields-register.patch
# For bz#1120706 - Support dynamic virtual Memory deallocation - qemu-kvm
Patch1084: kvm-acpi-add-hardware-implementation-for-memory-hot-unpl.patch
# For bz#1120706 - Support dynamic virtual Memory deallocation - qemu-kvm
Patch1085: kvm-qmp-event-add-event-notification-for-memory-hot-unpl.patch
# For bz#1120706 - Support dynamic virtual Memory deallocation - qemu-kvm
Patch1086: kvm-hw-acpi-aml-build-Fix-memory-leak.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1087: kvm-memory-add-memory_region_ram_resize.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1088: kvm-acpi-build-remove-dependency-from-ram_addr.h.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1089: kvm-hw-i386-Move-ACPI-header-definitions-in-an-arch-inde.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1090: kvm-hw-i386-acpi-build-move-generic-acpi-building-helper.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1091: kvm-hw-acpi-aml-build-Make-enum-values-to-be-upper-case-.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1092: kvm-hw-arm-virt-Move-common-definitions-to-virt.h.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1093: kvm-hw-arm-virt-Record-PCIe-ranges-in-MemMapEntry-array.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1094: kvm-hw-arm-virt-acpi-build-Basic-framework-for-building-.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1095: kvm-hw-acpi-aml-build-Add-aml_memory32_fixed-term.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1096: kvm-hw-acpi-aml-build-Add-aml_interrupt-term.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1097: kvm-hw-arm-virt-acpi-build-Generation-of-DSDT-table-for-.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1098: kvm-hw-arm-virt-acpi-build-Generate-FADT-table-and-updat.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1099: kvm-hw-arm-virt-acpi-build-Generate-MADT-table.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1100: kvm-hw-arm-virt-acpi-build-Generate-GTDT-table.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1101: kvm-hw-arm-virt-acpi-build-Generate-RSDT-table.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1102: kvm-hw-arm-virt-acpi-build-Generate-RSDP-table.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1103: kvm-hw-arm-virt-acpi-build-Generate-MCFG-table.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1104: kvm-hw-acpi-aml-build-Make-aml_buffer-definition-consist.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1105: kvm-hw-acpi-aml-build-Add-ToUUID-macro.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1106: kvm-hw-acpi-aml-build-Add-aml_or-term.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1107: kvm-hw-acpi-aml-build-Add-aml_lnot-term.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1108: kvm-hw-acpi-aml-build-Add-aml_else-term.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1109: kvm-hw-acpi-aml-build-Add-aml_create_dword_field-term.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1110: kvm-hw-acpi-aml-build-Add-aml_dword_io-term.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1111: kvm-hw-acpi-aml-build-Add-Unicode-macro.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1112: kvm-hw-arm-virt-acpi-build-Add-PCIe-controller-in-ACPI-D.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1113: kvm-ACPI-split-CONFIG_ACPI-into-4-pieces.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1114: kvm-hw-arm-virt-Enable-dynamic-generation-of-ACPI-v5.1-t.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1115: kvm-ACPI-Add-definitions-for-the-SPCR-table.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1116: kvm-hw-arm-virt-acpi-build-Add-SPCR-table.patch
# For bz#1231719 - AArch64: backport ACPI support
Patch1117: kvm-AArch64-Enable-ACPI.patch
# For bz#1229647 - CVE-2015-3214 qemu-kvm-rhev: qemu: i8254: out-of-bounds memory access in pit_ioport_read function [rhel-7.2]
Patch1118: kvm-i8254-fix-out-of-bounds-memory-access-in-pit_ioport_.patch
# For bz#894956 - floppy can not be recognized by Windows guest (q35)
Patch1119: kvm-hw-q35-fix-floppy-controller-definition-in-ich9.patch
# For bz#1215092 - migration: 7.2->earlier: pckbd compatibility
Patch1120: kvm-Migration-compat-for-pckbd.patch
# For bz#1215091 - migration: 7.2->earlier; floppy compatibility
Patch1121: kvm-Migration-compat-for-fdc.patch
# For bz#1207034 - QEMU segfault when doing unaligned zero write to non-512 disk
Patch1122: kvm-block-Fix-NULL-deference-for-unaligned-write-if-qiov.patch
# For bz#1207034 - QEMU segfault when doing unaligned zero write to non-512 disk
Patch1123: kvm-qemu-iotests-Test-unaligned-sub-block-zero-write.patch
# For bz#1172478 - add support for PCI hotplugging
Patch1124: kvm-spapr_drc-initial-implementation-of-sPAPRDRConnector.patch
# For bz#1172478 - add support for PCI hotplugging
Patch1125: kvm-spapr_rtas-add-get-set-power-level-RTAS-interfaces.patch
# For bz#1172478 - add support for PCI hotplugging
Patch1126: kvm-spapr_rtas-add-set-indicator-RTAS-interface.patch
# For bz#1172478 - add support for PCI hotplugging
Patch1127: kvm-spapr_rtas-add-get-sensor-state-RTAS-interface.patch
# For bz#1172478 - add support for PCI hotplugging
Patch1128: kvm-spapr-add-rtas_st_buffer_direct-helper.patch
# For bz#1172478 - add support for PCI hotplugging
Patch1129: kvm-spapr_rtas-add-ibm-configure-connector-RTAS-interfac.patch
# For bz#1172478 - add support for PCI hotplugging
Patch1130: kvm-spapr_events-re-use-EPOW-event-infrastructure-for-ho.patch
# For bz#1172478 - add support for PCI hotplugging
Patch1131: kvm-spapr_events-event-scan-RTAS-interface.patch
# For bz#1172478 - add support for PCI hotplugging
Patch1132: kvm-spapr_drc-add-spapr_drc_populate_dt.patch
# For bz#1172478 - add support for PCI hotplugging
Patch1133: kvm-spapr_pci-add-dynamic-reconfiguration-option-for-spa.patch
# For bz#1172478 - add support for PCI hotplugging
Patch1134: kvm-spapr_pci-create-DRConnectors-for-each-PCI-slot-duri.patch
# For bz#1172478 - add support for PCI hotplugging
Patch1135: kvm-pci-make-pci_bar-useable-outside-pci.c.patch
# For bz#1172478 - add support for PCI hotplugging
Patch1136: kvm-spapr_pci-enable-basic-hotplug-operations.patch
# For bz#1172478 - add support for PCI hotplugging
Patch1137: kvm-spapr_pci-emit-hotplug-add-remove-events-during-hotp.patch
# For bz#1209793 - migration: 7.1->7.2 error while loading state for instance 0x0 of device '0000:00:04.0/intel-hda'
Patch1138: kvm-Print-error-when-failing-to-load-PCI-config-data.patch
# For bz#1209793 - migration: 7.1->7.2 error while loading state for instance 0x0 of device '0000:00:04.0/intel-hda'
Patch1139: kvm-Fix-ich9-intel-hda-compatibility.patch
# For bz#1217277 - Enable KVM implementation of H_LOGICAL_CI_{LOAD,STORE}
Patch1140: kvm-pseries-Enable-in-kernel-H_LOGICAL_CI_-LOAD-STORE-im.patch
# For bz#1191845 - [PowerKVM] There are some unsupported x86 devices under the output of cmds 'man qemu-kvm' and '/usr/libexec/qemu-kvm -device help'
Patch1141: kvm-Split-serial-isa-into-its-own-config-option.patch
# For bz#1191845 - [PowerKVM] There are some unsupported x86 devices under the output of cmds 'man qemu-kvm' and '/usr/libexec/qemu-kvm -device help'
Patch1142: kvm-rhel-Disable-info-irq-and-info-pic-for-Power.patch
# For bz#1191845 - [PowerKVM] There are some unsupported x86 devices under the output of cmds 'man qemu-kvm' and '/usr/libexec/qemu-kvm -device help'
Patch1143: kvm-RHEL-Disable-remaining-unsupported-devices-for-ppc.patch
# For bz#1225715 - Enable cross-endian vhost devices
Patch1144: kvm-linux-headers-sync-vhost.h.patch
# For bz#1225715 - Enable cross-endian vhost devices
Patch1145: kvm-virtio-introduce-virtio_legacy_is_cross_endian.patch
# For bz#1225715 - Enable cross-endian vhost devices
Patch1146: kvm-vhost-set-vring-endianness-for-legacy-virtio.patch
# For bz#1225715 - Enable cross-endian vhost devices
Patch1147: kvm-tap-add-VNET_LE-VNET_BE-operations.patch
# For bz#1225715 - Enable cross-endian vhost devices
Patch1148: kvm-tap-fix-non-linux-build.patch
# For bz#1225715 - Enable cross-endian vhost devices
Patch1149: kvm-vhost-net-tell-tap-backend-about-the-vnet-endianness.patch
# For bz#1225715 - Enable cross-endian vhost devices
Patch1150: kvm-vhost_net-re-enable-when-cross-endian.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1151: kvm-linux-headers-update.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1152: kvm-virtio-input-add-linux-input.h.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1153: kvm-virtio-input-core-code-base-class-device.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1154: kvm-virtio-input-emulated-devices-device.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1155: kvm-virtio-net-Move-DEFINE_VIRTIO_NET_FEATURES-to-virtio.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1156: kvm-virtio-scsi-Move-DEFINE_VIRTIO_SCSI_FEATURES-to-virt.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1157: kvm-memory-Define-API-for-MemoryRegionOps-to-take-attrs-.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1158: kvm-memory-Replace-io_mem_read-write-with-memory_region_.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1159: kvm-Make-CPU-iotlb-a-structure-rather-than-a-plain-hwadd.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1160: kvm-Add-MemTxAttrs-to-the-IOTLB.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1161: kvm-exec.c-Convert-subpage-memory-ops-to-_with_attrs.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1162: kvm-exec.c-Make-address_space_rw-take-transaction-attrib.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1163: kvm-exec.c-Add-new-address_space_ld-st-functions.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1164: kvm-Switch-non-CPU-callers-from-ld-st-_phys-to-address_s.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1165: kvm-s390-virtio-sort-into-categories.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1166: kvm-s390-virtio-use-common-features.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1167: kvm-virtio-move-host_features.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1168: kvm-virtio-ccw-Don-t-advertise-VIRTIO_F_BAD_FEATURE.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1169: kvm-virtio-move-VIRTIO_F_NOTIFY_ON_EMPTY-into-core.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1170: kvm-qdev-add-64bit-properties.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1171: kvm-virtio-make-features-64bit-wide.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1172: kvm-virtio-input-const_le16-and-const_le32-not-build-tim.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1173: kvm-virtio-input-make-virtio-devices-follow-usual-naming.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1174: kvm-virtio-64bit-features-fixups.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1175: kvm-virtio-endianness-checks-for-virtio-1.0-devices.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1176: kvm-virtio-allow-virtio-1-queue-layout.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1177: kvm-virtio-disallow-late-feature-changes-for-virtio-1.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1178: kvm-virtio-allow-to-fail-setting-status.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1179: kvm-virtio-net-no-writeable-mac-for-virtio-1.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1180: kvm-virtio-net-support-longer-header.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1181: kvm-virtio-net-enable-virtio-1.0.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1182: kvm-vhost_net-add-version_1-feature.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1183: kvm-vhost-64-bit-features.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1184: kvm-linux-headers-add-virtio_pci.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1185: kvm-virtio-pci-initial-virtio-1.0-support.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1186: kvm-virtio-generation-counter-support.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1187: kvm-virtio-add-modern-config-accessors.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1188: kvm-virtio-pci-switch-to-modern-accessors-for-1.0.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1189: kvm-virtio-pci-add-flags-to-enable-disable-legacy-modern.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1190: kvm-virtio-pci-make-QEMU_VIRTIO_PCI_QUEUE_MEM_MULT-small.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1191: kvm-virtio-pci-change-document-virtio-pci-bar-layout.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1192: kvm-virtio-pci-make-modern-bar-64bit-prefetchable.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1193: kvm-virtio-pci-correctly-set-host-notifiers-for-modern-b.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1194: kvm-virtio_balloon-header-update.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1195: kvm-virtio-balloon-switch-to-virtio_add_feature.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1196: kvm-virtio-pci-add-struct-VirtIOPCIRegion-for-virtio-1-r.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1197: kvm-virtio-pci-add-virtio_pci_modern_regions_init.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1198: kvm-virtio-pci-add-virtio_pci_modern_region_map.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1199: kvm-virtio-pci-move-virtio_pci_add_mem_cap-call-to-virti.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1200: kvm-virtio-pci-move-cap-type-to-VirtIOPCIRegion.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1201: kvm-virtio-pci-drop-identical-virtio_pci_cap.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1202: kvm-virtio-pci-fill-VirtIOPCIRegions-early.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1203: kvm-pci-add-PCI_CLASS_INPUT_.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1204: kvm-virtio-input-core-code-base-class-pci.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1205: kvm-virtio-input-emulated-devices-pci.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1206: kvm-virtio-net-move-qdev-properties-into-virtio-net.c.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1207: kvm-virtio-net.h-Remove-unsed-DEFINE_VIRTIO_NET_PROPERTI.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1208: kvm-virtio-scsi-move-qdev-properties-into-virtio-scsi.c.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1209: kvm-virtio-rng-move-qdev-properties-into-virtio-rng.c.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1210: kvm-virtio-serial-bus-move-qdev-properties-into-virtio-s.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1211: kvm-virtio-9p-device-move-qdev-properties-into-virtio-9p.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1212: kvm-vhost-scsi-move-qdev-properties-into-vhost-scsi.c.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1213: kvm-virito-pci-fix-OVERRUN-problem.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1214: kvm-virtio-input-move-properties-use-virtio_instance_ini.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1215: kvm-virtio-input-evdev-passthrough.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1216: kvm-Add-MAINTAINERS-entry-for-virtio-input.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1217: kvm-virtio-input-add-input-routing-support.patch
# For bz#1227343 - [virtio-1] QEMU Virtio-1 Support
Patch1218: kvm-dataplane-fix-cross-endian-issues.patch
# For bz#1174861 - use seccomp
Patch1219: kvm-aarch64-allow-enable-seccomp.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1220: kvm-acpi-add-a-missing-backslash-to-the-_SB-scope.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1221: kvm-range-remove-useless-inclusions.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1222: kvm-acpi-Simplify-printing-to-dynamic-string.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1223: kvm-acpi-add-aml_add-term.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1224: kvm-acpi-add-aml_lless-term.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1225: kvm-acpi-add-aml_index-term.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1226: kvm-acpi-add-aml_shiftleft-term.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1227: kvm-acpi-add-aml_shiftright-term.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1228: kvm-acpi-add-aml_increment-term.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1229: kvm-acpi-add-aml_while-term.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1230: kvm-acpi-add-implementation-of-aml_while-term.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1231: kvm-hw-pci-made-pci_bus_is_root-a-PCIBusClass-method.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1232: kvm-hw-pci-made-pci_bus_num-a-PCIBusClass-method.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1233: kvm-hw-i386-query-only-for-q35-pc-when-looking-for-pci-h.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1234: kvm-hw-pci-extend-PCI-config-access-to-support-devices-b.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1235: kvm-hw-acpi-add-support-for-i440fx-snooping-root-busses.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1236: kvm-hw-apci-add-_PRT-method-for-extra-PCI-root-busses.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1237: kvm-hw-acpi-add-_CRS-method-for-extra-root-busses.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1238: kvm-hw-acpi-remove-from-root-bus-0-the-crs-resources-use.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1239: kvm-hw-pci-removed-rootbus-nr-is-0-assumption-from-qmp_p.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1240: kvm-hw-pci-introduce-PCI-Expander-Bridge-PXB.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1241: kvm-hw-pci-inform-bios-if-the-system-has-extra-pci-root-.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1242: kvm-hw-pxb-add-map_irq-func.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1243: kvm-hw-pci-add-support-for-NUMA-nodes.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1244: kvm-hw-pxb-add-numa_node-parameter.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1245: kvm-apci-fix-PXB-behaviour-if-used-with-unsupported-BIOS.patch
# For bz#1103313 - RFE: configure guest NUMA node locality for guest PCI devices
Patch1246: kvm-docs-Add-PXB-documentation.patch
# For bz#1213681 - PAPR PCI-e EEH (Enhanced Error Handling) for KVM/Power guests with VFIO devices (qemu)
Patch1247: kvm-sPAPR-Don-t-enable-EEH-on-emulated-PCI-devices.patch
# For bz#1213681 - PAPR PCI-e EEH (Enhanced Error Handling) for KVM/Power guests with VFIO devices (qemu)
Patch1248: kvm-sPAPR-Reenable-EEH-functionality-on-reboot.patch
# For bz#1213681 - PAPR PCI-e EEH (Enhanced Error Handling) for KVM/Power guests with VFIO devices (qemu)
Patch1249: kvm-sPAPR-Clear-stale-MSIx-table-during-EEH-reset.patch
# For bz#1213882 - enable using tcmalloc for memory allocation in qemu-kvm-rhev
Patch1250: kvm-configure-Add-support-for-tcmalloc.patch
# For bz#1211973 - 'guest-fstrim' failed for guest with os on spapr-vscsi disk
Patch1251: qemuga-qga-commands-posix-Fix-bug-in-guest-fstrim.patch
# For bz#1224023 - The hwclock and systemclock of guest should be ccoincident while set a invalid domtime with guest agent
Patch1252: qemuga-qga-fail-early-for-invalid-time.patch
BuildRequires: zlib-devel
BuildRequires: SDL-devel
BuildRequires: which
BuildRequires: texi2html
BuildRequires: gnutls-devel
BuildRequires: cyrus-sasl-devel
BuildRequires: libtool
BuildRequires: libaio-devel
BuildRequires: rsync
BuildRequires: python
BuildRequires: pciutils-devel
BuildRequires: pulseaudio-libs-devel
BuildRequires: libiscsi-devel
BuildRequires: ncurses-devel
BuildRequires: libattr-devel
BuildRequires: libusbx-devel
%if 0%{have_usbredir}
BuildRequires: usbredir-devel >= 0.6
%endif
BuildRequires: texinfo
%if 0%{have_spice}
BuildRequires: spice-protocol >= 0.12.2
BuildRequires: spice-server-devel >= 0.12.0
%endif
%if 0%{have_seccomp}
BuildRequires: libseccomp-devel >= 1.0.0
%endif
# For network block driver
BuildRequires: libcurl-devel
BuildRequires: libssh2-devel
%ifarch x86_64
BuildRequires: librados2-devel
BuildRequires: librbd1-devel
%endif
%if 0%{have_gluster}
# For gluster block driver
BuildRequires: glusterfs-api-devel
BuildRequires: glusterfs-devel
%endif
# We need both because the 'stap' binary is probed for by configure
BuildRequires: systemtap
BuildRequires: systemtap-sdt-devel
# For smartcard NSS support
BuildRequires: nss-devel
# For XFS discard support in raw-posix.c
# For VNC JPEG support
BuildRequires: libjpeg-devel
# For VNC PNG support
BuildRequires: libpng-devel
# For uuid generation
BuildRequires: libuuid-devel
# For BlueZ device support
BuildRequires: bluez-libs-devel
# For Braille device support
BuildRequires: brlapi-devel
# For test suite
BuildRequires: check-devel
# For virtfs
BuildRequires: libcap-devel
# Hard requirement for version >= 1.3
BuildRequires: pixman-devel
# Documentation requirement
BuildRequires: perl-podlators
BuildRequires: texinfo
# For rdma
%if 0%{have_librdma}
BuildRequires: librdmacm-devel
%endif
%if 0%{have_tcmalloc}
BuildRequires: gperftools-devel
%endif
# iasl and cpp for acpi generation (not a hard requirement as we can use
# pre-compiled files, but it's better to use this)
%ifarch %{ix86} x86_64
BuildRequires: iasl
BuildRequires: cpp
%endif
# For compressed guest memory dumps
BuildRequires: lzo-devel snappy-devel
# For NUMA memory binding
%if 0%{have_numa}
BuildRequires: numactl-devel
%endif
%define qemudocdir %{_docdir}/%{pkgname}
%description
qemu-kvm is an open source virtualizer that provides hardware emulation for
the KVM hypervisor.
This package provides an agent to run inside guests, which communicates
with the host over a virtio-serial channel named "org.qemu.guest_agent.0"
This package does not need to be installed on the host OS.
%post
%systemd_post qemu-guest-agent.service
%preun
%systemd_preun qemu-guest-agent.service
%postun
%systemd_postun_with_restart qemu-guest-agent.service
%prep
%setup -q -n qemu-%{version}
# if patch fuzzy patch applying will be forbidden
%define with_fuzzy_patches 0
%if %{with_fuzzy_patches}
patch_command='patch -p1 -s'
%else
patch_command='patch -p1 -F1 -s'
%endif
ApplyPatch()
{
local patch=$1
shift
if [ ! -f $RPM_SOURCE_DIR/$patch ]; then
exit 1
fi
case "$patch" in
*.bz2) bunzip2 < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;;
*.gz) gunzip < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;;
*) $patch_command ${1+"$@"} < "$RPM_SOURCE_DIR/$patch" ;;
esac
}
# don't apply patch if it's empty or does not exist
ApplyOptionalPatch()
{
local patch=$1
shift
if [ ! -f $RPM_SOURCE_DIR/$patch ]; then
return 0
fi
local C=$(wc -l $RPM_SOURCE_DIR/$patch | awk '{print $1}')
if [ "$C" -gt 9 ]; then
ApplyPatch $patch ${1+"$@"}
fi
}
%patch1000 -p1
%patch1001 -p1
%patch1002 -p1
%patch1003 -p1
%patch1004 -p1
%patch1005 -p1
%patch1006 -p1
%patch1007 -p1
%patch1008 -p1
%patch1009 -p1
%patch1010 -p1
%patch1011 -p1
%patch1012 -p1
%patch1013 -p1
%patch1014 -p1
%patch1015 -p1
%patch1016 -p1
%patch1017 -p1
%patch1018 -p1
%patch1019 -p1
%patch1020 -p1
%patch1021 -p1
%patch1022 -p1
%patch1024 -p1
%patch1026 -p1
%patch1027 -p1
%patch1028 -p1
%patch1029 -p1
%patch1030 -p1
%patch1031 -p1
%patch1032 -p1
%patch1033 -p1
%patch1034 -p1
%patch1035 -p1
%patch1036 -p1
%patch1037 -p1
%patch1038 -p1
%patch1039 -p1
%patch1040 -p1
%patch1041 -p1
%patch1042 -p1
%patch1043 -p1
%patch1044 -p1
%patch1045 -p1
%patch1046 -p1
%patch1047 -p1
%patch1048 -p1
%patch1049 -p1
%patch1050 -p1
%patch1051 -p1
%patch1052 -p1
%patch1053 -p1
%patch1054 -p1
%patch1055 -p1
%patch1056 -p1
%patch1057 -p1
%patch1058 -p1
%patch1059 -p1
%patch1060 -p1
%patch1061 -p1
%patch1062 -p1
%patch1063 -p1
%patch1064 -p1
%patch1065 -p1
%patch1066 -p1
%patch1067 -p1
%patch1068 -p1
%patch1069 -p1
%patch1070 -p1
%patch1071 -p1
%patch1072 -p1
%patch1073 -p1
%patch1074 -p1
%patch1075 -p1
%patch1076 -p1
%patch1077 -p1
%patch1078 -p1
%patch1079 -p1
%patch1080 -p1
%patch1081 -p1
%patch1082 -p1
%patch1083 -p1
%patch1084 -p1
%patch1085 -p1
%patch1086 -p1
%patch1087 -p1
%patch1088 -p1
%patch1089 -p1
%patch1090 -p1
%patch1091 -p1
%patch1092 -p1
%patch1093 -p1
%patch1094 -p1
%patch1095 -p1
%patch1096 -p1
%patch1097 -p1
%patch1098 -p1
%patch1099 -p1
%patch1100 -p1
%patch1101 -p1
%patch1102 -p1
%patch1103 -p1
%patch1104 -p1
%patch1105 -p1
%patch1106 -p1
%patch1107 -p1
%patch1108 -p1
%patch1109 -p1
%patch1110 -p1
%patch1111 -p1
%patch1112 -p1
%patch1113 -p1
%patch1114 -p1
%patch1115 -p1
%patch1116 -p1
%patch1117 -p1
%patch1118 -p1
%patch1119 -p1
%patch1120 -p1
%patch1121 -p1
%patch1122 -p1
%patch1123 -p1
%patch1124 -p1
%patch1125 -p1
%patch1126 -p1
%patch1127 -p1
%patch1128 -p1
%patch1129 -p1
%patch1130 -p1
%patch1131 -p1
%patch1132 -p1
%patch1133 -p1
%patch1134 -p1
%patch1135 -p1
%patch1136 -p1
%patch1137 -p1
%patch1138 -p1
%patch1139 -p1
%patch1140 -p1
%patch1141 -p1
%patch1142 -p1
%patch1143 -p1
%patch1144 -p1
%patch1145 -p1
%patch1146 -p1
%patch1147 -p1
%patch1148 -p1
%patch1149 -p1
%patch1150 -p1
%patch1151 -p1
%patch1152 -p1
%patch1153 -p1
%patch1154 -p1
%patch1155 -p1
%patch1156 -p1
%patch1157 -p1
%patch1158 -p1
%patch1159 -p1
%patch1160 -p1
%patch1161 -p1
%patch1162 -p1
%patch1163 -p1
%patch1164 -p1
%patch1165 -p1
%patch1166 -p1
%patch1167 -p1
%patch1168 -p1
%patch1169 -p1
%patch1170 -p1
%patch1171 -p1
%patch1172 -p1
%patch1173 -p1
%patch1174 -p1
%patch1175 -p1
%patch1176 -p1
%patch1177 -p1
%patch1178 -p1
%patch1179 -p1
%patch1180 -p1
%patch1181 -p1
%patch1182 -p1
%patch1183 -p1
%patch1184 -p1
%patch1185 -p1
%patch1186 -p1
%patch1187 -p1
%patch1188 -p1
%patch1189 -p1
%patch1190 -p1
%patch1191 -p1
%patch1192 -p1
%patch1193 -p1
%patch1194 -p1
%patch1195 -p1
%patch1196 -p1
%patch1197 -p1
%patch1198 -p1
%patch1199 -p1
%patch1200 -p1
%patch1201 -p1
%patch1202 -p1
%patch1203 -p1
%patch1204 -p1
%patch1205 -p1
%patch1206 -p1
%patch1207 -p1
%patch1208 -p1
%patch1209 -p1
%patch1210 -p1
%patch1211 -p1
%patch1212 -p1
%patch1213 -p1
%patch1214 -p1
%patch1215 -p1
%patch1216 -p1
%patch1217 -p1
%patch1218 -p1
%patch1219 -p1
%patch1220 -p1
%patch1221 -p1
%patch1222 -p1
%patch1223 -p1
%patch1224 -p1
%patch1225 -p1
%patch1226 -p1
%patch1227 -p1
%patch1228 -p1
%patch1229 -p1
%patch1230 -p1
%patch1231 -p1
%patch1232 -p1
%patch1233 -p1
%patch1234 -p1
%patch1235 -p1
%patch1236 -p1
%patch1237 -p1
%patch1238 -p1
%patch1239 -p1
%patch1240 -p1
%patch1241 -p1
%patch1242 -p1
%patch1243 -p1
%patch1244 -p1
%patch1245 -p1
%patch1246 -p1
%patch1247 -p1
%patch1248 -p1
%patch1249 -p1
%patch1250 -p1
%patch1251 -p1
%patch1252 -p1
ApplyOptionalPatch qemu-kvm-test.patch
%build
buildarch="%{kvm_target}-softmmu"
# --build-id option is used for giving info to the debug packages.
extraldflags="-Wl,--build-id";
buildldflags="VL_LDFLAGS=-Wl,--build-id"
# QEMU already knows how to set _FORTIFY_SOURCE
%global optflags %(echo %{optflags} | sed 's/-Wp,-D_FORTIFY_SOURCE=2//')
%ifarch s390
# drop -g flag to prevent memory exhaustion by linker
%global optflags %(echo %{optflags} | sed 's/-g//')
sed -i.debug 's/"-g $CFLAGS"/"$CFLAGS"/g' configure
%endif
cp %{SOURCE4} build_configure.sh
./build_configure.sh \
"%{_prefix}" \
"%{_libdir}" \
"%{_sysconfdir}" \
"%{_localstatedir}" \
"%{_libexecdir}" \
"qemu-ga" \
"%{kvm_target}" \
"%{name}-%{version}-%{release}" \
"%{optflags}" \
%if 0%{have_fdt}
enable \
%else
disable \
%endif
%if 0%{have_gluster}
enable \
%else
disable \
%endif
enable \
%if 0%{have_numa}
enable \
%else
disable \
%endif
%ifarch x86_64
enable \
%else
disable \
%endif
%if 0%{have_librdma}
enable \
%else
disable \
%endif
%if 0%{have_seccomp}
enable \
%else
disable \
%endif
%if 0%{have_spice}
enable \
%else
disable \
%endif
%if 0%{have_usbredir}
enable \
%else
disable \
%endif
%if 0%{have_tcmalloc}
enable \
%else
disable \
%endif
--target-list= \
--cpu="%{kvm_target}"
echo "config-host.mak contents:"
echo "==="
cat config-host.mak
echo "==="
make qemu-ga %{?_smp_mflags} $buildldflags
%install
%define _udevdir %(pkg-config --variable=udevdir udev)/rules.d
# For the qemu-guest-agent subpackage, install:
# - the systemd service file and the udev rules:
mkdir -p $RPM_BUILD_ROOT%{_unitdir}
mkdir -p $RPM_BUILD_ROOT%{_udevdir}
install -m 0644 %{SOURCE1} $RPM_BUILD_ROOT%{_unitdir}
install -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_udevdir}
# - the environment file for the systemd service:
install -D -p -m 0644 %{SOURCE3} \
$RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/qemu-ga
# - the fsfreeze hook script:
install -D --preserve-timestamps \
scripts/qemu-guest-agent/fsfreeze-hook \
$RPM_BUILD_ROOT%{_sysconfdir}/qemu-ga/fsfreeze-hook
# - the directory for user scripts:
mkdir $RPM_BUILD_ROOT%{_sysconfdir}/qemu-ga/fsfreeze-hook.d
# - and the fsfreeze script samples:
mkdir --parents $RPM_BUILD_ROOT%{_datadir}/%{pkgname}/qemu-ga/fsfreeze-hook.d/
install --preserve-timestamps --mode=0644 \
scripts/qemu-guest-agent/fsfreeze-hook.d/*.sample \
$RPM_BUILD_ROOT%{_datadir}/%{pkgname}/qemu-ga/fsfreeze-hook.d/
# - Install dedicated log directory:
mkdir -p -v $RPM_BUILD_ROOT%{_localstatedir}/log/qemu-ga/
mkdir -p $RPM_BUILD_ROOT%{_bindir}
install -c -m 0755 qemu-ga ${RPM_BUILD_ROOT}%{_bindir}/qemu-ga
%files
%defattr(-,root,root,-)
%doc COPYING README
%{_bindir}/qemu-ga
%{_unitdir}/qemu-guest-agent.service
%{_udevdir}/99-qemu-guest-agent.rules
%config(noreplace) %{_sysconfdir}/sysconfig/qemu-ga
%{_sysconfdir}/qemu-ga
%{_datadir}/%{pkgname}/qemu-ga
%dir %{_localstatedir}/log/qemu-ga
%changelog
* Fri Sep 11 2015 Miroslav Rezanina <mrezanin@redhat.com> - 2.3.0-4.el7
- qemuga-qga-fail-early-for-invalid-time.patch [bz#1224023]
- Resolves: bz#1224023
(The hwclock and systemclock of guest should be ccoincident while set a invalid domtime with guest agent)
* Tue Aug 25 2015 Miroslav Rezanina <mrezanin@redhat.com> - 2.3.0-3.el7
- qemuga-Do-not-stop-qemu-guest-agent-service-on-target-switc.patch [bz#1160930]
- Resolves: bz#1160930
(The guest agent service in rhel7 guest will be stopped after run the init command)
* Mon Jul 13 2015 Miroslav Rezanina <mrezanin@redhat.com> - 2.3.0-2.el7
- synchronized with qemu-kvm-rhev-2.3.0-9.el7
- qemuga-Change-fsreeze-hook-default-location.patch [bz#1210707]
- qemuga-qga-commands-posix-Fix-bug-in-guest-fstrim.patch [bz#1211973]
- Resolves: bz#1210707
(The default path '/etc/qemu/fsfreeze-hook' for 'fsfreeze-hook' script doesn't exist)
- Resolves: bz#1211973
('guest-fstrim' failed for guest with os on spapr-vscsi disk)
* Tue Apr 28 2015 Miroslav Rezanina <mrezanin@redhat.com> - 2.3.0-1.el7
- Rebase to 2.3.0 [bz#1194152]
- Resolves: bz#1194152
(Rebase to 2.3.0)
* Tue Oct 21 2014 Miroslav Rezanina <mrezanin@redhat.com> - 2.1.0-4.el7
- kvm-Mark-etc-sysconfig-qemu-ga-as-config-noreplace.patch [bz#1150924]
- Resolves: bz#1150924
(/etc/sysconfig/qemu-ga is replaced when updated)
* Thu Aug 28 2014 Miroslav Rezanina <mrezanin@redhat.com> - 2.1.0-3.el7
- Allow building qemu-guest-agent on ppc64le
- Synchronize with qemu-kvm-rhev-2.1.0-3.el7
- Resolves: bz#1132718
(qemu-guest-agent fails to build for ppc64le)
* Sat Aug 02 2014 Miroslav Rezanina <mrezanin@redhat.com> - 2.1.0-2.el7
- Create separate qemu-guest-agent package based on qemu-kvm-rhev-2.1.0-1.el7 [bz#1117096]
- Resolves: #bz1117096
* Sat Aug 02 2014 Miroslav Rezanina <mrezanin@redhat.com> - 2.1.0-1.el7
- Rebase to 2.1.0 [bz#1121609]
- Resolves: bz#1121609
(Rebase qemu-kvm-rhev to qemu 2.1)