Blame SPECS/qemu-guest-agent.spec

d81766
# Build time setting
d81766
%global SLOF_gittagdate 20140630
d81766
d81766
%global have_usbredir 1
d81766
%global have_spice    1
d81766
%global have_fdt      0
d81766
%global have_gluster  1
d81766
d81766
%ifarch %{ix86} x86_64
d81766
    %global have_seccomp 1
d81766
%else
d81766
    %global have_usbredir 0
d81766
    %global have_seccomp 0
d81766
%endif
d81766
d81766
%ifnarch s390 s390x
d81766
    %global have_librdma 1
d81766
%endif
d81766
d81766
%ifarch %{ix86}
d81766
    %global kvm_target    i386
d81766
%endif
d81766
%ifarch x86_64
d81766
    %global kvm_target    x86_64
d81766
%else
d81766
    %global have_spice   0
d81766
    %global have_gluster 0
d81766
%endif
d81766
%ifarch %{power64}
d81766
    %global kvm_target    ppc64
d81766
    %global have_fdt     1
d81766
%endif
d81766
%ifarch s390
d81766
    %global kvm_target    s390
d81766
%endif
d81766
%ifarch s390x
d81766
    %global kvm_target    s390x
d81766
%endif
d81766
%ifarch ppc
d81766
    %global kvm_target    ppc
d81766
    %global have_fdt     1
d81766
%endif
d81766
%ifarch aarch64
d81766
    %global kvm_target    aarch64
d81766
    %global have_fdt     1
d81766
%endif
d81766
d81766
#Versions of various parts:
d81766
d81766
%define pkgname qemu-kvm
d81766
d81766
Summary: QEMU guest agent
d81766
Name: qemu-guest-agent
d81766
Version: 2.1.0
d81766
Release: 4%{?dist}
d81766
# Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped
d81766
Epoch: 10
d81766
License: GPLv2+ and LGPLv2+ and BSD
d81766
Group: System Environment/Daemons
d81766
URL: http://www.qemu.org/
d81766
Requires(post): systemd-units
d81766
Requires(preun): systemd-units
d81766
Requires(postun): systemd-units
d81766
d81766
# OOM killer breaks builds with parallel make on s390(x)
d81766
%ifarch s390 s390x
d81766
    %define _smp_mflags %{nil}
