meta-virtualization/recipes-extended/libvirt/libvirt_git.bb
Bruce Ashfield 389df3b77e libvirt: update to v11.8.0
Bumping libvirt to version v11.8.0-87-g0c1a1f9fd4, which comprises the following commits:

    0c1a1f9fd4 qemu: Drop reconnectBlockjobs from _qemuDomainObjPrivate struct
    7353bc5fda NEWS: Document new host-model hyperv mode
    8458bb521e qemu_process: Populate hyperv features for host-model
    c181c7dd13 conf: Introduce hyperv host-model mode
    4545827ba3 qemu_caps: Introduce virQEMUCapsGetHypervCapabilities()
    ba011bebd9 qemu_capabilities: Fetch new hyperv domcaps
    0141f6544c qemu_capabilities: Format and parse new hyperv domcaps members
    57d2f4a0f0 conf: Report default hyperv values in domain capabilities
    4cc4f0b04a docs: Drop remark on now unsupported version of QEMU
    47271c204e conf: More hyperv related members into a single struct
    064682ab33 libxl: Simplify setting HyperV features
    c66bbac8d5 qemu_command: Prefer virBufferAddLit() in qemuBuildCpuHypervCommandLine()
    8b316fac49 qemu_command: Move hyperv cmd line generation into a function
    727c858d6a qemu_caps: Prefer VIR_DOMAIN_CAPS_ENUM_IS_SET()
    c9716c0e09 domain_conf: Use virXMLFormatElement() to format hyperv features
    78aa096ae2 domain_conf: Move format of hyperv features into a function
    5369f071e4 qemu: Use virXPathTristateBool()
    e3e4c620f1 virxml: Introduce virXPathTristateBool()
    c689aa80c1 virxml: Introduce virXPathTristateSwitch()
    b42a12174c wireshark: Adapt to wireshark-4.6.0
    002b9f559d wireshark: Don't leak column strings
    ba2c4bdd5c wireshark: Introduce and use vir_val_to_str()
    1086888f95 wireshark: Don't special case retval of get_program_data() in dissect_libvirt_message()
    7374c4ecbd wireshark: Fix int type of some virNetMessageHeader members
    02a0e78bf5 wireshark: Move WIRESHARK_VERSION macro definition
    41d3b45797 wireshark: Switch header files to #pragma once
    b825bb556b wireshark: Drop needless declaration of proto_register_libvirt() and proto_reg_handoff_libvirt()
    235e265b41 NEWS: Document Hyper-V enlightenment validation
    1d2873f9c6 qemu_validate: Reflect dependencies of hv-tlbflush-direct
    c6114de13c qemu_validate: Reflect dependencies of hv-evmcs
    f4557315f3 qemu_validate: Reflect dependencies of hv-ipi
    941af83360 qemu_validate: Reflect dependencies of hv-tlbflush
    da261327ea qemu_validate: Reflect dependencies of hv-stimer
    1822d030c3 qemu_validate: Reflect dependencies of hv-synic
    da76c1e8fe qemuxmlconfdata: Adjust hv-stimer related tests
    359909749a conf: Introduce virDomainDefHasTimer()
    6b71d32779 src: Drop needless typecast to virDomainTimerNameType
    88225150be network: pf: split flush and rules commands
    0756fefdc5 syntax-check: Prohibit the non-clearing 'g_new'
    a74b5bc37f Replace all use of 'g_new' with 'g_new0'
    5bc43f95e5 qemu-replies-tool: Fix logic error when dumping device properties
    076545ef27 qemucapabilitiestest: Update 'caps_10.2.0_x86_64' to v10.1.0-1060-geb7abb4a71
    31800ec2b1 locking: use & install test_libvirt_sanlock.sug for both QEMU & LibXL
    cfed8b9e55 Revert "rpm: disable sanlock when QEMU is disabled"
    fcfd6f12c5 qemu: Don't add memballoon by default on RISC-V
    574d797f59 news: Update for USB controller model selection improvements
    436485cb7c qemu: Remove use of piix3-uhci for non-x86
    198e68197c qemu: Remove fallback to piix3-uhci for Arm virt guests
    21e584a4fb qemu: Don't special-case realview/versatilebp for USB
    bfe1aca211 qemu: Unify USB controllers across Arm architectures
    d9add4c3f1 qemu: Use qemu-xhci with no fallback on RISC-V
    a618b9e1cd qemu: Use qemu-xhci with no fallback on loongarch64
    c7365dd157 qemu: Clean up qemuDomainDefaultUSBControllerModelAutoAdded()
    8bb0f4275a qemu: Clean up qemuDomainDefaultUSBControllerModel()
    44a63c2188 qemu: Add qemuDomainDefaultUSBControllerModelAutoAdded()
    25be83dbfc qemu: Add qemuDomainDefaultUSBControllerModel()
    45eab0181e qemu: Validate USB controllers earlier
    5050039e30 qemu: Skip USB controller validation when model=none
    dc6e5b676d qemu: Validate PCI support for USB controllers
    2bbfcd2042 qemu: Rename function argument
    d069531a57 qemu: Fold check into qemuBuildSkipController()
    de797a86e1 qemu: Drop skip for USB controllers on s390x
    bed1112bbb qemu: Don't generate alias for model=none USB controllers
    ec1848975c qemu: Always default to no USB controller on s390x
    519cc637e8 qemu: Add sanity checks for auto-added PCI controllers
    956253d1cd qemu: Update qemuDomainSupportsPCI()
    2ad21cd97f qemu: Validate presence of PCI support
    fa46554957 qemu: Prevent use of PCI devices when PCI is not supported
    a66db76447 qemu: Introduce qemuDomainNetIsPCI()
    c60d168605 qemu: Don't add PCI, USB or memballoon to microvm
    80eb60354e qemu: Don't add memballoon to isapc
    205e131f97 tests: Add coverage for PCI use with isapc and microvm
    b38fb62e2e qemu: Fix PCI/USB handling for Arm realview boards
    30e3efad52 tests: Use realview-eb instead of realview-pbx-a9
    a416ccfb98 qemu: Check for pci-ohci availability
    4005d83a9a tests: Fix some usb-controller-*-unavailable cases
    9a3ff406b7 tests: Expand coverage for automatic/default USB controllers
    b5956b30aa tests: Rename usb-controller-implicit-*
    2a9bdeb0d5 tests: Minimize usb-controller tests
    b00c8f4b5f tests: Don't set PCI address in usb-controller-default tests
    6448293933 tests: Don't use memballoon=none for minimal tests
    fab45749f8 tests: Drop coverage for versatilepb on aarch64
    58d555fae7 tests: Fix typo in usb-controller-nec-xhci-autoassign
    f61b083f3d tests: validate an XML config with USB vendor/product set
    fefde61758 rpm: disable sanlock when QEMU is disabled
    f101e3432d rpc: fix race against dtrace probe generator
    eb99bbaf2e Post-release version bump to 11.9.0
    74249df557 Release of libvirt-11.8.0
    ade9dcf6c1 Translated using Weblate (Portuguese)
    a993609f46 NEWS: Fix format of XML elements/attributes in v11.8.0 section
    c2c08056a1 NEWS: Document features/improvements/bug fixes I've participated in
    9b7cfb7886 Translated using Weblate (Chinese (Simplified) (zh_CN))
    9324a2ca05 Translated using Weblate (Korean)
    227ec18c98 Translated using Weblate (Portuguese)
    9d57b562bd bhyve: hooks: improve process start error handling
    3a3ee77682 Update translation files
    2ffcadbf7c po: Refresh potfile for v11.8.0
    dcd5915030 Translated using Weblate (Portuguese)
    c925705fc9 Translated using Weblate (Spanish)
    7c49321678 Translated using Weblate (Spanish)
    c3d08ce65e tests: qemuxmlconftest: test locking with older virtiofsd
    90b4a24870 tests: qemuxmlconftests: test virtiofsd command line too
    bab8033bcc tests: qemuxmlconf: virtiofs: remove locking from the readonly test case
    0a33b7954c tests: qemuxmlconftest: test passt command line too
    43c2cd1d08 export qemuVirtioFSBuildCommandLine
    41eea2fe89 tests: qemuxmlconftest: Introduce testQemuConfMarkUsed
    94a15c3e68 tests: qemuxmlconftests: store suffix in testQemuInfo
    fc1e4eb008 qemu: passt: split out qemuPasstBuildCommand
    b1983d96f5 news: Update for firmware selection fixes
    2800ce3620 qemu: Fix matching for read/write firmware
    0b8daf9f68 qemu: Fix matching for stateless/combined firmware
    20813b87b7 tests: Add tests for SEV firmware selection
    6d35a0b554 tests: Improve AMD SEV-related tests
    05b67b8cde tests: Minimize SEV tests
    f2dbd14342 tests: Tweak descriptor for combined firmware
    2d6e21885f qemuMigrationSrcIsSafeDisk: Allow non-shared qcow2's with raw data file
    6e5a3334b2 qemuBlockGetNamedNodeData: Extract 'data_file_raw' flag
    f8201b0032 qemuMigrationSrcIsSafeDisk: Check also data file properties for migrability
    0ca45005d7 qemuMigrationSrcIsSafeDisk: Extract safe migration checks for one storage source
    60899fc8fc qemuMigrationSrcIsSafe: Extract code for checking safe migrability of one disk
    9bf19c09a4 qemuMigrationSrcIsSafe: Drop 'DEBUG' message about qemu supporting cache dropping
    07a40de613 ci: regenerate with 'lcitool manifest'
    970fead068 docs/apps: Remove "Cuckoo Sandbox"
    04c1f45831 Translated using Weblate (Portuguese)
    8e8f496d87 Translated using Weblate (Portuguese)
    c1f742fe69 Translated using Weblate (Chinese (Simplified) (zh_CN))
    229f9e8ee8 Translated using Weblate (Portuguese)
    4eb9cc83c8 Translated using Weblate (Spanish)
    1d1e316152 util: remove glibcompat.c
    48f04627c8 build: bump minimum glib version to 2.68
    a9bd4c1e0b ch: Implement virConnectDomainEventDeregister()
    5c04a84638 ch: Implement virConnectDomainEventRegister()
    76adad0b01 ch: Propagate lifecycle events
    f9c1b910bf ch: Emit event on device attach
    9c767752f2 ch: Emit event on device attach
    06802eeceb ch: Unlock domain in virCHEventStopProcess() on all exit paths
    cd00c70695 ch: Avoid memory leak in virCHProcessEvents()
    39a0374d13 Translated using Weblate (Portuguese)
    addb80ef41 Translated using Weblate (Spanish)
    bbe7b999ff Translated using Weblate (Spanish)
    0a77a035fd Added translation using Weblate (Arabic)
    96d1bfee3e conf: auto-add a pcie-root-port when needed while plugging in pcie-to-pci-bridge
    698aea684a conf: improve error message when a PCI controller can't be auto-added
    ce74632a61 conf: add forgotten clause to virDomainPCIControllerConectTypeToModel()
    82b794ca12 qemu: fix multiple missing setup/teardown of passt process for interface type='vhostuser'
    cca246e0cb qemu: support setting guest hostname/fqdn using DHCP on passt-backed interfaces
    f2a6c2d39d ch: Avoid memleak on disk detach in chDomainRemoveDevice()
    6751994950 ch: Drop useless variable in chDomainFindDisk()
    7b70c1868c ch: Drop deadcode from chDomainDetachDeviceLive()
    3bd17ffe97 ch: Actually remove device in chDomainDetachDeviceLive()
    20d5c61cb4 ch: Avoid memleak in virCHDriverConfigDispose()
    f35a1def9d ch: Implement VIR_DOMAIN_DESTROY_GRACEFUL flag support
    e635b6a6f7 ch: Introduce flags to virCHProcessStop()
    fc56f7279f ch: Make sure the cloud-hypervisor process is killed in virCHProcessStop()
    5a89be0611 virprocess: Report errno if virProcessAbort() fails
    7afc0388b8 conf: clear the acpiNodeset field after freeing
    e7d1a3e2fe qemu: block: Always enable discard forwarding for 'throttle' filter layer
    bfc08fcfe5 datatypes: Refactor rest of 'virGet*' helpers
    3abc707b2c datatypes: virGetStream: Add missing 'virCheckConnectReturn' check
    c3bdec1af0 NEWS: Mention new acpi-generic-initiator support
    d983a6bf3b docs: Document acpi nodeset in hostdev
    d12d0b160d qemu: Add acpi-generic-initiator unit test
    9c24784933 qemu: Generate acpi-generic-initiator command from acpi nodeset
    7032eb24e6 qemu: Validate acpi nodeset
    8275408276 conf: Add nodeset attribute to the <acpi> element
    b21822a29c qemu: Allow to define NUMA nodes without memory or CPUs assigned
    daccea611d qemu: capabilies: Introduce QEMU_CAPS_ACPI_GENERIC_INITIATOR
    d0752fafdb NEWS: announce disk hotplug support for ch
    fc7a3099bb ch: implement disk device detach in public API
    62330a66d3 ch: add disk detach helper functions
    f9cd2cf238 ch: add virCHMonitorRemoveDevice function
    4ba796ab74 ch: add virCHMonitorBuildKeyValueJson
    37f4fc95f3 ch: implement disk attach in public API
    98c995bdf4 ch: add disk attach helper functions
    ce7b66a48a ch: add monitor disk attach logic
    eb9906468f ch: add/use virCHMonitorPut function
    e285053dc7 ch: refactor virCHMonitorBuildDiskJson
    c90b6ff46a ch: pass disk alias to CHV
    c5f743c44e ch: assign aliases in ProcessPrepareDomain
    40b3321a70 ch: add ch_alias.{c,h} for device alias handling
    00db172987 ch: add ch_hotplug.{h,c} files to CH build
    6d912238ca esx: pass 'long' to curl_easy_setopt when needed
    d05443820e qemu: Don't query unavailable-features if qom-list-get is supported
    e18bc30236 qemu: Let qemuMonitorJSONGetCPUProperties also return disabled features
    5b88383e21 qemu: Merge qemuMonitorJSONGetCPUDataDisabled in qemuMonitorJSONGetGuestCPU
    74261b249f qemu: Always fetch disabled features in qemuMonitorJSONGetGuestCPU
    ffdbbc4138 qemu: Merge qemuMonitorJSONGetCPUData in qemuMonitorJSONGetGuestCPU
    1dee4afb14 qemu: Add qemuMonitorJSONCPUDataAddFeatures helper
    53eb546519 tests: Test qemuMonitorJSONGetGuestCPU with qom-get-list
    b21b211923 qemu: Use qom-list-get for checking enabled CPU features
    a5322a0a4c qemu: Introduce QEMU_CAPS_QOM_LIST_GET capability
    a9fad838f2 qemu: Parse properties list from any JSON array
    3c25adb289 qemu: Move feature filtering to qemuMonitorJSONGetCPUProperties
    001769452b qemu: Generalize filtering in qemuMonitorJSONParsePropsList
    5935abb72c tests: Test qemuMonitorJSONGetGuestCPU with empty unavailable-features
    4b7304cfe8 tests: Add a test for qemuMonitorJSONGetGuestCPU
    cab77b7a14 qemu: Drop legacy probing of CPU features
    55583ae429 libvirt-host: VIR_NODE_CPU_STATS_GUEST: clarify "guest" time
    814bec16ee tests: Drop unused vm variable in testQemuMonitorCPUInfo
    62a40b89b7 docs : add doc on cpu model and features
    f68fddeef0 Translated using Weblate (Portuguese)
    80a51de596 Translated using Weblate (Spanish)
    0aea1d3e46 scripts: qemu-replies-tool: Add option to dump JSON commands that weren't processed by --dump-all
    3fd2cd1115 scripts: qemu-replies-tool: Add stable dump of 'query-command-line-options'
    8c5eec9814 scripts: qemu-replies-tool: Dump data from query-version/query-target/query-kvm
    c961ddc535 scripts: qemu-replies-tool: Prefix output with filename when dumping data for multiple files
    301e1ba244 scripts: qemu-replies-tool: List also data from 'qom-list-properties'
    e53eb41b0d scripts: qemu-replies-tool: Dump machine types in --dump-all
    790fec6e53 scripts: qemu-replies-tool: Drop specific invocation of marginally useful dump modes
    5e585abc1c scripts: qemu-replies-tool: Convert the QMP conversation to list of dicts
    05a53dcf54 qemuxmlconftest: Add pinned versions of the 'cpu-host-*' cases for qemu-10.1
    c97374c612 qemucapabilitiestest: Add data for the qemu-10.2 dev cycle
    a1210230eb qemuxmlconftest: Rename and strip specific machine type from 'x86_64-default-cpu-*' cases
    9eda374f1d qemuxmlconftest: Add missing version specific invocations for 'cpu-host' tests
    f005ba072c qemu: monitor: Remove query-tpm-modes/query-tpm-types infrastructure
    aabccf3974 qemu: capabilities: Don't use query-tpm-types/query-tpm-models for probe
    8673ac3df5 qemu: capabilities: Detect TPM related capabilities from 'qom-list-types'
    40e12a60de qemu: capabilities: Drop probe of 'query-migrate-capabilities'
    8bb61dadb4 qemu: capabilities: Retire QEMU_CAPS_MIGRATE_RDMA
    c9fada7d0b qemu: Always assume support for QEMU_CAPS_MIGRATE_RDMA
    e19c1fd674 qemu: capabilities: Update '10.1.0' capabilities on x86_64 after release
    ef7fbc7ab4 qemu: monitor: Remove wrappers for 'block-dirty-bitmap-enable'/'block-dirty-bitmap-disable'
    b5878727c7 util: virHostCPUGetStatsLinux: support VIR_NODE_CPU_STATS_GUEST
    317626fae9 Post-release version bump to 11.8.0
    4d408ca4bf Release of libvirt-11.7.0
    44990eaf30 Translated using Weblate (Portuguese)
    62a9069d4d Translated using Weblate (Korean)
    0a7110d4c6 Translated using Weblate (Spanish)
    7bdc64ec94 Translated using Weblate (Portuguese)
    75e6158a95 Translated using Weblate (Spanish)
    37c3ea3ab5 Translated using Weblate (Portuguese)
    f46acba428 Translated using Weblate (Portuguese)
    6df9e7f62b Translated using Weblate (Czech)
    66af43a52d kbase: live_full_disk_backup: Improve the document
    b255d00624 docs: formatsecret: Convert inline emphasis of a warning to the '.. warning:' role
    e627b91a41 css: Add style for '.. note:' and '.. warning:' rST roles
    84f8b7f7d9 kbase: live_full_disk_backup: Fix use of '.. note' directive
    37a1bd9458 daemon: Drop log level of VIR_ERR_NO_SUPPORT to debug
    e45049c610 qemu: hotplug: Audit device detach before deleting it
    a82299ac8b NEWS: document bhyve changes for the release
    3acdea2ed3 Update translation files
    ca61552fe0 po: Refresh potfile for v11.7.0
    1ed76babe3 Translated using Weblate (Portuguese)
    9b584d80b1 Translated using Weblate (Chinese (Simplified) (zh_CN))
    506cf5484a Translated using Weblate (Spanish)
    561d98bbfe Translated using Weblate (Spanish)
    b84b31e27f Translated using Weblate (Spanish)
    6415fb1495 Translated using Weblate (Portuguese)
    9ace7d43c3 Translated using Weblate (Portuguese)
    52930e6ad1 Translated using Weblate (Portuguese)
    8866684043 Translated using Weblate (Portuguese)
    e4e9d5356e Translated using Weblate (Portuguese)
    220cdc680e Translated using Weblate (Portuguese)
    8286b5ff61 Translated using Weblate (Korean)
    83192fedaa Translated using Weblate (Portuguese)
    fc8b8e8220 bhyve: autofill NVRAM data for firmware='efi'
    d06f8f096a docs: add network driver documentation
    4462b85a56 network: bridge_driver: add BSD implementation
    d4ffd95614 bhyve: implement domainBlockStats
    9eddeb354a bhyve: implement domainMemoryStats
    870ccd2db7 virprocess: implement virProcessGetStatInfo() for FreeBSD
    9c8c238af0 bhyve: implement domainInterfaceStats
    291dbefd07 virt-aa-helper: Avoid duplicate when append rule
    35fc21b659 fix typos in NEWS.rst
    4e43cf0a4f docs/tlscerts: mention dropped 'encryption_key'
    aa7e4f5360 docs/tlscerts: document need for socket activation
    06fd44915d spec: Package newly introduced CH conf files
    5b69c37265 NEWS: ch: announce log_level config option
    65e7baed62 ch: add log level configuration option
    5dca0567f6 ch: Add config file support
    c573d08ccf tests/qemuxmlconfdata: add tests for video model 'edid' attribute
    2a0cd28095 conf: add support for 'edid' attribute to video model
    79d6509dbc qemuxmlconftest: Paper over test failure at MacOS
    e4588ddac7 docs: storage: fix the "since" tag
    35e2f4d7fc qemu: Match firmware with fully resolved and canonicalized paths
    12c35ab161 qemuxml2argvmock: Pretend FW blobs are always present
    1686db62ed docs: hacking: Define policy forbidding use of AI code generators
    0f0d561da2 virCHDomainRefreshThreadInfo: Remove illusion that caller cares about return value
    086e2072fd virCHDomainRefreshThreadInfo: Don't trust vcpu ID returned by hypervisor
    73ada8b2b9 qemu: domain: Remove unused qemuDomainGetVcpuHalted
    1067afb690 virDomainVcpuDefPostParse: Remove impossible check
    3ac25cd21b Unexport virCHProcessSetupVcpu
    29bea6b9fc network: introduce Packet Filter firewall backend
    63a0103df3 qemu: don't warn about missing SMM for CVM firmware
    5537732b06 ci: regenerate with 'lcitool manifest'
    23a1eb0dc7 Storage: ZFS: implement `resizeVol` method to support native resize
    b0cc1c5243 docs: update <hwuuid> docs to refer to version 11.7.0
    abe8d89daf qemuxmlconftest: add tests for new hardware UUID (hwuuid) element
    5d2235ff45 conf: introduce hardware UUID (hwuuid) element
    cd71d5a46e src: fix package name in local pkg-config files
    54e853c864 src: add missing libvirt-admin.pc.in for local usage
    70126914fb virnetdevvportprofile: Turn 'virtPortType' of virNetDevVPortProfile into proper enum type
    425ffa3cd5 virnetdevvportprofile: Drop explicit enum virNetDevVPortProfile declaration
    4e19e73bcd Post-release version bump to 11.7.0
    5085c7fd03 Release of libvirt-11.6.0
    1f5d1144eb Translated using Weblate (Korean)
    de4b8a51ca Translated using Weblate (Portuguese)
    dbb5642d12 NEWS: Mention RBD namespaces, and auto-shutdown/key encipherment fixes
    4747fcc07d qemu: Bypass sending VIR_DOMAIN_EVENT_RESUMED event when TD VM reboot
    4ee4bf062e news: document fixed nwfilter driver base chain creation
    ab71cd66a9 NEWS: Document features/improvements/bug fixes I've participated in
    c36c608f48 NEWS: document bhyve changes for the release
    b5a377bb18 Translated using Weblate (Portuguese)
    244f82908c Translated using Weblate (Portuguese)
    d92ed868a2 Translated using Weblate (Portuguese)
    cb1a1a4b6b Translated using Weblate (Portuguese)
    ebd995a8e2 Translated using Weblate (Portuguese)
    16b726693b Translated using Weblate (Portuguese)
    0cbb2dc71c Translated using Weblate (Portuguese)
    906e910d5e Translated using Weblate (Portuguese)
    c55dd6fbda Translated using Weblate (Portuguese)
    0af5b37187 Translated using Weblate (Portuguese)
    d8f099360a Translated using Weblate (Portuguese)
    d09f15eeba Translated using Weblate (Portuguese)
    ac2793f9b5 Translated using Weblate (Portuguese)
    cf33947981 Translated using Weblate (Portuguese)
    435cf5984a Translated using Weblate (Portuguese)
    12a6022e1c Translated using Weblate (Portuguese)
    60ba3e763e Translated using Weblate (Portuguese)
    108eb67121 Translated using Weblate (Portuguese)
    22fa8f7785 Translated using Weblate (Portuguese)
    71cccda5f6 Translated using Weblate (Portuguese)
    3786cb44bd Translated using Weblate (Portuguese)
    8ae8a66891 Translated using Weblate (Portuguese)
    07abe42cd5 Translated using Weblate (Portuguese)
    a0280f0369 Translated using Weblate (Portuguese)
    aff33becb5 Translated using Weblate (Portuguese)
    925040d7bb Revert "qemu: Match firmware with fully resolved and canonicalized paths"
    7baf59f4fc Revert "qemuxmlconfdata: Regenerate outputs after last commit"
    73345ccc7b qemuxmlconfdata: Regenerate outputs after last commit
    4efea21ae8 qemu: Match firmware with fully resolved and canonicalized paths
    249476cbf9 util: Fully resolve paths with virFileComparePaths
    980dd220e5 NEWS: Mention zero discard_granularity option
    802c424edc include: fix version for VIR_CONNECT_BASELINE_CPU_IGNORE_HOST
    c4c1ad0692 include: s/RECREATION/RECREATED/ in domain event names
    ff43c139d3 Update translation files
    b405bc6799 po: Refresh potfile for v11.6.0
    70b67dcc41 Translated using Weblate (Spanish)
    79397fd5d4 Translated using Weblate (Finnish)
    21913e4822 Translated using Weblate (Spanish)
    dcf9e6270f Translated using Weblate (Spanish)
    282ac75b7d Translated using Weblate (Spanish)
    646c39786b Translated using Weblate (Portuguese)
    899704b0ef NEWS: mention disabling deprecated features by default on s390 CPU models
    05bb287a3d qemu: add default_cpu_deprecated_features configuration option
    74c305f197 tests: new qemuxmlactive tests for s390x
    f279ea36b0 qemu: process: refactor deprecated features code
    30335e5fc5 qemu: caps: add virCPUFeaturePolicy param to virQEMUCapsUpdateCPUDeprecatedFeatures
    e03995e63e docs: domain: document deprecated_features attribute
    5e5528ef14 docs: domain: Add documentation for Intel TDX guest
    798f748210 qemuxmlconftest: Add latest version of 'launch-security-tdx*' test data
    fcc12f217e qemu: Support domain reset command for TDX guest
    1af740c501 qemu: Send event VIR_DOMAIN_EVENT_[STOPPED|STARTED] during recreation
    194a36f4fe qemu: Avoid duplicate FakeReboot for secure guest
    312c3afa48 qemu: Support reboot command in guest
    4f73334821 qemu: Add FakeReboot support for TDX guest
    61c4c1b538 qemu: Add command line for TDX Quote Generation Service(QGS)
    8214980432 conf: Add Intel TDX Quote Generation Service(QGS) support
    2dec0d9ede qemu_firmware: Pick the right firmware for TDX guests
    9df19f60f6 qemu: log the crash information for TDX
    626b9ca846 qemu: Force special parameters enabled for TDX guest
    0a825f910b conf: Expose TDX type in domain launch security capability
    67b0720d2f qemu: Add command line and validation for TDX type
    ea625cb60b conf: Validate TDX launchSecurity element mrConfigId/mrOwner/mrOwnerConfig
    e919a4dd37 conf: Add tdx as launch security type
    f873974883 conf: Expose TDX feature in domain capabilities
    121fd19942 qemu: Add QEMU_CAPS_TDX_GUEST capability
    2d8d8f83a1 qemucapabilitiestest: Add data for the qemu-10.1.0 dev cycle on x86_64 for the '+inteltdx' variant
    4c59ff7783 qemucapabilitiesdata: Document '+inteltdx' variant
    d7c96e809d qemu: Check if INTEL Trust Domain Extention support is enabled
    908bb55724 tools: Secure guest check for Intel in virt-host-validate
    a2aeeab0aa meson: Report library versions in the summary
    c2c165ea6c meson: Convert attr_dep to dependency()
    f8be069a0c qemu: Add support for RBD namespace.
    e910f3f172 virStorageSource: Eliminate 'volume' field
    0723e066d9 virStorageFileBackendGlusterInit: Refactor cleanup
    2bdaab374f conf: Turn 'protocol' field of virStorageSource into proper enum type
    fbb9ad02ab qemu: qemuDomainObjPrivateXMLParseVcpu refactor
    9ce764872c conf: virDomainChrDefParseTargetXML refactor
    5dc483d75f util: virSecretLookupParseSecret refactor
    1173b091fe conf: virNetDevVPortProfileParse refactor
    acaed8b247 virBitmapNextClearBit: Correct virBitmapNextClearBit function header comment
    9a7be0662d qemu: driver: Reformat function headers for block job APIs
    3b43fa08ff virSecuritySELinuxGetSecurityMountOptions: refactor printing
    aa732b4272 virSecuritySELinuxGenImageLabel: Refactor cleanup
    0122f88c6e virSecuritySELinuxRestoreInputLabel: Return values directly
    1f1da23162 virSecuritySELinuxSetFilecon: Automatically free 'econ' temp variable
    f69ecd970d virSecuritySELinuxGetProcessLabel: Automatically free 'ctx' temp variable
    6bb5993897 virSecuritySELinuxReserveLabel: Refactor cleanup
    83739c3a18 virSecuritySELinuxGenNewContext: Refactor cleanup
    9aa0cfdd55 virSecuritySELinuxContextAddRange: Refactor cleanup of 'context_t'
    08afef3fdc security_selinux: Declare internal autoptr cleanup helper for 'context_t'
    5db77e0c66 virSecuritySELinuxSetTapFDLabel: Refactor cleanup
    3487f083b9 virSecuritySELinuxSet(Daemon)SocketLabel: Refactor cleanup
    7f35a1e6f2 virSecuritySELinux(Set|Restore)ChardevLabel: Refactor cleanup
    85e22de810 virSecuritySELinux(Set|Restore)HostdevCapsLabel: Refactor cleanup
    4bc8d70969 virSecuritySELinuxRestoreFileLabels: Refactor variable freeing
    c936a456b5 virSecuritySELinux(Set|Restore)TPMFileLabel: Automatically free 'cancel_path'
    80ade3ac7c virSecuritySELinuxRestoreFileLabel: Refactor cleanup
    7891ed2d10 virSecuritySELinuxMCSFind: Refactor variable clearing
    79d2f496a5 virSecuritySELinuxTransactionRun: Refactor cleanup
    aff852bb12 security/security_driver.c/h: Fix function header formatting
    02669921cb news: document new crypto TLS priority string settings
    69485815d6 nwfilter: Check before removing and reinserting iptable base chains
    14e41ac9f3 qemu: add ability to set TLS priority string with QEMU
    0b9cfa791f qemu: sanitize blank lines in config file
    845e1b5138 qemu: fix order of VNC TLS config entries
    b860f44cf2 bhyve: implement timeout for bhyveload
    37fb778e53 bhyve: don't reset domain autostart flag on destroy
    3a39cfacc3 qemu_tpm: Do not use persistent definition during pre-start checks
    93c1571d90 Fix: missing a single quote in doc example
    6f8c5c07cf tests: nssdata: add empty status file
    618eafca05 nss: Debug print JSON files as they are parsed
    cf27a25f9f nss: Print module name
    9787ec5277 nss: Include filename in debug printings
    d8a911ef9d nss: Make logging conditional on an envvar
    bf6b390274 nss: Move logging into a separate file and turn it temporarily on
    c5015c435b nss: Promote debug message to proper error when time() fails
    3ab00ebb0a rpc: virnettlscert: Rename virNetTLSCertLoadCAListFromFile to virNetTLSCertLoadListFromFile
    70c8197a0f virNetTLSCertCheckPair: Fix function definition formatting
    306e27d955 virNetTLSContextNewPath: Refactor temporary variable usage
    bdbfed0b1c rpc: virnettlscontext: Fix formatting of function definitions
    fd0a90be27 NEWS: Mention virConnectHypervisorBaselineCPU improvements
    953f19258a virsh: Add support for VIR_CONNECT_BASELINE_CPU_IGNORE_HOST flag
    f9f2003762 qemu: Implement VIR_CONNECT_BASELINE_CPU_IGNORE_HOST
    bef64f9653 Introduce VIR_CONNECT_BASELINE_CPU_IGNORE_HOST flag
    905d6395b7 Change documentation style of virConnectBaselineCPUFlags
    d74928fed3 Clarify documentation of virConnectBaselineHypervisorCPU
    999d155b21 cpu: Show input CPU model names in debug log
    2d5ce69aa9 qemu_tpm: Don't report uninitialized variable in error message
    12d0fc3cf7 qemu: Report system error on failed open()
    c1cf7cb334 src: fix typo in fixup_name()
    22ee3b78db bhyve: sync error messages
    79456b79f3 bhyve: extend serial devices validation
    91a3d535c6 docs: drvbhyve: document TCP console support
    3a342f6402 bhyve: increase number of supported consoles to 4
    8b7db74d4a bhyve: support serial type 'tcp'
    680ee0e7d1 Allow specifying zero discard granularity for block devices
    3451987fca qemu_tpm: Only warn about missing locking feature on shared filesystems
    6c6b6b2b41 qemu_tpm: Extract per-TPM functionality from qemuTPMDomainHasSharedStorage
    05c5aabb47 qemu_tpm: Rename qemuTPMHasSharedStorage -> qemuTPMDomainHasSharedStorage
    1eaaec533a virshFindDisk: fix NULL-dereference of xmlCopyNode() result
    cad407c862 qemu: qapi: fix potential SIGSEGV in virQEMUQAPISchemaTraverseObject()
    722aad03b0 conf: schemas: add sysinfo.rng and sysinfocommon.rng into list of installed schemas
    1f9a64a016 build: prohibit realpath() by syntax-check
    923cd431b9 conf: virDomainHostdevSubsysMediatedDevDefParseXML refactor
    6465a813d6 schema: Schema validate host '<sysinfo>' XML test documents
    918594b419 conf: schemas: Split out common parts of 'sysinfo' schema
    2da49eaea4 sysinfotest: Use '.xml' suffix for output files
    98a98f9ad6 docs: clarify how to build without -Werror
    81df391428 NEWS: Mention switch to virtio-scsi on ARM and RISC-V
    bf8c7af771 virdevmapper: Always use device name for finding targets
    edf7d9f29a nwfilter: Remove 'qemu-announce-self' example
    e7a7bfa66b qemucapabilitiestest: Add dump for the qemu-10.1 development cycle on x86_64
    325d3e3094 qemuxmlconftest: x86_64: Bump 'firmware*' test cases to 'pc-q35-10.0'
    974ec08cb9 qemuxmlconftest: x86_64: Bump 'firmware*' test cases to 'pc-i440fx-10.0'
    060c9efd42 qemuxmlconftest: x86_64: Drop explicit use of '2.9' machine type
    9ecbbd713f qemuxmlconftest: x86_64: Drop explicit use of '2.5' machine type
    53545ca3c5 qemuxmlconftest: x86_64: Drop explicit use of '2.12' machine type
    922db10ee4 qemuxmlconftest: x86_64: Drop explicit use of '2.10' machine type
    e67952b0e6 tests: virnettls*test: Drop use of GNUTLS_KEY_KEY_ENCIPHERMENT
    3da4602369 kbase: tlscerts: Drop 'encryption_key' feature request
    8cecd3249e tls: Don't require 'keyEncipherment' to be enabled altoghther
    1c2295fbaf virDomainDriverAutoShutdown: Refactor selection logic for VMs
    e1f84ca87e virDomainDriverAutoShutdownDoSave: Don't attempt to save transient VMs
    e13e9b46f6 hypervisor: Split out individual steps out of virDomainDriverAutoShutdown
    82963fdcb6 qemu: Fix auto-shutdown of qemu VMs by the qemu driver
    fe57a6deaa cgroup: Plumb the 'daemonDomainShutdown' parameter of 'virSystemdCreateMachine' to drivers
    9b12b7e859 virSystemdCreateMachine: Add flag to invert machined unit dependencies
    bb51963bb1 hypervisor: domain: Extract logic for auto shutdown to virDomainDriverAutoShutdownActive
    c8adb8537b qemu: conf: Store 'autoShutdown' config in virDomainDriverAutoShutdownConfig
    3e0859566a cgroup: Unexport 'virDomainCgroupInitCgroup'
    0df20b69c8 virSystemdCreateMachine: Document @maxthreds
    3c8e60b9d0 qemu: Use virtio-scsi by default on RISC-V
    49478996c3 qemu: Clean up qemuDomainDefaultSCSIControllerModel()
    9bbb8944f5 qemu: Improve qemuDomainDefaultSCSIControllerModel()
    1fb968eaf1 qemu: Switch to virtio-scsi on ARM
    6f64315ba7 docs: fix typo in qemu-passthrough-security
    69b894dc04 qemu: Improve error message for USB controller validation
    358b68f09d qemu: Move error reporting out of qemuDomainDefaultSCSIControllerModel()
    4518ff0f24 qemu: Rename qemuDomainDefaultSCSIControllerModel()
    49a9b2e3ec tests: Add controller-scsi-default-unavailable
    a6d41688a6 Translated using Weblate (Portuguese)
    b2a6de3668 Translated using Weblate (Portuguese)
    3d7cb52282 Translated using Weblate (Portuguese)
    a3a2086497 Translated using Weblate (Portuguese)
    ef3c3990ab Translated using Weblate (Portuguese)
    155bae8b93 Translated using Weblate (Portuguese)
    2314d60b4e Translated using Weblate (Portuguese)
    6fd7945432 Translated using Weblate (Portuguese)
    4559999f9a Translated using Weblate (Portuguese)
    9cc5b0f9c4 Translated using Weblate (Portuguese)
    9f7e8edb6b Translated using Weblate (Portuguese)
    80a1157e36 Translated using Weblate (Portuguese)
    8b761cbf10 Translated using Weblate (Portuguese)
    c67a95fa8c Translated using Weblate (Portuguese)
    25e83d781a Translated using Weblate (Portuguese)
    d14452dc12 Translated using Weblate (Portuguese)
    a9ca942f7b Translated using Weblate (Portuguese)
    3ed6e2815b Translated using Weblate (Portuguese)
    acff59f868 Translated using Weblate (Portuguese)
    50e709fd77 Translated using Weblate (Portuguese)
    4fc6869793 Translated using Weblate (Portuguese)
    95c741f9c0 Translated using Weblate (Portuguese)
    e1227b9645 Translated using Weblate (Portuguese)
    ee5cf812e0 Translated using Weblate (Portuguese)
    8d6a5d391b Translated using Weblate (Portuguese)
    ed137febd8 Translated using Weblate (Portuguese)
    9f2638f8bb Translated using Weblate (Portuguese)
    f70454b056 Translated using Weblate (Portuguese)
    b1822eb340 Translated using Weblate (Portuguese)
    01badd1bfb virt-aa-helper-test: Switch to getopts
    9569a43b7a virt-aa-helper: Drop cleanup label from get_files()
    ecca0dded4 virt-aa-helper: Check retval of vah_add_file()
    05e06927b6 virt-aa-helper: Use automatic memory freeing
    2f7e11aaa3 virt-aa-helper: Decrease scope of @mem_path in get_files()
    980607b1e9 virt-aa-helper: Simplify paths collection
    cca3563602 virt-aa-helper: Rework USB hostdev handling
    935bd37c4a virt-aa-helper-test: Test hostdevs unconditionally
    9f12874238 virt-aa-helper-test: Silence ls
    58bf3de02c virt-aa-helper-test: Print errors to stderr
    300965f4f1 tests: Fix mocking of open()
    21e7bcc14f virpcimock: Strip fakerootdir prefix in virFileCanonicalizePath()
    99dd19c013 virpcimock: Automatically invent fakerootdir, if not provided
    96f286ef1d virt-aa-helper: Use virFileCanonicalizePath()
    68e877c1ad log_cleaner: Use virFileCanonicalizePath()
    55668bc3e0 gendispatch: Finish rename of the migration argument
    9d69dc2dbc qemu: Finish argument rename
    91e74f1de8 src: Unify argument name of virDomainMigratePerform3()
    96a5c4cb85 src: Unify argument name of virDomainMigrateBegin3()
    767b2b72e7 src: Unify argument name of virDomainMigratePrepareTunnel3()
    45d4a7bf57 src: Unify argument name of virDomainMigratePrepare3()
    0cf91e4ed3 src: Unify argument name of virDomainMigratePrepareTunnel()
    8e5e69e6eb src: Unify argument name of virDomainMigratePrepare2()
    846e584654 src: Unify argument name of virDomainMigratePerform()
    74976e7e52 src: Unify argument name of virDomainMigratePrepare()
    7b54da1d2f Post-release version bump to 11.6.0
    64ad0c3f57 Release of libvirt-11.5.0
    478290428d Translated using Weblate (Portuguese)
    4a9d6429b2 NEWS: document new AMD IOMMU device
    0360263f34 NEWS: Mention 'virsh await' and proper emulation of USB cdroms
    357cbcb05e NEWS: Mention shared filesystem detection fix
    cd867f28cf NEWS: Document features/improvements/bug fixes I've participated in
    3e2af21dda Translated using Weblate (Korean)
    8c80b9a8d4 Translated using Weblate (Korean)
    2cd5f00767 Translated using Weblate (Ukrainian)
    e30e75e1de Translated using Weblate (Spanish)
    de239f15f5 Update translation files
    4bcab57d7e po: Refresh potfile for v11.5.0
    c345ea0e7e qemuxmlconftest: Add 'disk-usb-device-model' case
    1ba6892d75 qemu: Replace usb-storage with usb-bot
    25c4a3643b qemuxmlconftest: Prepare for proper testing in 'disk-cdrom-usb-empty'
    3f8f18e389 qemu: monitor: Introduce 'qemuMonitorSetUSBDiskAttached'
    d325e96546 qemuBuildDeviceAddresDriveProps: Prepare for 'drive' address for usb-bot disks
    f08af07f83 qemu: Fill in model of 'usb' disks to preserve ABI compatibility
    0d47218419 conf: introduce usb disk models 'usb-storage' and 'usb-bot'
    d2dac8f8e2 qemuxmlconftest: Invoke "disk-usb-device" case also without QEMU_CAPS_DEVICE_USB_BOT and with ABI_UPDATE
    81d0501eb2 qemu_capabilities: Introduce QEMU_CAPS_DEVICE_USB_BOT
    9358c3d747 qemuxmlconftest: Distribute testing of 'removable' disk property
    4ca64e4e19 qemuxmlconftest: Drop 'disk-cdrom-bus-other'
    7747c1eeb7 qemusecuritytest: Use 'disk-usb-device' case instead of 'disk-cdrom-bus-other'
    83f6a02842 qemuxmlconftest: Test various combinations of config
    3be1f7933f qemuhotplugtest: Use VIR_DOMAIN_DEF_PARSE_ABI_UPDATE for virDomainDeviceDefParse
    8a64db5e38 Translated using Weblate (Spanish)
    bc8fbe2683 util: workaround libxml2 lack of thread safe initialization
    856f667c8a conf: add passthrough and xtsup attributes for IOMMU
    1476060091 qemu: add IOMMU model amd
    6291b0af3d docs: formatdomain: document intel-only IOMMU attributes
    33a5d9dcea qemu: introduce QEMU_CAPS_PCI_ID
    14192af47a qemu: introduce QEMU_CAPS_AMD_IOMMU
    1ee74707bd NEWS: mention console type in domain capabilities
    35e3c17e02 virSocketAddrPrefixToNetmask: Prevent undefined behaviour on bitshifts on signed integer
    11867b0224 tlscert: Don't force 'keyEncipherment' for ECDSA and ECDH
    da1ee7799a storage: disk: Properly handle partition numbers separated by 'p'
    550c32b172 storage: parthelper: Use if/else instead of ternary operator
    1f07ca49e4 virshPrintJobProgress: Don't rewrite migration status line on non-terminals
    d5a8cb26fa virQEMUCapsFindBinary: Refactor local variables
    c0e7b9923c storage_file_probe: Use named initializer for 'struct FileTypeInfo'
    be04898d18 security_manager: Don't leak seclabel in virSecurityManagerGenLabel()
    68df8388fc Translated using Weblate (Italian)
    f2aed8027f Translated using Weblate (Greek)
    e7986a3cb6 Translated using Weblate (Croatian)
    31055f2d1f Translated using Weblate (Korean)
    737031cb6c Translated using Weblate (Italian)
    441c23a7e6 qemu: Be more forgiving when acquiring QUERY job when formatting domain XML
    10bb3dd651 NEWS: Mention cacert parameter in esx driver
    6c9a0beeca esx: Allow specifying different CA bundle for remote connections
    6a8fb1851d virsh: await: Introduce 'guest-agent-available' condition
    05c9f3752d virsh: Introduce 'await' command for waiting until target domain state is reached
    71e276ed1d vsh: Add support for commands with more return values
    10c646993d vshCommandRun: Convert to directly return the exit code
    c60b7cbe28 virsh: cmdEvent: Ensure that event callbacks are unregistered before returning
    258f61b479 virthread: Add infrastructure for static virCond definitions
    6e44bb74f7 virthread: Register auto cleanup function for virMutex
    cf24dc8baa docs: Note that zero detection on migration sparsifies image only when discard='unmap' is set
    6733f02c40 Revert "docs: Add warning about using a cleared image with VIR_MIGRATE_PARAM_MIGRATE_DISKS_DETECT_ZEROES_ZEROES"
    7be1c5e2fe qemu.conf: Improve docs for 'dynamic_ownership' option
    fd21c3ecb4 storage: Implement a simple 'checkPool' method for 'rbd' type pools
    07a8be20c1 docs: outline bug expectations wrt automated tools / AI agents
    226e8ef548 docs: fix list term highlighting in URI docs
    71b4b2beb4 ci: Drop unnecessary build dependencies
    e362185e43 rpm: Drop unnecessary BuildRequires
    9d210f4bca rpm: Fix/clarify Requires
    6ca627d38b nvme: Fix more missing enum switches for VIR_DOMAIN_DISK_BUS_NVME
    8e8831c3ae bhyve: Fix build after introduction of emulated NVMe disks
    fca053ae37 NEWS: qemu support for emulated NVMe disks
    17cb1a0c42 NEWS: vmx support for NVMe disks
    dbcf514230 qemu: Add support for emulated NVMe disks
    1402c40714 qemu: Add support for NVMe controllers
    f806f63341 qemu_capabilities: Add emulated NVMe disk support to domain capabilities
    d5a87fd7f6 qemu_capabilities: Add NVMe controller and disk capabilities
    b295863d70 vmx: Add support for NVMe disks
    d80386745a docs, conf, schemas: Add support for NVMe disks
    683e1a3cf8 conf: Add virDomainDeviceFindNvmeController
    ebf6347879 util: Add support for parsing nvmeXnY(pZ) strings
    be1a89c950 docs, conf, schemas: Add support for NVMe controller
    6ef5644bfd nodedev: add nodedev name to mdevctl unsupport msg
    657d677a2f ci: refresh with 'lcitool manifest'
    c7078a136c virDomainDriverAutoShutdown: Fix printf conversion specifier for 'waitShutdownSecs'
    e7239c619f qemu: capabilities: Check if cpuModels is not NULL before trying to dereference it
    312e4801ed docs: Drop mention of read-only git mirrors
    062a0f8891 docs: Unify clone instructions
    3588bad8c0 libxl_capabilities: Make some functions return void
    6c15c1e6b2 libxl: capabilities: report supported console types
    4bbc0f2eae qemu: capabilities: report supported console types
    30edbd29ce bhyve: capabilities: report NMDM console
    280c5c31de domain_capabilities: add console capabilities
    fcea42b554 conf: desktop graphics remove unused option
    b5d08b69c4 conf: RDP graphics parse refactor
    af7b863726 conf: SDL fullscreen option refactor
    7357cb8857 conf: VNC graphics parse refactor
    496afd354f NEWS: Document removal of support of VIR_DUMP_LIVE flag from QEMU driver
    65bc6b0d4e qemu: Don't accept VIR_DUMP_LIVE flag in qemuDomainCoreDumpWithFormat()
    c61d6d0606 qemu: command: Don't attempt to set backend MTU for networks which don't use host backend directly
    edd5465c59 esx: Avoid corner case where esxUtil_ParseDatastorePath could be called with NULL 'datastorePath'
    947062e1ce docs: Change units to 'kiB' from 'kB'/'kilobytes'/'kb'
    2ecf6fe7bf virConnectAuthCallbackDefault: Return failure if 'virGetPassword' returns NULL
    ef4c0050b2 storage_file_probe: Remove unused image probing callbacks
    a9008a6ea8 storage_file_probe: Move setting of 'compat' attribute to qcow2GetFeatures
    982ce5083c storage_file_probe: Parse all qcow2 extensions at once
    6d49f0521c storage_file_probe: Call qcow2GetFeatures from qcow2GetImageSpecific
    cac833fccc storage_file_probe: Move qcow2GetFeatures(ProcessGroup) functions
    e3778b99ee storage_file_probe: Move logic from qcow2GetClusterSize to qcow2GetImageSpecific
    7758ddc107 storage_file_probe: Refactor qcowXGetBackingStore into specific callbacks for qcow and qcow2
    7ae9141a12 storage_file_probe: Refactor vmdk4GetBackingStore into vmdk4GetImageSpecific
    a685b03262 storage_file_probe: Refactor qedGetBackingStore into qedGetImageSpecific
    a5fdebe901 storage_file_probe: Refactor cowGetBackingStore into cowGetImageSpecific
    7f1bbcab42 storage_file_probe: Add image specific callback taking the whole virStorageSource
    4b1e566144 virstoragetest: Add qcow2 bitmaps to some images
    8e0a364632 storage_file_probe: qcow2GetExtensions: Fix qcow2 header extension parsing
    ed030f628c virstoragetest: Reformat output to highlight dataFile relationship
    c97e2a98cd qcow2GetExtensions: Add debug logs for interesting fields in qcow2 header extension parser
    9b41febf78 qemuProcessStartValidateGraphics: Move RDP validation logic to qemu_validate.c
    e5eb371343 qemuProcessStartValidateGraphics: Remove redundant checks for RDP protocol features
    acbfd585b2 qemu: Move checks for number of listening sockets of graphics to validation code
    19bc77d581 qemu: Move logic from qemuProcessStartValidateShmem to qemuValidateDomainDeviceDefShmem
    27e8378962 qemu: conf: Drop handling of 'vxhs' config options
    21dfb261d8 qemu.conf: Document options for VxHS block network protocol TLS config as ignored
    dc1764719d qemu: block: Drop code for 'vxhs' storage protocol
    90ad22ae08 qemu: Move disk backend validation checks from qemuProcessStartValidateDisks to qemuDomainValidateStorageSource
    30e08fd2fe qemuDomainValidateStorageSource: Rework protocol validation into a switch statement
    2b1393357c util: Move virFileGetExistingParent out of ifdef __linux__
    74c591b784 util: Avoid statfs in virFileGetExistingParent
    caa9497e7c docs: fix indent of hostdev examples
    94fb348d67 util: Fix virFileIsSharedFSOverride on nonexistent paths
    05526b5090 util: Introduce virFileGetExistingParent helper
    ee4231ae67 util: Document limitation of virFileCanonicalizePath
    3357f31476 Post-release version bump to 11.5.0
    8ba3d94995 Release of libvirt-11.4.0

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2025-10-20 10:11:41 -04:00

