edecca
# -*- rpm-spec -*-
edecca
edecca
# This spec file assumes you are building on a Fedora or RHEL version
edecca
# that's still supported by the vendor. It may work on other distros
edecca
# or versions, but no effort will be made to ensure that going forward.
edecca
%define min_rhel 6
edecca
%define min_fedora 26
edecca
edecca
%if (0%{?fedora} && 0%{?fedora} >= %{min_fedora}) || (0%{?rhel} && 0%{?rhel} >= %{min_rhel})
edecca
    %define supported_platform 1
edecca
%else
edecca
    %define supported_platform 0
edecca
%endif
edecca
edecca
# Default to skipping autoreconf.  Distros can change just this one line
edecca
# (or provide a command-line override) if they backport any patches that
edecca
# touch configure.ac or Makefile.am.
edecca
# Always run autoreconf
edecca
%{!?enable_autotools:%global enable_autotools 1}
edecca
edecca
# The hypervisor drivers that run in libvirtd
edecca
%define with_qemu          0%{!?_without_qemu:1}
edecca
%define with_lxc           0%{!?_without_lxc:1}
edecca
%define with_uml           0%{!?_without_uml:1}
edecca
%define with_libxl         0%{!?_without_libxl:1}
edecca
%define with_vbox          0%{!?_without_vbox:1}
edecca
edecca
%define with_qemu_tcg      %{with_qemu}
edecca
edecca
%define qemu_kvm_arches %{ix86} x86_64
edecca
edecca
%if 0%{?fedora}
edecca
    %define qemu_kvm_arches %{ix86} x86_64 %{power64} s390x %{arm} aarch64
edecca
%endif
edecca
edecca
%if 0%{?rhel}
edecca
    %define with_qemu_tcg 0
edecca
    %define qemu_kvm_arches x86_64
edecca
    %if 0%{?rhel} >= 7
edecca
        %define qemu_kvm_arches x86_64 %{power64} aarch64 s390x
edecca
    %endif
edecca
%endif
edecca
edecca
%ifarch %{qemu_kvm_arches}
edecca
    %define with_qemu_kvm      %{with_qemu}
edecca
%else
edecca
    %define with_qemu_kvm      0
edecca
%endif
edecca
edecca
%if ! %{with_qemu_tcg} && ! %{with_qemu_kvm}
edecca
    %define with_qemu 0
edecca
%endif
edecca
edecca
# Then the hypervisor drivers that run outside libvirtd, in libvirt.so
edecca
%define with_openvz        0%{!?_without_openvz:1}
edecca
%define with_vmware        0%{!?_without_vmware:1}
edecca
%define with_phyp          0%{!?_without_phyp:1}
edecca
%define with_esx           0%{!?_without_esx:1}
edecca
%define with_hyperv        0%{!?_without_hyperv:1}
edecca
edecca
# Then the secondary host drivers, which run inside libvirtd
edecca
%if 0%{?fedora} || 0%{?rhel} >= 7
edecca
    %define with_storage_rbd      0%{!?_without_storage_rbd:1}
edecca
%else
edecca
    %define with_storage_rbd      0
edecca
%endif
edecca
%if 0%{?fedora}
edecca
    %define with_storage_sheepdog 0%{!?_without_storage_sheepdog:1}
edecca
%else
edecca
    %define with_storage_sheepdog 0
edecca
%endif
edecca
%define with_storage_gluster 0%{!?_without_storage_gluster:1}
edecca
%define with_numactl          0%{!?_without_numactl:1}
edecca
edecca
# F25+ has zfs-fuse
edecca
%if 0%{?fedora}
edecca
    %define with_storage_zfs      0%{!?_without_storage_zfs:1}
edecca
%else
edecca
    %define with_storage_zfs      0
edecca
%endif
edecca
edecca
# A few optional bits off by default, we enable later
edecca
%define with_fuse          0%{!?_without_fuse:0}
edecca
%define with_sanlock       0%{!?_without_sanlock:0}
edecca
%define with_systemd       0%{!?_without_systemd:0}
edecca
%define with_numad         0%{!?_without_numad:0}
edecca
%define with_firewalld     0%{!?_without_firewalld:0}
edecca
%define with_firewalld_zone 0%{!?_without_firewalld_zone:0}
edecca
%define with_libssh2       0%{!?_without_libssh2:0}
edecca
%define with_wireshark     0%{!?_without_wireshark:0}
edecca
%define with_libssh        0%{!?_without_libssh:0}
edecca
%define with_bash_completion  0%{!?_without_bash_completion:0}
edecca
%define with_pm_utils      1
edecca
edecca
# Finally set the OS / architecture specific special cases
edecca
edecca
# Xen is available only on i386 x86_64 ia64
edecca
%ifnarch %{ix86} x86_64 ia64
edecca
    %define with_libxl 0
edecca
%endif
edecca
edecca
# vbox is available only on i386 x86_64
edecca
%ifnarch %{ix86} x86_64
edecca
    %define with_vbox 0
edecca
%endif
edecca
edecca
# Numactl is not available on s390[x] and ARM
edecca
%ifarch s390 s390x %{arm}
edecca
    %define with_numactl 0
edecca
%endif
edecca
edecca
# zfs-fuse is not available on some architectures
edecca
%ifarch s390 s390x aarch64
edecca
    %define with_storage_zfs 0
edecca
%endif
edecca
edecca
edecca
# RHEL doesn't ship OpenVZ, VBox, UML, PowerHypervisor,
edecca
# VMware, libxenserver (xenapi), libxenlight (Xen 4.1 and newer),
edecca
# or HyperV.
edecca
%if 0%{?rhel}
edecca
    %define with_openvz 0
edecca
    %define with_vbox 0
edecca
    %define with_uml 0
edecca
    %define with_phyp 0
edecca
    %define with_vmware 0
edecca
    %define with_xenapi 0
edecca
    %define with_libxl 0
edecca
    %define with_hyperv 0
edecca
    %define with_vz 0
edecca
edecca
    %if 0%{?rhel} > 7
edecca
        %define with_lxc 0
edecca
    %endif
edecca
%endif
edecca
edecca
# Fedora 17 / RHEL-7 are first where we use systemd. Although earlier
edecca
# Fedora has systemd, libvirt still used sysvinit there.
edecca
%if 0%{?fedora} || 0%{?rhel} >= 7
edecca
    %define with_systemd 1
edecca
    %define with_pm_utils 0
edecca
%endif
edecca
edecca
# Fedora 18 / RHEL-7 are first where firewalld support is enabled
edecca
%if 0%{?fedora} || 0%{?rhel} >= 7
edecca
    %define with_firewalld 1
edecca
%endif
edecca
edecca
%if 0%{?fedora} >= 30 || 0%{?rhel} > 7
edecca
    %define with_firewalld_zone 0%{!?_without_firewalld_zone:1}
edecca
%endif
edecca
edecca
edecca
# fuse is used to provide virtualized /proc for LXC
edecca
%if %{with_lxc} && 0%{?rhel} != 6
edecca
    %define with_fuse      0%{!?_without_fuse:1}
edecca
%endif
edecca
edecca
# Enable sanlock library for lock management with QEMU
edecca
# Sanlock is available only on arches where kvm is available for RHEL
edecca
%if 0%{?fedora}
edecca
    %define with_sanlock 0%{!?_without_sanlock:1}
edecca
%endif
edecca
%if 0%{?rhel}
edecca
    %ifarch %{qemu_kvm_arches}
edecca
        %define with_sanlock 0%{!?_without_sanlock:1}
edecca
    %endif
edecca
%endif
edecca
edecca
# Enable libssh2 transport for new enough distros
edecca
%if 0%{?fedora}
edecca
    %define with_libssh2 0%{!?_without_libssh2:1}
edecca
%endif
edecca
edecca
# Enable wireshark plugins for all distros shipping libvirt 1.2.2 or newer
edecca
%if 0%{?fedora}
edecca
    %define with_wireshark 0%{!?_without_wireshark:1}
edecca
%endif
edecca
%if 0%{?fedora} || 0%{?rhel} > 7
edecca
    %define wireshark_plugindir %(pkg-config --variable plugindir wireshark)
edecca
%else
edecca
    %define wireshark_plugindir %{_libdir}/wireshark/plugins
edecca
%endif
edecca
edecca
# Enable libssh transport for new enough distros
edecca
%if 0%{?fedora} || 0%{?rhel} > 7
edecca
    %define with_libssh 0%{!?_without_libssh:1}
edecca
%endif
edecca
edecca
# Enable bash-completion for new enough distros
edecca
%if 0%{?fedora} || 0%{?rhel} >= 7
edecca
    %define with_bash_completion  0%{!?_without_bash_completion:1}
edecca
%endif
edecca
edecca
# Use Python 3 when possible, Python 2 otherwise
edecca
%if 0%{?fedora}
edecca
    %define python python3
edecca
%else
edecca
    %if 0%{?rhel} > 7
edecca
        %define python python3-devel
edecca
    %else
edecca
        %define python python2
edecca
    %endif
edecca
%endif
edecca
edecca
edecca
%if %{with_qemu} || %{with_lxc} || %{with_uml}
edecca
# numad is used to manage the CPU and memory placement dynamically,
edecca
# it's not available on s390[x] and ARM.
edecca
    %ifnarch s390 s390x %{arm}
edecca
        %define with_numad    0%{!?_without_numad:1}
edecca
    %endif
edecca
%endif
edecca
edecca
# Force QEMU to run as non-root
edecca
%define qemu_user  qemu
edecca
%define qemu_group  qemu
edecca
edecca
edecca
%if 0%{?fedora} || 0%{?rhel} >= 7
edecca
    %define with_systemd_macros 1
edecca
%else
edecca
    %define with_systemd_macros 0
edecca
%endif
edecca
edecca
edecca
# RHEL releases provide stable tool chains and so it is safe to turn
edecca
# compiler warning into errors without being worried about frequent
edecca
# changes in reported warnings
edecca
%if 0%{?rhel}
edecca
    %define enable_werror --enable-werror
edecca
%else
edecca
    %define enable_werror --disable-werror
edecca
%endif
edecca
edecca
%if 0%{?rhel} == 7
edecca
    %define tls_priority "NORMAL"
edecca
%else
edecca
    %define tls_priority "@LIBVIRT,SYSTEM"
edecca
%endif
edecca
edecca
edecca
Summary: Library providing a simple virtualization API
edecca
Name: libvirt
edecca
Version: 4.5.0
e90370
Release: 23.1%{?dist}%{?extra_release}
edecca
License: LGPLv2+
edecca
URL: https://libvirt.org/
edecca
edecca
%if %(echo %{version} | grep -q "\.0$"; echo $?) == 1
edecca
    %define mainturl stable_updates/