d81766
%endif
d81766
d81766
Source0: http://wiki.qemu.org/download/qemu-%{version}.tar.bz2
d81766
d81766
Source1: qemu-guest-agent.service
d81766
Source2: 99-qemu-guest-agent.rules
d81766
Source3: qemu-ga.sysconfig
d81766
d81766
d81766
Patch1005: kvm-misc-Disable-unsupported-usb-devices.patch
d81766
Patch1006: kvm-misc-Disable-unsupported-emulated-SCSI-devices.patch
d81766
Patch1008: kvm-misc-Disable-various-unsupported-devices.patch
d81766
Patch1009: kvm-misc-Disable-unsupported-audio-devices.patch
d81766
Patch1010: kvm-misc-Disable-unsupported-emulated-network-devices.patch
d81766
Patch1011: kvm-misc-Use-kvm-by-default.patch
d81766
Patch1014: kvm-misc-Disable-HPET-device.patch
d81766
Patch1016: kvm-misc-Rename-man-page-qemu-1-to-qemu-kvm-1.patch
d81766
Patch1017: kvm-misc-Change-qemu-to-qemu-kvm.patch
d81766
Patch1032: kvm-pc-Replace-upstream-machine-types-by-RHEL-7-types.patch
d81766
Patch1036: kvm-qemu-kvm-Fix-migration-from-older-version-due-to-i8254-changes.patch
d81766
Patch1037: kvm-pc-Add-machine-type-rhel6-0-0.patch
d81766
Patch1038: kvm-pc-Drop-superfluous-RHEL-6-compat_props.patch
d81766
Patch1039: kvm-vga-Default-vram_size_mb-to-16-like-prior-versions-of-RHEL.patch
d81766
Patch1040: kvm-pc-Drop-RHEL-6-USB-device-compat_prop-full-path.patch
d81766
Patch1041: kvm-pc-Drop-RHEL-6-compat_props-virtio-serial-pci-max_ports-vectors.patch
d81766
Patch1042: kvm-pc-Drop-RHEL-6-compat_props-apic-kvm-apic-vapic.patch
d81766
Patch1043: kvm-qxl-set-revision-to-1-for-rhel6-0-0.patch
d81766
Patch1044: kvm-pc-Give-rhel6-0-0-a-kvmclock.patch
d81766
Patch1045: kvm-pc-Add-machine-type-rhel6-1-0.patch
d81766
Patch1046: kvm-pc-Add-machine-type-rhel6-2-0.patch
d81766
Patch1047: kvm-pc-Add-machine-type-rhel6-3-0.patch
d81766
Patch1048: kvm-pc-Add-machine-type-rhel6-4-0.patch
d81766
Patch1049: kvm-pc-Add-machine-type-rhel6-5-0.patch
d81766
Patch1050: kvm-e1000-Keep-capabilities-list-bit-on-for-older-RHEL-machine-types.patch
d81766
Patch1051: kvm-misc-disable-s3-s4-by-default.patch
d81766
Patch1052: kvm-pc-rhel6-compat-enable-S3-S4-for-6-1-and-lower-machine-types.patch
d81766
Patch1058: kvm-misc-Disable-EFI-enabled-roms.patch
d81766
Patch1059: kvm-pc-set-compat-pmu-property-for-rhel6-x-machine-types.patch
d81766
Patch1063: kvm-misc-qga-fsfreeze-main-hook-adapt-to-RHEL-7-RH-only.patch
d81766
Patch1065: kvm-misc-add-qxl_screendump-monitor-command.patch
d81766
Patch1066: kvm-pc_piix-disable-CPUID_SEP-for-6-4-0-machine-types-and-below.patch
d81766
Patch1067: kvm-pc-set-level-xlevel-correctly-on-486-qemu32-CPU-models-for-rhel6-x.patch
d81766
Patch1068: kvm-pc-Remove-incorrect-rhel6-x-compat-model-value-for.patch
d81766
Patch1069: kvm-pc-rhel6-x-has-x2apic-present-on-Conroe-Penryn-Nehalem-CPU-models.patch
d81766
Patch1070: kvm-pc-set-compat-CPUID-0x80000001-EDX-bits-on-Westmere-for-rhel6-x.patch
d81766
Patch1071: kvm-pc-Remove-PCLMULQDQ-from-Westmere-on-rhel6-x-machine-types.patch
d81766
Patch1072: kvm-pc-SandyBridge-rhel6-x-compat-fixes.patch
d81766
Patch1073: kvm-pc-Haswell-doesn-t-have-rdtscp-on-rhel6-x.patch
d81766
Patch1076: kvm-qemu-iotests-Remove-lsi53c895a-tests-from-051.patch
d81766
Patch1077: kvm-misc-Remove-i82550-network-card-emulation.patch
d81766
Patch1078: kvm-misc-Remove-usb-wacom-tablet.patch
d81766
Patch1079: kvm-misc-Disable-usb-uas.patch
d81766
Patch1081: kvm-misc-Remove-no-hpet-option.patch
d81766
Patch1082: kvm-misc-Disable-isa-parallel.patch
d81766
Patch1083: kvm-misc-rhel6-compat-usb-serial-numbers.patch
d81766
Patch1084: kvm-qga-move-logfiles-to-new-directory-for-easier-SELinux-labeling-RHEL.patch
d81766
Patch1085: kvm-target-i386-add-cpu64-rhel6-CPU-model.patch
d81766
Patch1090: kvm-pc-rhel6-doesn-t-have-APIC-on-pentium-CPU-models.patch
d81766
Patch1091: kvm-pc-RHEL-6-had-x2apic-set-on-Opteron_G-123.patch
d81766
Patch1092: kvm-pc-RHEL-6-don-t-have-RDTSCP.patch
d81766
Patch1093: kvm-pc_piix-disable-mixer-for-6-4-0-machine-types-and-below.patch
d81766
Patch1098: kvm-acpi-piix4-Enable-qemu-kvm-compatibility-mode.patch
d81766
Patch1099: kvm-target-i386-support-loading-of-cpu-xsave-subsection.patch
d81766
Patch1101: kvm-rbd-link-and-load-librbd-dynamically.patch
d81766
Patch1102: kvm-rbd-Only-look-for-qemu-specific-copy-of-librbd-so-1.patch
d81766
Patch1104: kvm-misc-seabios-paravirt-allow-more-than-1TB-in-x86-guest.patch
d81766
Patch1106: kvm-rhel-Drop-ivshmem-device.patch
d81766
Patch1109: kvm-misc-Fix-migration-from-rhel6-5-to-rhel7-with-ipxe.patch
d81766
Patch1110: kvm-rhel-Revert-downstream-changes-to-unused-default-configs-mak.patch
d81766
Patch1111: kvm-rhel-Drop-cfi-pflash01-and-isa-ide-device.patch
d81766
Patch1112: kvm-rhel-Drop-isa-vga-device.patch
d81766
Patch1113: kvm-rhel-Make-isa-cirrus-vga-device-unavailable.patch
d81766
Patch1114: kvm-rhel-Make-ccid-card-emulated-device-unavailable.patch
d81766
Patch1115: kvm-misc-Partially-revert-rhel-Drop-cfi-pflash01-and-isa-ide-device.patch
d81766
Patch1116: kvm-misc-Partial-commit-of-87123eabfa1ee7cef51066fd7fd8e7d5ecd0419f-block.patch
d81766
Patch1118: kvm-migration-disable-live-block-migration-b-i-for-rhel-and-rhev.patch
d81766
Patch1119: kvm-misc-Build-ceph-rbd-only-for-rhev.patch
d81766
Patch1121: kvm-rhel-Make-pci-serial-2x-and-pci-serial-4x-device-unavailable.patch
d81766
Patch1122: kvm-monitor-Remove-pci_add-command-for-Red-Hat-Enterprise-Linux.patch
d81766
Patch1123: kvm-monitor-Remove-pci_del-command-for-Red-Hat-Enterprise-Linux.patch
d81766
Patch1124: kvm-monitor-Remove-usb_add-del-commands-for-Red-Hat-Enterprise-Linux.patch
d81766
Patch1125: kvm-monitor-Remove-host_net_add-remove-for-Red-Hat-Enterprise-Linux.patch
d81766
Patch1131: kvm-misc-don-t-disable-ctrl_mac_addr-feature-for-6-5-machine-RHEL-only.patch
d81766
Patch1136: kvm-pc-drop-virtio-balloon-pci-event_idx-compat-property.patch
d81766
Patch1137: kvm-misc-introduce-RFQDN_REDHAT-RHEL-6-7-fwd.patch
d81766
Patch1142: kvm-misc-fix-intel-hda-live-migration.patch
d81766
Patch1145: kvm-pci-assign-cap-number-of-devices-that-can-be-assigned.patch
d81766
Patch1146: kvm-vfio-cap-number-of-devices-that-can-be-assigned.patch
d81766
Patch1148: kvm-QMP-Forward-port-__com-redhat_drive_del-from-RHEL-6.patch
d81766
Patch1149: kvm-QMP-Forward-port-__com-redhat_drive_add-from-RHEL-6.patch
d81766
Patch1150: kvm-HMP-Forward-port-__com-redhat_drive_add-from-RHEL-6.patch
d81766
Patch1151: kvm-QMP-Document-throttling-parameters-of-__com-redhat_drive_add.patch
d81766
Patch1152: kvm-misc-Add-support-statement-to-help-output.patch
d81766
Patch1153: kvm-__com-redhat_qxl_screendump-add-docs.patch
d81766
Patch1154: kvm-vl-Round-memory-sizes-below-2MiB-up-to-2MiB.patch
d81766
Patch1158: kvm-misc-enable-pvticketlocks-by-default.patch
d81766
Patch1159: kvm-pc-Fix-rhel6-3dnow-3dnowext-compat-bits.patch
d81766
Patch1160: kvm-misc-switch-rhel7-machine-types-to-big-bios.patch
d81766
Patch1162: kvm-misc-Add-back-no-hpet-but-ignore-it.patch
d81766
Patch1163: kvm-misc-use-recommended-max-vcpu-count.patch
d81766
Patch1164: kvm-pc-Create-pc_compat_rhel-functions.patch
d81766
Patch1165: kvm-pc-Enable-x2apic-by-default-on-more-recent-CPU-models-v2.patch
d81766
Patch1169: kvm-pc-Disable-RDTSCP-unconditionally-on-rhel6-machine-types.patch
d81766
Patch1170: kvm-pc-Disable-RDTSCP-on-AMD-CPU-models.patch
d81766
Patch1171: kvm-usb-add-microsoft-os-descriptors-compat-property.patch
d81766
Patch1172: kvm-configure-add-option-to-disable-fstack-protect.patch
d81766
Patch1175: kvm-misc-fix-guest-physical-bits-to-match-host-to-go-beyond-1TB-guests.patch
d81766
Patch1176: kvm-QMP-Relax-__com-redhat_drive_add-parameter-checking.patch
d81766
Patch1178: kvm-pc-Add-RHEL6-e1000-gPXE-image.patch
d81766
Patch1180: kvm-configure-Fix-bugs-preventing-Ceph-inclusion.patch
d81766
Patch1181: kvm-pc-Use-cpu64-rhel6-CPU-model-by-default-on-rhel6-machine-types.patch
d81766
Patch1182: kvm-target-i386-Copy-cpu64-rhel6-definition-into-qemu64.patch
d81766
Patch1186: kvm-pc-add-hot_add_cpu-callback-to-all-machine-types.patch
d81766
Patch1188: kvm-misc-Remove-CONFIG_NE2000_ISA-from-all-config-files.patch
d81766
Patch1191: kvm-misc-RHEL7-RHEV7-1-2-0-migration-compatibility.patch
d81766
Patch1192: kvm-misc-remove-superfluous-hot_add_cpu-and-max_cpus-initializers-RHEV-7-1.patch
d81766
Patch1193: kvm-misc-set-model-in-PC_RHEL6_5_COMPAT-for-qemu32-VCPU-RHEV-7-1-only.patch
d81766
Patch1194: kvm-misc-Undo-Enable-x2apic-by-default-for-compatibility.patch
d81766
Patch1195: kvm-qemu_loadvm_state-shadow-SeaBIOS-for-VM-incoming-from-RHEL-6-host.patch
d81766
Patch1198: kvm-rhel-SMBIOS-type-1-branding.patch
d81766
Patch1199: kvm-misc-Use-legacy-SMBIOS-for-rhel-machine-types.patch
d81766
Patch1201: kvm-misc-Disable-new-devices-in-qemu-2-1.patch
d81766
Patch1202: kvm-scripts-qapi-event-py-support-vendor-extension.patch
d81766
Patch1203: kvm-qmp-add-error-reason-to-the-BLOCK_IO_ERROR-event.patch
d81766
Patch1204: kvm-qmp-improve-debuggability-of-BLOCK_IO_ERROR-event.patch
d81766
Patch1205: kvm-uhci-UNfix-irq-routing-for-RHEL-6-machtypes-RHEL-only.patch
d81766
Patch1208: kvm-misc-Include-OHCI-device-for-ppc64.patch
d81766
Patch1211: kvm-arm64-64K-pages-and-1024MB-guest.patch
d81766
# For bz#1076326 - qemu-kvm does not quit when booting guest w/ 161 vcpus and "-no-kvm"
d81766
# For bz#1118665 - Migration: rhel7.0->rhev7.1
d81766
Patch1212: ga-exit-when-no-kvm-and-vcpu-count-160.patch
d81766
# For bz#1118665 - Migration: rhel7.0->rhev7.1
d81766
Patch1213: ga-Revert-Use-legacy-SMBIOS-for-rhel-machine-types.patch
d81766
# For bz#1118665 - Migration: rhel7.0->rhev7.1
d81766
Patch1214: ga-rhel-Use-SMBIOS-legacy-mode-for-machine-types-7.0.patch
d81766
# For bz#1118665 - Migration: rhel7.0->rhev7.1
d81766
Patch1215: ga-rhel-Suppress-hotplug-memory-address-space-for-machi.patch
d81766
# For bz#1118665 - Migration: rhel7.0->rhev7.1
d81766
Patch1216: ga-rhel-Fix-ACPI-table-size-for-machine-types-7.0.patch
d81766
# For bz#1118665 - Migration: rhel7.0->rhev7.1
d81766
Patch1217: ga-rhel-Fix-missing-pc-q35-rhel7.0.0-compatibility-prop.patch
d81766
# For bz#1118665 - Migration: rhel7.0->rhev7.1
d81766
Patch1218: ga-rhel-virtio-scsi-pci.any_layout-off-for-machine-type.patch
d81766
# For bz#1118665 - Migration: rhel7.0->rhev7.1
d81766
Patch1219: ga-rhel-PIIX4_PM.memory-hotplug-support-off-for-machine.patch
d81766
# For bz#1118665 - Migration: rhel7.0->rhev7.1
d81766
Patch1220: ga-rhel-apic.version-0x11-for-machine-types-7.0.patch
d81766
# For bz#1118665 - Migration: rhel7.0->rhev7.1
d81766
Patch1221: ga-rhel-nec-usb-xhci.superspeed-ports-first-off-for-mac.patch
d81766
# For bz#1118665 - Migration: rhel7.0->rhev7.1
d81766
Patch1222: ga-rhel-pci-serial.prog_if-0-for-machine-types-7.0.patch
d81766
# For bz#1118665 - Migration: rhel7.0->rhev7.1
d81766
Patch1223: ga-rhel-virtio-net-pci.guest_announce-off-for-machine-t.patch
d81766
# For bz#1118665 - Migration: rhel7.0->rhev7.1
d81766
Patch1224: ga-rhel-ICH9-LPC.memory-hotplug-support-off-for-machine.patch
d81766
# For bz#1118665 - Migration: rhel7.0->rhev7.1
d81766
Patch1225: ga-rhel-.power_controller_present-off-for-machine-types.patch
d81766
# For bz#1118665 - Migration: rhel7.0->rhev7.1
d81766
Patch1226: ga-rhel-virtio-net-pci.ctrl_guest_offloads-off-for-mach.patch
d81766
# For bz#1118665 - Migration: rhel7.0->rhev7.1
d81766
Patch1227: ga-pc-q35-rhel7.0.0-Disable-x2apic-default.patch
d81766
# For bz#1003432 - qemu-kvm should not allow different virtio serial port use the same name
d81766
Patch1228: ga-virtio-serial-create-a-linked-list-of-all-active-dev.patch
d81766
# For bz#1003432 - qemu-kvm should not allow different virtio serial port use the same name
d81766
Patch1229: ga-virtio-serial-search-for-duplicate-port-names-before.patch
d81766
# For bz#1111351 - RHEL-6.6 migration compatibility: CPU models
d81766
Patch1230: ga-pc-RHEL-6-CPUID-compat-code-for-Broadwell-CPU-model.patch
d81766
# For bz#1129259 - Add traces to virtio-rng device
d81766
Patch1231: kvm-virtio-rng-add-some-trace-events.patch
d81766
# For bz#1126976 - VHDX image format does not work on PPC64 (Endian issues)
d81766
Patch1232: kvm-block-vhdx-add-error-check.patch
d81766
# For bz#1126976 - VHDX image format does not work on PPC64 (Endian issues)
d81766
Patch1233: kvm-block-VHDX-endian-fixes.patch
d81766
# For bz#1133736 - qemu should provide iothread and x-data-plane properties for /usr/libexec/qemu-kvm -device virtio-blk-pci,?
d81766
Patch1234: kvm-qdev-monitor-include-QOM-properties-in-device-FOO-he.patch
d81766
# For bz#1136752 - virtio-blk dataplane support for block_resize and hot unplug
d81766
Patch1235: kvm-block-acquire-AioContext-in-qmp_block_resize.patch
d81766
# For bz#1136752 - virtio-blk dataplane support for block_resize and hot unplug
d81766
Patch1236: kvm-virtio-blk-allow-block_resize-with-dataplane.patch
d81766
# For bz#1136752 - virtio-blk dataplane support for block_resize and hot unplug
d81766
Patch1237: kvm-block-acquire-AioContext-in-do_drive_del.patch
d81766
# For bz#1136752 - virtio-blk dataplane support for block_resize and hot unplug
d81766
Patch1238: kvm-virtio-blk-allow-drive_del-with-dataplane.patch
d81766
# For bz#1093023 - provide RHEL-specific machine types in QEMU
d81766
Patch1239: kvm-rhel-Add-rhel7.1.0-machine-types.patch
d81766
# For bz#1136512 - rhel7.0.0 machtype compat after CVE-2014-5263 vmstate_xhci_event: fix unterminated field list
d81766
Patch1240: kvm-vmstate_xhci_event-bug-compat-for-rhel7.0.0-machine-.patch
d81766
# For bz#1139706 - pflash (UEFI varstore) migration shortcut for libvirt [RHEV]
d81766
Patch1241: kvm-pflash_cfi01-fixup-stale-DPRINTF-calls.patch
d81766
# For bz#1139706 - pflash (UEFI varstore) migration shortcut for libvirt [RHEV]
d81766
Patch1242: kvm-pflash_cfi01-write-flash-contents-to-bdrv-on-incomin.patch
d81766
# For bz#1140145 - qemu-kvm crashed when doing iofuzz testing
d81766
Patch1243: kvm-ide-Fix-segfault-when-flushing-a-device-that-doesn-t.patch
d81766
# For bz#1138579 - Migration failed with nec-usb-xhci from RHEL7. 0 to RHEL7.1
d81766
Patch1244: kvm-xhci-PCIe-endpoint-migration-compatibility-fix.patch
d81766
# For bz#1138579 - Migration failed with nec-usb-xhci from RHEL7. 0 to RHEL7.1
d81766
Patch1245: kvm-rh-machine-types-xhci-PCIe-endpoint-migration-compat.patch
d81766
# For bz#1055532 - QEMU should abort when invalid CPU flag name is used
d81766
Patch1246: kvm-target-i386-Reject-invalid-CPU-feature-names-on-the-.patch
d81766
# For bz#1113998 - RHEL Power/KVM (qemu-kvm-rhev)
d81766
Patch1247: kvm-target-ppc-virtex-ml507-machine-type-should-depend-o.patch
d81766
# For bz#1113998 - RHEL Power/KVM (qemu-kvm-rhev)
d81766
Patch1248: kvm-RHEL-only-Disable-tests-that-don-t-work-with-RHEL-bu.patch
d81766
# For bz#1113998 - RHEL Power/KVM (qemu-kvm-rhev)
d81766
Patch1249: kvm-RHEL-onlyy-Disable-unused-ppc-machine-types.patch
d81766
Patch1250: kvm-RHEL-only-Remove-unneeded-devices-from-ppc64-qemu-kv.patch
d81766
Patch1251: kvm-RHEL-only-Replace-upstream-pseries-machine-types-wit.patch
d81766
# For bz#1123349 - [FJ7.0 Bug] SCSI command issued from KVM guest doesn't reach target device
d81766
Patch1252: kvm-scsi-bus-prepare-scsi_req_new-for-introduction-of-pa.patch
d81766
# For bz#1123349 - [FJ7.0 Bug] SCSI command issued from KVM guest doesn't reach target device
d81766
Patch1253: kvm-scsi-bus-introduce-parse_cdb-in-SCSIDeviceClass-and-.patch
d81766
# For bz#1123349 - [FJ7.0 Bug] SCSI command issued from KVM guest doesn't reach target device
d81766
Patch1254: kvm-scsi-block-extract-scsi_block_is_passthrough.patch
d81766
# For bz#1123349 - [FJ7.0 Bug] SCSI command issued from KVM guest doesn't reach target device
d81766
Patch1255: kvm-scsi-block-scsi-generic-implement-parse_cdb.patch
d81766
# For bz#1123349 - [FJ7.0 Bug] SCSI command issued from KVM guest doesn't reach target device
d81766
Patch1256: kvm-virtio-scsi-implement-parse_cdb.patch
d81766
# For bz#1135893 - qemu-kvm should report an error message when host's freehugepage memory < domain's memory
d81766
Patch1257: kvm-exec-file_ram_alloc-print-error-when-prealloc-fails.patch
d81766
# For bz#1144089 - [HP 7.1 FEAT] Increase qemu-kvm-rhev's VCPU limit to 240
d81766
Patch1258: kvm-pc-increase-maximal-VCPU-count-to-240.patch
d81766
d81766
BuildRequires: zlib-devel
d81766
BuildRequires: SDL-devel
d81766
BuildRequires: which
d81766
BuildRequires: texi2html
d81766
BuildRequires: gnutls-devel
d81766
BuildRequires: cyrus-sasl-devel
d81766
BuildRequires: libtool
d81766
BuildRequires: libaio-devel
d81766
BuildRequires: rsync
d81766
BuildRequires: python
d81766
BuildRequires: pciutils-devel
d81766
BuildRequires: pulseaudio-libs-devel
d81766
BuildRequires: libiscsi-devel
d81766
BuildRequires: ncurses-devel
d81766
BuildRequires: libattr-devel
d81766
BuildRequires: libusbx-devel
d81766
%if 0%{have_usbredir}
d81766
BuildRequires: usbredir-devel >= 0.6
d81766
%endif
d81766
BuildRequires: texinfo
d81766
%if 0%{have_spice}
d81766
BuildRequires: spice-protocol >= 0.12.2
d81766
BuildRequires: spice-server-devel >= 0.12.0
d81766
%endif
d81766
%if 0%{have_seccomp}
d81766
BuildRequires: libseccomp-devel >= 1.0.0
d81766
%endif
d81766
# For network block driver
d81766
BuildRequires: libcurl-devel
d81766
BuildRequires: libssh2-devel
d81766
%if 0%{have_gluster}
d81766
# For gluster block driver
d81766
BuildRequires: glusterfs-api-devel
d81766
BuildRequires: glusterfs-devel
d81766
%endif
d81766
# We need both because the 'stap' binary is probed for by configure
d81766
BuildRequires: systemtap
d81766
BuildRequires: systemtap-sdt-devel
d81766
# For smartcard NSS support
d81766
BuildRequires: nss-devel
d81766
# For XFS discard support in raw-posix.c
d81766
# For VNC JPEG support
d81766
BuildRequires: libjpeg-devel
d81766
# For VNC PNG support
d81766
BuildRequires: libpng-devel
d81766
# For uuid generation
d81766
BuildRequires: libuuid-devel
d81766
# For BlueZ device support
d81766
BuildRequires: bluez-libs-devel
d81766
# For Braille device support
d81766
BuildRequires: brlapi-devel
d81766
# For test suite
d81766
BuildRequires: check-devel
d81766
# For virtfs
d81766
BuildRequires: libcap-devel
d81766
# Hard requirement for version >= 1.3
d81766
BuildRequires: pixman-devel
d81766
# Documentation requirement
d81766
BuildRequires: perl-podlators
d81766
BuildRequires: texinfo
d81766
# For rdma
d81766
%if 0%{?have_librdma:1}
d81766
BuildRequires: librdmacm-devel
d81766
%endif
d81766
# iasl and cpp for acpi generation (not a hard requirement as we can use
d81766
# pre-compiled files, but it's better to use this)
d81766
%ifarch %{ix86} x86_64
d81766
BuildRequires: iasl
d81766
BuildRequires: cpp
d81766
%endif
d81766
d81766
d81766
%define qemudocdir %{_docdir}/%{pkgname}
d81766
d81766
%description
d81766
qemu-kvm is an open source virtualizer that provides hardware emulation for
d81766
the KVM hypervisor. 
d81766
d81766
This package provides an agent to run inside guests, which communicates
d81766
with the host over a virtio-serial channel named "org.qemu.guest_agent.0"
d81766
d81766
This package does not need to be installed on the host OS.
d81766
d81766
%post
d81766
%systemd_post qemu-guest-agent.service
d81766
d81766
%preun
d81766
%systemd_preun qemu-guest-agent.service
d81766
d81766
%postun
d81766
%systemd_postun_with_restart qemu-guest-agent.service
d81766
d81766
%prep
d81766
%setup -q -n qemu-%{version}
d81766
d81766
# if patch fuzzy patch applying will be forbidden
d81766
%define with_fuzzy_patches 0
d81766
%if %{with_fuzzy_patches}
d81766
    patch_command='patch -p1 -s'