336 lines
14 KiB
BlitzBasic

DESCRIPTION = "A toolkit to interact with the virtualization capabilities of recent versions of Linux."
HOMEPAGE = "http://libvirt.org"
LICENSE = "LGPL-2.1-or-later & GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LESSER;md5=4b54a1fd55a448865a0b32d41598759d"
SECTION = "console/tools"
DEPENDS = "bridge-utils gnutls libxml2 lvm2 avahi parted curl libpcap util-linux e2fsprogs pm-utils \
iptables dnsmasq readline libtasn1 libxslt-native acl libdevmapper libtirpc \
python3-docutils-native \
${@bb.utils.contains('PACKAGECONFIG', 'polkit', 'shadow-native', '', d)} \
${@bb.utils.contains('PACKAGECONFIG', 'gnutls', 'gnutls-native', '', d)}"
# libvirt-guests.sh needs gettext.sh
#
RDEPENDS:${PN} = "gettext-runtime"
RDEPENDS:libvirt-libvirtd += "bridge-utils iptables pm-utils dnsmasq netcat-openbsd ebtables"
RDEPENDS:libvirt-libvirtd:append:x86-64 = " dmidecode"
RDEPENDS:libvirt-libvirtd:append:x86 = " dmidecode"
RDEPENDS:libvirt-libvirtd:append:arm = " dmidecode"
RDEPENDS:libvirt-libvirtd:append:aarch64 = " dmidecode"
#connman blocks the 53 port and libvirtd can't start its DNS service
RCONFLICTS:${PN}_libvirtd = "connman"
SRCREV_libvirt = "0c1a1f9fd4b3e94e4cecae14a1628ebfc9b9af3f"
LIBVIRT_VERSION = "11.8.0"
PV = "v${LIBVIRT_VERSION}+git"
SRC_URI = "gitsm://github.com/libvirt/libvirt.git;name=libvirt;protocol=https;branch=master \
file://libvirtd.sh \
file://libvirtd.conf \
file://dnsmasq.conf \
file://hook_support.py \
file://gnutls-helper.py;subdir=${BP} \
file://libvirt-qemu.conf \
file://0001-prevent-gendispatch.pl-generating-build-path-in-code.patch \
file://0001-messon.build-remove-build-path-information-to-avoid-.patch \
file://0001-meson.build-clear-abs_top_builddir-to-avoid-QA-warni.patch \
file://0001-tests-meson-clear-absolute-directory-paths.patch \
file://0001-qemu_nbdkit.c-use-llu-to-print-time_t.patch \
"
inherit meson gettext update-rc.d pkgconfig systemd useradd perlnative
USERADD_PACKAGES = "${PN}"
GROUPADD_PARAM:${PN} = "-r qemu; -r kvm; -r libvirt; -r virtlogin"
USERADD_PARAM:${PN} = "-r -g qemu -G kvm qemu"
CFLAGS += "${@oe.utils.vartrue('DEBUG_BUILD', '-Wno-error=inline', '', d)}"
EXTRA_OEMESON += "--cross-file ${WORKDIR}/meson-${PN}.cross"
do_write_config:append() {
cat >${WORKDIR}/meson-${PN}.cross <<EOF
[binaries]
iptables = '/usr/sbin/iptables'
ip6tables = '/usr/sbin/ip6tables'
dmidecode = '/usr/sbin/dmidecode'
ebtables = '/sbin/ebtables'
dnsmasq = '/usr/bin/dnsmasq'
EOF
}
ALLOW_EMPTY:${PN} = "1"
INSANE_SKIP:${PN} += "empty-dirs"
PACKAGES =+ "${PN}-libvirtd ${PN}-virsh"
ALLOW_EMPTY:${PN}-libvirtd = "1"
FILES:${PN}-libvirtd = " \
${sysconfdir}/init.d \
${sysconfdir}/sysctl.d \
${sysconfdir}/logrotate.d \
${sysconfdir}/libvirt/libvirtd.conf \
/usr/lib/sysctl.d/60-libvirtd.conf \
/usr/lib/sysctl.d/60-qemu-postcopy-migration.conf \
${sbindir}/libvirtd \
${systemd_system_unitdir} \
${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', '', '${libexecdir}/libvirt-guests.sh', d)} \
${@bb.utils.contains('PACKAGECONFIG', 'gnutls', '${sysconfdir}/pki/libvirt/* ${sysconfdir}/pki/CA/*', '', d)} \
"
FILES:${PN}-virsh = " \
${bindir}/virsh \
${datadir}/bash-completion/completions/virsh \
"
RDEPENDS:${PN}-virsh = "${PN}-libvirtd"
FILES:${PN} += "${libdir}/libvirt/connection-driver \
${datadir}/augeas \
${@bb.utils.contains('PACKAGECONFIG', 'polkit', '${datadir}/polkit-1', '', d)} \
${datadir}/bash-completion/completions/vsh \
${datadir}/bash-completion/completions/virt-admin \
/usr/lib/firewalld/ \
${nonarch_libdir}/sysusers.d/ \
"
FILES:${PN}-dbg += "${libdir}/libvirt/connection-driver/.debug ${libdir}/libvirt/lock-driver/.debug"
FILES:${PN}-staticdev += "${libdir}/*.a ${libdir}/libvirt/connection-driver/*.a ${libdir}/libvirt/lock-driver/*.a"
CONFFILES:${PN} += "${sysconfdir}/libvirt/libvirt.conf \
${sysconfdir}/libvirt/lxc.conf \
${sysconfdir}/libvirt/qemu-lockd.conf \
${sysconfdir}/libvirt/qemu.conf \
${sysconfdir}/libvirt/virt-login-shell.conf \
${sysconfdir}/libvirt/virtlockd.conf"
CONFFILES:${PN}-libvirtd = "${sysconfdir}/logrotate.d/libvirt ${sysconfdir}/logrotate.d/libvirt.lxc \
${sysconfdir}/logrotate.d/libvirt.qemu ${sysconfdir}/logrotate.d/libvirt.uml \
${sysconfdir}/libvirt/libvirtd.conf \
/usr/lib/sysctl.d/libvirtd.conf"
INITSCRIPT_PACKAGES = "${PN}-libvirtd"
INITSCRIPT_NAME:${PN}-libvirtd = "libvirtd"
INITSCRIPT_PARAMS:${PN}-libvirtd = "defaults 72"
SYSTEMD_PACKAGES = "${PN}-libvirtd"
SYSTEMD_SERVICE:${PN}-libvirtd = " \
libvirtd.service \
virtlockd.service \
libvirt-guests.service \
virtlockd.socket \
"
# xen-minimal config
#PACKAGECONFIG ??= "xen libxl xen-inotify test remote libvirtd"
# full config
PACKAGECONFIG ??= "gnutls qemu openvz vmware vbox esx lxc test remote \
libvirtd netcf udev python fuse firewalld libpcap \
${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux audit libcap-ng', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'xen', 'libxl', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'polkit', 'polkit', '', d)} \
"
# qemu is NOT compatible with mips64, powerpc and riscv32
PACKAGECONFIG:remove:mipsarchn32 = "qemu"
PACKAGECONFIG:remove:mipsarchn64 = "qemu"
PACKAGECONFIG:remove:powerpc = "qemu"
PACKAGECONFIG:remove:riscv32 = "qemu"
# numactl is NOT compatible with arm
PACKAGECONFIG:remove:arm = "numactl"
PACKAGECONFIG:remove:armeb = "numactl"
# enable,disable,depends,rdepends
#
PACKAGECONFIG[gnutls] = ",,,gnutls-bin"
PACKAGECONFIG[qemu] = "-Ddriver_qemu=enabled -Dqemu_user=qemu -Dqemu_group=qemu,-Ddriver_qemu=disabled,qemu json-c,"
PACKAGECONFIG[libxl] = "-Ddriver_libxl=enabled,-Ddriver_libxl=disabled,xen,"
PACKAGECONFIG[openvz] = "-Ddriver_openvz=enabled,-Ddriver_openvz=disabled,,"
PACKAGECONFIG[vmware] = "-Ddriver_vmware=enabled,-Ddriver_vmware=disabled,,"
PACKAGECONFIG[vbox] = "-Ddriver_vbox=enabled,-Ddriver_vbox=disabled,,"
PACKAGECONFIG[esx] = "-Ddriver_esx=enabled,-Ddriver_esx=disabled,,"
PACKAGECONFIG[hyperv] = "-Ddriver_hyperv=enabled,-Ddriver_hyperv=disabled,,"
PACKAGECONFIG[polkit] = "-Dpolkit=enabled,-Dpolkit=disabled,polkit,polkit"
PACKAGECONFIG[lxc] = "-Ddriver_lxc=enabled,-Ddriver_lxc=disabled,lxc,"
PACKAGECONFIG[test] = "-Ddriver_test=enabled,-Ddriver_test=disabled,,"
PACKAGECONFIG[remote] = "-Ddriver_remote=enabled,-Ddriver_remote=disabled,,"
PACKAGECONFIG[libvirtd] = "-Ddriver_libvirtd=enabled,-Ddriver_libvirtd=disabled,,"
PACKAGECONFIG[netcf] = "-Dnetcf=enabled,-Dnetcf=disabled,netcf,netcf"
PACKAGECONFIG[dtrace] = "-Ddtrace=enabled,-Ddtrace=disabled,,"
PACKAGECONFIG[udev] = "-Dudev=enabled -Dpciaccess=enabled,-Dudev=disabled,udev libpciaccess,"
PACKAGECONFIG[selinux] = "-Dselinux=enabled,-Dselinux=disabled,libselinux,"
PACKAGECONFIG[python] = ",,python3,"
PACKAGECONFIG[sasl] = "-Dsasl=enabled,-Dsasl=disabled,cyrus-sasl,cyrus-sasl"
PACKAGECONFIG[numactl] = "-Dnumactl=enabled,-Dnumactl=disabled,numactl,"
PACKAGECONFIG[fuse] = "-Dfuse=enabled,-Dfuse=disabled,fuse3,"
PACKAGECONFIG[audit] = "-Daudit=enabled,-Daudit=disabled,audit,"
PACKAGECONFIG[libcap-ng] = "-Dcapng=enabled,-Dcapng=disabled,libcap-ng,"
PACKAGECONFIG[wireshark] = "-Dwireshark_dissector=enabled,-Dwireshark_dissector=disabled,wireshark libwsutil,"
PACKAGECONFIG[apparmor_profiles] = "-Dapparmor_profiles=enabled, -Dapparmor_profiles=disabled,"
PACKAGECONFIG[firewalld] = "-Dfirewalld=enabled, -Dfirewalld=disabled,"
PACKAGECONFIG[libpcap] = "-Dlibpcap=enabled, -Dlibpcap=disabled,libpcap,libpcap"
PACKAGECONFIG[numad] = "-Dnumad=enabled, -Dnumad=disabled,"
# Enable the Python tool support
require libvirt-python.inc
do_compile() {
cd ${B}/src
# There may be race condition, but without creating these directories
# in the source tree, generation of files fails.
for i in access admin logging esx locking rpc hyperv lxc \
remote network storage interface nwfilter node_device \
secret vbox qemu; do
mkdir -p $i;
done
cd ${B}
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${B}/src:"
ninja all
}
do_install:prepend() {
# so the install routines can find the libvirt.pc in the source dir
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:${B}/src:"
}
do_install:append() {
install -d ${D}/etc/init.d
install -d ${D}/etc/libvirt
install -d ${D}/etc/dnsmasq.d
install -d ${D}${nonarch_libdir}/sysusers.d/
install -m 0755 ${UNPACKDIR}/libvirtd.sh ${D}/etc/init.d/libvirtd
install -m 0644 ${UNPACKDIR}/libvirtd.conf ${D}/etc/libvirt/libvirtd.conf
install -m 0644 ${UNPACKDIR}/libvirt-qemu.conf ${D}${nonarch_libdir}/sysusers.d/libvirt-qemu.conf
if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
# This will wind up in the libvirtd package, but will NOT be invoked by default.
#
mv ${D}/${libexecdir}/libvirt-guests.sh ${D}/${sysconfdir}/init.d
fi
if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
if [ "${systemd_system_unitdir}" != "${prefix}/lib/systemd/system" ] ; then
# ./src/meson.build: systemd_unit_dir = prefix / 'lib' / 'systemd' / 'system'
# ./tools/meson.build: install_dir: prefix / 'lib' / 'systemd' / 'system',
mkdir -p ${D}${systemd_system_unitdir}
mv ${D}${prefix}/lib/systemd/system/* ${D}${systemd_system_unitdir}
rmdir ${D}${prefix}/lib/systemd/system ${D}${prefix}/lib/systemd
fi
# We can't use 'notify' when we don't support 'sd_notify' dbus capabilities.
# Change default LIBVIRTD_ARGS to start libvirtd in the right mode.
sed -i -e 's/Type=notify/Type=forking/' \
-e '/Type=forking/a PIDFile=/run/libvirtd.pid' \
-e 's/\(Environment=LIBVIRTD_ARGS="--timeout 120"\)/#\1\nEnvironment=LIBVIRTD_ARGS="--listen --daemon"/' \
${D}/${systemd_system_unitdir}/libvirtd.service
fi
# The /run/libvirt directories created by the Makefile are
# wiped out in volatile, we need to create these at boot.
rm -rf ${D}/run
install -d ${D}${sysconfdir}/default/volatiles
echo "d root root 0755 /run/libvirt none" \
> ${D}${sysconfdir}/default/volatiles/99_libvirt
echo "d root root 0755 /run/libvirt/lockd none" \
>> ${D}${sysconfdir}/default/volatiles/99_libvirt
echo "d root root 0755 /run/libvirt/lxc none" \
>> ${D}${sysconfdir}/default/volatiles/99_libvirt
echo "d root root 0755 /run/libvirt/network none" \
>> ${D}${sysconfdir}/default/volatiles/99_libvirt
echo "d root root 0755 /run/libvirt/qemu none" \
>> ${D}${sysconfdir}/default/volatiles/99_libvirt
# disable seccomp_sandbox
if [ -e ${D}${sysconfdir}/libvirt/qemu.conf ] ; then
sed -i '/^#seccomp_sandbox = 1/aseccomp_sandbox = 0' \
${D}${sysconfdir}/libvirt/qemu.conf
fi
# Add hook support for libvirt
mkdir -p ${D}/etc/libvirt/hooks
for hook in "daemon" "lxc" "network" "qemu"
do
install -m 0755 ${UNPACKDIR}/hook_support.py ${D}/etc/libvirt/hooks/${hook}
done
# Force the main dnsmasq instance to bind only to specified interfaces and
# to not bind to virbr0. Libvirt will run its own instance on this interface.
install -m 644 ${UNPACKDIR}/dnsmasq.conf ${D}/${sysconfdir}/dnsmasq.d/libvirt-daemon
# remove .la references to our working diretory
for i in `find ${D}${libdir} -type f -name *.la`; do
sed -i -e 's#-L${B}/src/.libs##g' $i
done
sed -i -e 's/^\(unix_sock_group\ =\ \).*/\1"kvm"/' ${D}/etc/libvirt/libvirtd.conf
sed -i -e 's/^\(unix_sock_rw_perms\ =\ \).*/\1"0776"/' ${D}/etc/libvirt/libvirtd.conf
case ${MACHINE_ARCH} in
*mips*)
break
;;
*)
if ${@bb.utils.contains('PACKAGECONFIG', 'qemu', 'true', 'false', d)}; then
chown -R qemu:qemu ${D}/${localstatedir}/lib/libvirt/qemu
echo "d qemu qemu 0755 ${localstatedir}/cache/libvirt/qemu none" \
>> ${D}${sysconfdir}/default/volatiles/99_libvirt
break
fi
;;
esac
if ${@bb.utils.contains('PACKAGECONFIG','gnutls','true','false',d)}; then
# Generate sample keys and certificates.
${UNPACKDIR}/${BP}/gnutls-helper.py -y
# Deploy all sample keys and certificates of CA, server and client
# to target so that libvirtd is able to boot successfully and local
# connection via 127.0.0.1 is available out of box.
install -d ${D}/etc/pki/CA
install -d ${D}/etc/pki/libvirt/private
install -m 0755 ${UNPACKDIR}/${BP}/gnutls-helper.py ${D}/${bindir}
install -m 0644 cakey.pem ${D}/${sysconfdir}/pki/libvirt/private/cakey.pem
install -m 0644 cacert.pem ${D}/${sysconfdir}/pki/CA/cacert.pem
install -m 0644 serverkey.pem ${D}/${sysconfdir}/pki/libvirt/private/serverkey.pem
install -m 0644 servercert.pem ${D}/${sysconfdir}/pki/libvirt/servercert.pem
install -m 0644 clientkey.pem ${D}/${sysconfdir}/pki/libvirt/private/clientkey.pem
install -m 0644 clientcert.pem ${D}/${sysconfdir}/pki/libvirt/clientcert.pem
# Force the connection to be tls.
sed -i -e 's/^\(listen_tls\ =\ .*\)/#\1/' -e 's/^\(listen_tcp\ =\ .*\)/#\1/' ${D}/etc/libvirt/libvirtd.conf
fi
# virt-login-shell needs to run with setuid permission
chmod 4755 ${D}${bindir}/virt-login-shell
}
EXTRA_OEMESON += " \
-Dinit_script=${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','none', d)} \
-Drunstatedir=/run \
-Dtests=enabled \
"
# gcc9 end up mis-compiling qemuxml2argvtest.o with Og which then
# crashes on target, so remove -Og and use -O2 as workaround
SELECTED_OPTIMIZATION:remove:virtclass-multilib-lib32:mipsarch = "-Og"
SELECTED_OPTIMIZATION:append:virtclass-multilib-lib32:mipsarch = " -O2"
pkg_postinst:${PN}() {
if [ -z "$D" ] && [ -e /etc/init.d/populate-volatile.sh ] ; then
/etc/init.d/populate-volatile.sh update
fi
mkdir -m 711 -p $D/data/images
}
python () {
if not bb.utils.contains('DISTRO_FEATURES', 'sysvinit', True, False, d):
d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
}