edecca
%endif
edecca
Source: https://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.xz
edecca
Source1: symlinks
edecca
edecca
Patch1: libvirt-RHEL-Hack-around-changed-Broadwell-Haswell-CPUs.patch
edecca
Patch2: libvirt-RHEL-Add-rhel-machine-types-to-qemuDomainMachineNeedsFDC.patch
edecca
Patch3: libvirt-qemu-Add-capability-for-the-HTM-pSeries-feature.patch
edecca
Patch4: libvirt-conf-Parse-and-format-the-HTM-pSeries-feature.patch
edecca
Patch5: libvirt-qemu-Format-the-HTM-pSeries-feature.patch
edecca
Patch6: libvirt-qemu-hotplug-Don-t-access-srcPriv-when-it-s-not-allocated.patch
edecca
Patch7: libvirt-qemuDomainNestedJobAllowed-Allow-QEMU_JOB_NONE.patch
edecca
Patch8: libvirt-src-Mention-DEVICE_REMOVAL_FAILED-event-in-virDomainDetachDeviceAlias-docs.patch
edecca
Patch9: libvirt-virsh.pod-Drop-persistent-for-detach-device-alias.patch
edecca
Patch10: libvirt-qemu-don-t-use-chardev-FD-passing-with-standalone-args.patch
edecca
Patch11: libvirt-qemu-remove-chardevStdioLogd-param-from-vhostuser-code-path.patch
edecca
Patch12: libvirt-qemu-consolidate-parameters-of-qemuBuildChrChardevStr-into-flags.patch
edecca
Patch13: libvirt-qemu-don-t-use-chardev-FD-passing-for-vhostuser-backend.patch
edecca
Patch14: libvirt-qemu-fix-UNIX-socket-chardevs-operating-in-client-mode.patch
edecca
Patch15: libvirt-qemuDomainDeviceDefValidateNetwork-Check-for-range-only-if-IP-prefix-set.patch
edecca
Patch16: libvirt-qemu-hotplug-Do-not-try-to-add-secret-object-for-TLS-if-it-does-not-exist.patch
edecca
Patch17: libvirt-qemu-monitor-Make-qemuMonitorAddObject-more-robust-against-programming-errors.patch
edecca
Patch18: libvirt-virDomainConfNWFilterInstantiate-initialize-xml-to-avoid-random-crash.patch
edecca
Patch19: libvirt-qemuProcessStartPRDaemonHook-Try-to-set-NS-iff-domain-was-started-with-one.patch
edecca
Patch20: libvirt-qemuDomainValidateStorageSource-Relax-PR-validation.patch
edecca
Patch21: libvirt-virStoragePRDefFormat-Suppress-path-formatting-for-migratable-XML.patch
edecca
Patch22: libvirt-qemu-Wire-up-PR_MANAGER_STATUS_CHANGED-event.patch
edecca
Patch23: libvirt-qemu_monitor-Introduce-qemuMonitorJSONGetPRManagerInfo.patch
edecca
Patch24: libvirt-qemu-Fetch-pr-helper-process-info-on-reconnect.patch
edecca
Patch25: libvirt-qemu-Fix-ATTRIBUTE_NONNULL-for-qemuMonitorAddObject.patch
edecca
Patch26: libvirt-virsh.pod-Fix-a-command-name-typo-in-nwfilter-binding-undefine.patch
edecca
Patch27: libvirt-docs-schema-Add-missing-alias-to-vsock-device.patch
edecca
Patch28: libvirt-virnetdevtap-Don-t-crash-on-ifname-in-virNetDevTapInterfaceStats.patch
edecca
Patch29: libvirt-tests-fix-TLS-handshake-failure-with-TLS-1.3.patch
edecca
Patch30: libvirt-qemu-hotplug-don-t-overwrite-error-message-in-qemuDomainAttachNetDevice.patch
edecca
Patch31: libvirt-qemu-hotplug-report-error-when-changing-rom-enabled-attr-for-net-iface.patch
edecca
Patch32: libvirt-qemu-Fix-setting-global_period-cputune-element.patch
edecca
Patch33: libvirt-tests-qemucaps-Add-test-data-for-upcoming-qemu-3.0.0.patch
edecca
Patch34: libvirt-qemu-capabilities-Add-capability-for-werror-rerror-for-usb-device-frontend.patch
edecca
Patch35: libvirt-qemu-command-Move-graphics-iteration-to-its-own-function.patch
edecca
Patch36: libvirt-qemu-address-Handle-all-the-video-devices-within-a-single-loop.patch
edecca
Patch37: libvirt-conf-Introduce-virDomainVideoDefClear-helper.patch
edecca
Patch38: libvirt-conf-Introduce-virDomainDefPostParseVideo-helper.patch
edecca
Patch39: libvirt-qemu-validate-Enforce-compile-time-switch-type-checking-for-videos.patch
edecca
Patch40: libvirt-tests-Add-capabilities-data-for-QEMU-2.11-x86_64.patch
edecca
Patch41: libvirt-tests-Update-capabilities-data-for-QEMU-3.0.0-x86_64.patch
edecca
Patch42: libvirt-qemu-qemuBuildHostdevCommandLine-Use-a-helper-variable-mdevsrc.patch
edecca
Patch43: libvirt-qemu-caps-Introduce-a-capability-for-egl-headless.patch
edecca
Patch44: libvirt-qemu-Introduce-a-new-graphics-display-type-headless.patch
edecca
Patch45: libvirt-qemu-caps-Add-vfio-pci.display-capability.patch
edecca
Patch46: libvirt-conf-Introduce-virDomainGraphicsDefHasOpenGL-helper.patch
edecca
Patch47: libvirt-conf-Replace-error-with-cleanup-in-virDomainHostdevDefParseXMLSubsys.patch
edecca
Patch48: libvirt-conf-Introduce-new-hostdev-attribute-display.patch
edecca
Patch49: libvirt-qemu-command-Enable-formatting-vfio-pci.display-option-onto-cmdline.patch
edecca
Patch50: libvirt-docs-Rephrase-the-mediated-devices-hostdev-section-a-bit.patch
edecca
Patch51: libvirt-conf-Introduce-new-video-type-none.patch
edecca
Patch52: libvirt-virt-xml-validate-Add-schema-for-nwfilterbinding.patch
edecca
Patch53: libvirt-tools-Fix-typo-generating-adapter_wwpn-field.patch
edecca
Patch54: libvirt-src-Fix-memory-leak-in-virNWFilterBindingDispose.patch
edecca
Patch55: libvirt-esx-storage-Fix-typo-lsilogic-lsiLogic.patch
edecca
Patch56: libvirt-networkGetDHCPLeases-Don-t-always-report-error-if-unable-to-read-leases-file.patch
edecca
Patch57: libvirt-nwfilter-Resolve-SEGV-for-NWFilter-Snoop-processing.patch
edecca
Patch58: libvirt-qemu-Remove-unused-bypassSecurityDriver-from-qemuOpenFileAs.patch
edecca
Patch59: libvirt-qemuDomainSaveMemory-Don-t-enforce-dynamicOwnership.patch
edecca
Patch60: libvirt-domain_nwfilter-Return-early-if-net-has-no-name-in-virDomainConfNWFilterTeardownImpl.patch
edecca
Patch61: libvirt-examples-Add-clean-traffic-gateway-into-nwfilters.patch
edecca
Patch62: libvirt-qemu-Exempt-video-model-none-from-getting-a-PCI-address-on-Q35.patch
edecca
Patch63: libvirt-conf-Fix-a-error-msg-typo-in-virDomainVideoDefValidate.patch
edecca
Patch64: libvirt-qemu_migration-Avoid-writing-to-freed-memory.patch
edecca
Patch65: libvirt-tests-Add-missing-thread_siblings_list-files.patch
edecca
Patch66: libvirt-util-Rewrite-virHostCPUCountThreadSiblings.patch
edecca
Patch67: libvirt-utils-Remove-arbitrary-limit-on-socket_id-core_id.patch
edecca
Patch68: libvirt-tests-Add-linux-high-ids-test.patch
edecca
Patch69: libvirt-qemu-hotplug-Fix-asynchronous-unplug-of-shmem.patch
edecca
Patch70: libvirt-tests-rename-hugepages-to-hugepages-default.patch
edecca
Patch71: libvirt-tests-extract-hugepages-numa-default-dimm-out-of-hugepages-numa.patch
edecca
Patch72: libvirt-tests-rename-hugepages-numa-into-hugepages-numa-default.patch
edecca
Patch73: libvirt-tests-remove-unnecessary-XML-elements-from-hugepages-numa-default.patch
edecca
Patch74: libvirt-tests-extract-pages-discard-out-of-hugepages-pages.patch
edecca
Patch75: libvirt-tests-rename-hugepages-pages-into-hugepages-numa-nodeset.patch
edecca
Patch76: libvirt-tests-rename-hugepages-pages2-into-hugepages-numa-default-2M.patch
edecca
Patch77: libvirt-tests-extract-pages-discard-hugepages-out-of-hugepages-pages3.patch
edecca
Patch78: libvirt-tests-rename-hugepages-pages3-into-hugepages-numa-nodeset-part.patch
edecca
Patch79: libvirt-tests-rename-hugepages-pages4-into-hugepages-numa-nodeset-nonexist.patch
edecca
Patch80: libvirt-tests-rename-hugepages-pages5-into-hugepages-default-2M.patch
edecca
Patch81: libvirt-tests-rename-hugepages-pages6-into-hugepages-default-system-size.patch
edecca
Patch82: libvirt-tests-rename-hugepages-pages7-into-pages-dimm-discard.patch
edecca
Patch83: libvirt-tests-rename-hugepages-pages8-into-hugepages-nodeset-nonexist.patch
edecca
Patch84: libvirt-tests-introduce-hugepages-default-1G-nodeset-2M.patch
edecca
Patch85: libvirt-tests-introduce-hugepages-nodeset.patch
edecca
Patch86: libvirt-conf-Move-hugepage-XML-validation-check-out-of-qemu_command.patch
edecca
Patch87: libvirt-conf-Move-hugepages-validation-out-of-XML-parser.patch
edecca
Patch88: libvirt-conf-Introduce-virDomainDefPostParseMemtune.patch
edecca
Patch89: libvirt-tests-sev-Test-launch-security-with-specific-QEMU-version.patch
edecca
Patch90: libvirt-qemu-Fix-probing-of-AMD-SEV-support.patch
edecca
Patch91: libvirt-qemu-caps-Format-SEV-platform-data-into-qemuCaps-cache.patch
edecca
Patch92: libvirt-conf-Parse-guestfwd-channel-device-info-again.patch
edecca
Patch93: libvirt-RHEL-Fix-virConnectGetMaxVcpus-output.patch
edecca
Patch94: libvirt-storage-Add-shrink-to-qemu-img-command-when-shrinking-vol.patch
edecca
Patch95: libvirt-access-Fix-nwfilter-binding-ACL-access-API-name-generation.patch
edecca
Patch96: libvirt-conf-Add-validation-of-input-devices.patch
edecca
Patch97: libvirt-tests-qemu-Remove-disk-from-graphics-vnc-tls.patch
edecca
Patch98: libvirt-tests-qemu-test-more-versions-for-graphics-vnc-tls.patch
edecca
Patch99: libvirt-qemu-vnc-switch-to-tls-creds-x509.patch
edecca
Patch100: libvirt-qemu-mdev-Use-vfio-pci-display-property-only-with-vfio-pci-mdevs.patch
edecca
Patch101: libvirt-virDomainDefCompatibleDevice-Relax-alias-change-check.patch
edecca
Patch102: libvirt-virDomainDetachDeviceFlags-Clarify-update-semantics.patch
edecca
Patch103: libvirt-virDomainNetDefCheckABIStability-Check-for-MTU-change-too.patch
edecca
Patch104: libvirt-qemu-monitor-Remove-qemuMonitorJSONExtractCPUArchInfo-wrapper.patch
edecca
Patch105: libvirt-qemu-monitor-Use-target-instead-of-arch-in-reply-of-query-cpus-fast.patch
edecca
Patch106: libvirt-conf-Fix-check-for-chardev-source-path.patch
edecca
Patch107: libvirt-tests-Reuse-qemucapabilities-data-for-qemucaps2xml.patch
edecca
Patch108: libvirt-tests-Add-more-tests-to-qemucaps2xml.patch
edecca
Patch109: libvirt-qemu-Drop-QEMU_CAPS_ENABLE_KVM.patch
edecca
Patch110: libvirt-qemu-Avoid-probing-non-native-binaries-all-the-time.patch
edecca
Patch111: libvirt-qemu-Clarify-QEMU_CAPS_KVM.patch
edecca
Patch112: libvirt-qemu-Don-t-check-for-dev-kvm-presence.patch
edecca
Patch113: libvirt-tests-Follow-up-on-qemucaps2xmldata-rename.patch
edecca
Patch114: libvirt-security-dac-also-label-listen-UNIX-sockets.patch
edecca
Patch115: libvirt-virsh-Require-explicit-domain-for-domxml-to-native.patch
edecca
Patch116: libvirt-virFileIsSharedFSType-Check-for-fuse.glusterfs-too.patch
edecca
Patch117: libvirt-qemu-fix-up-permissions-for-pre-created-UNIX-sockets.patch
edecca
Patch118: libvirt-cpu_map-Add-features-for-Icelake-CPUs.patch
edecca
Patch119: libvirt-cpu_map-Add-Icelake-CPU-models.patch
edecca
Patch120: libvirt-qemu-Properly-report-VIR_DOMAIN_EVENT_RESUMED_FROM_SNAPSHOT.patch
edecca
Patch121: libvirt-qemu-Report-more-appropriate-running-reasons.patch
edecca
Patch122: libvirt-qemu-Pass-running-reason-to-RESUME-event-handler.patch
edecca
Patch123: libvirt-qemu-Map-running-reason-to-resume-event-detail.patch
edecca
Patch124: libvirt-qemu-Avoid-duplicate-resume-events-and-state-changes.patch
edecca
Patch125: libvirt-conf-qemu-add-support-for-Hyper-V-frequency-MSRs.patch
edecca
Patch126: libvirt-conf-qemu-add-support-for-Hyper-V-reenlightenment-notifications.patch
edecca
Patch127: libvirt-conf-qemu-add-support-for-Hyper-V-PV-TLB-flush.patch
edecca
Patch128: libvirt-virfile-fix-cast-align-error.patch
edecca
Patch129: libvirt-virfiletest-Fix-test-name-prefix-for-virFileInData-test.patch
edecca
Patch130: libvirt-virfiletst-Test-virFileIsSharedFS.patch
edecca
Patch131: libvirt-virFileIsSharedFSType-Detect-direct-mount-points.patch
edecca
Patch132: libvirt-virfile-Rework-virFileIsSharedFixFUSE.patch
edecca
Patch133: libvirt-RHEL-network-regain-guest-network-connectivity-after-firewalld-switch-to-nftables.patch
edecca
Patch134: libvirt-storage-Remove-secretPath-from-_virStorageBackendQemuImgInfo.patch
edecca
Patch135: libvirt-storage-Allow-for-inputvol-to-have-any-format-for-encryption.patch
edecca
Patch136: libvirt-storage-Allow-inputvol-to-be-encrypted.patch
edecca
Patch137: libvirt-access-Modify-the-VIR_ERR_ACCESS_DENIED-to-include-driverName.patch
edecca
Patch138: libvirt-docs-Enhance-polkit-documentation-to-describe-secondary-connection.patch
edecca
Patch139: libvirt-qemu-Don-t-ignore-resume-events.patch
edecca
Patch140: libvirt-virfile-Take-symlink-into-account-in-virFileIsSharedFixFUSE.patch
edecca
Patch141: libvirt-qemu-Ignore-nwfilter-binding-instantiation-issues-during-reconnect.patch
edecca
Patch142: libvirt-qemu-Set-identity-for-the-reconnect-all-thread.patch
edecca
Patch143: libvirt-Revert-access-Modify-the-VIR_ERR_ACCESS_DENIED-to-include-driverName.patch
edecca
Patch144: libvirt-access-Modify-the-VIR_ERR_ACCESS_DENIED-to-include-driverName_1.patch
edecca
Patch145: libvirt-qemu-add-vfio-ap-capability.patch
edecca
Patch146: libvirt-qemu-vfio-ap-device-support.patch
edecca
Patch147: libvirt-qemu-Extract-MDEV-VFIO-PCI-validation-code-into-a-separate-helper.patch
edecca
Patch148: libvirt-conf-Move-VFIO-AP-validation-from-post-parse-to-QEMU-validation-code.patch
edecca
Patch149: libvirt-qemu-Fix-post-copy-migration-on-the-source.patch
edecca
Patch150: libvirt-util-Don-t-overflow-in-virRandomBits.patch
edecca
Patch151: libvirt-virrandom-Avoid-undefined-behaviour-in-virRandomBits.patch
edecca
Patch152: libvirt-qemu-Drop-duplicated-code-from-qemuDomainDefValidateFeatures.patch
edecca
Patch153: libvirt-tests-Add-capabilities-data-for-QEMU-3.1.0-on-ppc64.patch
edecca
Patch154: libvirt-qemu-Introduce-QEMU_CAPS_MACHINE_PSERIES_CAP_NESTED_HV.patch
edecca
Patch155: libvirt-conf-Parse-and-format-nested-hv-feature.patch
edecca
Patch156: libvirt-qemu-Format-nested-hv-feature-on-the-command-line.patch
edecca
Patch157: libvirt-qemu-Add-check-for-whether-KVM-nesting-is-enabled.patch
edecca
Patch158: libvirt-secret-Add-check-validation-for-correct-usage-when-LookupByUUID.patch
edecca
Patch159: libvirt-cpu-Add-support-for-stibp-x86_64-feature.patch
edecca
Patch160: libvirt-virsh-Strip-XML-declaration-when-extracting-CPU-XMLs.patch
edecca
Patch161: libvirt-RHEL-qemu-Add-ability-to-set-sgio-values-for-hostdev.patch
edecca
Patch162: libvirt-RHEL-qemu-Add-check-for-unpriv-sgio-for-SCSI-generic-host-device.patch
edecca
Patch163: libvirt-qemu-Alter-val-usage-in-qemuSetUnprivSGIO.patch
edecca
Patch164: libvirt-qemu-Alter-qemuSetUnprivSGIO-hostdev-shareable-logic.patch
edecca
Patch165: libvirt-conf-correct-false-boot-order-error-during-domain-parse.patch
edecca
Patch166: libvirt-qemu-Remove-duplicated-qemuAgentCheckError.patch
edecca
Patch167: libvirt-qemu-require-reply-from-guest-agent-in-qemuAgentGetInterfaces.patch
edecca
Patch168: libvirt-qemu-Filter-non-SCSI-hostdevs-in-qemuHostdevPrepareSCSIDevices.patch
edecca
Patch169: libvirt-util-remove-const-specifier-from-nlmsghdr-arg-to-virNetlinkDumpCallback.patch
edecca
Patch170: libvirt-util-add-a-function-to-insert-new-interfaces-to-IPv6CheckForwarding-list.patch
edecca
Patch171: libvirt-util-use-nlmsg_find_attr-instead-of-an-open-coded-loop.patch
edecca
Patch172: libvirt-util-check-accept_ra-for-all-nexthop-interfaces-of-multipath-routes.patch
edecca
Patch173: libvirt-util-make-forgotten-changes-suggested-during-review-of-commit-d40b820c.patch
edecca
Patch174: libvirt-qemu-Fix-logic-error-in-qemuSetUnprivSGIO.patch
edecca
Patch175: libvirt-tests-qemuxml2argv-Add-test-case-for-empty-CDROM-with-cache-mode.patch
edecca
Patch176: libvirt-qemu-command-Don-t-format-image-properties-for-empty-drive.patch
edecca
Patch177: libvirt-RHEL-qemu-Fix-crash-trying-to-use-iSCSI-hostdev.patch
edecca
Patch178: libvirt-docs-Drop-dev-net-tun-from-the-list-of-shared-devices.patch
edecca
Patch179: libvirt-qemu-conf-Remove-dev-sev-from-the-default-cgroup-device-acl-list.patch
edecca
Patch180: libvirt-qemu-cgroup-Expose-dev-sev-only-to-domains-that-require-SEV.patch
edecca
Patch181: libvirt-qemu-domain-Add-dev-sev-into-the-domain-mount-namespace-selectively.patch
edecca
Patch182: libvirt-security-dac-Relabel-dev-sev-in-the-namespace.patch
edecca
Patch183: libvirt-qemu-caps-Use-CAP_DAC_OVERRIDE-for-probing-to-avoid-permission-issues.patch
edecca
Patch184: libvirt-qemu-caps-Don-t-try-to-ask-for-CAP_DAC_OVERRIDE-if-non-root.patch
edecca
Patch185: libvirt-Revert-RHEL-network-regain-guest-network-connectivity-after-firewalld-switch-to-nftables.patch
edecca
Patch186: libvirt-configure-change-HAVE_FIREWALLD-to-WITH_FIREWALLD.patch
edecca
Patch187: libvirt-util-move-all-firewalld-specific-stuff-into-its-own-files.patch
edecca
Patch188: libvirt-util-new-virFirewallD-APIs-docs.patch
edecca
Patch189: libvirt-configure-selectively-install-a-firewalld-libvirt-zone.patch
edecca
Patch190: libvirt-network-set-firewalld-zone-of-bridges-to-libvirt-zone-when-appropriate.patch
edecca
Patch191: libvirt-network-allow-configuring-firewalld-zone-for-virtual-network-bridge-device.patch
edecca
Patch192: libvirt-util-remove-test-code-accidentally-committed-to-virFirewallDZoneExists.patch
edecca
Patch193: libvirt-qemu-command-Don-t-skip-readonly-and-throttling-info-for-empty-drive.patch
edecca
Patch194: libvirt-util-fix-memory-leak-in-virFirewallDInterfaceSetZone.patch
edecca
Patch195: libvirt-network-explicitly-allow-icmp-icmpv6-in-libvirt-zonefile.patch
e90370
Patch196: libvirt-cpu_x86-Do-not-cache-microcode-version.patch
e90370
Patch197: libvirt-qemu-Don-t-cache-microcode-version.patch
e90370
Patch198: libvirt-cputest-Add-data-for-Intel-R-Xeon-R-CPU-E3-1225-v5.patch
e90370
Patch199: libvirt-cpu_map-Define-md-clear-CPUID-bit.patch
edecca
edecca
Requires: libvirt-daemon = %{version}-%{release}
edecca
Requires: libvirt-daemon-config-network = %{version}-%{release}
edecca
Requires: libvirt-daemon-config-nwfilter = %{version}-%{release}
edecca
%if %{with_libxl}
edecca
Requires: libvirt-daemon-driver-libxl = %{version}-%{release}
edecca
%endif
edecca
%if %{with_lxc}
edecca
Requires: libvirt-daemon-driver-lxc = %{version}-%{release}
edecca
%endif
edecca
%if %{with_qemu}
edecca
Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
edecca
%endif
edecca
%if %{with_uml}
edecca
Requires: libvirt-daemon-driver-uml = %{version}-%{release}
edecca
%endif
edecca
%if %{with_vbox}
edecca
Requires: libvirt-daemon-driver-vbox = %{version}-%{release}
edecca
%endif
edecca
Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
edecca
edecca
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-secret = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-storage = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-network = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
edecca
Requires: libvirt-client = %{version}-%{release}
edecca
Requires: libvirt-libs = %{version}-%{release}
edecca
edecca
# All build-time requirements. Run-time requirements are
edecca
# listed against each sub-RPM
edecca
%if 0%{?enable_autotools}
edecca
BuildRequires: autoconf
edecca
BuildRequires: automake
edecca
BuildRequires: gettext-devel
edecca
BuildRequires: libtool
edecca
BuildRequires: /usr/bin/pod2man
edecca
%endif
edecca
BuildRequires: gcc
edecca
BuildRequires: git
edecca
%if 0%{?fedora} >= 27 || 0%{?rhel} > 7
edecca
BuildRequires: perl-interpreter
edecca
%else
edecca
BuildRequires: perl
edecca
%endif
edecca
BuildRequires: %{python}
edecca
%if %{with_systemd}
edecca
BuildRequires: systemd-units
edecca
%endif
edecca
%if %{with_libxl}
edecca
BuildRequires: xen-devel
edecca
%endif
edecca
BuildRequires: libxml2-devel
edecca
BuildRequires: libxslt
edecca
BuildRequires: readline-devel
edecca
%if %{with_bash_completion}
edecca
BuildRequires: bash-completion >= 2.0
edecca
%endif
edecca
BuildRequires: ncurses-devel
edecca
BuildRequires: gettext
edecca
BuildRequires: libtasn1-devel
edecca
%if (0%{?rhel} && 0%{?rhel} < 7)
edecca
BuildRequires: libgcrypt-devel
edecca
%endif
edecca
BuildRequires: gnutls-devel
edecca
BuildRequires: libattr-devel
edecca
# For pool-build probing for existing pools
edecca
BuildRequires: libblkid-devel >= 2.17
edecca
# for augparse, optionally used in testing
edecca
BuildRequires: augeas
edecca
%if 0%{?fedora} || 0%{?rhel} >= 7
edecca
BuildRequires: systemd-devel >= 185
edecca
%else
edecca
BuildRequires: libudev-devel >= 145
edecca
%endif
edecca
BuildRequires: libpciaccess-devel >= 0.10.9
edecca
BuildRequires: yajl-devel
edecca
%if %{with_sanlock}
edecca
BuildRequires: sanlock-devel >= 2.4
edecca
%endif
edecca
BuildRequires: libpcap-devel
edecca
%if 0%{?rhel} && 0%{?rhel} < 7
edecca
BuildRequires: libnl-devel
edecca
%else
edecca
BuildRequires: libnl3-devel
edecca
%endif
edecca
BuildRequires: avahi-devel
edecca
BuildRequires: libselinux-devel
edecca
BuildRequires: dnsmasq >= 2.41
edecca
BuildRequires: iptables
edecca
%if 0%{?rhel} && 0%{?rhel} < 7
edecca
BuildRequires: iptables-ipv6
edecca
%endif
edecca
BuildRequires: radvd
edecca
BuildRequires: ebtables
edecca
BuildRequires: module-init-tools
edecca
BuildRequires: cyrus-sasl-devel
edecca
%if 0%{?fedora} || 0%{?rhel} >= 7
edecca
BuildRequires: polkit >= 0.112
edecca
%else
edecca
BuildRequires: polkit >= 0.93
edecca
%endif
edecca
# For mount/umount in FS driver
edecca
BuildRequires: util-linux
edecca
%if %{with_qemu}
edecca
# For managing ACLs
edecca
BuildRequires: libacl-devel
edecca
# From QEMU RPMs
edecca
BuildRequires: /usr/bin/qemu-img
edecca
%endif
edecca
# For LVM drivers
edecca
BuildRequires: lvm2
edecca
# For ISCSI driver
edecca
BuildRequires: iscsi-initiator-utils
edecca
# For disk driver
edecca
BuildRequires: parted-devel
edecca
# For Multipath support
edecca
BuildRequires: device-mapper-devel
edecca
%if %{with_storage_rbd}
edecca
    %if 0%{?fedora} || 0%{?rhel} >= 7