d81766
%else
d81766
    patch_command='patch -p1 -F1 -s'
d81766
%endif
d81766
d81766
ApplyPatch()
d81766
{
d81766
  local patch=$1
d81766
  shift
d81766
  if [ ! -f $RPM_SOURCE_DIR/$patch ]; then
d81766
    exit 1
d81766
  fi
d81766
  case "$patch" in
d81766
  *.bz2) bunzip2 < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;;
d81766
  *.gz) gunzip < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;;
d81766
  *) $patch_command ${1+"$@"} < "$RPM_SOURCE_DIR/$patch" ;;
d81766
  esac
d81766
}
d81766
d81766
# don't apply patch if it's empty or does not exist
d81766
ApplyOptionalPatch()
d81766
{
d81766
  local patch=$1
d81766
  shift
d81766
  if [ ! -f $RPM_SOURCE_DIR/$patch ]; then
d81766
    return 0
d81766
  fi
d81766
  local C=$(wc -l $RPM_SOURCE_DIR/$patch | awk '{print $1}')
d81766
  if [ "$C" -gt 9 ]; then
d81766
    ApplyPatch $patch ${1+"$@"}
d81766
  fi
d81766
}
d81766
d81766
d81766
%patch1005 -p1
d81766
%patch1006 -p1
d81766
%patch1008 -p1
d81766
%patch1009 -p1
d81766
%patch1010 -p1
d81766
%patch1011 -p1
d81766
%patch1014 -p1
d81766
%patch1016 -p1
d81766
%patch1017 -p1
d81766
%patch1032 -p1
d81766
%patch1036 -p1
d81766
%patch1037 -p1
d81766
%patch1038 -p1
d81766
%patch1039 -p1
d81766
%patch1040 -p1
d81766
%patch1041 -p1
d81766
%patch1042 -p1
d81766
%patch1043 -p1
d81766
%patch1044 -p1
d81766
%patch1045 -p1
d81766
%patch1046 -p1
d81766
%patch1047 -p1
d81766
%patch1048 -p1
d81766
%patch1049 -p1
d81766
%patch1050 -p1
d81766
%patch1051 -p1
d81766
%patch1052 -p1
d81766
%patch1058 -p1
d81766
%patch1059 -p1
d81766
%patch1063 -p1
d81766
%patch1065 -p1
d81766
%patch1066 -p1
d81766
%patch1067 -p1
d81766
%patch1068 -p1
d81766
%patch1069 -p1
d81766
%patch1070 -p1
d81766
%patch1071 -p1
d81766
%patch1072 -p1
d81766
%patch1073 -p1
d81766
%patch1076 -p1
d81766
%patch1077 -p1
d81766
%patch1078 -p1
d81766
%patch1079 -p1
d81766
%patch1081 -p1
d81766
%patch1082 -p1
d81766
%patch1083 -p1
d81766
%patch1084 -p1
d81766
%patch1085 -p1
d81766
%patch1090 -p1
d81766
%patch1091 -p1
d81766
%patch1092 -p1
d81766
%patch1093 -p1
d81766
%patch1098 -p1
d81766
%patch1099 -p1
d81766
%patch1101 -p1
d81766
%patch1102 -p1
d81766
%patch1104 -p1
d81766
%patch1106 -p1
d81766
%patch1109 -p1
d81766
%patch1110 -p1
d81766
%patch1111 -p1
d81766
%patch1112 -p1
d81766
%patch1113 -p1
d81766
%patch1114 -p1
d81766
%patch1115 -p1
d81766
%patch1116 -p1
d81766
%patch1118 -p1
d81766
%patch1119 -p1
d81766
%patch1121 -p1
d81766
%patch1122 -p1
d81766
%patch1123 -p1
d81766
%patch1124 -p1
d81766
%patch1125 -p1
d81766
%patch1131 -p1
d81766
%patch1136 -p1
d81766
%patch1137 -p1
d81766
%patch1142 -p1
d81766
%patch1145 -p1
d81766
%patch1146 -p1
d81766
%patch1148 -p1
d81766
%patch1149 -p1
d81766
%patch1150 -p1
d81766
%patch1151 -p1
d81766
%patch1152 -p1
d81766
%patch1153 -p1
d81766
%patch1154 -p1
d81766
%patch1158 -p1
d81766
%patch1159 -p1
d81766
%patch1160 -p1
d81766
%patch1162 -p1
d81766
%patch1163 -p1
d81766
%patch1164 -p1
d81766
%patch1165 -p1
d81766
%patch1169 -p1
d81766
%patch1170 -p1
d81766
%patch1171 -p1
d81766
%patch1172 -p1
d81766
%patch1175 -p1
d81766
%patch1176 -p1
d81766
%patch1178 -p1
d81766
%patch1180 -p1
d81766
%patch1181 -p1
d81766
%patch1182 -p1
d81766
%patch1186 -p1
d81766
%patch1188 -p1
d81766
%patch1191 -p1
d81766
%patch1192 -p1
d81766
%patch1193 -p1
d81766
%patch1194 -p1
d81766
%patch1195 -p1
d81766
%patch1198 -p1
d81766
%patch1199 -p1
d81766
%patch1201 -p1
d81766
%patch1202 -p1
d81766
%patch1203 -p1
d81766
%patch1204 -p1
d81766
%patch1205 -p1
d81766
%patch1208 -p1
d81766
%patch1211 -p1
d81766
%patch1212 -p1
d81766
%patch1213 -p1
d81766
%patch1214 -p1
d81766
%patch1215 -p1
d81766
%patch1216 -p1
d81766
%patch1217 -p1
d81766
%patch1218 -p1
d81766
%patch1219 -p1
d81766
%patch1220 -p1
d81766
%patch1221 -p1
d81766
%patch1222 -p1
d81766
%patch1223 -p1
d81766
%patch1224 -p1
d81766
%patch1225 -p1
d81766
%patch1226 -p1
d81766
%patch1227 -p1
d81766
%patch1228 -p1
d81766
%patch1229 -p1
d81766
%patch1230 -p1
d81766
%patch1231 -p1
d81766
%patch1232 -p1
d81766
%patch1233 -p1
d81766
%patch1234 -p1
d81766
%patch1235 -p1
d81766
%patch1236 -p1
d81766
%patch1237 -p1
d81766
%patch1238 -p1
d81766
%patch1239 -p1
d81766
%patch1240 -p1
d81766
%patch1241 -p1
d81766
%patch1242 -p1
d81766
%patch1243 -p1
d81766
%patch1244 -p1
d81766
%patch1245 -p1
d81766
%patch1246 -p1
d81766
%patch1247 -p1
d81766
%patch1248 -p1
d81766
%patch1249 -p1
d81766
%patch1250 -p1
d81766
%patch1251 -p1
d81766
%patch1252 -p1
d81766
%patch1253 -p1
d81766
%patch1254 -p1
d81766
%patch1255 -p1
d81766
%patch1256 -p1
d81766
%patch1257 -p1
d81766
%patch1258 -p1
d81766
d81766
ApplyOptionalPatch qemu-kvm-test.patch
d81766
d81766
%build
d81766
buildarch="%{kvm_target}-softmmu"
d81766
d81766
# --build-id option is used for giving info to the debug packages.
d81766
extraldflags="-Wl,--build-id";
d81766
buildldflags="VL_LDFLAGS=-Wl,--build-id"
d81766
d81766
%ifarch s390
d81766
    # drop -g flag to prevent memory exhaustion by linker
