# Build time setting %global SLOF_gittagdate 20140630 %global have_usbredir 1 %global have_spice 1 %global have_fdt 0 %global have_gluster 1 %ifarch %{ix86} x86_64 %global have_seccomp 1 %else %global have_usbredir 0 %global have_seccomp 0 %endif %ifnarch s390 s390x %global have_librdma 1 %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.1.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 Patch1005: kvm-misc-Disable-unsupported-usb-devices.patch Patch1006: kvm-misc-Disable-unsupported-emulated-SCSI-devices.patch Patch1008: kvm-misc-Disable-various-unsupported-devices.patch Patch1009: kvm-misc-Disable-unsupported-audio-devices.patch Patch1010: kvm-misc-Disable-unsupported-emulated-network-devices.patch Patch1011: kvm-misc-Use-kvm-by-default.patch Patch1014: kvm-misc-Disable-HPET-device.patch Patch1016: kvm-misc-Rename-man-page-qemu-1-to-qemu-kvm-1.patch Patch1017: kvm-misc-Change-qemu-to-qemu-kvm.patch Patch1032: kvm-pc-Replace-upstream-machine-types-by-RHEL-7-types.patch Patch1036: kvm-qemu-kvm-Fix-migration-from-older-version-due-to-i8254-changes.patch Patch1037: kvm-pc-Add-machine-type-rhel6-0-0.patch Patch1038: kvm-pc-Drop-superfluous-RHEL-6-compat_props.patch Patch1039: kvm-vga-Default-vram_size_mb-to-16-like-prior-versions-of-RHEL.patch Patch1040: kvm-pc-Drop-RHEL-6-USB-device-compat_prop-full-path.patch Patch1041: kvm-pc-Drop-RHEL-6-compat_props-virtio-serial-pci-max_ports-vectors.patch Patch1042: kvm-pc-Drop-RHEL-6-compat_props-apic-kvm-apic-vapic.patch Patch1043: kvm-qxl-set-revision-to-1-for-rhel6-0-0.patch Patch1044: kvm-pc-Give-rhel6-0-0-a-kvmclock.patch Patch1045: kvm-pc-Add-machine-type-rhel6-1-0.patch Patch1046: kvm-pc-Add-machine-type-rhel6-2-0.patch Patch1047: kvm-pc-Add-machine-type-rhel6-3-0.patch Patch1048: kvm-pc-Add-machine-type-rhel6-4-0.patch Patch1049: kvm-pc-Add-machine-type-rhel6-5-0.patch Patch1050: kvm-e1000-Keep-capabilities-list-bit-on-for-older-RHEL-machine-types.patch Patch1051: kvm-misc-disable-s3-s4-by-default.patch Patch1052: kvm-pc-rhel6-compat-enable-S3-S4-for-6-1-and-lower-machine-types.patch Patch1058: kvm-misc-Disable-EFI-enabled-roms.patch Patch1059: kvm-pc-set-compat-pmu-property-for-rhel6-x-machine-types.patch Patch1063: kvm-misc-qga-fsfreeze-main-hook-adapt-to-RHEL-7-RH-only.patch Patch1065: kvm-misc-add-qxl_screendump-monitor-command.patch Patch1066: kvm-pc_piix-disable-CPUID_SEP-for-6-4-0-machine-types-and-below.patch Patch1067: kvm-pc-set-level-xlevel-correctly-on-486-qemu32-CPU-models-for-rhel6-x.patch Patch1068: kvm-pc-Remove-incorrect-rhel6-x-compat-model-value-for.patch Patch1069: kvm-pc-rhel6-x-has-x2apic-present-on-Conroe-Penryn-Nehalem-CPU-models.patch Patch1070: kvm-pc-set-compat-CPUID-0x80000001-EDX-bits-on-Westmere-for-rhel6-x.patch Patch1071: kvm-pc-Remove-PCLMULQDQ-from-Westmere-on-rhel6-x-machine-types.patch Patch1072: kvm-pc-SandyBridge-rhel6-x-compat-fixes.patch Patch1073: kvm-pc-Haswell-doesn-t-have-rdtscp-on-rhel6-x.patch Patch1076: kvm-qemu-iotests-Remove-lsi53c895a-tests-from-051.patch Patch1077: kvm-misc-Remove-i82550-network-card-emulation.patch Patch1078: kvm-misc-Remove-usb-wacom-tablet.patch Patch1079: kvm-misc-Disable-usb-uas.patch Patch1081: kvm-misc-Remove-no-hpet-option.patch Patch1082: kvm-misc-Disable-isa-parallel.patch Patch1083: kvm-misc-rhel6-compat-usb-serial-numbers.patch Patch1084: kvm-qga-move-logfiles-to-new-directory-for-easier-SELinux-labeling-RHEL.patch Patch1085: kvm-target-i386-add-cpu64-rhel6-CPU-model.patch Patch1090: kvm-pc-rhel6-doesn-t-have-APIC-on-pentium-CPU-models.patch Patch1091: kvm-pc-RHEL-6-had-x2apic-set-on-Opteron_G-123.patch Patch1092: kvm-pc-RHEL-6-don-t-have-RDTSCP.patch Patch1093: kvm-pc_piix-disable-mixer-for-6-4-0-machine-types-and-below.patch Patch1098: kvm-acpi-piix4-Enable-qemu-kvm-compatibility-mode.patch Patch1099: kvm-target-i386-support-loading-of-cpu-xsave-subsection.patch Patch1101: kvm-rbd-link-and-load-librbd-dynamically.patch Patch1102: kvm-rbd-Only-look-for-qemu-specific-copy-of-librbd-so-1.patch Patch1104: kvm-misc-seabios-paravirt-allow-more-than-1TB-in-x86-guest.patch Patch1106: kvm-rhel-Drop-ivshmem-device.patch Patch1109: kvm-misc-Fix-migration-from-rhel6-5-to-rhel7-with-ipxe.patch Patch1110: kvm-rhel-Revert-downstream-changes-to-unused-default-configs-mak.patch Patch1111: kvm-rhel-Drop-cfi-pflash01-and-isa-ide-device.patch Patch1112: kvm-rhel-Drop-isa-vga-device.patch Patch1113: kvm-rhel-Make-isa-cirrus-vga-device-unavailable.patch Patch1114: kvm-rhel-Make-ccid-card-emulated-device-unavailable.patch Patch1115: kvm-misc-Partially-revert-rhel-Drop-cfi-pflash01-and-isa-ide-device.patch Patch1116: kvm-misc-Partial-commit-of-87123eabfa1ee7cef51066fd7fd8e7d5ecd0419f-block.patch Patch1118: kvm-migration-disable-live-block-migration-b-i-for-rhel-and-rhev.patch Patch1119: kvm-misc-Build-ceph-rbd-only-for-rhev.patch Patch1121: kvm-rhel-Make-pci-serial-2x-and-pci-serial-4x-device-unavailable.patch Patch1122: kvm-monitor-Remove-pci_add-command-for-Red-Hat-Enterprise-Linux.patch Patch1123: kvm-monitor-Remove-pci_del-command-for-Red-Hat-Enterprise-Linux.patch Patch1124: kvm-monitor-Remove-usb_add-del-commands-for-Red-Hat-Enterprise-Linux.patch Patch1125: kvm-monitor-Remove-host_net_add-remove-for-Red-Hat-Enterprise-Linux.patch Patch1131: kvm-misc-don-t-disable-ctrl_mac_addr-feature-for-6-5-machine-RHEL-only.patch Patch1136: kvm-pc-drop-virtio-balloon-pci-event_idx-compat-property.patch Patch1137: kvm-misc-introduce-RFQDN_REDHAT-RHEL-6-7-fwd.patch Patch1142: kvm-misc-fix-intel-hda-live-migration.patch Patch1145: kvm-pci-assign-cap-number-of-devices-that-can-be-assigned.patch Patch1146: kvm-vfio-cap-number-of-devices-that-can-be-assigned.patch Patch1148: kvm-QMP-Forward-port-__com-redhat_drive_del-from-RHEL-6.patch Patch1149: kvm-QMP-Forward-port-__com-redhat_drive_add-from-RHEL-6.patch Patch1150: kvm-HMP-Forward-port-__com-redhat_drive_add-from-RHEL-6.patch Patch1151: kvm-QMP-Document-throttling-parameters-of-__com-redhat_drive_add.patch Patch1152: kvm-misc-Add-support-statement-to-help-output.patch Patch1153: kvm-__com-redhat_qxl_screendump-add-docs.patch Patch1154: kvm-vl-Round-memory-sizes-below-2MiB-up-to-2MiB.patch Patch1158: kvm-misc-enable-pvticketlocks-by-default.patch Patch1159: kvm-pc-Fix-rhel6-3dnow-3dnowext-compat-bits.patch Patch1160: kvm-misc-switch-rhel7-machine-types-to-big-bios.patch Patch1162: kvm-misc-Add-back-no-hpet-but-ignore-it.patch Patch1163: kvm-misc-use-recommended-max-vcpu-count.patch Patch1164: kvm-pc-Create-pc_compat_rhel-functions.patch Patch1165: kvm-pc-Enable-x2apic-by-default-on-more-recent-CPU-models-v2.patch Patch1169: kvm-pc-Disable-RDTSCP-unconditionally-on-rhel6-machine-types.patch Patch1170: kvm-pc-Disable-RDTSCP-on-AMD-CPU-models.patch Patch1171: kvm-usb-add-microsoft-os-descriptors-compat-property.patch Patch1172: kvm-configure-add-option-to-disable-fstack-protect.patch Patch1175: kvm-misc-fix-guest-physical-bits-to-match-host-to-go-beyond-1TB-guests.patch Patch1176: kvm-QMP-Relax-__com-redhat_drive_add-parameter-checking.patch Patch1178: kvm-pc-Add-RHEL6-e1000-gPXE-image.patch Patch1180: kvm-configure-Fix-bugs-preventing-Ceph-inclusion.patch Patch1181: kvm-pc-Use-cpu64-rhel6-CPU-model-by-default-on-rhel6-machine-types.patch Patch1182: kvm-target-i386-Copy-cpu64-rhel6-definition-into-qemu64.patch Patch1186: kvm-pc-add-hot_add_cpu-callback-to-all-machine-types.patch Patch1188: kvm-misc-Remove-CONFIG_NE2000_ISA-from-all-config-files.patch Patch1191: kvm-misc-RHEL7-RHEV7-1-2-0-migration-compatibility.patch Patch1192: kvm-misc-remove-superfluous-hot_add_cpu-and-max_cpus-initializers-RHEV-7-1.patch Patch1193: kvm-misc-set-model-in-PC_RHEL6_5_COMPAT-for-qemu32-VCPU-RHEV-7-1-only.patch Patch1194: kvm-misc-Undo-Enable-x2apic-by-default-for-compatibility.patch Patch1195: kvm-qemu_loadvm_state-shadow-SeaBIOS-for-VM-incoming-from-RHEL-6-host.patch Patch1198: kvm-rhel-SMBIOS-type-1-branding.patch Patch1199: kvm-misc-Use-legacy-SMBIOS-for-rhel-machine-types.patch Patch1201: kvm-misc-Disable-new-devices-in-qemu-2-1.patch Patch1202: kvm-scripts-qapi-event-py-support-vendor-extension.patch Patch1203: kvm-qmp-add-error-reason-to-the-BLOCK_IO_ERROR-event.patch Patch1204: kvm-qmp-improve-debuggability-of-BLOCK_IO_ERROR-event.patch Patch1205: kvm-uhci-UNfix-irq-routing-for-RHEL-6-machtypes-RHEL-only.patch Patch1208: kvm-misc-Include-OHCI-device-for-ppc64.patch Patch1211: kvm-arm64-64K-pages-and-1024MB-guest.patch # For bz#1076326 - qemu-kvm does not quit when booting guest w/ 161 vcpus and "-no-kvm" # For bz#1118665 - Migration: rhel7.0->rhev7.1 Patch1212: ga-exit-when-no-kvm-and-vcpu-count-160.patch # For bz#1118665 - Migration: rhel7.0->rhev7.1 Patch1213: ga-Revert-Use-legacy-SMBIOS-for-rhel-machine-types.patch # For bz#1118665 - Migration: rhel7.0->rhev7.1 Patch1214: ga-rhel-Use-SMBIOS-legacy-mode-for-machine-types-7.0.patch # For bz#1118665 - Migration: rhel7.0->rhev7.1 Patch1215: ga-rhel-Suppress-hotplug-memory-address-space-for-machi.patch # For bz#1118665 - Migration: rhel7.0->rhev7.1 Patch1216: ga-rhel-Fix-ACPI-table-size-for-machine-types-7.0.patch # For bz#1118665 - Migration: rhel7.0->rhev7.1 Patch1217: ga-rhel-Fix-missing-pc-q35-rhel7.0.0-compatibility-prop.patch # For bz#1118665 - Migration: rhel7.0->rhev7.1 Patch1218: ga-rhel-virtio-scsi-pci.any_layout-off-for-machine-type.patch # For bz#1118665 - Migration: rhel7.0->rhev7.1 Patch1219: ga-rhel-PIIX4_PM.memory-hotplug-support-off-for-machine.patch # For bz#1118665 - Migration: rhel7.0->rhev7.1 Patch1220: ga-rhel-apic.version-0x11-for-machine-types-7.0.patch # For bz#1118665 - Migration: rhel7.0->rhev7.1 Patch1221: ga-rhel-nec-usb-xhci.superspeed-ports-first-off-for-mac.patch # For bz#1118665 - Migration: rhel7.0->rhev7.1 Patch1222: ga-rhel-pci-serial.prog_if-0-for-machine-types-7.0.patch # For bz#1118665 - Migration: rhel7.0->rhev7.1 Patch1223: ga-rhel-virtio-net-pci.guest_announce-off-for-machine-t.patch # For bz#1118665 - Migration: rhel7.0->rhev7.1 Patch1224: ga-rhel-ICH9-LPC.memory-hotplug-support-off-for-machine.patch # For bz#1118665 - Migration: rhel7.0->rhev7.1 Patch1225: ga-rhel-.power_controller_present-off-for-machine-types.patch # For bz#1118665 - Migration: rhel7.0->rhev7.1 Patch1226: ga-rhel-virtio-net-pci.ctrl_guest_offloads-off-for-mach.patch # For bz#1118665 - Migration: rhel7.0->rhev7.1 Patch1227: ga-pc-q35-rhel7.0.0-Disable-x2apic-default.patch # For bz#1003432 - qemu-kvm should not allow different virtio serial port use the same name Patch1228: ga-virtio-serial-create-a-linked-list-of-all-active-dev.patch # For bz#1003432 - qemu-kvm should not allow different virtio serial port use the same name Patch1229: ga-virtio-serial-search-for-duplicate-port-names-before.patch # For bz#1111351 - RHEL-6.6 migration compatibility: CPU models Patch1230: ga-pc-RHEL-6-CPUID-compat-code-for-Broadwell-CPU-model.patch # For bz#1129259 - Add traces to virtio-rng device Patch1231: kvm-virtio-rng-add-some-trace-events.patch # For bz#1126976 - VHDX image format does not work on PPC64 (Endian issues) Patch1232: kvm-block-vhdx-add-error-check.patch # For bz#1126976 - VHDX image format does not work on PPC64 (Endian issues) Patch1233: kvm-block-VHDX-endian-fixes.patch # For bz#1133736 - qemu should provide iothread and x-data-plane properties for /usr/libexec/qemu-kvm -device virtio-blk-pci,? Patch1234: kvm-qdev-monitor-include-QOM-properties-in-device-FOO-he.patch # For bz#1136752 - virtio-blk dataplane support for block_resize and hot unplug Patch1235: kvm-block-acquire-AioContext-in-qmp_block_resize.patch # For bz#1136752 - virtio-blk dataplane support for block_resize and hot unplug Patch1236: kvm-virtio-blk-allow-block_resize-with-dataplane.patch # For bz#1136752 - virtio-blk dataplane support for block_resize and hot unplug Patch1237: kvm-block-acquire-AioContext-in-do_drive_del.patch # For bz#1136752 - virtio-blk dataplane support for block_resize and hot unplug Patch1238: kvm-virtio-blk-allow-drive_del-with-dataplane.patch # For bz#1093023 - provide RHEL-specific machine types in QEMU Patch1239: kvm-rhel-Add-rhel7.1.0-machine-types.patch # For bz#1136512 - rhel7.0.0 machtype compat after CVE-2014-5263 vmstate_xhci_event: fix unterminated field list Patch1240: kvm-vmstate_xhci_event-bug-compat-for-rhel7.0.0-machine-.patch # For bz#1139706 - pflash (UEFI varstore) migration shortcut for libvirt [RHEV] Patch1241: kvm-pflash_cfi01-fixup-stale-DPRINTF-calls.patch # For bz#1139706 - pflash (UEFI varstore) migration shortcut for libvirt [RHEV] Patch1242: kvm-pflash_cfi01-write-flash-contents-to-bdrv-on-incomin.patch # For bz#1140145 - qemu-kvm crashed when doing iofuzz testing Patch1243: kvm-ide-Fix-segfault-when-flushing-a-device-that-doesn-t.patch # For bz#1138579 - Migration failed with nec-usb-xhci from RHEL7. 0 to RHEL7.1 Patch1244: kvm-xhci-PCIe-endpoint-migration-compatibility-fix.patch # For bz#1138579 - Migration failed with nec-usb-xhci from RHEL7. 0 to RHEL7.1 Patch1245: kvm-rh-machine-types-xhci-PCIe-endpoint-migration-compat.patch # For bz#1055532 - QEMU should abort when invalid CPU flag name is used Patch1246: kvm-target-i386-Reject-invalid-CPU-feature-names-on-the-.patch # For bz#1113998 - RHEL Power/KVM (qemu-kvm-rhev) Patch1247: kvm-target-ppc-virtex-ml507-machine-type-should-depend-o.patch # For bz#1113998 - RHEL Power/KVM (qemu-kvm-rhev) Patch1248: kvm-RHEL-only-Disable-tests-that-don-t-work-with-RHEL-bu.patch # For bz#1113998 - RHEL Power/KVM (qemu-kvm-rhev) Patch1249: kvm-RHEL-onlyy-Disable-unused-ppc-machine-types.patch Patch1250: kvm-RHEL-only-Remove-unneeded-devices-from-ppc64-qemu-kv.patch Patch1251: kvm-RHEL-only-Replace-upstream-pseries-machine-types-wit.patch # For bz#1123349 - [FJ7.0 Bug] SCSI command issued from KVM guest doesn't reach target device Patch1252: kvm-scsi-bus-prepare-scsi_req_new-for-introduction-of-pa.patch # For bz#1123349 - [FJ7.0 Bug] SCSI command issued from KVM guest doesn't reach target device Patch1253: kvm-scsi-bus-introduce-parse_cdb-in-SCSIDeviceClass-and-.patch # For bz#1123349 - [FJ7.0 Bug] SCSI command issued from KVM guest doesn't reach target device Patch1254: kvm-scsi-block-extract-scsi_block_is_passthrough.patch # For bz#1123349 - [FJ7.0 Bug] SCSI command issued from KVM guest doesn't reach target device Patch1255: kvm-scsi-block-scsi-generic-implement-parse_cdb.patch # For bz#1123349 - [FJ7.0 Bug] SCSI command issued from KVM guest doesn't reach target device Patch1256: kvm-virtio-scsi-implement-parse_cdb.patch # For bz#1135893 - qemu-kvm should report an error message when host's freehugepage memory < domain's memory Patch1257: kvm-exec-file_ram_alloc-print-error-when-prealloc-fails.patch # For bz#1144089 - [HP 7.1 FEAT] Increase qemu-kvm-rhev's VCPU limit to 240 Patch1258: kvm-pc-increase-maximal-VCPU-count-to-240.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 %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:1} BuildRequires: librdmacm-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 %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 } %patch1005 -p1 %patch1006 -p1 %patch1008 -p1 %patch1009 -p1 %patch1010 -p1 %patch1011 -p1 %patch1014 -p1 %patch1016 -p1 %patch1017 -p1 %patch1032 -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 %patch1058 -p1 %patch1059 -p1 %patch1063 -p1 %patch1065 -p1 %patch1066 -p1 %patch1067 -p1 %patch1068 -p1 %patch1069 -p1 %patch1070 -p1 %patch1071 -p1 %patch1072 -p1 %patch1073 -p1 %patch1076 -p1 %patch1077 -p1 %patch1078 -p1 %patch1079 -p1 %patch1081 -p1 %patch1082 -p1 %patch1083 -p1 %patch1084 -p1 %patch1085 -p1 %patch1090 -p1 %patch1091 -p1 %patch1092 -p1 %patch1093 -p1 %patch1098 -p1 %patch1099 -p1 %patch1101 -p1 %patch1102 -p1 %patch1104 -p1 %patch1106 -p1 %patch1109 -p1 %patch1110 -p1 %patch1111 -p1 %patch1112 -p1 %patch1113 -p1 %patch1114 -p1 %patch1115 -p1 %patch1116 -p1 %patch1118 -p1 %patch1119 -p1 %patch1121 -p1 %patch1122 -p1 %patch1123 -p1 %patch1124 -p1 %patch1125 -p1 %patch1131 -p1 %patch1136 -p1 %patch1137 -p1 %patch1142 -p1 %patch1145 -p1 %patch1146 -p1 %patch1148 -p1 %patch1149 -p1 %patch1150 -p1 %patch1151 -p1 %patch1152 -p1 %patch1153 -p1 %patch1154 -p1 %patch1158 -p1 %patch1159 -p1 %patch1160 -p1 %patch1162 -p1 %patch1163 -p1 %patch1164 -p1 %patch1165 -p1 %patch1169 -p1 %patch1170 -p1 %patch1171 -p1 %patch1172 -p1 %patch1175 -p1 %patch1176 -p1 %patch1178 -p1 %patch1180 -p1 %patch1181 -p1 %patch1182 -p1 %patch1186 -p1 %patch1188 -p1 %patch1191 -p1 %patch1192 -p1 %patch1193 -p1 %patch1194 -p1 %patch1195 -p1 %patch1198 -p1 %patch1199 -p1 %patch1201 -p1 %patch1202 -p1 %patch1203 -p1 %patch1204 -p1 %patch1205 -p1 %patch1208 -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 %patch1253 -p1 %patch1254 -p1 %patch1255 -p1 %patch1256 -p1 %patch1257 -p1 %patch1258 -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" %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 ./configure \ --prefix=%{_prefix} \ --libdir=%{_libdir} \ --sysconfdir=%{_sysconfdir} \ --interp-prefix=%{_prefix}/qemu-%%M \ --audio-drv-list=pa,alsa \ --with-confsuffix=/%{pkgname} \ --localstatedir=%{_localstatedir} \ --libexecdir=%{_libexecdir} \ --with-pkgversion=%{pkgname}-%{version}-%{release} \ --disable-strip \ --disable-qom-cast-debug \ --extra-ldflags="$extraldflags -pie -Wl,-z,relro -Wl,-z,now" \ --extra-cflags="%{optflags} -fPIE -DPIE" \ --enable-trace-backend=dtrace \ --enable-werror \ --disable-xen \ --disable-virtfs \ --enable-kvm \ --enable-libusb \ %if 0%{have_spice} --enable-spice \ %else --disable-spice \ %endif %if 0%{have_seccomp} --enable-seccomp \ %else --disable-seccomp \ %endif %if 0%{have_fdt} --enable-fdt \ %else --disable-fdt \ %endif --enable-docs \ --disable-sdl \ --disable-debug-tcg \ --disable-sparse \ --disable-brlapi \ --disable-bluez \ --disable-vde \ --disable-curses \ --disable-curl \ --enable-vnc-tls \ --enable-vnc-sasl \ --enable-linux-aio \ --enable-smartcard-nss \ %if 0%{have_usbredir} --enable-usb-redir \ %else --disable-usb-redir \ %endif --enable-vnc-png \ --disable-vnc-jpeg \ --enable-vnc-ws \ --enable-uuid \ --disable-vhost-scsi \ --enable-guest-agent \ --disable-tpm \ --enable-live-block-ops \ --enable-ceph-support \ --disable-live-block-migration \ %if 0%{have_gluster} --enable-glusterfs \ --block-drv-rw-whitelist=qcow2,raw,file,host_device,nbd,iscsi,gluster,rbd \ %else --disable-glusterfs \ --block-drv-rw-whitelist=qcow2,raw,file,host_device,nbd,iscsi,rbd \ %endif --block-drv-ro-whitelist=vmdk,vhdx,vpc,ssh \ --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 * Tue Oct 21 2014 Miroslav Rezanina - 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 - 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 - 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 - 2.1.0-1.el7 - Rebase to 2.1.0 [bz#1121609] - Resolves: bz#1121609 (Rebase qemu-kvm-rhev to qemu 2.1)