edecca
BuildRequires: librados2-devel
edecca
BuildRequires: librbd1-devel
edecca
    %else
edecca
BuildRequires: ceph-devel
edecca
    %endif
edecca
%endif
edecca
%if %{with_storage_gluster}
edecca
BuildRequires: glusterfs-api-devel >= 3.4.1
edecca
BuildRequires: glusterfs-devel >= 3.4.1
edecca
%endif
edecca
%if %{with_storage_sheepdog}
edecca
BuildRequires: sheepdog
edecca
%endif
edecca
%if %{with_storage_zfs}
edecca
# Support any conforming implementation of zfs. On stock Fedora
edecca
# this is zfs-fuse, but could be zfsonlinux upstream RPMs
edecca
BuildRequires: /sbin/zfs
edecca
BuildRequires: /sbin/zpool
edecca
%endif
edecca
%if %{with_numactl}
edecca
# For QEMU/LXC numa info
edecca
BuildRequires: numactl-devel
edecca
%endif
edecca
BuildRequires: libcap-ng-devel >= 0.5.0
edecca
%if %{with_fuse}
edecca
BuildRequires: fuse-devel >= 2.8.6
edecca
%endif
edecca
%if %{with_phyp} || %{with_libssh2}
edecca
BuildRequires: libssh2-devel >= 1.3.0
edecca
%endif
edecca
edecca
%if 0%{?fedora} || 0%{?rhel} >= 7
edecca
BuildRequires: netcf-devel >= 0.2.2
edecca
%else
edecca
BuildRequires: netcf-devel >= 0.1.8
edecca
%endif
edecca
%if %{with_esx}
edecca
BuildRequires: libcurl-devel
edecca
%endif
edecca
%if %{with_hyperv}
edecca
BuildRequires: libwsman-devel >= 2.2.3
edecca
%endif
edecca
BuildRequires: audit-libs-devel
edecca
# we need /usr/sbin/dtrace
edecca
BuildRequires: systemtap-sdt-devel
edecca
edecca
# For mount/umount in FS driver
edecca
BuildRequires: util-linux
edecca
# For showmount in FS driver (netfs discovery)
edecca
BuildRequires: nfs-utils
edecca
edecca
# Communication with the firewall and polkit daemons use DBus
edecca
BuildRequires: dbus-devel
edecca
edecca
# Fedora build root suckage
edecca
BuildRequires: gawk
edecca
edecca
# For storage wiping with different algorithms
edecca
BuildRequires: scrub
edecca
edecca
%if %{with_numad}
edecca
BuildRequires: numad
edecca
%endif
edecca
edecca
%if %{with_wireshark}
edecca
BuildRequires: wireshark-devel >= 2.1.0
edecca
%endif
edecca
edecca
%if %{with_libssh}
edecca
BuildRequires: libssh-devel >= 0.7.0
edecca
%endif
edecca
edecca
%if 0%{?fedora} > 27 || 0%{?rhel} > 7
edecca
BuildRequires: rpcgen
edecca
BuildRequires: libtirpc-devel
edecca
%endif
edecca
edecca
%if %{with_firewalld_zone}
edecca
BuildRequires: firewalld-filesystem
edecca
%endif
edecca
edecca
Provides: bundled(gnulib)
edecca
edecca
%description
edecca
Libvirt is a C toolkit to interact with the virtualization capabilities
edecca
of recent versions of Linux (and other OSes). The main package includes
edecca
the libvirtd server exporting the virtualization support.
edecca
edecca
%package docs
edecca
Summary: API reference and website documentation
edecca
edecca
%description docs
edecca
Includes the API reference for the libvirt C library, and a complete
edecca
copy of the libvirt.org website documentation.
edecca
edecca
%package daemon
edecca
Summary: Server side daemon and supporting files for libvirt library
edecca
edecca
# All runtime requirements for the libvirt package (runtime requrements
edecca
# for subpackages are listed later in those subpackages)
edecca
edecca
# The client side, i.e. shared libs are in a subpackage
edecca
Requires: %{name}-libs = %{version}-%{release}
edecca
edecca
# for modprobe of pci devices
edecca
Requires: module-init-tools
edecca
edecca
# for /sbin/ip & /sbin/tc
edecca
Requires: iproute
edecca
# tc is provided by iproute-tc since at least Fedora 26
edecca
%if 0%{?fedora} || 0%{?rhel} > 7
edecca
Requires: iproute-tc
edecca
%endif
edecca
edecca
Requires: avahi-libs
edecca
%if 0%{?fedora} || 0%{?rhel} >= 7
edecca
Requires: polkit >= 0.112
edecca
%else
edecca
Requires: polkit >= 0.93
edecca
%endif
edecca
%ifarch %{ix86} x86_64 ia64
edecca
# For virConnectGetSysinfo
edecca
Requires: dmidecode
edecca
%endif
edecca
# For service management
edecca
%if %{with_systemd}
edecca
Requires(post): systemd-units
edecca
Requires(post): systemd-sysv
edecca
Requires(preun): systemd-units
edecca
Requires(postun): systemd-units
edecca
%endif
edecca
%if %{with_numad}
edecca
Requires: numad
edecca
%endif
edecca
# libvirtd depends on 'messagebus' service
edecca
Requires: dbus
edecca
# For uid creation during pre
edecca
Requires(pre): shadow-utils
edecca
edecca
%description daemon
edecca
Server side daemon required to manage the virtualization capabilities
edecca
of recent versions of Linux. Requires a hypervisor specific sub-RPM
edecca
for specific drivers.
edecca
edecca
%package daemon-config-network
edecca
Summary: Default configuration files for the libvirtd daemon
edecca
edecca
Requires: libvirt-daemon = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-network = %{version}-%{release}
edecca
edecca
%description daemon-config-network
edecca
Default configuration files for setting up NAT based networking
edecca
edecca
%package daemon-config-nwfilter
edecca
Summary: Network filter configuration files for the libvirtd daemon
edecca
edecca
Requires: libvirt-daemon = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
edecca
edecca
%description daemon-config-nwfilter
edecca
Network filter configuration files for cleaning guest traffic
edecca
edecca
%package daemon-driver-network
edecca
Summary: Network driver plugin for the libvirtd daemon
edecca
Requires: libvirt-daemon = %{version}-%{release}
edecca
Requires: libvirt-libs = %{version}-%{release}
edecca
Requires: dnsmasq >= 2.41
edecca
Requires: radvd
edecca
Requires: iptables
edecca
%if 0%{?rhel} && 0%{?rhel} < 7
edecca
Requires: iptables-ipv6
edecca
%endif
edecca
edecca
%description daemon-driver-network
edecca
The network driver plugin for the libvirtd daemon, providing
edecca
an implementation of the virtual network APIs using the Linux
edecca
bridge capabilities.
edecca
edecca
edecca
%package daemon-driver-nwfilter
edecca
Summary: Nwfilter driver plugin for the libvirtd daemon
edecca
Requires: libvirt-daemon = %{version}-%{release}
edecca
Requires: libvirt-libs = %{version}-%{release}
edecca
Requires: iptables
edecca
%if 0%{?rhel} && 0%{?rhel} < 7
edecca
Requires: iptables-ipv6
edecca
%endif
edecca
Requires: ebtables
edecca
edecca
%description daemon-driver-nwfilter
edecca
The nwfilter driver plugin for the libvirtd daemon, providing
edecca
an implementation of the firewall APIs using the ebtables,
edecca
iptables and ip6tables capabilities
edecca
edecca
edecca
%package daemon-driver-nodedev
edecca
Summary: Nodedev driver plugin for the libvirtd daemon
edecca
Requires: libvirt-daemon = %{version}-%{release}
edecca
Requires: libvirt-libs = %{version}-%{release}
edecca
# needed for device enumeration
edecca
%if 0%{?fedora} || 0%{?rhel} >= 7
edecca
Requires: systemd >= 185
edecca
%else
edecca
Requires: udev >= 145
edecca
%endif
edecca
edecca
%description daemon-driver-nodedev
edecca
The nodedev driver plugin for the libvirtd daemon, providing
edecca
an implementation of the node device APIs using the udev
edecca
capabilities.
edecca
edecca
edecca
%package daemon-driver-interface
edecca
Summary: Interface driver plugin for the libvirtd daemon
edecca
Requires: libvirt-daemon = %{version}-%{release}
edecca
Requires: libvirt-libs = %{version}-%{release}
edecca
%if (0%{?fedora} || 0%{?rhel} >= 7)
edecca
Requires: netcf-libs >= 0.2.2
edecca
%endif
edecca
edecca
%description daemon-driver-interface
edecca
The interface driver plugin for the libvirtd daemon, providing
edecca
an implementation of the network interface APIs using the
edecca
netcf library
edecca
edecca
edecca
%package daemon-driver-secret
edecca
Summary: Secret driver plugin for the libvirtd daemon
edecca
Requires: libvirt-daemon = %{version}-%{release}
edecca
Requires: libvirt-libs = %{version}-%{release}
edecca
edecca
%description daemon-driver-secret
edecca
The secret driver plugin for the libvirtd daemon, providing
edecca
an implementation of the secret key APIs.
edecca
edecca
%package daemon-driver-storage-core
edecca
Summary: Storage driver plugin including base backends for the libvirtd daemon
edecca
Requires: libvirt-daemon = %{version}-%{release}
edecca
Requires: libvirt-libs = %{version}-%{release}
edecca
Requires: nfs-utils
edecca
# For mkfs
edecca
Requires: util-linux
edecca
%if %{with_qemu}
edecca
# From QEMU RPMs
edecca
Requires: /usr/bin/qemu-img
edecca
%endif
edecca
edecca
%description daemon-driver-storage-core
edecca
The storage driver plugin for the libvirtd daemon, providing
edecca
an implementation of the storage APIs using files, local disks, LVM, SCSI,
edecca
iSCSI, and multipath storage.
edecca
edecca
%package daemon-driver-storage-logical
edecca
Summary: Storage driver plugin for lvm volumes
edecca
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
edecca
Requires: libvirt-libs = %{version}-%{release}
edecca
Requires: lvm2
edecca
edecca
%description daemon-driver-storage-logical
edecca
The storage driver backend adding implementation of the storage APIs for block
edecca
volumes using lvm.
edecca
edecca
edecca
%package daemon-driver-storage-disk
edecca
Summary: Storage driver plugin for disk
edecca
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
edecca
Requires: libvirt-libs = %{version}-%{release}
edecca
Requires: parted
edecca
Requires: device-mapper
edecca
edecca
%description daemon-driver-storage-disk
edecca
The storage driver backend adding implementation of the storage APIs for block
edecca
volumes using the host disks.
edecca
edecca
edecca
%package daemon-driver-storage-scsi
edecca
Summary: Storage driver plugin for local scsi devices
edecca
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
edecca
Requires: libvirt-libs = %{version}-%{release}
edecca
edecca
%description daemon-driver-storage-scsi
edecca
The storage driver backend adding implementation of the storage APIs for scsi
edecca
host devices.
edecca
edecca
edecca
%package daemon-driver-storage-iscsi
edecca
Summary: Storage driver plugin for iscsi
edecca
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
edecca
Requires: libvirt-libs = %{version}-%{release}
edecca
Requires: iscsi-initiator-utils
edecca
edecca
%description daemon-driver-storage-iscsi
edecca
The storage driver backend adding implementation of the storage APIs for iscsi
edecca
volumes using the host iscsi stack.
edecca
edecca
edecca
%package daemon-driver-storage-mpath
edecca
Summary: Storage driver plugin for multipath volumes
edecca
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
edecca
Requires: libvirt-libs = %{version}-%{release}
edecca
Requires: device-mapper
edecca
edecca
%description daemon-driver-storage-mpath
edecca
The storage driver backend adding implementation of the storage APIs for
edecca
multipath storage using device mapper.
edecca
edecca
edecca
%if %{with_storage_gluster}
edecca
%package daemon-driver-storage-gluster
edecca
Summary: Storage driver plugin for gluster
edecca
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
edecca
Requires: libvirt-libs = %{version}-%{release}
edecca
    %if 0%{?fedora}
edecca
Requires: glusterfs-client >= 2.0.1
edecca
    %endif
edecca
    %if (0%{?fedora} || 0%{?with_storage_gluster})
edecca
Requires: /usr/sbin/gluster
edecca
    %endif