d81766
    %global optflags %(echo %{optflags} | sed 's/-g//')
d81766
    sed -i.debug 's/"-g $CFLAGS"/"$CFLAGS"/g' configure
d81766
%endif
d81766
d81766
./configure \
d81766
        --prefix=%{_prefix} \
d81766
        --libdir=%{_libdir} \
d81766
        --sysconfdir=%{_sysconfdir} \
d81766
        --interp-prefix=%{_prefix}/qemu-%%M \
d81766
        --audio-drv-list=pa,alsa \
d81766
        --with-confsuffix=/%{pkgname} \
d81766
        --localstatedir=%{_localstatedir} \
d81766
        --libexecdir=%{_libexecdir} \
d81766
        --with-pkgversion=%{pkgname}-%{version}-%{release} \
d81766
        --disable-strip \
d81766
        --disable-qom-cast-debug \
d81766
        --extra-ldflags="$extraldflags -pie -Wl,-z,relro -Wl,-z,now" \
d81766
        --extra-cflags="%{optflags} -fPIE -DPIE" \
d81766
        --enable-trace-backend=dtrace \
d81766
        --enable-werror \
d81766
        --disable-xen \
d81766
        --disable-virtfs \
d81766
        --enable-kvm \
d81766
        --enable-libusb \
d81766
%if 0%{have_spice}
d81766
        --enable-spice \
d81766
%else
d81766
        --disable-spice \
d81766
%endif
d81766
%if 0%{have_seccomp}
d81766
        --enable-seccomp \
d81766
%else
d81766
        --disable-seccomp \
d81766
%endif
d81766
%if 0%{have_fdt}
d81766
        --enable-fdt \
d81766
%else
d81766
        --disable-fdt \
d81766
%endif
d81766
        --enable-docs \
d81766
        --disable-sdl \
d81766
        --disable-debug-tcg \
d81766
        --disable-sparse \
d81766
        --disable-brlapi \
d81766
        --disable-bluez \
d81766
        --disable-vde \
d81766
        --disable-curses \
d81766
        --disable-curl \
d81766
        --enable-vnc-tls \
d81766
        --enable-vnc-sasl \
d81766
        --enable-linux-aio \
d81766
        --enable-smartcard-nss \
d81766
%if 0%{have_usbredir}
d81766
        --enable-usb-redir \
d81766
%else
d81766
        --disable-usb-redir \
d81766
%endif
d81766
        --enable-vnc-png \
d81766
        --disable-vnc-jpeg \
d81766
        --enable-vnc-ws \
d81766
        --enable-uuid \
d81766
        --disable-vhost-scsi \
d81766
        --enable-guest-agent \
d81766
        --disable-tpm \