edecca
edecca
%description daemon-driver-storage-gluster
edecca
The storage driver backend adding implementation of the storage APIs for gluster
edecca
volumes using libgfapi.
edecca
%endif
edecca
edecca
edecca
%if %{with_storage_rbd}
edecca
%package daemon-driver-storage-rbd
edecca
Summary: Storage driver plugin for rbd
edecca
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
edecca
Requires: libvirt-libs = %{version}-%{release}
edecca
edecca
%description daemon-driver-storage-rbd
edecca
The storage driver backend adding implementation of the storage APIs for rbd
edecca
volumes using the ceph protocol.
edecca
%endif
edecca
edecca
edecca
%if %{with_storage_sheepdog}
edecca
%package daemon-driver-storage-sheepdog
edecca
Summary: Storage driver plugin for sheepdog
edecca
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
edecca
Requires: libvirt-libs = %{version}-%{release}
edecca
Requires: sheepdog
edecca
edecca
%description daemon-driver-storage-sheepdog
edecca
The storage driver backend adding implementation of the storage APIs for
edecca
sheepdog volumes using.
edecca
%endif
edecca
edecca
edecca
%if %{with_storage_zfs}
edecca
%package daemon-driver-storage-zfs
edecca
Summary: Storage driver plugin for ZFS
edecca
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
edecca
Requires: libvirt-libs = %{version}-%{release}
edecca
# Support any conforming implementation of zfs
edecca
Requires: /sbin/zfs
edecca
Requires: /sbin/zpool
edecca
edecca
%description daemon-driver-storage-zfs
edecca
The storage driver backend adding implementation of the storage APIs for
edecca
ZFS volumes.
edecca
%endif
edecca
edecca
edecca
%package daemon-driver-storage
edecca
Summary: Storage driver plugin including all backends for the libvirtd daemon
edecca
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-storage-disk = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-storage-logical = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-storage-scsi = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-storage-iscsi = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-storage-mpath = %{version}-%{release}
edecca
%if %{with_storage_gluster}
edecca
Requires: libvirt-daemon-driver-storage-gluster = %{version}-%{release}
edecca
%endif
edecca
%if %{with_storage_rbd}
edecca
Requires: libvirt-daemon-driver-storage-rbd = %{version}-%{release}
edecca
%endif
edecca
%if %{with_storage_sheepdog}
edecca
Requires: libvirt-daemon-driver-storage-sheepdog = %{version}-%{release}
edecca
%endif
edecca
%if %{with_storage_zfs}
edecca
Requires: libvirt-daemon-driver-storage-zfs = %{version}-%{release}
edecca
%endif
edecca
edecca
%description daemon-driver-storage
edecca
The storage driver plugin for the libvirtd daemon, providing
edecca
an implementation of the storage APIs using LVM, iSCSI,
edecca
parted and more.
edecca
edecca
edecca
%if %{with_qemu}
edecca
%package daemon-driver-qemu
edecca
Summary: QEMU driver plugin for the libvirtd daemon
edecca
Requires: libvirt-daemon = %{version}-%{release}
edecca
Requires: libvirt-libs = %{version}-%{release}
edecca
# There really is a hard cross-driver dependency here
edecca
Requires: libvirt-daemon-driver-network = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
edecca
Requires: /usr/bin/qemu-img
edecca
# For image compression
edecca
Requires: gzip
edecca
Requires: bzip2
edecca
Requires: lzop
edecca
Requires: xz
edecca
    %if 0%{?fedora} || 0%{?rhel} > 7
edecca
Requires: systemd-container
edecca
    %endif
edecca
edecca
%description daemon-driver-qemu
edecca
The qemu driver plugin for the libvirtd daemon, providing
edecca
an implementation of the hypervisor driver APIs using
edecca
QEMU
edecca
%endif
edecca
edecca
edecca
%if %{with_lxc}
edecca
%package daemon-driver-lxc
edecca
Summary: LXC driver plugin for the libvirtd daemon
edecca
Requires: libvirt-daemon = %{version}-%{release}
edecca
Requires: libvirt-libs = %{version}-%{release}
edecca
# There really is a hard cross-driver dependency here
edecca
Requires: libvirt-daemon-driver-network = %{version}-%{release}
edecca
    %if 0%{?fedora} || 0%{?rhel} > 7
edecca
Requires: systemd-container
edecca
    %endif
edecca
edecca
%description daemon-driver-lxc
edecca
The LXC driver plugin for the libvirtd daemon, providing
edecca
an implementation of the hypervisor driver APIs using
edecca
the Linux kernel
edecca
%endif
edecca
edecca
edecca
%if %{with_uml}
edecca
%package daemon-driver-uml
edecca
Summary: Uml driver plugin for the libvirtd daemon
edecca
Requires: libvirt-daemon = %{version}-%{release}
edecca
Requires: libvirt-libs = %{version}-%{release}
edecca
edecca
%description daemon-driver-uml
edecca
The UML driver plugin for the libvirtd daemon, providing
edecca
an implementation of the hypervisor driver APIs using
edecca
User Mode Linux
edecca
%endif
edecca
edecca
edecca
%if %{with_vbox}
edecca
%package daemon-driver-vbox
edecca
Summary: VirtualBox driver plugin for the libvirtd daemon
edecca
Requires: libvirt-daemon = %{version}-%{release}
edecca
Requires: libvirt-libs = %{version}-%{release}
edecca
edecca
%description daemon-driver-vbox
edecca
The vbox driver plugin for the libvirtd daemon, providing
edecca
an implementation of the hypervisor driver APIs using
edecca
VirtualBox
edecca
%endif
edecca
edecca
edecca
%if %{with_libxl}
edecca
%package daemon-driver-libxl
edecca
Summary: Libxl driver plugin for the libvirtd daemon
edecca
Requires: libvirt-daemon = %{version}-%{release}
edecca
Requires: libvirt-libs = %{version}-%{release}
edecca
Obsoletes: libvirt-daemon-driver-xen < 4.3.0
edecca
edecca
%description daemon-driver-libxl
edecca
The Libxl driver plugin for the libvirtd daemon, providing
edecca
an implementation of the hypervisor driver APIs using
edecca
Libxl
edecca
%endif
edecca
edecca
edecca
edecca
%if %{with_qemu_tcg}
edecca
%package daemon-qemu
edecca
Summary: Server side daemon & driver required to run QEMU guests
edecca
edecca
Requires: libvirt-daemon = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-network = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-secret = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-storage = %{version}-%{release}
edecca
Requires: qemu
edecca
edecca
%description daemon-qemu
edecca
Server side daemon and driver required to manage the virtualization
edecca
capabilities of the QEMU TCG emulators
edecca
%endif
edecca
edecca
edecca
%if %{with_qemu_kvm}
edecca
%package daemon-kvm
edecca
Summary: Server side daemon & driver required to run KVM guests
edecca
edecca
Requires: libvirt-daemon = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-qemu = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-network = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-secret = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-storage = %{version}-%{release}
edecca
Requires: qemu-kvm
edecca
edecca
%description daemon-kvm
edecca
Server side daemon and driver required to manage the virtualization
edecca
capabilities of the KVM hypervisor
edecca
%endif
edecca
edecca
edecca
%if %{with_lxc}
edecca
%package daemon-lxc
edecca
Summary: Server side daemon & driver required to run LXC guests
edecca
edecca
Requires: libvirt-daemon = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-lxc = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-network = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-secret = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-storage = %{version}-%{release}
edecca
edecca
%description daemon-lxc
edecca
Server side daemon and driver required to manage the virtualization
edecca
capabilities of LXC
edecca
%endif
edecca
edecca
edecca
%if %{with_uml}
edecca
%package daemon-uml
edecca
Summary: Server side daemon & driver required to run UML guests
edecca
edecca
Requires: libvirt-daemon = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-uml = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-network = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-secret = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-storage = %{version}-%{release}
edecca
# There are no UML kernel RPMs in Fedora/RHEL to depend on.
edecca
edecca
%description daemon-uml
edecca
Server side daemon and driver required to manage the virtualization
edecca
capabilities of UML
edecca
%endif
edecca
edecca
edecca
%if %{with_libxl}
edecca
%package daemon-xen
edecca
Summary: Server side daemon & driver required to run XEN guests
edecca
edecca
Requires: libvirt-daemon = %{version}-%{release}
edecca
    %if %{with_libxl}
edecca
Requires: libvirt-daemon-driver-libxl = %{version}-%{release}
edecca
    %endif
edecca
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-network = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-secret = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-storage = %{version}-%{release}
edecca
Requires: xen
edecca
edecca
%description daemon-xen
edecca
Server side daemon and driver required to manage the virtualization
edecca
capabilities of XEN
edecca
%endif
edecca
edecca
%if %{with_vbox}
edecca
%package daemon-vbox
edecca
Summary: Server side daemon & driver required to run VirtualBox guests
edecca
edecca
Requires: libvirt-daemon = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-vbox = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-interface = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-network = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-nodedev = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-nwfilter = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-secret = %{version}-%{release}
edecca
Requires: libvirt-daemon-driver-storage = %{version}-%{release}
edecca
edecca
%description daemon-vbox
edecca
Server side daemon and driver required to manage the virtualization
edecca
capabilities of VirtualBox
edecca
%endif
edecca
edecca
%package client
edecca
Summary: Client side utilities of the libvirt library
edecca
Requires: %{name}-libs = %{version}-%{release}
edecca
Requires: readline
edecca
Requires: ncurses
edecca
# Needed by /usr/libexec/libvirt-guests.sh script.
edecca
Requires: gettext
edecca
# Needed by virt-pki-validate script.
edecca
Requires: gnutls-utils
edecca
%if %{with_pm_utils}
edecca
# Needed for probing the power management features of the host.
edecca
Requires: pm-utils
edecca
%endif
edecca
%if %{with_bash_completion}
edecca
Requires: %{name}-bash-completion = %{version}-%{release}
edecca
%endif
edecca
edecca
%description client
edecca
The client binaries needed to access the virtualization
edecca
capabilities of recent versions of Linux (and other OSes).
edecca
edecca
%package libs
edecca
Summary: Client side libraries
edecca
# So remote clients can access libvirt over SSH tunnel
edecca
# (client invokes 'nc' against the UNIX socket on the server)
edecca
Requires: nc
edecca
Requires: cyrus-sasl
edecca
# Needed by default sasl.conf - no onerous extra deps, since
edecca
# 100's of other things on a system already pull in krb5-libs
edecca
Requires: cyrus-sasl-gssapi
edecca
edecca
%description libs
edecca
Shared libraries for accessing the libvirt daemon.
edecca
edecca
%package admin
edecca
Summary: Set of tools to control libvirt daemon
edecca
Requires: %{name}-libs = %{version}-%{release}
edecca
Requires: readline
edecca
%if %{with_bash_completion}
edecca
Requires: %{name}-bash-completion = %{version}-%{release}
edecca
%endif
edecca
edecca
%description admin
edecca
The client side utilities to control the libvirt daemon.
edecca
edecca
%if %{with_bash_completion}
edecca
%package bash-completion
edecca
Summary: Bash completion script
edecca
edecca
%description bash-completion
edecca
Bash completion script stub.
edecca
%endif
edecca
edecca
%if %{with_wireshark}
edecca
%package wireshark
edecca
Summary: Wireshark dissector plugin for libvirt RPC transactions
edecca
Requires: wireshark >= 1.12.6-4
edecca
Requires: %{name}-libs = %{version}-%{release}
edecca
edecca
%description wireshark
edecca
Wireshark dissector plugin for better analysis of libvirt RPC traffic.
edecca
%endif
edecca
edecca
%if %{with_lxc}
edecca
%package login-shell
edecca
Summary: Login shell for connecting users to an LXC container
edecca
Requires: %{name}-libs = %{version}-%{release}
edecca
edecca
%description login-shell
edecca
Provides the set-uid virt-login-shell binary that is used to
edecca
connect a user to an LXC container when they login, by switching
edecca
namespaces.
edecca
%endif
edecca
edecca
%package devel
edecca
Summary: Libraries, includes, etc. to compile with the libvirt library
edecca
Requires: %{name}-libs = %{version}-%{release}
edecca
Requires: pkgconfig
edecca
edecca
%description devel
edecca
Include header files & development libraries for the libvirt C library.
edecca
edecca
%if %{with_sanlock}
edecca
%package lock-sanlock
edecca
Summary: Sanlock lock manager plugin for QEMU driver
edecca
Requires: sanlock >= 2.4
edecca
#for virt-sanlock-cleanup require augeas
edecca
Requires: augeas
edecca
Requires: %{name}-daemon = %{version}-%{release}
edecca
Requires: %{name}-libs = %{version}-%{release}
edecca
edecca
%description lock-sanlock
edecca
Includes the Sanlock lock manager plugin for the QEMU
edecca
driver
edecca
%endif
edecca
edecca
%package nss
edecca
Summary: Libvirt plugin for Name Service Switch
edecca
Requires: libvirt-daemon-driver-network = %{version}-%{release}
edecca
edecca
%description nss
edecca
Libvirt plugin for NSS for translating domain names into IP addresses.
edecca
edecca
edecca
%prep
edecca
edecca
%setup -q
edecca
edecca
# "make dist" replaces all symlinks with a copy of the linked files;
edecca
# we need to replace all of them with the original symlinks
edecca
echo "Restoring symlinks"
edecca
while read lnk target; do
edecca
    if [ -e $lnk ]; then
edecca
        rm -rf $lnk
edecca
        ln -s $target $lnk
edecca
    fi
edecca
done <%{_sourcedir}/symlinks || exit 1
edecca
edecca
# Patches have to be stored in a temporary file because RPM has
edecca
# a limit on the length of the result of any macro expansion;
edecca
# if the string is longer, it's silently cropped
edecca
%{lua:
edecca
    tmp = os.tmpname();
edecca
    f = io.open(tmp, "w+");
edecca
    count = 0;
edecca
    for i, p in ipairs(patches) do
edecca
        f:write(p.."\n");
edecca
        count = count + 1;
edecca
    end;
edecca
    f:close();
edecca
    print("PATCHCOUNT="..count.."\n")
edecca
    print("PATCHLIST="..tmp.."\n")
edecca
}
edecca
edecca
git init -q
edecca
git config user.name rpm-build
edecca
git config user.email rpm-build
edecca
git config gc.auto 0
edecca
git add .
edecca
git commit -q -a --author 'rpm-build <rpm-build>' \
edecca
           -m '%{name}-%{version} base'
edecca
edecca
COUNT=$(grep '\.patch$' $PATCHLIST | wc -l)
edecca
if [ $COUNT -ne $PATCHCOUNT ]; then
edecca
    echo "Found $COUNT patches in $PATCHLIST, expected $PATCHCOUNT"
edecca
    exit 1
edecca
fi
edecca
if [ $COUNT -gt 0 ]; then
edecca
    xargs git am <$PATCHLIST || exit 1
edecca
fi
edecca
echo "Applied $COUNT patches"
edecca
rm -f $PATCHLIST
edecca
rm -rf .git
edecca
edecca
%build
edecca
%if ! %{supported_platform}
edecca
echo "This RPM requires either Fedora >= %{min_fedora} or RHEL >= %{min_rhel}"
edecca
exit 1
edecca
%endif
edecca
edecca
%if %{with_qemu}
edecca
    %define arg_qemu --with-qemu
edecca
%else
edecca
    %define arg_qemu --without-qemu
edecca
%endif
edecca
edecca
%if %{with_openvz}
edecca
    %define arg_openvz --with-openvz
edecca
%else
edecca
    %define arg_openvz --without-openvz
edecca
%endif
edecca
edecca
%if %{with_lxc}
edecca
    %define arg_lxc --with-lxc
edecca
    %define arg_login_shell --with-login-shell
edecca
%else
edecca
    %define arg_lxc --without-lxc
edecca
    %define arg_login_shell --without-login-shell
edecca
%endif
edecca
edecca
%if %{with_vbox}
edecca
    %define arg_vbox --with-vbox
edecca
%else
edecca
    %define arg_vbox --without-vbox
edecca
%endif
edecca
edecca
%if %{with_libxl}
edecca
    %define arg_libxl --with-libxl
edecca
%else
edecca
    %define arg_libxl --without-libxl
edecca
%endif
edecca
edecca
%if %{with_phyp}
edecca
    %define arg_phyp --with-phyp
edecca
%else
edecca
    %define arg_phyp --without-phyp
edecca
%endif
edecca
edecca
%if %{with_esx}
edecca
    %define arg_esx --with-esx
edecca
%else
edecca
    %define arg_esx --without-esx
edecca
%endif
edecca
edecca
%if %{with_hyperv}
edecca
    %define arg_hyperv --with-hyperv
edecca
%else
edecca
    %define arg_hyperv --without-hyperv
edecca
%endif
edecca
edecca
%if %{with_vmware}
edecca
    %define arg_vmware --with-vmware
edecca
%else
edecca
    %define arg_vmware --without-vmware
edecca
%endif
edecca
edecca
%if %{with_uml}
edecca
    %define arg_uml --with-uml
edecca
%else
edecca
    %define arg_uml --without-uml
edecca
%endif
edecca
edecca
%if %{with_storage_rbd}
edecca
    %define arg_storage_rbd --with-storage-rbd
edecca
%else
edecca
    %define arg_storage_rbd --without-storage-rbd
edecca
%endif
edecca
edecca
%if %{with_storage_sheepdog}
edecca
    %define arg_storage_sheepdog --with-storage-sheepdog
edecca
%else
edecca
    %define arg_storage_sheepdog --without-storage-sheepdog
edecca
%endif
edecca
edecca
%if %{with_storage_gluster}
edecca
    %define arg_storage_gluster --with-storage-gluster
edecca
%else
edecca
    %define arg_storage_gluster --without-storage-gluster
edecca
%endif
edecca
edecca
%if %{with_storage_zfs}
edecca
    %define arg_storage_zfs --with-storage-zfs
edecca
%else
edecca
    %define arg_storage_zfs --without-storage-zfs