d81766
        --enable-live-block-ops \
d81766
        --enable-ceph-support \
d81766
        --disable-live-block-migration \
d81766
%if 0%{have_gluster}
d81766
        --enable-glusterfs \
d81766
        --block-drv-rw-whitelist=qcow2,raw,file,host_device,nbd,iscsi,gluster,rbd \
d81766
%else
d81766
        --disable-glusterfs \
d81766
        --block-drv-rw-whitelist=qcow2,raw,file,host_device,nbd,iscsi,rbd \
d81766
%endif
d81766
        --block-drv-ro-whitelist=vmdk,vhdx,vpc,ssh \
d81766
	--target-list= \
d81766
        --cpu=%{kvm_target} \
d81766
        "$@"
d81766
d81766
echo "config-host.mak contents:"
d81766
echo "==="
d81766
cat config-host.mak
d81766
echo "==="
d81766
d81766
make qemu-ga %{?_smp_mflags} $buildldflags
d81766
d81766
%install
d81766
%define _udevdir %(pkg-config --variable=udevdir udev)/rules.d
d81766
d81766
d81766
# For the qemu-guest-agent subpackage, install:
d81766
# - the systemd service file and the udev rules:
d81766
mkdir -p $RPM_BUILD_ROOT%{_unitdir}
d81766
mkdir -p $RPM_BUILD_ROOT%{_udevdir}
d81766
install -m 0644 %{SOURCE1} $RPM_BUILD_ROOT%{_unitdir}
d81766
install -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_udevdir}
d81766
d81766
# - the environment file for the systemd service:
d81766
install -D -p -m 0644 %{SOURCE3} \
d81766
 $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/qemu-ga