edecca
%endif
edecca
edecca
%if %{with_numactl}
edecca
    %define arg_numactl --with-numactl
edecca
%else
edecca
    %define arg_numactl --without-numactl
edecca
%endif
edecca
edecca
%if %{with_numad}
edecca
    %define arg_numad --with-numad
edecca
%else
edecca
    %define arg_numad --without-numad
edecca
%endif
edecca
edecca
%if %{with_fuse}
edecca
    %define arg_fuse --with-fuse
edecca
%else
edecca
    %define arg_fuse --without-fuse
edecca
%endif
edecca
edecca
%if %{with_sanlock}
edecca
    %define arg_sanlock --with-sanlock
edecca
%else
edecca
    %define arg_sanlock --without-sanlock
edecca
%endif
edecca
edecca
%if %{with_firewalld}
edecca
    %define arg_firewalld --with-firewalld
edecca
%else
edecca
    %define arg_firewalld --without-firewalld
edecca
%endif
edecca
edecca
%if %{with_firewalld_zone}
edecca
    %define arg_firewalld_zone --with-firewalld-zone
edecca
%else
edecca
    %define arg_firewalld_zone --without-firewalld-zone
edecca
%endif
edecca
edecca
%if %{with_wireshark}
edecca
    %define arg_wireshark --with-wireshark-dissector
edecca
%else
edecca
    %define arg_wireshark --without-wireshark-dissector
edecca
%endif
edecca
edecca
%if %{with_pm_utils}
edecca
    %define arg_pm_utils --with-pm-utils
edecca
%else
edecca
    %define arg_pm_utils --without-pm-utils
edecca
%endif
edecca
edecca
%define when  %(date +"%%F-%%T")
edecca
%define where %(hostname)
edecca
%define who   %{?packager}%{!?packager:Unknown}
edecca
%define arg_packager --with-packager="%{who}, %{when}, %{where}"
edecca
%define arg_packager_version --with-packager-version="%{release}"
edecca
edecca
%if %{with_systemd}
edecca
    %define arg_init_script --with-init-script=systemd
edecca
%else
edecca
    %define arg_init_script --with-init-script=redhat
edecca
%endif
edecca
edecca
%if 0%{?fedora} || 0%{?rhel} >= 7
edecca
    %define arg_selinux_mount --with-selinux-mount="/sys/fs/selinux"
edecca
%else
edecca
    %define arg_selinux_mount --with-selinux-mount="/selinux"
edecca
%endif
edecca
edecca
%if 0%{?fedora}
edecca
    # Nightly firmware repo x86/OVMF
edecca
    LOADERS="/usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd:/usr/share/edk2.git/ovmf-x64/OVMF_VARS-pure-efi.fd"
edecca
    # Nightly firmware repo aarch64/AAVMF
edecca
    LOADERS="$LOADERS:/usr/share/edk2.git/aarch64/QEMU_EFI-pflash.raw:/usr/share/edk2.git/aarch64/vars-template-pflash.raw"
edecca
    # Fedora official x86/OVMF
edecca
    LOADERS="$LOADERS:/usr/share/edk2/ovmf/OVMF_CODE.fd:/usr/share/edk2/ovmf/OVMF_VARS.fd"
edecca
    # Fedora official aarch64/AAVMF
edecca
    LOADERS="$LOADERS:/usr/share/edk2/aarch64/QEMU_EFI-pflash.raw:/usr/share/edk2/aarch64/vars-template-pflash.raw"
edecca
    %define arg_loader_nvram --with-loader-nvram="$LOADERS"
edecca
%endif
edecca
edecca
# place macros above and build commands below this comment
edecca
edecca
export SOURCE_DATE_EPOCH=$(stat --printf='%Y' %{_specdir}/%{name}.spec)
edecca
edecca
%if 0%{?enable_autotools}
edecca
 autoreconf -if
edecca
%endif
edecca
edecca
rm -f po/stamp-po
edecca
%configure %{?arg_qemu} \
edecca
           %{?arg_openvz} \
edecca
           %{?arg_lxc} \
edecca
           %{?arg_vbox} \
edecca
           %{?arg_libxl} \
edecca
           --with-sasl \
edecca
           --with-avahi \
edecca
           --with-polkit \
edecca
           --with-libvirtd \
edecca
           %{?arg_uml} \
edecca
           %{?arg_phyp} \
edecca
           %{?arg_esx} \
edecca
           %{?arg_hyperv} \
edecca
           %{?arg_vmware} \
edecca
           --without-xenapi \
edecca
           --without-vz \
edecca
           --without-bhyve \
edecca
           --with-interface \
edecca
           --with-network \
edecca
           --with-storage-fs \
edecca
           --with-storage-lvm \
edecca
           --with-storage-iscsi \
edecca
           --with-storage-scsi \
edecca
           --with-storage-disk \
edecca
           --with-storage-mpath \
edecca
           %{?arg_storage_rbd} \
edecca
           %{?arg_storage_sheepdog} \
edecca
           %{?arg_storage_gluster} \
edecca
           %{?arg_storage_zfs} \
edecca
           --without-storage-vstorage \
edecca
           %{?arg_numactl} \
edecca
           %{?arg_numad} \
edecca
           --with-capng \
edecca
           %{?arg_fuse} \
edecca
           --with-netcf \
edecca
           --with-selinux \
edecca
           %{?arg_selinux_mount} \
edecca
           --without-apparmor \
edecca
           --without-hal \
edecca
           --with-udev \
edecca
           --with-yajl \
edecca
           %{?arg_sanlock} \
edecca
           --with-libpcap \
edecca
           --with-macvtap \
edecca
           --with-audit \
edecca
           --with-dtrace \
edecca
           --with-driver-modules \
edecca
           %{?arg_firewalld} \
edecca
           %{?arg_firewalld_zone} \
edecca
           %{?arg_wireshark} \
edecca
           %{?arg_pm_utils} \
edecca
           --with-nss-plugin \
edecca
           %{arg_packager} \
edecca
           %{arg_packager_version} \
edecca
           --with-qemu-user=%{qemu_user} \
edecca
           --with-qemu-group=%{qemu_group} \
edecca
           --with-tls-priority=%{tls_priority} \
edecca
           %{?arg_loader_nvram} \
edecca
           %{?enable_werror} \
edecca
           --enable-expensive-tests \
edecca
           %{arg_init_script} \
edecca
           %{?arg_login_shell}
edecca
make %{?_smp_mflags} V=1
edecca
gzip -9 ChangeLog
edecca
edecca
%install
edecca
rm -fr %{buildroot}
edecca
edecca
export SOURCE_DATE_EPOCH=$(stat --printf='%Y' %{_specdir}/%{name}.spec)
edecca
edecca
# Avoid using makeinstall macro as it changes prefixes rather than setting
edecca
# DESTDIR. Newer make_install macro would be better but it's not available
edecca
# on RHEL 5, thus we need to expand it here.
edecca
make %{?_smp_mflags} install DESTDIR=%{?buildroot} SYSTEMD_UNIT_DIR=%{_unitdir} V=1
edecca
edecca
make %{?_smp_mflags} -C examples distclean V=1
edecca
edecca
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
edecca
rm -f $RPM_BUILD_ROOT%{_libdir}/*.a
edecca
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.la
edecca
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/lock-driver/*.a
edecca
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.la
edecca
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/connection-driver/*.a
edecca
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/storage-backend/*.la
edecca
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/storage-backend/*.a
edecca
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/storage-file/*.la
edecca
rm -f $RPM_BUILD_ROOT%{_libdir}/libvirt/storage-file/*.a
edecca
%if %{with_wireshark}
edecca
rm -f $RPM_BUILD_ROOT%{wireshark_plugindir}/libvirt.la
edecca
%endif
edecca
edecca
install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/lib/libvirt/dnsmasq/
edecca
# We don't want to install /etc/libvirt/qemu/networks in the main %files list
edecca
# because if the admin wants to delete the default network completely, we don't
edecca
# want to end up re-incarnating it on every RPM upgrade.
edecca
install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/
edecca
cp $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml \
edecca
   $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/default.xml
edecca
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/default.xml
edecca
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
edecca
edecca
# nwfilter files are installed in /usr/share/libvirt and copied to /etc in %post
edecca
# to avoid verification errors on changed files in /etc
edecca
install -d -m 0755 $RPM_BUILD_ROOT%{_datadir}/libvirt/nwfilter/
edecca
cp -a $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/nwfilter/*.xml \
edecca
    $RPM_BUILD_ROOT%{_datadir}/libvirt/nwfilter/
edecca
# libvirt saves these files with mode 600
edecca
chmod 600 $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/nwfilter/*.xml
edecca
edecca
# Strip auto-generated UUID - we need it generated per-install
edecca
sed -i -e "/<uuid>/d" $RPM_BUILD_ROOT%{_datadir}/libvirt/networks/default.xml
edecca
%if ! %{with_qemu}
edecca
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_qemu.aug
edecca
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
edecca
%endif
edecca
%find_lang %{name}
edecca
edecca
%if ! %{with_sanlock}
edecca
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirt_sanlock.aug
edecca
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirt_sanlock.aug
edecca
%endif
edecca
edecca
%if ! %{with_lxc}
edecca
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_lxc.aug
edecca
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
edecca
%endif
edecca
edecca
%if ! %{with_qemu}
edecca
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu.conf
edecca
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.qemu
edecca
%endif
edecca
%if ! %{with_lxc}
edecca
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/lxc.conf
edecca
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.lxc
edecca
%endif
edecca
%if ! %{with_libxl}
edecca
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/libxl.conf
edecca
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.libxl
edecca
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_libxl.aug
edecca
rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_libxl.aug
edecca
%endif
edecca
%if ! %{with_uml}
edecca
rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.uml
edecca
%endif
edecca
edecca
# Copied into libvirt-docs subpackage eventually
edecca
mv $RPM_BUILD_ROOT%{_datadir}/doc/libvirt-%{version} libvirt-docs
edecca
edecca
%ifarch %{power64} s390x x86_64 ia64 alpha sparc64
edecca
mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_probes.stp \
edecca
   $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_probes-64.stp
edecca
edecca
    %if %{with_qemu}
edecca
mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes.stp \
edecca
   $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes-64.stp
edecca
    %endif
edecca
%endif
edecca
edecca
%check
edecca
cd tests
edecca
# These tests don't current work in a mock build root
edecca
for i in nodeinfotest seclabeltest
edecca
do
edecca
  rm -f $i
edecca
  printf 'int main(void) { return 0; }' > $i.c
edecca
  printf '#!/bin/sh\nexit 0\n' > $i
edecca
  chmod +x $i
edecca
done
edecca
if ! make %{?_smp_mflags} check VIR_TEST_DEBUG=1
edecca
then
edecca
  cat test-suite.log || true
edecca
  exit 1
edecca
fi
edecca
edecca
%pre daemon
edecca
# 'libvirt' group is just to allow password-less polkit access to
edecca
# libvirtd. The uid number is irrelevant, so we use dynamic allocation
edecca
# described at the above link.
edecca
getent group libvirt >/dev/null || groupadd -r libvirt
edecca
edecca
exit 0
edecca
edecca
%post daemon
edecca
edecca
%if %{with_systemd}
edecca
    %if %{with_systemd_macros}
edecca
        %systemd_post virtlockd.socket virtlockd-admin.socket
edecca
        %systemd_post virtlogd.socket virtlogd-admin.socket
edecca
        %systemd_post libvirtd.service
edecca
    %else
edecca
if [ $1 -eq 1 ] ; then
edecca
    # Initial installation
edecca
    /bin/systemctl enable \
edecca
        virtlockd.socket \
edecca
        virtlockd-admin.socket \
edecca
        virtlogd.socket \
edecca
        virtlogd-admin.socket \
edecca
        libvirtd.service >/dev/null 2>&1 || :
edecca
fi
edecca
    %endif
edecca
%else
edecca
/sbin/chkconfig --add libvirtd
edecca
/sbin/chkconfig --add virtlogd
edecca
/sbin/chkconfig --add virtlockd
edecca
%endif
edecca
edecca
# request daemon restart in posttrans
edecca
mkdir -p %{_localstatedir}/lib/rpm-state/libvirt || :
edecca
touch %{_localstatedir}/lib/rpm-state/libvirt/restart || :
edecca
edecca
%preun daemon
edecca
%if %{with_systemd}
edecca
    %if %{with_systemd_macros}
edecca
        %systemd_preun libvirtd.service
edecca
        %systemd_preun virtlogd.socket virtlogd-admin.socket virtlogd.service
edecca
        %systemd_preun virtlockd.socket virtlockd-admin.socket virtlockd.service
edecca
    %else
edecca
if [ $1 -eq 0 ] ; then
edecca
    # Package removal, not upgrade
edecca
    /bin/systemctl --no-reload disable \
edecca
        libvirtd.service \
edecca
        virtlogd.socket \
edecca
        virtlogd-admin.socket \
edecca
        virtlogd.service \
edecca
        virtlockd.socket \
edecca
        virtlockd-admin.socket \
edecca
        virtlockd.service > /dev/null 2>&1 || :
edecca
    /bin/systemctl stop \
edecca
        libvirtd.service \
edecca
        virtlogd.socket \
edecca
        virtlogd-admin.socket \
edecca
        virtlogd.service \
edecca
        virtlockd.socket \
edecca
        virtlockd-admin.socket \
edecca
        virtlockd.service > /dev/null 2>&1 || :
edecca
fi
edecca
    %endif
edecca
%else
edecca
if [ $1 = 0 ]; then
edecca
    /sbin/service libvirtd stop 1>/dev/null 2>&1
edecca
    /sbin/chkconfig --del libvirtd
edecca
    /sbin/service virtlogd stop 1>/dev/null 2>&1
edecca
    /sbin/chkconfig --del virtlogd
edecca
    /sbin/service virtlockd stop 1>/dev/null 2>&1
edecca
    /sbin/chkconfig --del virtlockd
edecca
fi
edecca
%endif
edecca
edecca
%postun daemon
edecca
%if %{with_systemd}
edecca
/bin/systemctl daemon-reload >/dev/null 2>&1 || :
edecca
if [ $1 -ge 1 ] ; then
edecca
    /bin/systemctl reload-or-try-restart virtlockd.service >/dev/null 2>&1 || :
edecca
    /bin/systemctl reload-or-try-restart virtlogd.service >/dev/null 2>&1 || :
edecca
fi
edecca
%else
edecca
if [ $1 -ge 1 ]; then
edecca
    /sbin/service virtlockd reload > /dev/null 2>&1 || :
edecca
    /sbin/service virtlogd reload > /dev/null 2>&1 || :
edecca
fi
edecca
%endif
edecca
edecca
# In upgrade scenario we must explicitly enable virtlockd/virtlogd
edecca
# sockets, if libvirtd is already enabled and start them if
edecca
# libvirtd is running, otherwise you'll get failures to start
edecca
# guests
edecca
%triggerpostun daemon -- libvirt-daemon < 1.3.0
edecca
if [ $1 -ge 1 ] ; then
edecca
%if %{with_systemd}
edecca
    /bin/systemctl is-enabled libvirtd.service 1>/dev/null 2>&1 &&
edecca
        /bin/systemctl enable virtlogd.socket virtlogd-admin.socket || :
edecca
    /bin/systemctl is-active libvirtd.service 1>/dev/null 2>&1 &&
edecca
        /bin/systemctl start virtlogd.socket virtlogd-admin.socket || :
edecca
%else
edecca
    /sbin/chkconfig libvirtd 1>/dev/null 2>&1 &&
edecca
        /sbin/chkconfig virtlogd on || :
edecca
    /sbin/service libvirtd status 1>/dev/null 2>&1 &&
edecca
        /sbin/service virtlogd start || :
edecca
    /sbin/service virtlockd reload > /dev/null 2>&1 || :
edecca
    /sbin/service virtlogd reload > /dev/null 2>&1 || :
edecca
%endif
edecca
fi
edecca
edecca
%posttrans daemon
edecca
if [ -f %{_localstatedir}/lib/rpm-state/libvirt/restart ]; then
edecca
%if %{with_systemd}
edecca
    /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || :
edecca
%else
edecca
    /sbin/service libvirtd condrestart > /dev/null 2>&1 || :
edecca
%endif
edecca
fi
edecca
rm -rf %{_localstatedir}/lib/rpm-state/libvirt || :
edecca
edecca
%post daemon-driver-network
edecca
%if %{with_firewalld}
edecca
    %firewalld_reload
edecca
%endif
edecca
edecca
%postun daemon-driver-network
edecca
%if %{with_firewalld}
edecca
    %firewalld_reload
edecca
%endif
edecca
edecca
%post daemon-config-network
edecca
if test $1 -eq 1 && test ! -f %{_sysconfdir}/libvirt/qemu/networks/default.xml ; then
edecca
    # see if the network used by default network creates a conflict,
edecca
    # and try to resolve it
edecca
    # NB: 192.168.122.0/24 is used in the default.xml template file;
edecca
    # do not modify any of those values here without also modifying
edecca
    # them in the template.
edecca
    orig_sub=122
edecca
    sub=${orig_sub}
edecca
    nl='
edecca
'
edecca
    routes="${nl}$(ip route show | cut -d' ' -f1)${nl}"
edecca
    case ${routes} in
edecca
      *"${nl}192.168.${orig_sub}.0/24${nl}"*)
edecca
        # there was a match, so we need to look for an unused subnet
edecca
        for new_sub in $(seq 124 254); do
edecca
          case ${routes} in
edecca
          *"${nl}192.168.${new_sub}.0/24${nl}"*)
edecca
            ;;
edecca
          *)
edecca
            sub=$new_sub
edecca
            break;
edecca
            ;;
edecca
          esac
edecca
        done
edecca
        ;;
edecca
      *)
edecca
        ;;
edecca
    esac
edecca
edecca
    UUID=`/usr/bin/uuidgen`
edecca
    sed -e "s/${orig_sub}/${sub}/g" \
edecca
        -e "s,</name>,</name>\n  <uuid>$UUID</uuid>," \
edecca
         < %{_datadir}/libvirt/networks/default.xml \
edecca
         > %{_sysconfdir}/libvirt/qemu/networks/default.xml
edecca
    ln -s ../default.xml %{_sysconfdir}/libvirt/qemu/networks/autostart/default.xml
edecca
edecca
    # Make sure libvirt picks up the new network defininiton
edecca
    mkdir -p %{_localstatedir}/lib/rpm-state/libvirt || :
edecca
    touch %{_localstatedir}/lib/rpm-state/libvirt/restart || :
edecca
fi
edecca
edecca
%posttrans daemon-config-network
edecca
if [ -f %{_localstatedir}/lib/rpm-state/libvirt/restart ]; then
edecca
%if %{with_systemd}
edecca
    /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || :
edecca
%else
edecca
    /sbin/service libvirtd condrestart > /dev/null 2>&1 || :
edecca
%endif
edecca
fi
edecca
rm -rf %{_localstatedir}/lib/rpm-state/libvirt || :
edecca
edecca
%post daemon-config-nwfilter
edecca
cp %{_datadir}/libvirt/nwfilter/*.xml %{_sysconfdir}/libvirt/nwfilter/
edecca
# Make sure libvirt picks up the new nwfilter defininitons
edecca
mkdir -p %{_localstatedir}/lib/rpm-state/libvirt || :
edecca
touch %{_localstatedir}/lib/rpm-state/libvirt/restart || :
edecca
edecca
%posttrans daemon-config-nwfilter
edecca
if [ -f %{_localstatedir}/lib/rpm-state/libvirt/restart ]; then
edecca
%if %{with_systemd}
edecca
    /bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || :
edecca
%else
edecca
    /sbin/service libvirtd condrestart > /dev/null 2>&1 || :
edecca
%endif
edecca
fi
edecca
rm -rf %{_localstatedir}/lib/rpm-state/libvirt || :
edecca
edecca
edecca
%if %{with_systemd}
edecca
%triggerun -- libvirt < 0.9.4
edecca
%{_bindir}/systemd-sysv-convert --save libvirtd >/dev/null 2>&1 ||:
edecca
edecca
# If the package is allowed to autostart:
edecca
/bin/systemctl --no-reload enable libvirtd.service >/dev/null 2>&1 ||:
edecca
edecca
# Run these because the SysV package being removed won't do them
edecca
/sbin/chkconfig --del libvirtd >/dev/null 2>&1 || :
edecca
/bin/systemctl try-restart libvirtd.service >/dev/null 2>&1 || :
edecca
%endif
edecca
edecca
%if %{with_qemu}
edecca
%pre daemon-driver-qemu
edecca
# We want soft static allocation of well-known ids, as disk images
edecca
# are commonly shared across NFS mounts by id rather than name; see
edecca
# https://fedoraproject.org/wiki/Packaging:UsersAndGroups
edecca
getent group kvm >/dev/null || groupadd -f -g 36 -r kvm
edecca
getent group qemu >/dev/null || groupadd -f -g 107 -r qemu
edecca
if ! getent passwd qemu >/dev/null; then
edecca
  if ! getent passwd 107 >/dev/null; then
edecca
    useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu
edecca
  else
edecca
    useradd -r -g qemu -G kvm -d / -s /sbin/nologin -c "qemu user" qemu
edecca
  fi
edecca
fi
edecca
exit 0
edecca
%endif
edecca
edecca
%preun client
edecca
edecca
%if %{with_systemd}
edecca
    %if %{with_systemd_macros}
edecca
        %systemd_preun libvirt-guests.service
edecca
    %endif
edecca
%else
edecca
if [ $1 = 0 ]; then
edecca
    /sbin/chkconfig --del libvirt-guests
edecca
    rm -f /var/lib/libvirt/libvirt-guests
edecca
fi
edecca
%endif
edecca
edecca
%post client
edecca
edecca
/sbin/ldconfig
edecca
%if %{with_systemd}
edecca
    %if %{with_systemd_macros}
edecca
        %systemd_post libvirt-guests.service
edecca
    %endif
edecca
%else
edecca
/sbin/chkconfig --add libvirt-guests
edecca
%endif
edecca
edecca
%postun client
edecca
edecca
/sbin/ldconfig
edecca
%if %{with_systemd}
edecca
    %if %{with_systemd_macros}
edecca
        %systemd_postun libvirt-guests.service
edecca
    %endif
edecca
%triggerun client -- libvirt < 0.9.4
edecca
%{_bindir}/systemd-sysv-convert --save libvirt-guests >/dev/null 2>&1 ||:
edecca
edecca
# If the package is allowed to autostart:
edecca
/bin/systemctl --no-reload enable libvirt-guests.service >/dev/null 2>&1 ||:
edecca
edecca
# Run this because the SysV package being removed won't do them
edecca
/sbin/chkconfig --del libvirt-guests >/dev/null 2>&1 || :
edecca
%endif
edecca
edecca
%if %{with_sanlock}
edecca
%post lock-sanlock
edecca
if getent group sanlock > /dev/null ; then
edecca
    chmod 0770 %{_localstatedir}/lib/libvirt/sanlock
edecca
    chown root:sanlock %{_localstatedir}/lib/libvirt/sanlock
edecca
fi
edecca
%endif
edecca
edecca
%if %{with_lxc}
edecca
%pre login-shell
edecca
getent group virtlogin >/dev/null || groupadd -r virtlogin
edecca
exit 0
edecca
%endif
edecca
edecca
%files
edecca
edecca
%files docs
edecca
%doc AUTHORS ChangeLog.gz NEWS README README.md
edecca
%doc libvirt-docs/*
edecca
edecca
# API docs
edecca
%dir %{_datadir}/gtk-doc/html/libvirt/
edecca
%doc %{_datadir}/gtk-doc/html/libvirt/*.devhelp
edecca
%doc %{_datadir}/gtk-doc/html/libvirt/*.html
edecca
%doc %{_datadir}/gtk-doc/html/libvirt/*.png
edecca
%doc %{_datadir}/gtk-doc/html/libvirt/*.css
edecca
%doc examples/hellolibvirt
edecca
%doc examples/object-events
edecca
%doc examples/dominfo
edecca
%doc examples/domsuspend
edecca
%doc examples/dommigrate
edecca
%doc examples/openauth
edecca
%doc examples/xml
edecca
%doc examples/rename
edecca
%doc examples/systemtap
edecca
%doc examples/admin
edecca
edecca
edecca
%files daemon
edecca
edecca
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/
edecca
edecca
%if %{with_systemd}
edecca
%{_unitdir}/libvirtd.service
edecca
%{_unitdir}/virt-guest-shutdown.target
edecca
%{_unitdir}/virtlogd.service
edecca
%{_unitdir}/virtlogd.socket
edecca
%{_unitdir}/virtlogd-admin.socket
edecca
%{_unitdir}/virtlockd.service
edecca
%{_unitdir}/virtlockd.socket
edecca
%{_unitdir}/virtlockd-admin.socket
edecca
%else
edecca
%{_sysconfdir}/rc.d/init.d/libvirtd
edecca
%{_sysconfdir}/rc.d/init.d/virtlogd
edecca
%{_sysconfdir}/rc.d/init.d/virtlockd
edecca
%endif
edecca
%config(noreplace) %{_sysconfdir}/sysconfig/libvirtd
edecca
%config(noreplace) %{_sysconfdir}/sysconfig/virtlogd
edecca
%config(noreplace) %{_sysconfdir}/sysconfig/virtlockd
edecca
%config(noreplace) %{_sysconfdir}/libvirt/libvirtd.conf
edecca
%config(noreplace) %{_sysconfdir}/libvirt/virtlogd.conf
edecca
%config(noreplace) %{_sysconfdir}/libvirt/virtlockd.conf
edecca
%config(noreplace) %{_sysconfdir}/sasl2/libvirt.conf
edecca
%config(noreplace) %{_prefix}/lib/sysctl.d/60-libvirtd.conf
edecca
edecca
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd
edecca
%dir %{_datadir}/libvirt/
edecca
edecca
%ghost %dir %{_localstatedir}/run/libvirt/
edecca
edecca
%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/images/
edecca
%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/filesystems/
edecca
%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/boot/
edecca
%dir %attr(0711, root, root) %{_localstatedir}/cache/libvirt/
edecca
edecca
edecca
%dir %attr(0755, root, root) %{_libdir}/libvirt/
edecca
%dir %attr(0755, root, root) %{_libdir}/libvirt/connection-driver/
edecca
%dir %attr(0755, root, root) %{_libdir}/libvirt/lock-driver
edecca
%attr(0755, root, root) %{_libdir}/libvirt/lock-driver/lockd.so
edecca
edecca
%{_datadir}/augeas/lenses/libvirtd.aug
edecca
%{_datadir}/augeas/lenses/tests/test_libvirtd.aug
edecca
%{_datadir}/augeas/lenses/virtlogd.aug
edecca
%{_datadir}/augeas/lenses/tests/test_virtlogd.aug
edecca
%{_datadir}/augeas/lenses/virtlockd.aug
edecca
%{_datadir}/augeas/lenses/tests/test_virtlockd.aug
edecca
%{_datadir}/augeas/lenses/libvirt_lockd.aug
edecca
%if %{with_qemu}
edecca
%{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug
edecca
%endif
edecca
edecca
%{_datadir}/polkit-1/actions/org.libvirt.unix.policy
edecca
%{_datadir}/polkit-1/actions/org.libvirt.api.policy
edecca
%{_datadir}/polkit-1/rules.d/50-libvirt.rules
edecca
edecca
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/
edecca
edecca
%attr(0755, root, root) %{_libexecdir}/libvirt_iohelper
edecca
edecca
%attr(0755, root, root) %{_sbindir}/libvirtd
edecca
%attr(0755, root, root) %{_sbindir}/virtlogd
edecca
%attr(0755, root, root) %{_sbindir}/virtlockd
edecca
edecca
%{_mandir}/man8/libvirtd.8*
edecca
%{_mandir}/man8/virtlogd.8*
edecca
%{_mandir}/man8/virtlockd.8*
edecca
%{_mandir}/man7/virkey*.7*
edecca
edecca
%doc examples/polkit/*.rules
edecca
edecca
%files daemon-config-network
edecca
%dir %{_datadir}/libvirt/networks/
edecca
%{_datadir}/libvirt/networks/default.xml
edecca
edecca
%files daemon-config-nwfilter
edecca
%dir %{_datadir}/libvirt/nwfilter/
edecca
%{_datadir}/libvirt/nwfilter/*.xml
edecca
%ghost %{_sysconfdir}/libvirt/nwfilter/*.xml
edecca
edecca
%files daemon-driver-interface
edecca
%{_libdir}/%{name}/connection-driver/libvirt_driver_interface.so
edecca
edecca
%files daemon-driver-network
edecca
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
edecca
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/
edecca
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/networks/autostart
edecca
%ghost %dir %{_localstatedir}/run/libvirt/network/
edecca
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/network/
edecca
%dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/dnsmasq/
edecca
%attr(0755, root, root) %{_libexecdir}/libvirt_leaseshelper
edecca
%{_libdir}/%{name}/connection-driver/libvirt_driver_network.so
edecca
edecca
%if %{with_firewalld_zone}
edecca
%{_prefix}/lib/firewalld/zones/libvirt.xml
edecca
%endif
edecca
edecca
%files daemon-driver-nodedev
edecca
%{_libdir}/%{name}/connection-driver/libvirt_driver_nodedev.so
edecca
edecca
%files daemon-driver-nwfilter
edecca
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/nwfilter/
edecca
%ghost %dir %{_localstatedir}/run/libvirt/network/
edecca
%{_libdir}/%{name}/connection-driver/libvirt_driver_nwfilter.so
edecca
edecca
%files daemon-driver-secret
edecca
%{_libdir}/%{name}/connection-driver/libvirt_driver_secret.so
edecca
edecca
%files daemon-driver-storage
edecca
edecca
%files daemon-driver-storage-core
edecca
%attr(0755, root, root) %{_libexecdir}/libvirt_parthelper
edecca
%{_libdir}/%{name}/connection-driver/libvirt_driver_storage.so
edecca
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_fs.so
edecca
%{_libdir}/%{name}/storage-file/libvirt_storage_file_fs.so
edecca
edecca
%files daemon-driver-storage-disk
edecca
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_disk.so
edecca
edecca
%files daemon-driver-storage-logical
edecca
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_logical.so
edecca
edecca
%files daemon-driver-storage-scsi
edecca
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_scsi.so
edecca
edecca
%files daemon-driver-storage-iscsi
edecca
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_iscsi.so
edecca
edecca
%files daemon-driver-storage-mpath
edecca
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_mpath.so
edecca
edecca
%if %{with_storage_gluster}
edecca
%files daemon-driver-storage-gluster
edecca
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_gluster.so
edecca
%{_libdir}/%{name}/storage-file/libvirt_storage_file_gluster.so
edecca
%endif
edecca
edecca
%if %{with_storage_rbd}
edecca
%files daemon-driver-storage-rbd
edecca
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_rbd.so
edecca
%endif
edecca
edecca
%if %{with_storage_sheepdog}
edecca
%files daemon-driver-storage-sheepdog
edecca
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_sheepdog.so
edecca
%endif
edecca
edecca
%if %{with_storage_zfs}
edecca
%files daemon-driver-storage-zfs
edecca
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_zfs.so
edecca
%endif
edecca
edecca
%if %{with_qemu}
edecca
%files daemon-driver-qemu
edecca
%dir %attr(0700, root, root) %{_sysconfdir}/libvirt/qemu/
edecca
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/qemu/
edecca
%config(noreplace) %{_sysconfdir}/libvirt/qemu.conf
edecca
%config(noreplace) %{_sysconfdir}/libvirt/qemu-lockd.conf
edecca
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.qemu
edecca
%ghost %dir %attr(0700, root, root) %{_localstatedir}/run/libvirt/qemu/
edecca
%dir %attr(0751, %{qemu_user}, %{qemu_group}) %{_localstatedir}/lib/libvirt/qemu/
edecca
%dir %attr(0750, %{qemu_user}, %{qemu_group}) %{_localstatedir}/cache/libvirt/qemu/
edecca
%{_datadir}/augeas/lenses/libvirtd_qemu.aug
edecca
%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug
edecca
%{_libdir}/%{name}/connection-driver/libvirt_driver_qemu.so
edecca
%dir %attr(0711, root, root) %{_localstatedir}/lib/libvirt/swtpm/
edecca
%dir %attr(0711, root, root) %{_localstatedir}/log/swtpm/libvirt/qemu/
edecca
%endif
edecca
edecca
%if %{with_lxc}
edecca
%files daemon-driver-lxc
edecca
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/lxc/
edecca
%config(noreplace) %{_sysconfdir}/libvirt/lxc.conf
edecca
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.lxc
edecca
%ghost %dir %{_localstatedir}/run/libvirt/lxc/
edecca
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/lxc/
edecca
%{_datadir}/augeas/lenses/libvirtd_lxc.aug
edecca
%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug
edecca
%attr(0755, root, root) %{_libexecdir}/libvirt_lxc
edecca
%{_libdir}/%{name}/connection-driver/libvirt_driver_lxc.so
edecca
%endif
edecca
edecca
%if %{with_uml}
edecca
%files daemon-driver-uml
edecca
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/uml/
edecca
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.uml
edecca
%ghost %dir %{_localstatedir}/run/libvirt/uml/
edecca
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/uml/
edecca
%{_libdir}/%{name}/connection-driver/libvirt_driver_uml.so
edecca
%endif
edecca
edecca
%if %{with_libxl}
edecca
%files daemon-driver-libxl
edecca
%config(noreplace) %{_sysconfdir}/libvirt/libxl.conf
edecca
%config(noreplace) %{_sysconfdir}/logrotate.d/libvirtd.libxl
edecca
%config(noreplace) %{_sysconfdir}/libvirt/libxl-lockd.conf
edecca
%{_datadir}/augeas/lenses/libvirtd_libxl.aug
edecca
%{_datadir}/augeas/lenses/tests/test_libvirtd_libxl.aug
edecca
%dir %attr(0700, root, root) %{_localstatedir}/log/libvirt/libxl/
edecca
%ghost %dir %{_localstatedir}/run/libvirt/libxl/
edecca
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/libxl/
edecca
%{_libdir}/%{name}/connection-driver/libvirt_driver_libxl.so
edecca
%endif
edecca
edecca
%if %{with_vbox}
edecca
%files daemon-driver-vbox
edecca
%{_libdir}/%{name}/connection-driver/libvirt_driver_vbox.so
edecca
%endif
edecca
edecca
%if %{with_qemu_tcg}
edecca
%files daemon-qemu
edecca
%endif
edecca
edecca
%if %{with_qemu_kvm}
edecca
%files daemon-kvm
edecca
%endif
edecca
edecca
%if %{with_lxc}
edecca
%files daemon-lxc
edecca
%endif
edecca
edecca
%if %{with_uml}
edecca
%files daemon-uml
edecca
%endif
edecca
edecca
%if %{with_libxl}
edecca
%files daemon-xen
edecca
%endif
edecca
edecca
%if %{with_vbox}
edecca
%files daemon-vbox
edecca
%endif
edecca
edecca
%if %{with_sanlock}
edecca
%files lock-sanlock
edecca
    %if %{with_qemu}
edecca
%config(noreplace) %{_sysconfdir}/libvirt/qemu-sanlock.conf
edecca
    %endif
edecca
    %if %{with_libxl}
edecca
%config(noreplace) %{_sysconfdir}/libvirt/libxl-sanlock.conf
edecca
    %endif
edecca
%attr(0755, root, root) %{_libdir}/libvirt/lock-driver/sanlock.so
edecca
%{_datadir}/augeas/lenses/libvirt_sanlock.aug
edecca
%{_datadir}/augeas/lenses/tests/test_libvirt_sanlock.aug
edecca
%dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/sanlock
edecca
%{_sbindir}/virt-sanlock-cleanup
edecca
%{_mandir}/man8/virt-sanlock-cleanup.8*
edecca
%attr(0755, root, root) %{_libexecdir}/libvirt_sanlock_helper
edecca
%endif
edecca
edecca
%files client
edecca
%{_mandir}/man1/virsh.1*
edecca
%{_mandir}/man1/virt-xml-validate.1*
edecca
%{_mandir}/man1/virt-pki-validate.1*
edecca
%{_mandir}/man1/virt-host-validate.1*
edecca
%{_bindir}/virsh
edecca
%{_bindir}/virt-xml-validate
edecca
%{_bindir}/virt-pki-validate
edecca
%{_bindir}/virt-host-validate
edecca
edecca
%{_datadir}/systemtap/tapset/libvirt_probes*.stp
edecca
%{_datadir}/systemtap/tapset/libvirt_functions.stp
edecca
%if %{with_qemu}
edecca
%{_datadir}/systemtap/tapset/libvirt_qemu_probes*.stp
edecca
%endif
edecca
edecca
%if %{with_bash_completion}
edecca
%{_datadir}/bash-completion/completions/virsh
edecca
%endif
edecca
edecca
edecca
%if %{with_systemd}
edecca
%{_unitdir}/libvirt-guests.service
edecca
%else
edecca
%{_sysconfdir}/rc.d/init.d/libvirt-guests
edecca
%endif
edecca
%config(noreplace) %{_sysconfdir}/sysconfig/libvirt-guests
edecca
%attr(0755, root, root) %{_libexecdir}/libvirt-guests.sh
edecca
edecca
%files libs -f %{name}.lang
edecca
# RHEL6 doesn't have 'license' macro
edecca
%{!?_licensedir:%global license %%doc}
edecca
%license COPYING COPYING.LESSER
edecca
%config(noreplace) %{_sysconfdir}/libvirt/libvirt.conf
edecca
%config(noreplace) %{_sysconfdir}/libvirt/libvirt-admin.conf
edecca
%{_libdir}/libvirt.so.*
edecca
%{_libdir}/libvirt-qemu.so.*
edecca
%{_libdir}/libvirt-lxc.so.*
edecca
%{_libdir}/libvirt-admin.so.*
edecca
%dir %{_datadir}/libvirt/
edecca
%dir %{_datadir}/libvirt/schemas/
edecca
%dir %attr(0755, root, root) %{_localstatedir}/lib/libvirt/
edecca
edecca
%{_datadir}/libvirt/schemas/basictypes.rng
edecca
%{_datadir}/libvirt/schemas/capability.rng
edecca
%{_datadir}/libvirt/schemas/cputypes.rng
edecca
%{_datadir}/libvirt/schemas/domain.rng
edecca
%{_datadir}/libvirt/schemas/domaincaps.rng
edecca
%{_datadir}/libvirt/schemas/domaincommon.rng
edecca
%{_datadir}/libvirt/schemas/domainsnapshot.rng
edecca
%{_datadir}/libvirt/schemas/interface.rng
edecca
%{_datadir}/libvirt/schemas/network.rng
edecca
%{_datadir}/libvirt/schemas/networkcommon.rng
edecca
%{_datadir}/libvirt/schemas/nodedev.rng
edecca
%{_datadir}/libvirt/schemas/nwfilter.rng
edecca
%{_datadir}/libvirt/schemas/nwfilter_params.rng
edecca
%{_datadir}/libvirt/schemas/nwfilterbinding.rng
edecca
%{_datadir}/libvirt/schemas/secret.rng
edecca
%{_datadir}/libvirt/schemas/storagecommon.rng
edecca
%{_datadir}/libvirt/schemas/storagepool.rng
edecca
%{_datadir}/libvirt/schemas/storagevol.rng
edecca
edecca
%{_datadir}/libvirt/cpu_map.xml
edecca
edecca
%{_datadir}/libvirt/test-screenshot.png
edecca
edecca
%files admin
edecca
%{_mandir}/man1/virt-admin.1*
edecca
%{_bindir}/virt-admin
edecca
%if %{with_bash_completion}
edecca
%{_datadir}/bash-completion/completions/virt-admin
edecca
%endif
edecca
edecca
%if %{with_bash_completion}
edecca
%files bash-completion
edecca
%{_datadir}/bash-completion/completions/vsh
edecca
%endif
edecca
edecca
%if %{with_wireshark}
edecca
%files wireshark
edecca
%{wireshark_plugindir}/libvirt.so
edecca
%endif
edecca
edecca
%files nss
edecca
%{_libdir}/libnss_libvirt.so.2
edecca
%{_libdir}/libnss_libvirt_guest.so.2
edecca
edecca
%if %{with_lxc}
edecca
%files login-shell
edecca
%attr(4750, root, virtlogin) %{_bindir}/virt-login-shell
edecca
%config(noreplace) %{_sysconfdir}/libvirt/virt-login-shell.conf
edecca
%{_mandir}/man1/virt-login-shell.1*
edecca
%endif
edecca
edecca
%files devel
edecca
%{_libdir}/libvirt.so
edecca
%{_libdir}/libvirt-admin.so
edecca
%{_libdir}/libvirt-qemu.so
edecca
%{_libdir}/libvirt-lxc.so
edecca
%dir %{_includedir}/libvirt
edecca
%{_includedir}/libvirt/virterror.h
edecca
%{_includedir}/libvirt/libvirt.h
edecca
%{_includedir}/libvirt/libvirt-admin.h
edecca
%{_includedir}/libvirt/libvirt-common.h
edecca
%{_includedir}/libvirt/libvirt-domain.h
edecca
%{_includedir}/libvirt/libvirt-domain-snapshot.h
edecca
%{_includedir}/libvirt/libvirt-event.h
edecca
%{_includedir}/libvirt/libvirt-host.h
edecca
%{_includedir}/libvirt/libvirt-interface.h
edecca
%{_includedir}/libvirt/libvirt-network.h
edecca
%{_includedir}/libvirt/libvirt-nodedev.h
edecca
%{_includedir}/libvirt/libvirt-nwfilter.h
edecca
%{_includedir}/libvirt/libvirt-secret.h
edecca
%{_includedir}/libvirt/libvirt-storage.h
edecca
%{_includedir}/libvirt/libvirt-stream.h
edecca
%{_includedir}/libvirt/libvirt-qemu.h
edecca
%{_includedir}/libvirt/libvirt-lxc.h
edecca
%{_libdir}/pkgconfig/libvirt.pc
edecca
%{_libdir}/pkgconfig/libvirt-admin.pc
edecca
%{_libdir}/pkgconfig/libvirt-qemu.pc
edecca
%{_libdir}/pkgconfig/libvirt-lxc.pc
edecca
edecca
%dir %{_datadir}/libvirt/api/
edecca
%{_datadir}/libvirt/api/libvirt-api.xml
edecca
%{_datadir}/libvirt/api/libvirt-admin-api.xml
edecca
%{_datadir}/libvirt/api/libvirt-qemu-api.xml
edecca
%{_datadir}/libvirt/api/libvirt-lxc-api.xml
edecca
# Needed building python bindings
edecca
%doc docs/libvirt-api.xml
edecca
edecca
edecca
%changelog
e90370
* Mon May  6 2019 Jiri Denemark <jdenemar@redhat.com> - 4.5.0-23.1.el8
e90370
- cpu_x86: Do not cache microcode version (CVE-2018-12130, CVE-2018-12126, CVE-2018-11091, CVE-2018-12127)
e90370
- qemu: Don't cache microcode version (CVE-2018-12130, CVE-2018-12126, CVE-2018-11091, CVE-2018-12127)
e90370
- cputest: Add data for Intel(R) Xeon(R) CPU E3-1225 v5 (CVE-2018-12130, CVE-2018-12126, CVE-2018-11091, CVE-2018-12127)
e90370
- cpu_map: Define md-clear CPUID bit (CVE-2018-12130, CVE-2018-12126, CVE-2018-11091, CVE-2018-12127)
e90370
edecca
* Fri Feb 15 2019 Jiri Denemark <jdenemar@redhat.com> - 4.5.0-23
edecca
- network: explicitly allow icmp/icmpv6 in libvirt zonefile (rhbz#1650320)
edecca
edecca
* Fri Feb 15 2019 Jiri Denemark <jdenemar@redhat.com> - 4.5.0-22
edecca
- util: fix memory leak in virFirewallDInterfaceSetZone() (rhbz#1650320)
edecca
edecca
* Fri Feb  8 2019 Jiri Denemark <jdenemar@redhat.com> - 4.5.0-21
edecca
- docs: Drop /dev/net/tun from the list of shared devices (rhbz#1665400)
edecca
- qemu: conf: Remove /dev/sev from the default cgroup device acl list (rhbz#1665400)
edecca
- qemu: cgroup: Expose /dev/sev/ only to domains that require SEV (rhbz#1665400)
edecca
- qemu: domain: Add /dev/sev into the domain mount namespace selectively (rhbz#1665400)
edecca
- security: dac: Relabel /dev/sev in the namespace (rhbz#1665400)
edecca
- qemu: caps: Use CAP_DAC_OVERRIDE for probing to avoid permission issues (rhbz#1665400)
edecca
- qemu: caps: Don't try to ask for CAP_DAC_OVERRIDE if non-root (rhbz#1665400)
edecca
- Revert "RHEL: Require firewalld-filesystem for firewalld rpm macros" (rhbz#1650320)
edecca
- Revert "RHEL: network: regain guest network connectivity after firewalld switch to nftables" (rhbz#1650320)
edecca
- configure: change HAVE_FIREWALLD to WITH_FIREWALLD (rhbz#1650320)
edecca
- util: move all firewalld-specific stuff into its own files (rhbz#1650320)
edecca
- util: new virFirewallD APIs + docs (rhbz#1650320)
edecca
- configure: selectively install a firewalld 'libvirt' zone (rhbz#1650320)
edecca
- network: set firewalld zone of bridges to "libvirt" zone when appropriate (rhbz#1650320)
edecca
- network: allow configuring firewalld zone for virtual network bridge device (rhbz#1650320)
edecca
- util: remove test code accidentally committed to virFirewallDZoneExists (rhbz#1650320)
edecca
- qemu: command: Don't skip 'readonly' and throttling info for empty drive (rhbz#1670337)
edecca
edecca
* Mon Jan 28 2019 Jiri Denemark <jdenemar@redhat.com> - 4.5.0-20
edecca
- RHEL: qemu: Fix crash trying to use iSCSI hostdev (rhbz#1669424)
edecca
edecca
* Thu Jan 24 2019 Jiri Denemark <jdenemar@redhat.com> - 4.5.0-19
edecca
- qemu: Fix logic error in qemuSetUnprivSGIO (rhbz#1666605)
edecca
- tests: qemuxml2argv: Add test case for empty CDROM with cache mode (rhbz#1553255)
edecca
- qemu: command: Don't format image properties for empty -drive (rhbz#1553255)
edecca
edecca
* Mon Jan 14 2019 Jiri Denemark <jdenemar@redhat.com> - 4.5.0-18
edecca
- conf: correct false boot order error during domain parse (rhbz#1630393)
edecca
- qemu: Remove duplicated qemuAgentCheckError (rhbz#1665000)
edecca
- qemu: require reply from guest agent in qemuAgentGetInterfaces (rhbz#1665000)
edecca
- qemu: Filter non SCSI hostdevs in qemuHostdevPrepareSCSIDevices (rhbz#1665244)
edecca
- util: remove const specifier from nlmsghdr arg to virNetlinkDumpCallback() (rhbz#1583131)
edecca
- util: add a function to insert new interfaces to IPv6CheckForwarding list (rhbz#1583131)
edecca
- util: use nlmsg_find_attr() instead of an open-coded loop (rhbz#1583131)
edecca
- util: check accept_ra for all nexthop interfaces of multipath routes (rhbz#1583131)
edecca
- util: make forgotten changes suggested during review of commit d40b820c (rhbz#1583131)
edecca
edecca
* Mon Jan  7 2019 Jiri Denemark <jdenemar@redhat.com> - 4.5.0-17
edecca
- virsh: Strip XML declaration when extracting CPU XMLs (rhbz#1659048)
edecca
- RHEL: qemu: Add ability to set sgio values for hostdev (rhbz#1582424)
edecca
- RHEL: qemu: Add check for unpriv sgio for SCSI generic host device (rhbz#1582424)
edecca
- qemu: Alter @val usage in qemuSetUnprivSGIO (rhbz#1656362)
edecca
- qemu: Alter qemuSetUnprivSGIO hostdev shareable logic (rhbz#1656362)
edecca
edecca
* Mon Dec 17 2018 Jiri Denemark <jdenemar@redhat.com> - 4.5.0-16
edecca
- util: Don't overflow in virRandomBits (rhbz#1655586)
edecca
- virrandom: Avoid undefined behaviour in virRandomBits (rhbz#1655586)
edecca
- spec: remove libcgroup and cgconfig (rhbz#1602407)
edecca
- qemu: Drop duplicated code from qemuDomainDefValidateFeatures() (rhbz#1647822)
edecca
- tests: Add capabilities data for QEMU 3.1.0 on ppc64 (rhbz#1647822)
edecca
- qemu: Introduce QEMU_CAPS_MACHINE_PSERIES_CAP_NESTED_HV (rhbz#1647822)
edecca
- conf: Parse and format nested-hv feature (rhbz#1647822)
edecca
- qemu: Format nested-hv feature on the command line (rhbz#1647822)
edecca
- qemu: Add check for whether KVM nesting is enabled (rhbz#1645139)
edecca
- secret: Add check/validation for correct usage when LookupByUUID (rhbz#1656255)
edecca
- cpu: Add support for "stibp" x86_64 feature (rhbz#1655032)
edecca
edecca
* Mon Dec  3 2018 Jiri Denemark <jdenemar@redhat.com> - 4.5.0-15
edecca
- virfile: Take symlink into account in virFileIsSharedFixFUSE (rhbz#1634782)
edecca
- qemu: Ignore nwfilter binding instantiation issues during reconnect (rhbz#1648544)
edecca
- qemu: Set identity for the reconnect all thread (rhbz#1648546)
edecca
- Revert "access: Modify the VIR_ERR_ACCESS_DENIED to include driverName" (rhbz#1631608)
edecca
- access: Modify the VIR_ERR_ACCESS_DENIED to include driverName (rhbz#1631608)
edecca
- qemu: add vfio-ap capability (rhbz#1508146)
edecca
- qemu: vfio-ap device support (rhbz#1508146)
edecca
- qemu: Extract MDEV VFIO PCI validation code into a separate helper (rhbz#1508146)
edecca
- conf: Move VFIO AP validation from post parse to QEMU validation code (rhbz#1508146)
edecca
- qemu: Fix post-copy migration on the source (rhbz#1649169)
edecca
edecca
* Fri Nov  9 2018 Jiri Denemark <jdenemar@redhat.com> - 4.5.0-14
edecca
- storage: Remove secretPath from _virStorageBackendQemuImgInfo (rhbz#1645459)
edecca
- storage: Allow for inputvol to have any format for encryption (rhbz#1645459)
edecca
- storage: Allow inputvol to be encrypted (rhbz#1645459)
edecca
- access: Modify the VIR_ERR_ACCESS_DENIED to include driverName (rhbz#1631608)
edecca
- docs: Enhance polkit documentation to describe secondary connection (rhbz#1631608)
edecca
- qemu: Don't ignore resume events (rhbz#1634758, rhbz#1643338)
edecca
edecca
* Thu Nov  1 2018 Jiri Denemark <jdenemar@redhat.com> - 4.5.0-13
edecca
- Revert "spec: Temporarily drop gluster support" (rhbz#1599339)
edecca
edecca
* Wed Oct 17 2018 Jiri Denemark <jdenemar@redhat.com> - 4.5.0-12
edecca
- RHEL: Require firewalld-filesystem for firewalld rpm macros (rhbz#1639932)
edecca
edecca
* Tue Oct 16 2018 Jiri Denemark <jdenemar@redhat.com> - 4.5.0-11
edecca
- virfile: fix cast-align error (rhbz#1634782)
edecca
- virfiletest: Fix test name prefix for virFileInData test (rhbz#1634782)
edecca
- virfiletst: Test virFileIsSharedFS (rhbz#1634782)
edecca
- virFileIsSharedFSType: Detect direct mount points (rhbz#1634782)
edecca
- virfile: Rework virFileIsSharedFixFUSE (rhbz#1634782)
edecca
- RHEL: network: regain guest network connectivity after firewalld switch to nftables (rhbz#1638864)
edecca
edecca
* Mon Oct  8 2018 Jiri Denemark <jdenemar@redhat.com> - 4.5.0-10
edecca
- conf: Fix check for chardev source path (rhbz#1609723)
edecca
- tests: Reuse qemucapabilities data for qemucaps2xml (rhbz#1629862)
edecca
- tests: Add more tests to qemucaps2xml (rhbz#1629862)
edecca
- qemu: Drop QEMU_CAPS_ENABLE_KVM (rhbz#1629862)
edecca
- qemu: Avoid probing non-native binaries all the time (rhbz#1629862)
edecca
- qemu: Clarify QEMU_CAPS_KVM (rhbz#1629862)
edecca
- qemu: Don't check for /dev/kvm presence (rhbz#1629862)
edecca
- tests: Follow up on qemucaps2xmldata rename (rhbz#1629862)
edecca
- security: dac: also label listen UNIX sockets (rhbz#1634775)
edecca
- spec: Set correct TLS priority (rhbz#1632269)
edecca
- spec: Build ceph and gluster support everywhere (rhbz#1599546)
edecca
- virsh: Require explicit --domain for domxml-to-native (rhbz#1634769)
edecca
- virFileIsSharedFSType: Check for fuse.glusterfs too (rhbz#1634782)
edecca
- qemu: fix up permissions for pre-created UNIX sockets (rhbz#1634775)
edecca
- cpu_map: Add features for Icelake CPUs (rhbz#1527657, rhbz#1526625)
edecca
- cpu_map: Add Icelake CPU models (rhbz#1526625)
edecca
- qemu: Properly report VIR_DOMAIN_EVENT_RESUMED_FROM_SNAPSHOT (rhbz#1634758)
edecca
- qemu: Report more appropriate running reasons (rhbz#1634758)
edecca
- qemu: Pass running reason to RESUME event handler (rhbz#1634758)
edecca
- qemu: Map running reason to resume event detail (rhbz#1634758)
edecca
- qemu: Avoid duplicate resume events and state changes (rhbz#1634758)
edecca
- conf: qemu: add support for Hyper-V frequency MSRs (rhbz#1589702)
edecca
- conf: qemu: add support for Hyper-V reenlightenment notifications (rhbz#1589702)
edecca
- conf: qemu: add support for Hyper-V PV TLB flush (rhbz#1589702)
edecca
edecca
* Wed Sep  5 2018 Jiri Denemark <jdenemar@redhat.com> - 4.5.0-9
edecca
- RHEL: Fix virConnectGetMaxVcpus output (rhbz#1582222)
edecca
- storage: Add --shrink to qemu-img command when shrinking vol (rhbz#1622534)
edecca
- access: Fix nwfilter-binding ACL access API name generation (rhbz#1622540)
edecca
- conf: Add validation of input devices (rhbz#1591240)
edecca
- tests: qemu: Remove disk from graphics-vnc-tls (rhbz#1598167)
edecca
- tests: qemu: test more versions for graphics-vnc-tls (rhbz#1598167)
edecca
- qemu: vnc: switch to tls-creds-x509 (rhbz#1598167)
edecca
- qemu: mdev: Use vfio-pci 'display' property only with vfio-pci mdevs (rhbz#1624740)
edecca
- virDomainDefCompatibleDevice: Relax alias change check (rhbz#1603133)
edecca
- virDomainDetachDeviceFlags: Clarify update semantics (rhbz#1603133)
edecca
- virDomainNetDefCheckABIStability: Check for MTU change too (rhbz#1623158)
edecca
- RHEL: spec: Require python3-devel on RHEL-8 (rhbz#1518446)
edecca
- qemu: monitor: Remove qemuMonitorJSONExtractCPUArchInfo wrapper (rhbz#1598829)
edecca
- qemu: monitor: Use 'target' instead of 'arch' in reply of 'query-cpus-fast' (rhbz#1598829)
edecca
edecca
* Tue Aug 21 2018 Jiri Denemark <jdenemar@redhat.com> - 4.5.0-8
edecca
- tests: Add missing thread_siblings_list files (rhbz#1608479)
edecca
- util: Rewrite virHostCPUCountThreadSiblings() (rhbz#1608479)
edecca
- utils: Remove arbitrary limit on socket_id/core_id (rhbz#1608479)
edecca
- tests: Add linux-high-ids test (rhbz#1608479)
edecca
- qemu: hotplug: Fix asynchronous unplug of 'shmem' (rhbz#1618680)
edecca
- tests: rename hugepages to hugepages-default (rhbz#1615461)
edecca
- tests: extract hugepages-numa-default-dimm out of hugepages-numa (rhbz#1615461)
edecca
- tests: rename hugepages-numa into hugepages-numa-default (rhbz#1615461)
edecca
- tests: remove unnecessary XML elements from hugepages-numa-default (rhbz#1615461)
edecca
- tests: extract pages-discard out of hugepages-pages (rhbz#1615461)
edecca
- tests: rename hugepages-pages into hugepages-numa-nodeset (rhbz#1615461)
edecca
- tests: rename hugepages-pages2 into hugepages-numa-default-2M (rhbz#1615461)
edecca
- tests: extract pages-discard-hugepages out of hugepages-pages3 (rhbz#1615461)
edecca
- tests: rename hugepages-pages3 into hugepages-numa-nodeset-part (rhbz#1615461)
edecca
- tests: rename hugepages-pages4 into hugepages-numa-nodeset-nonexist (rhbz#1615461)
edecca
- tests: rename hugepages-pages5 into hugepages-default-2M (rhbz#1615461)
edecca
- tests: rename hugepages-pages6 into hugepages-default-system-size (rhbz#1615461)
edecca
- tests: rename hugepages-pages7 into pages-dimm-discard (rhbz#1615461)
edecca
- tests: rename hugepages-pages8 into hugepages-nodeset-nonexist (rhbz#1615461)
edecca
- tests: introduce hugepages-default-1G-nodeset-2M (rhbz#1615461)
edecca
- tests: introduce hugepages-nodeset (rhbz#1615461)
edecca
- conf: Move hugepage XML validation check out of qemu_command (rhbz#1615461)
edecca
- conf: Move hugepages validation out of XML parser (rhbz#1615461)
edecca
- conf: Introduce virDomainDefPostParseMemtune (rhbz#1615461)
edecca
- tests: sev: Test launch-security with specific QEMU version (rhbz#1619150)
edecca
- qemu: Fix probing of AMD SEV support (rhbz#1619150)
edecca
- qemu: caps: Format SEV platform data into qemuCaps cache (rhbz#1619150)
edecca
- conf: Parse guestfwd channel device info again (rhbz#1610072)
edecca
edecca
* Thu Aug 16 2018 Jiri Denemark <jdenemar@redhat.com> - 4.5.0-7
edecca
- qemu_migration: Avoid writing to freed memory (rhbz#1615854)
edecca
edecca
* Thu Aug  2 2018 Jiri Denemark <jdenemar@redhat.com> - 4.5.0-6
edecca
- qemu: Exempt video model 'none' from getting a PCI address on Q35
edecca
- conf: Fix a error msg typo in virDomainVideoDefValidate
edecca
edecca
* Tue Jul 31 2018 Jiri Denemark <jdenemar@redhat.com> - 4.5.0-5
edecca
- esx storage: Fix typo lsilogic -> lsiLogic
edecca
- networkGetDHCPLeases: Don't always report error if unable to read leases file
edecca
- nwfilter: Resolve SEGV for NWFilter Snoop processing
edecca
- qemu: Remove unused bypassSecurityDriver from qemuOpenFileAs
edecca
- qemuDomainSaveMemory: Don't enforce dynamicOwnership
edecca
- domain_nwfilter: Return early if net has no name in virDomainConfNWFilterTeardownImpl
edecca
- examples: Add clean-traffic-gateway into nwfilters
edecca
edecca
* Mon Jul 23 2018 Jiri Denemark <jdenemar@redhat.com> - 4.5.0-4
edecca
- qemu: hotplug: don't overwrite error message in qemuDomainAttachNetDevice
edecca
- qemu: hotplug: report error when changing rom enabled attr for net iface
edecca
- qemu: Fix setting global_period cputune element
edecca
- tests: qemucaps: Add test data for upcoming qemu 3.0.0
edecca
- qemu: capabilities: Add capability for werror/rerror for 'usb-device' frontend
edecca
- qemu: command: Move graphics iteration to its own function
edecca
- qemu: address: Handle all the video devices within a single loop
edecca
- conf: Introduce virDomainVideoDefClear helper
edecca
- conf: Introduce virDomainDefPostParseVideo helper
edecca
- qemu: validate: Enforce compile time switch type checking for videos
edecca
- tests: Add capabilities data for QEMU 2.11 x86_64
edecca
- tests: Update capabilities data for QEMU 3.0.0 x86_64
edecca
- qemu: qemuBuildHostdevCommandLine: Use a helper variable mdevsrc
edecca
- qemu: caps: Introduce a capability for egl-headless
edecca
- qemu: Introduce a new graphics display type 'headless'
edecca
- qemu: caps: Add vfio-pci.display capability
edecca
- conf: Introduce virDomainGraphicsDefHasOpenGL helper
edecca
- conf: Replace 'error' with 'cleanup' in virDomainHostdevDefParseXMLSubsys
edecca
- conf: Introduce new <hostdev> attribute 'display'
edecca
- qemu: command: Enable formatting vfio-pci.display option onto cmdline
edecca
- docs: Rephrase the mediated devices hostdev section a bit
edecca
- conf: Introduce new video type 'none'
edecca
- virt-xml-validate: Add schema for nwfilterbinding
edecca
- tools: Fix typo generating adapter_wwpn field
edecca
- src: Fix memory leak in virNWFilterBindingDispose
edecca
edecca
* Mon Jul 23 2018 Jiri Denemark <jdenemar@redhat.com> - 4.5.0-3
edecca
- qemu: hotplug: Do not try to add secret object for TLS if it does not exist
edecca
- qemu: monitor: Make qemuMonitorAddObject more robust against programming errors
edecca
- spec: Explicitly require matching libvirt-libs
edecca
- virDomainConfNWFilterInstantiate: initialize @xml to avoid random crash
edecca
- qemuProcessStartPRDaemonHook: Try to set NS iff domain was started with one
edecca
- qemuDomainValidateStorageSource: Relax PR validation
edecca
- virStoragePRDefFormat: Suppress path formatting for migratable XML
edecca
- qemu: Wire up PR_MANAGER_STATUS_CHANGED event
edecca
- qemu_monitor: Introduce qemuMonitorJSONGetPRManagerInfo
edecca
- qemu: Fetch pr-helper process info on reconnect
edecca
- qemu: Fix ATTRIBUTE_NONNULL for qemuMonitorAddObject
edecca
- virsh.pod: Fix a command name typo in nwfilter-binding-undefine
edecca
- docs: schema: Add missing <alias> to vsock device
edecca
- virnetdevtap: Don't crash on !ifname in virNetDevTapInterfaceStats
edecca
- tests: fix TLS handshake failure with TLS 1.3
edecca
edecca
* Mon Jul  9 2018 Jiri Denemark <jdenemar@redhat.com> - 4.5.0-2
edecca
- qemu: Add capability for the HTM pSeries feature
edecca
- conf: Parse and format the HTM pSeries feature
edecca
- qemu: Format the HTM pSeries feature
edecca
- qemu: hotplug: Don't access srcPriv when it's not allocated
edecca
- qemuDomainNestedJobAllowed: Allow QEMU_JOB_NONE
edecca
- src: Mention DEVICE_REMOVAL_FAILED event in virDomainDetachDeviceAlias docs
edecca
- virsh.pod: Drop --persistent for detach-device-alias
edecca
- qemu: don't use chardev FD passing with standalone args
edecca
- qemu: remove chardevStdioLogd param from vhostuser code path
edecca
- qemu: consolidate parameters of qemuBuildChrChardevStr into flags
edecca
- qemu: don't use chardev FD passing for vhostuser backend
edecca
- qemu: fix UNIX socket chardevs operating in client mode
edecca
- qemuDomainDeviceDefValidateNetwork: Check for range only if IP prefix set
edecca
- spec: Temporarily drop gluster support
edecca
edecca
* Tue Jul  3 2018 Jiri Denemark <jdenemar@redhat.com> - 4.5.0-1
edecca
- Rebased to libvirt-4.5.0
edecca
edecca
* Fri May 25 2018 Jiri Denemark <jdenemar@redhat.com> - 4.3.0-1
edecca
- Rebased to libvirt-4.3.0
edecca
edecca
* Wed Mar 21 2018 Daniel P. Berrangé <berrange@redhat.com> - 4.1.0-2
edecca
- Fix systemd macro argument with line continuations (rhbz#1558648)
edecca
edecca
* Mon Mar  5 2018 Daniel Berrange <berrange@redhat.com> - 4.1.0-1
edecca
- Rebase to version 4.1.0
edecca
edecca
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.0-2
edecca
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
edecca
edecca
* Fri Jan 19 2018 Daniel P. Berrange <berrange@redhat.com> - 4.0.0-1
edecca
- Rebase to version 4.0.0
edecca
edecca
* Wed Dec 20 2017 Cole Robinson <crobinso@redhat.com> - 3.10.0-2
edecca
- Rebuild for xen 4.10
edecca
edecca
* Tue Dec  5 2017 Daniel P. Berrange <berrange@redhat.com> - 3.10.0-1
edecca
- Rebase to version 3.10.0
edecca
edecca
* Fri Nov  3 2017 Daniel P. Berrange <berrange@redhat.com> - 3.9.0-1
edecca
- Rebase to version 3.9.0
edecca
edecca
* Wed Oct  4 2017 Daniel P. Berrange <berrange@redhat.com> - 3.8.0-1
edecca
- Rebase to version 3.8.0
edecca
edecca
* Mon Sep  4 2017 Daniel P. Berrange <berrange@redhat.com> - 3.7.0-1
edecca
- Rebase to version 3.7.0
edecca
edecca
* Wed Aug  2 2017 Daniel P. Berrange <berrange@redhat.com> - 3.6.0-1
edecca
- Rebase to version 3.6.0
edecca
edecca
* Sun Jul 30 2017 Florian Weimer <fweimer@redhat.com> - 3.5.0-4
edecca
- Rebuild with binutils fix for ppc64le (#1475636)
edecca
edecca
* Tue Jul 25 2017 Daniel P. Berrange <berrange@redhat.com> - 3.5.0-3
edecca
- Disabled RBD on i386, arm, ppc64 (rhbz #1474743)
edecca
edecca
* Mon Jul 17 2017 Cole Robinson <crobinso@redhat.com> - 3.5.0-2
edecca
- Rebuild for xen 4.9
edecca
edecca
* Thu Jul  6 2017 Daniel P. Berrange <berrange@redhat.com> - 3.5.0-1
edecca
- Rebase to version 3.5.0
edecca
edecca
* Fri Jun  2 2017 Daniel P. Berrange <berrange@redhat.com> - 3.4.0-1
edecca
- Rebase to version 3.4.0
edecca
edecca
* Mon May  8 2017 Daniel P. Berrange <berrange@redhat.com> - 3.3.0-1
edecca
- Rebase to version 3.3.0
edecca
edecca
* Mon Apr  3 2017 Daniel P. Berrange <berrange@redhat.com> - 3.2.0-1
edecca
- Rebase to version 3.2.0
edecca
edecca
* Fri Mar  3 2017 Daniel P. Berrange <berrange@redhat.com> - 3.1.0-1
edecca
- Rebase to version 3.1.0
edecca
edecca
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.0-2
edecca
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
edecca
edecca
* Thu Jan 19 2017 Daniel P. Berrange <berrange@redhat.com> - 3.0.0-1
edecca
- Rebase to version 3.0.0