d81766
d81766
# - the fsfreeze hook script:
d81766
install -D --preserve-timestamps \
d81766
  scripts/qemu-guest-agent/fsfreeze-hook \
d81766
  $RPM_BUILD_ROOT%{_sysconfdir}/qemu-ga/fsfreeze-hook
d81766
d81766
# - the directory for user scripts:
d81766
mkdir $RPM_BUILD_ROOT%{_sysconfdir}/qemu-ga/fsfreeze-hook.d
d81766
d81766
# - and the fsfreeze script samples:
d81766
mkdir --parents $RPM_BUILD_ROOT%{_datadir}/%{pkgname}/qemu-ga/fsfreeze-hook.d/
d81766
install --preserve-timestamps --mode=0644 \
d81766
  scripts/qemu-guest-agent/fsfreeze-hook.d/*.sample \
d81766
  $RPM_BUILD_ROOT%{_datadir}/%{pkgname}/qemu-ga/fsfreeze-hook.d/
d81766
d81766
# - Install dedicated log directory:
d81766
mkdir -p -v $RPM_BUILD_ROOT%{_localstatedir}/log/qemu-ga/
d81766
d81766
mkdir -p $RPM_BUILD_ROOT%{_bindir}
d81766
install -c -m 0755  qemu-ga ${RPM_BUILD_ROOT}%{_bindir}/qemu-ga
d81766
d81766
%files
d81766
    %defattr(-,root,root,-)
d81766
    %doc COPYING README
d81766
    %{_bindir}/qemu-ga
d81766
    %{_unitdir}/qemu-guest-agent.service
d81766
    %{_udevdir}/99-qemu-guest-agent.rules
d81766
    %config(noreplace) %{_sysconfdir}/sysconfig/qemu-ga
d81766
    %{_sysconfdir}/qemu-ga
d81766
    %{_datadir}/%{pkgname}/qemu-ga
d81766
    %dir %{_localstatedir}/log/qemu-ga
d81766
d81766
d81766
%changelog
d81766
* Tue Oct 21 2014 Miroslav Rezanina <mrezanin@redhat.com> - 2.1.0-4.el7
d81766
- kvm-Mark-etc-sysconfig-qemu-ga-as-config-noreplace.patch [bz#1150924]
d81766
- Resolves: bz#1150924
d81766
  (/etc/sysconfig/qemu-ga is replaced when updated)
d81766
d81766
* Thu Aug 28 2014 Miroslav Rezanina <mrezanin@redhat.com> - 2.1.0-3.el7
d81766
- Allow building qemu-guest-agent on ppc64le
d81766
- Synchronize with qemu-kvm-rhev-2.1.0-3.el7
d81766
- Resolves: bz#1132718
d81766
  (qemu-guest-agent fails to build for ppc64le)
d81766
d81766
* Sat Aug 02 2014 Miroslav Rezanina <mrezanin@redhat.com> - 2.1.0-2.el7
d81766
- Create separate qemu-guest-agent package based on qemu-kvm-rhev-2.1.0-1.el7 [bz#1117096]
d81766
- Resolves: #bz1117096
d81766
d81766
* Sat Aug 02 2014 Miroslav Rezanina <mrezanin@redhat.com> - 2.1.0-1.el7
d81766
- Rebase to 2.1.0 [bz#1121609]
d81766
- Resolves: bz#1121609
d81766
 (Rebase qemu-kvm-rhev to qemu 2.1)
d81766