[PATCH 0/2] libxl: Support custom EFI firmware path
by Jim Fehlig
libxl added support for specifying custom firmware paths long ago. This series
adds support to the libxl driver and the XML to xl.cfg config converter.
Jim Fehlig (2):
libxl: Support specifying a custom firmware path
libxl: Add support for custom firmware path in config converter
src/libxl/libxl_conf.c | 14 ++--
src/libxl/xen_xl.c | 19 +++--
tests/libxlxml2domconfigdata/efi-hvm.json | 91 +++++++++++++++++++++++
tests/libxlxml2domconfigdata/efi-hvm.xml | 36 +++++++++
tests/libxlxml2domconfigtest.c | 1 +
tests/xlconfigdata/test-fullvirt-ovmf.cfg | 1 +
tests/xlconfigdata/test-fullvirt-ovmf.xml | 2 +-
7 files changed, 150 insertions(+), 14 deletions(-)
create mode 100644 tests/libxlxml2domconfigdata/efi-hvm.json
create mode 100644 tests/libxlxml2domconfigdata/efi-hvm.xml
--
2.39.1
1 year, 7 months
[libvirt PATCH 00/20] introduce external snapshot revert support
by Pavel Hrdina
This implements virDomainRevertToSnapshot to work with external
snapshots. In addition it modifies virDomainSnapshotDelete to work
correctly when we revert to non-leaf snapshot.
Gitlab repo with the patches:
https://gitlab.com/phrdina/libvirt/-/tree/snapshot-revert-external
Pavel Hrdina (20):
libvirt_private: list virDomainMomentDefPostParse
snapshot_conf: export virDomainSnapshotDiskDefClear
snapshot_conf: use alternate domain definition in
virDomainSnapshotDefAssignExternalNames
snapshot_conf: introduce <revertDisks> metadata element
qemu_snapshot: introduce qemuSnapshotDomainDefUpdateDisk
qemu_snapshot: use virDomainDiskByName while updating domain def
qemu_snapshot: introduce qemuSnapshotCreateQcow2Files
qemu_snapshot: allow using alternate domain definition when creating
qcow2 files
qemu_snapshot: introduce external snapshot revert support
qemu_snapshot: rename qemuSnapshotDeleteExternalPrepare
qemu_snapshot: extract external snapshot delete prepare to function
qemu_snapshot: add blockCommit to external snapshot delete prepare
data
qemu_snapshot: prepare data for non-active leaf external snapshot
deletion
qemu_snapshot: add support to delete external snapshot without block
commit
qemu_snapshot: delete: properly update parent snapshot with revert
data
qemu_snapshot: don't allow creating external snapshot after reverting
virdomainmomentobjlist: introduce virDomainMomentIsAncestor
qemu_snapshot: check only once if snapshot is external
qemu_snapshot: add checks for external snapshot deletion
qemu_snapshot: allow snapshot revert for external snapshots
src/conf/schemas/domainsnapshot.rng | 7 +
src/conf/snapshot_conf.c | 37 +-
src/conf/snapshot_conf.h | 8 +
src/conf/virdomainmomentobjlist.c | 21 +
src/conf/virdomainmomentobjlist.h | 4 +
src/libvirt_private.syms | 6 +
src/qemu/qemu_snapshot.c | 621 ++++++++++++++++++++--------
7 files changed, 538 insertions(+), 166 deletions(-)
--
2.39.2
1 year, 7 months
[libvirt PATCH 00/51] Use permutable format strings in translations
by Jiri Denemark
See 01/51 for rationale. Enforced by the last two patches of this
series. The rest is quite boring mechanical update, partially done using
a perl oneliner
perl -pe 'for (my $i=1; $i<=12; $i++) { s/(N?_\("[^"]*?%)([^%$ ]*[a-zA-Z][^"]*")/\1$i\$\2/; }'
and tuned manually to fix cases not covered by the regexp above and to
merge multiline messages into a single line. I merged only those that
were touched anyway. Some very long messages consisting of several
sentences were merged only partially and split on sentence boundary.
I will also update libvirt.pot once this is pushed.
Also available via
git fetch git@gitlab.com:jirkade/libvirt.git format-strings
Jiri Denemark (51):
docs: Document requirements on format strings in translated messages
access: Update format strings in translated messages
admin: Update format strings in translated messages
bhyve: Update format strings in translated messages
ch: Update format strings in translated messages
conf/domain_conf: Update format strings in translated messages
conf/domain_validate: Update format strings in translated messages
conf/network_conf: Update format strings in translated messages
conf/node_device_conf: Update format strings in translated messages
conf: Update format strings in translated messages
cpu: Update format strings in translated messages
esx: Update format strings in translated messages
hyperv: Update format strings in translated messages
hypervisor: Update format strings in translated messages
interface: Update format strings in translated messages
libxl: Update format strings in translated messages
locking: Update format strings in translated messages
logging: Update format strings in translated messages
lxc: Update format strings in translated messages
network: Update format strings in translated messages
node_device: Update format strings in translated messages
nwfilter: Update format strings in translated messages
openvz: Update format strings in translated messages
qemu/qemu_command: Update format strings in translated messages
qemu/qemu_domain: Update format strings in translated messages
qemu/qemu_driver: Update format strings in translated messages
qemu/qemu_hotplug: Update format strings in translated messages
qemu/qemu_migration: Update format strings in translated messages
qemu/qemu_monitor_json: Update format strings in translated messages
qemu/qemu_process: Update format strings in translated messages
qemu/qemu_validate: Update format strings in translated messages
qemu: Update format strings in translated messages
remote: Update format strings in translated messages
rpc: Update format strings in translated messages
security: Update format strings in translated messages
secret: Update format strings in translated messages
storage: Update format strings in translated messages
storage_file: Update format strings in translated messages
test: Update format strings in translated messages
util: Update format strings in translated messages (part 1)
util: Update format strings in translated messages (part 2)
util: Update format strings in translated messages (part 3)
vbox: Update format strings in translated messages
vmware: Update format strings in translated messages
vmx: Update format strings in translated messages
vz: Update format strings in translated messages
src: Update format strings in translated messages
tools: Update format strings in translated messages (part 1)
tools: Update format strings in translated messages (part 2)
build: Add checks for permutable format strings
ci: Run libvirt-pot-check in potfile job
.gitlab-ci.yml | 1 +
build-aux/syntax-check.mk | 5 +
docs/coding-style.rst | 20 +-
po/meson.build | 8 +
scripts/check-pot.py | 54 ++
src/access/viraccessdriverpolkit.c | 2 +-
src/access/viraccessmanager.c | 4 +-
src/admin/admin_server_dispatch.c | 10 +-
src/admin/libvirt-admin.c | 6 +-
src/bhyve/bhyve_command.c | 18 +-
src/bhyve/bhyve_domain.c | 2 +-
src/bhyve/bhyve_driver.c | 38 +-
src/bhyve/bhyve_firmware.c | 4 +-
src/bhyve/bhyve_monitor.c | 6 +-
src/bhyve/bhyve_parse_command.c | 17 +-
src/bhyve/bhyve_process.c | 20 +-
src/ch/ch_conf.c | 2 +-
src/ch/ch_domain.c | 4 +-
src/ch/ch_driver.c | 20 +-
src/ch/ch_monitor.c | 27 +-
src/ch/ch_process.c | 6 +-
src/conf/backup_conf.c | 16 +-
src/conf/capabilities.c | 21 +-
src/conf/checkpoint_conf.c | 8 +-
src/conf/cpu_conf.c | 46 +-
src/conf/device_conf.c | 2 +-
src/conf/domain_addr.c | 79 +-
src/conf/domain_capabilities.c | 3 +-
src/conf/domain_conf.c | 874 ++++++++----------
src/conf/domain_event.c | 4 +-
src/conf/domain_postparse.c | 30 +-
src/conf/domain_validate.c | 138 ++-
src/conf/interface_conf.c | 17 +-
src/conf/netdev_bandwidth_conf.c | 10 +-
src/conf/netdev_vlan_conf.c | 10 +-
src/conf/netdev_vport_profile_conf.c | 2 +-
src/conf/network_conf.c | 367 +++-----
src/conf/networkcommon_conf.c | 64 +-
src/conf/node_device_conf.c | 178 ++--
src/conf/node_device_util.c | 6 +-
src/conf/numa_conf.c | 67 +-
src/conf/nwfilter_conf.c | 23 +-
src/conf/nwfilter_params.c | 25 +-
src/conf/object_event.c | 10 +-
src/conf/secret_conf.c | 8 +-
src/conf/snapshot_conf.c | 45 +-
src/conf/storage_adapter_conf.c | 6 +-
src/conf/storage_conf.c | 26 +-
src/conf/storage_encryption_conf.c | 4 +-
src/conf/storage_source_conf.c | 15 +-
src/conf/virchrdev.c | 13 +-
src/conf/virdomainjob.c | 25 +-
src/conf/virdomainmomentobjlist.c | 8 +-
src/conf/virdomainobjlist.c | 18 +-
src/conf/virnetworkobj.c | 24 +-
src/conf/virnetworkportdef.c | 14 +-
src/conf/virnodedeviceobj.c | 9 +-
src/conf/virnwfilterbindingdef.c | 4 +-
src/conf/virnwfilterbindingobj.c | 4 +-
src/conf/virnwfilterbindingobjlist.c | 8 +-
src/conf/virnwfilterobj.c | 12 +-
src/conf/virsecretobj.c | 22 +-
src/conf/virstorageobj.c | 22 +-
src/cpu/cpu.c | 40 +-
src/cpu/cpu_arm.c | 23 +-
src/cpu/cpu_map.c | 6 +-
src/cpu/cpu_ppc64.c | 33 +-
src/cpu/cpu_s390.c | 5 +-
src/cpu/cpu_x86.c | 68 +-
src/driver.c | 6 +-
src/esx/esx_driver.c | 106 +--
src/esx/esx_network_driver.c | 21 +-
src/esx/esx_storage_backend_iscsi.c | 6 +-
src/esx/esx_storage_backend_vmfs.c | 32 +-
src/esx/esx_storage_driver.c | 8 +-
src/esx/esx_stream.c | 4 +-
src/esx/esx_util.c | 29 +-
src/esx/esx_vi.c | 189 ++--
src/esx/esx_vi_types.c | 48 +-
src/hyperv/hyperv_driver.c | 46 +-
src/hyperv/hyperv_network_driver.c | 4 +-
src/hyperv/hyperv_util.c | 3 +-
src/hyperv/hyperv_wmi.c | 43 +-
src/hypervisor/domain_cgroup.c | 4 +-
src/hypervisor/domain_driver.c | 20 +-
src/hypervisor/virhostdev.c | 53 +-
src/interface/interface_backend_netcf.c | 50 +-
src/interface/interface_backend_udev.c | 100 +-
src/internal.h | 20 +-
src/libvirt-domain.c | 44 +-
src/libvirt-host.c | 6 +-
src/libvirt-lxc.c | 11 +-
src/libvirt-network.c | 8 +-
src/libvirt-nodedev.c | 4 +-
src/libvirt-nwfilter.c | 2 +-
src/libvirt-qemu.c | 4 +-
src/libvirt-secret.c | 6 +-
src/libvirt-storage.c | 13 +-
src/libvirt.c | 24 +-
src/libxl/libxl_capabilities.c | 2 +-
src/libxl/libxl_conf.c | 61 +-
src/libxl/libxl_domain.c | 24 +-
src/libxl/libxl_driver.c | 215 +++--
src/libxl/libxl_migration.c | 6 +-
src/libxl/xen_common.c | 72 +-
src/libxl/xen_xl.c | 28 +-
src/libxl/xen_xm.c | 4 +-
src/locking/lock_daemon.c | 26 +-
src/locking/lock_daemon_dispatch.c | 10 +-
src/locking/lock_driver_lockd.c | 12 +-
src/locking/lock_driver_sanlock.c | 94 +-
src/locking/lock_manager.c | 8 +-
src/locking/sanlock_helper.c | 6 +-
src/logging/log_cleaner.c | 2 +-
src/logging/log_daemon.c | 26 +-
src/logging/log_daemon_dispatch.c | 2 +-
src/logging/log_handler.c | 4 +-
src/lxc/lxc_cgroup.c | 2 +-
src/lxc/lxc_container.c | 114 +--
src/lxc/lxc_controller.c | 78 +-
src/lxc/lxc_domain.c | 8 +-
src/lxc/lxc_driver.c | 104 +--
src/lxc/lxc_fuse.c | 4 +-
src/lxc/lxc_hostdev.c | 6 +-
src/lxc/lxc_native.c | 26 +-
src/lxc/lxc_process.c | 38 +-
src/network/bridge_driver.c | 188 ++--
src/network/bridge_driver_conf.c | 2 +-
src/network/bridge_driver_linux.c | 12 +-
src/network/leaseshelper.c | 12 +-
src/node_device/node_device_driver.c | 37 +-
src/node_device/node_device_udev.c | 49 +-
src/nwfilter/nwfilter_dhcpsnoop.c | 67 +-
src/nwfilter/nwfilter_driver.c | 18 +-
src/nwfilter/nwfilter_ebiptables_driver.c | 16 +-
src/nwfilter/nwfilter_gentech_driver.c | 19 +-
src/nwfilter/nwfilter_learnipaddr.c | 9 +-
src/openvz/openvz_conf.c | 29 +-
src/openvz/openvz_driver.c | 43 +-
src/qemu/qemu_agent.c | 41 +-
src/qemu/qemu_backup.c | 12 +-
src/qemu/qemu_block.c | 39 +-
src/qemu/qemu_blockjob.c | 2 +-
src/qemu/qemu_capabilities.c | 50 +-
src/qemu/qemu_cgroup.c | 4 +-
src/qemu/qemu_checkpoint.c | 19 +-
src/qemu/qemu_command.c | 82 +-
src/qemu/qemu_conf.c | 75 +-
src/qemu/qemu_dbus.c | 12 +-
src/qemu/qemu_domain.c | 188 ++--
src/qemu/qemu_domain_address.c | 26 +-
src/qemu/qemu_domainjob.c | 6 +-
src/qemu/qemu_driver.c | 428 ++++-----
src/qemu/qemu_extdevice.c | 2 +-
src/qemu/qemu_fd.c | 2 +-
src/qemu/qemu_firmware.c | 42 +-
src/qemu/qemu_hotplug.c | 160 ++--
src/qemu/qemu_interface.c | 6 +-
src/qemu/qemu_interop_config.c | 4 +-
src/qemu/qemu_migration.c | 105 ++-
src/qemu/qemu_migration_cookie.c | 34 +-
src/qemu/qemu_migration_params.c | 18 +-
src/qemu/qemu_monitor.c | 30 +-
src/qemu/qemu_monitor_json.c | 91 +-
src/qemu/qemu_monitor_text.c | 4 +-
src/qemu/qemu_namespace.c | 46 +-
src/qemu/qemu_passt.c | 2 +-
src/qemu/qemu_process.c | 116 ++-
src/qemu/qemu_qapi.c | 4 +-
src/qemu/qemu_saveimage.c | 30 +-
src/qemu/qemu_slirp.c | 6 +-
src/qemu/qemu_snapshot.c | 78 +-
src/qemu/qemu_tpm.c | 29 +-
src/qemu/qemu_validate.c | 317 +++----
src/qemu/qemu_vhost_user.c | 8 +-
src/qemu/qemu_vhost_user_gpu.c | 2 +-
src/qemu/qemu_virtiofs.c | 10 +-
src/remote/remote_daemon.c | 20 +-
src/remote/remote_daemon_config.c | 4 +-
src/remote/remote_daemon_dispatch.c | 75 +-
src/remote/remote_daemon_stream.c | 4 +-
src/remote/remote_driver.c | 88 +-
src/remote/remote_sockets.c | 5 +-
src/remote/remote_ssh_helper.c | 16 +-
src/rpc/gendispatch.pl | 10 +-
src/rpc/virkeepalive.c | 2 +-
src/rpc/virnetclient.c | 4 +-
src/rpc/virnetclientprogram.c | 26 +-
src/rpc/virnetclientstream.c | 6 +-
src/rpc/virnetdaemon.c | 6 +-
src/rpc/virnetlibsshsession.c | 57 +-
src/rpc/virnetmessage.c | 21 +-
src/rpc/virnetsaslcontext.c | 38 +-
src/rpc/virnetserver.c | 2 +-
src/rpc/virnetserverclient.c | 4 +-
src/rpc/virnetserverprogram.c | 12 +-
src/rpc/virnetsocket.c | 42 +-
src/rpc/virnetsshsession.c | 59 +-
src/rpc/virnettlscontext.c | 78 +-
src/secret/secret_driver.c | 13 +-
src/security/security_apparmor.c | 37 +-
src/security/security_dac.c | 28 +-
src/security/security_driver.c | 4 +-
src/security/security_manager.c | 6 +-
src/security/security_selinux.c | 114 +--
src/security/security_util.c | 16 +-
src/security/virt-aa-helper.c | 10 +-
src/storage/parthelper.c | 6 +-
src/storage/storage_backend.c | 4 +-
src/storage/storage_backend_disk.c | 20 +-
src/storage/storage_backend_fs.c | 15 +-
src/storage/storage_backend_gluster.c | 31 +-
src/storage/storage_backend_iscsi.c | 6 +-
src/storage/storage_backend_iscsi_direct.c | 44 +-
src/storage/storage_backend_logical.c | 19 +-
src/storage/storage_backend_mpath.c | 2 +-
src/storage/storage_backend_rbd.c | 87 +-
src/storage/storage_backend_scsi.c | 17 +-
src/storage/storage_backend_vstorage.c | 2 +-
src/storage/storage_driver.c | 126 +--
src/storage/storage_util.c | 176 ++--
src/storage_file/storage_file_backend.c | 8 +-
src/storage_file/storage_file_backend_fs.c | 6 +-
.../storage_file_backend_gluster.c | 16 +-
src/storage_file/storage_file_probe.c | 13 +-
src/storage_file/storage_source.c | 36 +-
.../storage_source_backingstore.c | 47 +-
src/test/test_driver.c | 161 ++--
src/util/iohelper.c | 10 +-
src/util/viralloc.c | 2 +-
src/util/virauth.c | 6 +-
src/util/virauthconfig.c | 4 +-
src/util/virbitmap.c | 4 +-
src/util/virccw.c | 2 +-
src/util/vircgroup.c | 42 +-
src/util/vircgroupbackend.c | 2 +-
src/util/vircgroupbackend.h | 4 +-
src/util/vircgroupv1.c | 78 +-
src/util/vircgroupv2.c | 80 +-
src/util/vircgroupv2devices.c | 4 +-
src/util/vircommand.c | 38 +-
src/util/virconf.c | 40 +-
src/util/vircrypto.c | 14 +-
src/util/virdaemon.c | 8 +-
src/util/virdevmapper.c | 8 +-
src/util/virdnsmasq.c | 15 +-
src/util/virerror.c | 212 ++---
src/util/virerror.h | 14 +-
src/util/vireventthread.c | 2 +-
src/util/virfdstream.c | 30 +-
src/util/virfile.c | 184 ++--
src/util/virfilecache.c | 4 +-
src/util/virfirewall.c | 4 +-
src/util/virfirewalld.c | 6 +-
src/util/virfirmware.c | 4 +-
src/util/virgdbus.c | 4 +-
src/util/virhash.c | 2 +-
src/util/virhook.c | 4 +-
src/util/virhostcpu.c | 36 +-
src/util/virhostmem.c | 32 +-
src/util/virhostuptime.c | 4 +-
src/util/viridentity.c | 16 +-
src/util/virinitctl.c | 6 +-
src/util/viriptables.c | 2 +-
src/util/viriscsi.c | 16 +-
src/util/virjson.c | 24 +-
src/util/virlease.c | 4 +-
src/util/virlockspace.c | 34 +-
src/util/virlog.c | 28 +-
src/util/virmacmap.c | 6 +-
src/util/virmdev.c | 18 +-
src/util/virmodule.c | 10 +-
src/util/virnetdev.c | 145 ++-
src/util/virnetdevbandwidth.c | 7 +-
src/util/virnetdevbridge.c | 64 +-
src/util/virnetdevip.c | 28 +-
src/util/virnetdevmacvlan.c | 4 +-
src/util/virnetdevmidonet.c | 4 +-
src/util/virnetdevopenvswitch.c | 28 +-
src/util/virnetdevtap.c | 24 +-
src/util/virnetdevveth.c | 4 +-
src/util/virnetdevvportprofile.c | 39 +-
src/util/virnetlink.c | 14 +-
src/util/virnodesuspend.c | 2 +-
src/util/virnuma.c | 26 +-
src/util/virnvme.c | 6 +-
src/util/virobject.c | 6 +-
src/util/virpci.c | 108 +--
src/util/virperf.c | 8 +-
src/util/virpidfile.c | 14 +-
src/util/virpolkit.c | 2 +-
src/util/virportallocator.c | 10 +-
src/util/virprocess.c | 61 +-
src/util/virrandom.c | 2 +-
src/util/virresctrl.c | 86 +-
src/util/virrotatingfile.c | 30 +-
src/util/virscsi.c | 6 +-
src/util/virscsihost.c | 7 +-
src/util/virscsivhost.c | 6 +-
src/util/virsecret.c | 5 +-
src/util/virsocketaddr.c | 51 +-
src/util/virstoragefile.c | 2 +-
src/util/virstring.c | 8 +-
src/util/virsysinfo.c | 16 +-
src/util/virsystemd.c | 2 +-
src/util/virthreadjob.c | 4 +-
src/util/virtpm.c | 10 +-
src/util/virtypedparam-public.c | 25 +-
src/util/virtypedparam.c | 29 +-
src/util/viruri.c | 11 +-
src/util/virusb.c | 16 +-
src/util/virutil.c | 35 +-
src/util/virvhba.c | 7 +-
src/util/virxml.c | 72 +-
src/vbox/vbox_XPCOMCGlue.c | 6 +-
src/vbox/vbox_common.c | 157 ++--
src/vbox/vbox_network.c | 2 +-
src/vbox/vbox_snapshot_conf.c | 12 +-
src/vbox/vbox_storage.c | 20 +-
src/vbox/vbox_tmpl.c | 16 +-
src/vmware/vmware_conf.c | 16 +-
src/vmware/vmware_driver.c | 26 +-
src/vmx/vmx.c | 264 +++---
src/vz/vz_driver.c | 32 +-
src/vz/vz_sdk.c | 74 +-
src/vz/vz_utils.c | 31 +-
src/vz/vz_utils.h | 2 +-
tests/virerrortest.c | 7 +-
tools/virsh-checkpoint.c | 28 +-
tools/virsh-domain-event.c | 65 +-
tools/virsh-domain-monitor.c | 24 +-
tools/virsh-domain.c | 312 +++----
tools/virsh-edit.c | 2 +-
tools/virsh-host.c | 46 +-
tools/virsh-interface.c | 84 +-
tools/virsh-network.c | 71 +-
tools/virsh-nodedev.c | 62 +-
tools/virsh-nwfilter.c | 27 +-
tools/virsh-pool.c | 72 +-
tools/virsh-secret.c | 22 +-
tools/virsh-snapshot.c | 46 +-
tools/virsh-util.c | 2 +-
tools/virsh-volume.c | 78 +-
tools/virsh.c | 40 +-
tools/virt-admin.c | 54 +-
tools/virt-host-validate-bhyve.c | 4 +-
tools/virt-host-validate-common.c | 4 +-
tools/virt-host-validate.c | 8 +-
tools/virt-login-shell-helper.c | 22 +-
tools/virt-pki-query-dn.c | 12 +-
tools/vsh.c | 138 ++-
tools/vsh.h | 6 +-
352 files changed, 6145 insertions(+), 6762 deletions(-)
create mode 100755 scripts/check-pot.py
--
2.39.2
1 year, 8 months
[PATCH] vircryptotest: Fix cipher test typo aes265cbc -> aes256cbc
by Martin Kletzander
Signed-off-by: Martin Kletzander <mkletzan(a)redhat.com>
---
Not pushing as trivial since after today I am so unsure and it's pre-release time =)
tests/vircryptotest.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/vircryptotest.c b/tests/vircryptotest.c
index 9fbaf2f636e5..9ffe70756e6e 100644
--- a/tests/vircryptotest.c
+++ b/tests/vircryptotest.c
@@ -150,7 +150,7 @@ mymain(void)
ret = -1; \
} while (0)
- VIR_CRYPTO_ENCRYPT(VIR_CRYPTO_CIPHER_AES256CBC, "aes265cbc",
+ VIR_CRYPTO_ENCRYPT(VIR_CRYPTO_CIPHER_AES256CBC, "aes256cbc",
secretdata, 7, expected_ciphertext, 16);
#undef VIR_CRYPTO_ENCRYPT
--
2.40.0
1 year, 8 months
[PATCH 0/7] qemu capability testing cleanups and improvements (part 4)
by Peter Krempa
This series applies on top of 'part3' fetch everything from my repo:
git fetch https://gitlab.com/pipo.sk/libvirt.git s390-send
In this part tests for the 's390' platform are converted to use real
capabilities.
Peter Krempa (7):
qemuxml2argvtest: Remove obsolete negative tests
qemuxml2argvtest: Modernize all s390 'keywrap' tests
qemuxml2argvtest: Modernize all s390 'loadparm' tests
qemuxml2argvtest: Modernize s390 cpu tests
qemuxml2argvtest: Convert rest of s390 tests to real caps
qemuxml2xmltest: Convert all s390 test cases to real capabilities
testutilsqemu: Drop fake capability testing infrastructure for 's390'
tests/qemuxml2argvdata/cpu-s390-features.err | 1 -
...gs => cpu-s390-features.s390x-latest.args} | 6 +-
....args => cpu-s390-zEC12.s390x-latest.args} | 6 +-
...dev-scsi-vhost-scsi-ccw.s390x-latest.args} | 7 +-
...io-ccw-duplicate-address.s390x-latest.err} | 0
...vfio-ccw-invalid-address.s390x-latest.err} | 0
.../hostdev-subsys-mdev-vfio-ccw.err | 1 -
.../hostdev-vfio-zpci-autogenerate-fids.err | 1 -
...ev-vfio-zpci-boundaries.s390x-latest.args} | 7 +-
...tdev-vfio-zpci-duplicate.s390x-latest.err} | 0
...stdev-vfio-zpci-set-zero.s390x-latest.err} | 0
...v-vfio-zpci-uid-set-zero.s390x-latest.err} | 0
tests/qemuxml2argvdata/hostdev-vfio-zpci.err | 1 -
...gs => hostdev-vfio-zpci.s390x-latest.args} | 7 +-
...rgs => input-virtio-ccw.s390x-latest.args} | 7 +-
...hine-aeskeywrap-off-cap.s390x-latest.args} | 7 +-
...ine-aeskeywrap-off-caps.s390x-latest.args} | 7 +-
...chine-aeskeywrap-on-cap.s390x-latest.args} | 7 +-
...hine-aeskeywrap-on-caps.s390x-latest.args} | 7 +-
...hine-deakeywrap-off-cap.s390x-latest.args} | 7 +-
...ine-deakeywrap-off-caps.s390x-latest.args} | 7 +-
...chine-deakeywrap-on-cap.s390x-latest.args} | 7 +-
...hine-deakeywrap-on-caps.s390x-latest.args} | 7 +-
.../machine-keywrap-none-caps.args | 31 -----
...achine-keywrap-none-caps.s390x-latest.args | 34 +++++
.../machine-keywrap-none.args | 31 -----
.../machine-keywrap-none.s390x-latest.args | 34 +++++
...ultiple-disks-nets-s390.s390x-latest.args} | 7 +-
...chine-loadparm-net-s390.s390x-latest.args} | 7 +-
...> machine-loadparm-s390.s390x-latest.args} | 7 +-
....err => s390-no-parallel.s390x-latest.err} | 0
...rr => s390-panic-address.s390x-latest.err} | 0
...s => s390-panic-missing.s390x-latest.args} | 7 +-
...> s390-panic-no-address.s390x-latest.args} | 7 +-
...2.args => s390-serial-2.s390x-latest.args} | 7 +-
... => s390-serial-console.s390x-latest.args} | 7 +-
...ial.args => s390-serial.s390x-latest.args} | 7 +-
...=> video-virtio-gpu-ccw.s390x-latest.args} | 7 +-
tests/qemuxml2argvtest.c | 130 +++++-------------
...=> disk-virtio-s390-zpci.s390x-latest.xml} | 3 +
...tdev-scsi-vhost-scsi-ccw.s390x-latest.xml} | 4 +
...tdev-subsys-mdev-vfio-ap.s390x-latest.xml} | 4 +
...dev-subsys-mdev-vfio-ccw.s390x-latest.xml} | 4 +
...o-zpci-autogenerate-fids.s390x-latest.xml} | 3 +
...o-zpci-autogenerate-uids.s390x-latest.xml} | 3 +
...v-vfio-zpci-autogenerate.s390x-latest.xml} | 3 +
...dev-vfio-zpci-boundaries.s390x-latest.xml} | 3 +
...vfio-zpci-ccw-memballoon.s390x-latest.xml} | 1 +
...io-zpci-multidomain-many.s390x-latest.xml} | 3 +
...xml => hostdev-vfio-zpci.s390x-latest.xml} | 3 +
....xml => input-virtio-ccw.s390x-latest.xml} | 4 +
...multiple-disks-nets-s390.s390x-latest.xml} | 4 +
...ml => s390-panic-missing.s390x-latest.xml} | 4 +
...=> s390-panic-no-address.s390x-latest.xml} | 4 +
...-panic.xml => s390-panic.s390x-latest.xml} | 2 +
...l-2.xml => s390-serial-2.s390x-latest.xml} | 4 +
...l => s390-serial-console.s390x-latest.xml} | 4 +
...nsole.xml => s390-serial.s390x-latest.xml} | 4 +
... => vhost-vsock-ccw-auto.s390x-latest.xml} | 4 +
.../vhost-vsock-ccw.s390x-latest.xml | 37 +++++
tests/qemuxml2xmloutdata/vhost-vsock-ccw.xml | 1 -
...ideo-virtio-gpu-ccw-auto.s390x-latest.xml} | 4 +
... => video-virtio-gpu-ccw.s390x-latest.xml} | 4 +
tests/qemuxml2xmltest.c | 81 ++++-------
tests/testutilsqemu.c | 6 -
65 files changed, 355 insertions(+), 269 deletions(-)
delete mode 100644 tests/qemuxml2argvdata/cpu-s390-features.err
rename tests/qemuxml2argvdata/{cpu-s390-features.args => cpu-s390-features.s390x-latest.args} (68%)
rename tests/qemuxml2argvdata/{cpu-s390-zEC12.args => cpu-s390-zEC12.s390x-latest.args} (67%)
rename tests/qemuxml2argvdata/{hostdev-scsi-vhost-scsi-ccw.args => hostdev-scsi-vhost-scsi-ccw.s390x-latest.args} (77%)
rename tests/qemuxml2argvdata/{hostdev-subsys-mdev-vfio-ccw-duplicate-address.err => hostdev-subsys-mdev-vfio-ccw-duplicate-address.s390x-latest.err} (100%)
rename tests/qemuxml2argvdata/{hostdev-subsys-mdev-vfio-ccw-invalid-address.err => hostdev-subsys-mdev-vfio-ccw-invalid-address.s390x-latest.err} (100%)
delete mode 100644 tests/qemuxml2argvdata/hostdev-subsys-mdev-vfio-ccw.err
delete mode 100644 tests/qemuxml2argvdata/hostdev-vfio-zpci-autogenerate-fids.err
rename tests/qemuxml2argvdata/{hostdev-vfio-zpci-boundaries.args => hostdev-vfio-zpci-boundaries.s390x-latest.args} (75%)
rename tests/qemuxml2argvdata/{hostdev-vfio-zpci-duplicate.err => hostdev-vfio-zpci-duplicate.s390x-latest.err} (100%)
rename tests/qemuxml2argvdata/{hostdev-vfio-zpci-set-zero.err => hostdev-vfio-zpci-set-zero.s390x-latest.err} (100%)
rename tests/qemuxml2argvdata/{hostdev-vfio-zpci-uid-set-zero.err => hostdev-vfio-zpci-uid-set-zero.s390x-latest.err} (100%)
delete mode 100644 tests/qemuxml2argvdata/hostdev-vfio-zpci.err
rename tests/qemuxml2argvdata/{hostdev-vfio-zpci.args => hostdev-vfio-zpci.s390x-latest.args} (71%)
rename tests/qemuxml2argvdata/{input-virtio-ccw.args => input-virtio-ccw.s390x-latest.args} (77%)
rename tests/qemuxml2argvdata/{machine-aeskeywrap-off-caps.args => machine-aeskeywrap-off-cap.s390x-latest.args} (77%)
rename tests/qemuxml2argvdata/{machine-aeskeywrap-off-cap.args => machine-aeskeywrap-off-caps.s390x-latest.args} (77%)
rename tests/qemuxml2argvdata/{machine-aeskeywrap-on-cap.args => machine-aeskeywrap-on-cap.s390x-latest.args} (77%)
rename tests/qemuxml2argvdata/{machine-aeskeywrap-on-caps.args => machine-aeskeywrap-on-caps.s390x-latest.args} (77%)
rename tests/qemuxml2argvdata/{machine-deakeywrap-off-cap.args => machine-deakeywrap-off-cap.s390x-latest.args} (77%)
rename tests/qemuxml2argvdata/{machine-deakeywrap-off-caps.args => machine-deakeywrap-off-caps.s390x-latest.args} (77%)
rename tests/qemuxml2argvdata/{machine-deakeywrap-on-cap.args => machine-deakeywrap-on-cap.s390x-latest.args} (77%)
rename tests/qemuxml2argvdata/{machine-deakeywrap-on-caps.args => machine-deakeywrap-on-caps.s390x-latest.args} (77%)
delete mode 100644 tests/qemuxml2argvdata/machine-keywrap-none-caps.args
create mode 100644 tests/qemuxml2argvdata/machine-keywrap-none-caps.s390x-latest.args
delete mode 100644 tests/qemuxml2argvdata/machine-keywrap-none.args
create mode 100644 tests/qemuxml2argvdata/machine-keywrap-none.s390x-latest.args
rename tests/qemuxml2argvdata/{machine-loadparm-multiple-disks-nets-s390.args => machine-loadparm-multiple-disks-nets-s390.s390x-latest.args} (81%)
rename tests/qemuxml2argvdata/{machine-loadparm-net-s390.args => machine-loadparm-net-s390.s390x-latest.args} (70%)
rename tests/qemuxml2argvdata/{machine-loadparm-s390.args => machine-loadparm-s390.s390x-latest.args} (74%)
rename tests/qemuxml2argvdata/{s390-no-parallel.err => s390-no-parallel.s390x-latest.err} (100%)
rename tests/qemuxml2argvdata/{s390-panic-address.err => s390-panic-address.s390x-latest.err} (100%)
rename tests/qemuxml2argvdata/{s390-panic-missing.args => s390-panic-missing.s390x-latest.args} (72%)
rename tests/qemuxml2argvdata/{s390-panic-no-address.args => s390-panic-no-address.s390x-latest.args} (71%)
rename tests/qemuxml2argvdata/{s390-serial-2.args => s390-serial-2.s390x-latest.args} (71%)
rename tests/qemuxml2argvdata/{s390-serial-console.args => s390-serial-console.s390x-latest.args} (69%)
rename tests/qemuxml2argvdata/{s390-serial.args => s390-serial.s390x-latest.args} (69%)
rename tests/qemuxml2argvdata/{video-virtio-gpu-ccw.args => video-virtio-gpu-ccw.s390x-latest.args} (77%)
rename tests/qemuxml2xmloutdata/{disk-virtio-s390-zpci.xml => disk-virtio-s390-zpci.s390x-latest.xml} (91%)
rename tests/qemuxml2xmloutdata/{hostdev-scsi-vhost-scsi-ccw.xml => hostdev-scsi-vhost-scsi-ccw.s390x-latest.xml} (89%)
rename tests/qemuxml2xmloutdata/{hostdev-subsys-mdev-vfio-ap.xml => hostdev-subsys-mdev-vfio-ap.s390x-latest.xml} (85%)
rename tests/qemuxml2xmloutdata/{hostdev-subsys-mdev-vfio-ccw.xml => hostdev-subsys-mdev-vfio-ccw.s390x-latest.xml} (85%)
rename tests/qemuxml2xmloutdata/{hostdev-vfio-zpci-autogenerate-fids.xml => hostdev-vfio-zpci-autogenerate-fids.s390x-latest.xml} (93%)
rename tests/qemuxml2xmloutdata/{hostdev-vfio-zpci-autogenerate-uids.xml => hostdev-vfio-zpci-autogenerate-uids.s390x-latest.xml} (93%)
rename tests/qemuxml2xmloutdata/{hostdev-vfio-zpci-autogenerate.xml => hostdev-vfio-zpci-autogenerate.s390x-latest.xml} (91%)
rename tests/qemuxml2xmloutdata/{hostdev-vfio-zpci-boundaries.xml => hostdev-vfio-zpci-boundaries.s390x-latest.xml} (94%)
rename tests/qemuxml2xmloutdata/{hostdev-vfio-zpci-ccw-memballoon.xml => hostdev-vfio-zpci-ccw-memballoon.s390x-latest.xml} (96%)
rename tests/qemuxml2xmloutdata/{hostdev-vfio-zpci-multidomain-many.xml => hostdev-vfio-zpci-multidomain-many.s390x-latest.xml} (97%)
rename tests/qemuxml2xmloutdata/{hostdev-vfio-zpci.xml => hostdev-vfio-zpci.s390x-latest.xml} (91%)
rename tests/qemuxml2xmloutdata/{input-virtio-ccw.xml => input-virtio-ccw.s390x-latest.xml} (89%)
rename tests/qemuxml2xmloutdata/{machine-loadparm-multiple-disks-nets-s390.xml => machine-loadparm-multiple-disks-nets-s390.s390x-latest.xml} (91%)
rename tests/qemuxml2xmloutdata/{s390-panic-missing.xml => s390-panic-missing.s390x-latest.xml} (86%)
rename tests/qemuxml2xmloutdata/{s390-panic-no-address.xml => s390-panic-no-address.s390x-latest.xml} (85%)
rename tests/qemuxml2xmloutdata/{s390-panic.xml => s390-panic.s390x-latest.xml} (90%)
rename tests/qemuxml2xmloutdata/{s390-serial-2.xml => s390-serial-2.s390x-latest.xml} (86%)
rename tests/qemuxml2xmloutdata/{s390-serial.xml => s390-serial-console.s390x-latest.xml} (84%)
rename tests/qemuxml2xmloutdata/{s390-serial-console.xml => s390-serial.s390x-latest.xml} (84%)
rename tests/qemuxml2xmloutdata/{vhost-vsock-ccw-auto.xml => vhost-vsock-ccw-auto.s390x-latest.xml} (87%)
create mode 100644 tests/qemuxml2xmloutdata/vhost-vsock-ccw.s390x-latest.xml
delete mode 120000 tests/qemuxml2xmloutdata/vhost-vsock-ccw.xml
rename tests/qemuxml2xmloutdata/{video-virtio-gpu-ccw-auto.xml => video-virtio-gpu-ccw-auto.s390x-latest.xml} (88%)
rename tests/qemuxml2xmloutdata/{video-virtio-gpu-ccw.xml => video-virtio-gpu-ccw.s390x-latest.xml} (89%)
--
2.39.2
1 year, 8 months
[PATCH 00/31] qemu capability testing cleanups and improvements (part 3)
by Peter Krempa
This series applies on top of 'part2' fetch everything from my repo:
git fetch https://gitlab.com/pipo.sk/libvirt.git ppc-send
In this part:
- caps code is refactored to simplify error paths
- vircapstest is removed
- qemumemlocktest is converted to use real caps
- qemuhotplugtest is converted to use real caps
- ppc64 fake caps invocation is dropped from qemuxml2xml/argv tests
- always present ppc64 caps are drooped
- ppc64 fake emulators are removed
Peter Krempa (31):
qemu: capabilities: Drop 'kvmVersion' field
libxlCapsInitGuests: Rework insane use of ternary operators
virCapabilitiesAllocMachines: Use NULL-terminated list as argument and
return count
virQEMUCapsGetMachineTypesCaps: Remove return value
virQEMUCapsInitGuestFromBinary: Refactor cleanup
virQEMUCapsInitGuestFromBinary: Remove return value
virQEMUCapsInitGuest: Refactor cleanup and remove return value
virCapabilitiesFreeMachines: Remove unused function
vircapstest: Remove 'qemu' testing
tests: vircaps: Remove pointless testing of
virCapabilitiesHostNUMAGetCpus
tests: Remove 'vircapstest'
testutilsqemu: Extract fetching of real virQEMUCaps into
testQemuGetRealCaps
testQemuGetRealCaps: Integrate fetching of QMP schema
qemumemlocktest: Use real capabilities
qemuhotplugtest: Don't fetch capabilities when they are not used
qemuhotplugtestdomain: Move all i686 test cases to x86_64
qemuhotplugtest: Enable 'lsilogic' SCSI controller
qemuhotplugtest: Assert QEMU_CAPS_SET_ACTION
qemuhotplugtest: Refactor calling of testQemuHotplugCpuPrepare
qemuhotplugtest: Use real 'latest' capabilities for hotplug testing
qemuhotplugtest: Make the test more useful by validating used commands
against QMP schema
qemuxml2argvtest: Modernize all 'ppc64' remaining test cases
qemuxml2xmltest: Modernize all remaining 'ppc64' test cases
qemuxml2argvtest: Add '4.2.0' version of 'pseries-features' test case
qemuxml2argvtest: Drop negative test cases for 'pseries' machine
features
qemuValidateDomainDefPSeriesFeature: Remove obsolete checks
qemu: capabilities: Retire obsolete 'pseries' capabilities
qemuValidateDomainDefPSeriesFeature: Simplify machine validation logic
qemuValidateDomainDefPSeriesFeature: Simplify feature validation
qemuxml2argvtest: Use real capabilities for negative test cases for
ppc64 architecture
testutilsqemu: Drop fake capability testing infrastructure for 'ppc64'
src/conf/capabilities.c | 31 +-
src/conf/capabilities.h | 5 +-
src/libvirt_private.syms | 1 -
src/libxl/libxl_capabilities.c | 39 ++-
src/qemu/qemu_capabilities.c | 85 ++----
src/qemu/qemu_capabilities.h | 23 +-
src/qemu/qemu_validate.c | 99 +-----
tests/meson.build | 18 +-
.../caps_4.2.0_aarch64.xml | 1 -
.../qemucapabilitiesdata/caps_4.2.0_ppc64.xml | 8 -
.../qemucapabilitiesdata/caps_4.2.0_s390x.xml | 1 -
.../caps_4.2.0_x86_64.xml | 1 -
.../caps_5.0.0_aarch64.xml | 1 -
.../qemucapabilitiesdata/caps_5.0.0_ppc64.xml | 8 -
.../caps_5.0.0_riscv64.xml | 1 -
.../caps_5.0.0_x86_64.xml | 1 -
.../qemucapabilitiesdata/caps_5.1.0_sparc.xml | 1 -
.../caps_5.1.0_x86_64.xml | 1 -
.../caps_5.2.0_aarch64.xml | 1 -
.../qemucapabilitiesdata/caps_5.2.0_ppc64.xml | 8 -
.../caps_5.2.0_riscv64.xml | 1 -
.../qemucapabilitiesdata/caps_5.2.0_s390x.xml | 1 -
.../caps_5.2.0_x86_64.xml | 1 -
.../caps_6.0.0_aarch64.xml | 1 -
.../qemucapabilitiesdata/caps_6.0.0_s390x.xml | 1 -
.../caps_6.0.0_x86_64.xml | 1 -
.../caps_6.1.0_x86_64.xml | 1 -
.../caps_6.2.0_aarch64.xml | 1 -
.../qemucapabilitiesdata/caps_6.2.0_ppc64.xml | 8 -
.../caps_6.2.0_x86_64.xml | 1 -
.../caps_7.0.0_aarch64+hvf.xml | 1 -
.../caps_7.0.0_aarch64.xml | 1 -
.../qemucapabilitiesdata/caps_7.0.0_ppc64.xml | 8 -
.../caps_7.0.0_x86_64.xml | 1 -
.../qemucapabilitiesdata/caps_7.1.0_ppc64.xml | 8 -
.../caps_7.1.0_x86_64.xml | 1 -
tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml | 1 -
.../caps_7.2.0_x86_64+hvf.xml | 1 -
.../caps_7.2.0_x86_64.xml | 1 -
.../caps_8.0.0_riscv64.xml | 1 -
.../caps_8.0.0_x86_64.xml | 1 -
tests/qemucaps2xmltest.c | 8 +-
tests/qemuhotplugtest.c | 284 +++++++++---------
.../ppc64-modern-bulk-result-conf.xml | 5 +-
.../ppc64-modern-bulk-result-live.xml | 5 +-
.../ppc64-modern-individual-result-conf.xml | 5 +-
.../ppc64-modern-individual-result-live.xml | 5 +-
.../x86-modern-bulk-result-conf.xml | 5 +-
.../x86-modern-bulk-result-live.xml | 5 +-
.../x86-modern-individual-add-result-conf.xml | 5 +-
.../x86-modern-individual-add-result-live.xml | 5 +-
.../qemuhotplug-disk-scsi-2.xml | 2 +-
.../qemuhotplug-base-ccw-live+ccw-virtio.xml | 13 +-
...with-2-ccw-virtio+ccw-virtio-1-reverse.xml | 13 +-
...otplug-base-ccw-live-with-2-ccw-virtio.xml | 13 +-
...-with-ccw-virtio+ccw-virtio-2-explicit.xml | 13 +-
...-ccw-live-with-ccw-virtio+ccw-virtio-2.xml | 13 +-
...uhotplug-base-ccw-live-with-ccw-virtio.xml | 13 +-
.../qemuhotplug-base-ccw-live.xml | 13 +-
.../qemuhotplug-base-live+cdrom-scsi.xml | 5 +-
.../qemuhotplug-base-live+cdrom-usb.xml | 5 +-
...uhotplug-base-live+disk-scsi-multipath.xml | 5 +-
...+disk-scsi-wwn+disk-scsi-duplicate-wwn.xml | 5 +-
.../qemuhotplug-base-live+disk-scsi.xml | 5 +-
.../qemuhotplug-base-live+disk-usb.xml | 5 +-
.../qemuhotplug-base-live+disk-virtio.xml | 5 +-
.../qemuhotplug-base-live+guestfwd.xml | 5 +-
.../qemuhotplug-base-live+hostdev-pci.xml | 5 +-
.../qemuhotplug-base-live+interface-vdpa.xml | 5 +-
...qemuhotplug-base-live+ivshmem-doorbell.xml | 5 +-
.../qemuhotplug-base-live+ivshmem-plain.xml | 5 +-
.../qemuhotplug-base-live+qemu-agent.xml | 5 +-
...uhotplug-base-live+watchdog-user-alias.xml | 5 +-
.../qemuhotplug-base-live+watchdog.xml | 5 +-
.../qemuhotplug-base-live.xml | 5 +-
...hotplug-base-with-scsi-controller-live.xml | 13 +-
...thout-scsi-controller-live+disk-scsi-2.xml | 17 +-
...g-console-compat-2-live+console-virtio.xml | 5 +-
.../qemuhotplug-console-compat-2-live.xml | 5 +-
.../qemuhotplug-disk-cdrom.xml | 4 +-
...uhotplug-graphics-spice-listen-network.xml | 4 +-
.../qemuhotplug-graphics-spice-timeout.xml | 4 +-
.../qemuhotplug-graphics-spice.xml | 4 +-
...uhotplug-pseries-base-live+hostdev-pci.xml | 5 +-
.../qemuhotplug-pseries-base-live.xml | 5 +-
tests/qemumemlocktest.c | 27 +-
...r => aarch64-gic-not-arm.ppc64-latest.err} | 0
... cpu-hotplug-granularity.ppc64-latest.err} | 0
...emory-hotplug-nvdimm-ppc64-abi-update.args | 13 +-
...ry-hotplug-nvdimm-ppc64.ppc64-latest.args} | 13 +-
...emory-hotplug-ppc64-nonuma-abi-update.args | 15 +-
...ry-hotplug-ppc64-nonuma.ppc64-latest.args} | 15 +-
....err => ppc64-tpm-double.ppc64-latest.err} | 0
...=> ppc64-tpmproxy-double.ppc64-latest.err} | 0
...4-usb-controller-legacy.ppc64-latest.args} | 11 +-
.../ppc64-usb-controller-qemu-xhci.args | 11 +-
...=> ppc64-usb-controller.ppc64-latest.args} | 11 +-
.../qemuxml2argvdata/pseries-features-ccf.err | 1 -
.../qemuxml2argvdata/pseries-features-ccf.xml | 14 -
.../pseries-features-cfpc.err | 1 -
.../pseries-features-cfpc.xml | 14 -
.../pseries-features-hpt-pagesize.err | 1 -
.../pseries-features-hpt-pagesize.xml | 16 -
.../qemuxml2argvdata/pseries-features-htm.err | 1 -
.../qemuxml2argvdata/pseries-features-htm.xml | 14 -
.../qemuxml2argvdata/pseries-features-ibs.err | 1 -
.../qemuxml2argvdata/pseries-features-ibs.xml | 14 -
.../pseries-features-nested-hv.err | 1 -
.../pseries-features-nested-hv.xml | 14 -
.../pseries-features-sbbc.err | 1 -
.../pseries-features-sbbc.xml | 14 -
.../pseries-features.ppc64-4.2.0.args | 30 ++
.../qemuxml2argvdata/pseries-no-parallel.err | 1 -
.../pseries-no-parallel.ppc64-latest.err | 1 +
...b-invalid-target-index-1.ppc64-latest.err} | 0
...b-invalid-target-index-2.ppc64-latest.err} | 0
...b-invalid-target-index-3.ppc64-latest.err} | 0
.../pseries-spaprvio-invalid.err | 1 -
.../pseries-spaprvio-invalid.ppc64-latest.err | 1 +
tests/qemuxml2argvtest.c | 97 ++----
...memory-hotplug-nvdimm-ppc64-abi-update.xml | 3 +-
...ory-hotplug-nvdimm-ppc64.ppc64-latest.xml} | 3 +-
...memory-hotplug-ppc64-nonuma-abi-update.xml | 3 +
...mory-hotplug-ppc64-nonuma.ppc64-latest.xml | 42 +++
.../memory-hotplug-ppc64-nonuma.xml | 1 -
...64-usb-controller-legacy.ppc64-latest.xml} | 3 +
... => ppc64-usb-controller.ppc64-latest.xml} | 5 +-
tests/qemuxml2xmltest.c | 24 +-
tests/testutilsqemu.c | 171 ++++++-----
tests/testutilsqemu.h | 11 +-
tests/testutilsxen.c | 26 +-
tests/vircapstest.c | 230 --------------
132 files changed, 705 insertions(+), 1118 deletions(-)
rename tests/qemuxml2argvdata/{aarch64-gic-not-arm.err => aarch64-gic-not-arm.ppc64-latest.err} (100%)
rename tests/qemuxml2argvdata/{cpu-hotplug-granularity.err => cpu-hotplug-granularity.ppc64-latest.err} (100%)
rename tests/qemuxml2argvdata/{memory-hotplug-nvdimm-ppc64.args => memory-hotplug-nvdimm-ppc64.ppc64-latest.args} (55%)
rename tests/qemuxml2argvdata/{memory-hotplug-ppc64-nonuma.args => memory-hotplug-ppc64-nonuma.ppc64-latest.args} (54%)
rename tests/qemuxml2argvdata/{ppc64-tpm-double.err => ppc64-tpm-double.ppc64-latest.err} (100%)
rename tests/qemuxml2argvdata/{ppc64-tpmproxy-double.err => ppc64-tpmproxy-double.ppc64-latest.err} (100%)
rename tests/qemuxml2argvdata/{ppc64-usb-controller-legacy.args => ppc64-usb-controller-legacy.ppc64-latest.args} (58%)
rename tests/qemuxml2argvdata/{ppc64-usb-controller.args => ppc64-usb-controller.ppc64-latest.args} (58%)
delete mode 100644 tests/qemuxml2argvdata/pseries-features-ccf.err
delete mode 100644 tests/qemuxml2argvdata/pseries-features-ccf.xml
delete mode 100644 tests/qemuxml2argvdata/pseries-features-cfpc.err
delete mode 100644 tests/qemuxml2argvdata/pseries-features-cfpc.xml
delete mode 100644 tests/qemuxml2argvdata/pseries-features-hpt-pagesize.err
delete mode 100644 tests/qemuxml2argvdata/pseries-features-hpt-pagesize.xml
delete mode 100644 tests/qemuxml2argvdata/pseries-features-htm.err
delete mode 100644 tests/qemuxml2argvdata/pseries-features-htm.xml
delete mode 100644 tests/qemuxml2argvdata/pseries-features-ibs.err
delete mode 100644 tests/qemuxml2argvdata/pseries-features-ibs.xml
delete mode 100644 tests/qemuxml2argvdata/pseries-features-nested-hv.err
delete mode 100644 tests/qemuxml2argvdata/pseries-features-nested-hv.xml
delete mode 100644 tests/qemuxml2argvdata/pseries-features-sbbc.err
delete mode 100644 tests/qemuxml2argvdata/pseries-features-sbbc.xml
create mode 100644 tests/qemuxml2argvdata/pseries-features.ppc64-4.2.0.args
delete mode 100644 tests/qemuxml2argvdata/pseries-no-parallel.err
create mode 100644 tests/qemuxml2argvdata/pseries-no-parallel.ppc64-latest.err
rename tests/qemuxml2argvdata/{pseries-phb-invalid-target-index-1.err => pseries-phb-invalid-target-index-1.ppc64-latest.err} (100%)
rename tests/qemuxml2argvdata/{pseries-phb-invalid-target-index-2.err => pseries-phb-invalid-target-index-2.ppc64-latest.err} (100%)
rename tests/qemuxml2argvdata/{pseries-phb-invalid-target-index-3.err => pseries-phb-invalid-target-index-3.ppc64-latest.err} (100%)
delete mode 100644 tests/qemuxml2argvdata/pseries-spaprvio-invalid.err
create mode 100644 tests/qemuxml2argvdata/pseries-spaprvio-invalid.ppc64-latest.err
rename tests/qemuxml2xmloutdata/{memory-hotplug-nvdimm-ppc64.xml => memory-hotplug-nvdimm-ppc64.ppc64-latest.xml} (93%)
create mode 100644 tests/qemuxml2xmloutdata/memory-hotplug-ppc64-nonuma.ppc64-latest.xml
delete mode 120000 tests/qemuxml2xmloutdata/memory-hotplug-ppc64-nonuma.xml
rename tests/qemuxml2xmloutdata/{ppc64-usb-controller.xml => ppc64-usb-controller-legacy.ppc64-latest.xml} (91%)
rename tests/qemuxml2xmloutdata/{ppc64-usb-controller-legacy.xml => ppc64-usb-controller.ppc64-latest.xml} (86%)
delete mode 100644 tests/vircapstest.c
--
2.39.2
1 year, 8 months
[PATCH 00/24] qemu capability testing cleanups and improvements (part 2)
by Peter Krempa
This part focuses on getting rid of the fake-caps infrastructure for
testing qemu accelerated via HVF on OSX.
Note: The test data that I'm using are based on the linux test data we
have in the repository.
It'll be great to get a real dump of qemu running on OSX but I don't
have such system.
Peter Krempa (24):
virStringParseVersion: Parse into 'unsigned long long'
qemumigrationcookiexmltest: Don't fetch latest caps files without
using them
domaincapstest: Make construction of filename more extensible
domaincapstest: Restructure code to avoid disabling of warnings
qemucapabilitiesdata: Separate version from architecture with a '_'
testQemuGetLatestCaps: Process capabilities for all architectures in
one pass
testQemuGetLatestCapsForArch: Rewrite using testQemuGetLatestCaps
tests: qemucapabilitiesdata: Add README file
tests: Add support for multiple variants of data for the same qemu
version+architecture
domaincapstest: Propagate variant name into doTestQemuInternal
schema: capabilities: Add 'hvf' virt type into list of allowed types
domaincapstest: Add testing infrastructure for the '+hvf' variant
qemu: capabilities: Fix testing of 'TCG' capabilities probing
virQEMUCapsProbeHVF: Factor out setting of the capability
tests: Mock virQEMUCapsProbeHVF directly in qemucapabilitiestest
qemucapabilitiestest: Add support for '+hvf' variant
qemucapabilitiesdata: Add (fake) '+hvf' variant of x86_64 data
qemucapabilitiesdata: Add (fake) '+hvf' variant of aarch64 data
testutilsqemu: Add support for specifying the variant for
qemuxml2(argv|xml)test
qemuxml2(argv|xml): Convert "hvf-x86_64-q35-headless" test case to
real capapilities
qemuxml2(argv|xml): Convert "hvf-aarch64-virt-headless" test case to
real capapilities
qemuxml2argvtest: Remove infrastructure for fake-caps testing on OSX
qemuxml2xmltest: Remove infrastructure for fake-caps testing on OSX
testutilsqemu: Remove infrastructure for fake-caps testing of OSX
src/bhyve/bhyve_driver.c | 5 +-
src/ch/ch_conf.c | 2 +-
src/conf/schemas/capability.rng | 1 +
src/esx/esx_vi.h | 4 +-
src/lxc/lxc_driver.c | 5 +-
src/network/bridge_driver_linux.c | 2 +-
src/openvz/openvz_conf.c | 2 +-
src/qemu/qemu_capabilities.c | 25 +-
src/qemu/qemu_capabilities.h | 3 +-
src/qemu/qemu_capspriv.h | 3 +
src/util/virdnsmasq.c | 4 +-
src/util/virfirewalld.c | 4 +-
src/util/virfirewalld.h | 2 +-
src/util/virstring.c | 4 +-
src/util/virstring.h | 2 +-
src/vbox/vbox_common.c | 5 +-
src/vmware/vmware_conf.c | 5 +-
src/vz/vz_utils.c | 5 +-
.../qemu_7.0.0-hvf.aarch64+hvf.xml | 174 +
.../qemu_7.2.0-hvf.x86_64+hvf.xml | 183 +
.../qemu_7.2.0-tcg.x86_64+hvf.xml | 264 +
tests/domaincapsmock.c | 6 -
tests/domaincapstest.c | 128 +-
tests/qemucapabilitiesdata/README.rst | 113 +
...h64.replies => caps_4.2.0_aarch64.replies} | 0
...2.0.aarch64.xml => caps_4.2.0_aarch64.xml} | 0
...ppc64.replies => caps_4.2.0_ppc64.replies} | 0
...s_4.2.0.ppc64.xml => caps_4.2.0_ppc64.xml} | 0
...s390x.replies => caps_4.2.0_s390x.replies} | 0
...s_4.2.0.s390x.xml => caps_4.2.0_s390x.xml} | 0
...6_64.replies => caps_4.2.0_x86_64.replies} | 0
...4.2.0.x86_64.xml => caps_4.2.0_x86_64.xml} | 0
...h64.replies => caps_5.0.0_aarch64.replies} | 0
...0.0.aarch64.xml => caps_5.0.0_aarch64.xml} | 0
...ppc64.replies => caps_5.0.0_ppc64.replies} | 0
...s_5.0.0.ppc64.xml => caps_5.0.0_ppc64.xml} | 0
...v64.replies => caps_5.0.0_riscv64.replies} | 0
...0.0.riscv64.xml => caps_5.0.0_riscv64.xml} | 0
...6_64.replies => caps_5.0.0_x86_64.replies} | 0
...5.0.0.x86_64.xml => caps_5.0.0_x86_64.xml} | 0
...sparc.replies => caps_5.1.0_sparc.replies} | 0
...s_5.1.0.sparc.xml => caps_5.1.0_sparc.xml} | 0
...6_64.replies => caps_5.1.0_x86_64.replies} | 0
...5.1.0.x86_64.xml => caps_5.1.0_x86_64.xml} | 0
...h64.replies => caps_5.2.0_aarch64.replies} | 0
...2.0.aarch64.xml => caps_5.2.0_aarch64.xml} | 0
...ppc64.replies => caps_5.2.0_ppc64.replies} | 0
...s_5.2.0.ppc64.xml => caps_5.2.0_ppc64.xml} | 0
...v64.replies => caps_5.2.0_riscv64.replies} | 0
...2.0.riscv64.xml => caps_5.2.0_riscv64.xml} | 0
...s390x.replies => caps_5.2.0_s390x.replies} | 0
...s_5.2.0.s390x.xml => caps_5.2.0_s390x.xml} | 0
...6_64.replies => caps_5.2.0_x86_64.replies} | 0
...5.2.0.x86_64.xml => caps_5.2.0_x86_64.xml} | 0
...h64.replies => caps_6.0.0_aarch64.replies} | 0
...0.0.aarch64.xml => caps_6.0.0_aarch64.xml} | 0
...s390x.replies => caps_6.0.0_s390x.replies} | 0
...s_6.0.0.s390x.xml => caps_6.0.0_s390x.xml} | 0
...6_64.replies => caps_6.0.0_x86_64.replies} | 0
...6.0.0.x86_64.xml => caps_6.0.0_x86_64.xml} | 0
...6_64.replies => caps_6.1.0_x86_64.replies} | 0
...6.1.0.x86_64.xml => caps_6.1.0_x86_64.xml} | 0
...h64.replies => caps_6.2.0_aarch64.replies} | 0
...2.0.aarch64.xml => caps_6.2.0_aarch64.xml} | 0
...ppc64.replies => caps_6.2.0_ppc64.replies} | 0
...s_6.2.0.ppc64.xml => caps_6.2.0_ppc64.xml} | 0
...6_64.replies => caps_6.2.0_x86_64.replies} | 0
...6.2.0.x86_64.xml => caps_6.2.0_x86_64.xml} | 0
.../caps_7.0.0_aarch64+hvf.replies | 32393 +++++++++++++
.../caps_7.0.0_aarch64+hvf.xml | 502 +
...h64.replies => caps_7.0.0_aarch64.replies} | 0
...0.0.aarch64.xml => caps_7.0.0_aarch64.xml} | 0
...ppc64.replies => caps_7.0.0_ppc64.replies} | 0
...s_7.0.0.ppc64.xml => caps_7.0.0_ppc64.xml} | 0
...6_64.replies => caps_7.0.0_x86_64.replies} | 0
...7.0.0.x86_64.xml => caps_7.0.0_x86_64.xml} | 0
...ppc64.replies => caps_7.1.0_ppc64.replies} | 0
...s_7.1.0.ppc64.xml => caps_7.1.0_ppc64.xml} | 0
...6_64.replies => caps_7.1.0_x86_64.replies} | 0
...7.1.0.x86_64.xml => caps_7.1.0_x86_64.xml} | 0
...2.0.ppc.replies => caps_7.2.0_ppc.replies} | 0
...{caps_7.2.0.ppc.xml => caps_7.2.0_ppc.xml} | 0
.../caps_7.2.0_x86_64+hvf.replies | 39399 ++++++++++++++++
.../caps_7.2.0_x86_64+hvf.xml | 3250 ++
...6_64.replies => caps_7.2.0_x86_64.replies} | 0
...7.2.0.x86_64.xml => caps_7.2.0_x86_64.xml} | 0
...v64.replies => caps_8.0.0_riscv64.replies} | 0
...0.0.riscv64.xml => caps_8.0.0_riscv64.xml} | 0
...6_64.replies => caps_8.0.0_x86_64.replies} | 0
...8.0.0.x86_64.xml => caps_8.0.0_x86_64.xml} | 0
tests/qemucapabilitiesnumbering.c | 5 +-
tests/qemucapabilitiestest.c | 46 +-
.../qemucaps2xmloutdata/caps.aarch64+hvf.xml | 27 +
tests/qemucaps2xmloutdata/caps.x86_64+hvf.xml | 28 +
tests/qemucaps2xmltest.c | 9 +-
tests/qemumigrationcookiexmltest.c | 5 -
...-aarch64-virt-headless.aarch64-latest.args | 53 +
.../hvf-aarch64-virt-headless.args | 51 -
.../hvf-x86_64-q35-headless.args | 50 -
...hvf-x86_64-q35-headless.x86_64-latest.args | 54 +
tests/qemuxml2argvtest.c | 42 +-
...-aarch64-virt-headless.aarch64-latest.xml} | 0
...hvf-x86_64-q35-headless.x86_64-latest.xml} | 3 +
tests/qemuxml2xmltest.c | 45 +-
tests/testutilsqemu.c | 307 +-
tests/testutilsqemu.h | 13 +-
tests/utiltest.c | 8 +-
tools/virt-host-validate-common.c | 2 +-
108 files changed, 76757 insertions(+), 486 deletions(-)
create mode 100644 tests/domaincapsdata/qemu_7.0.0-hvf.aarch64+hvf.xml
create mode 100644 tests/domaincapsdata/qemu_7.2.0-hvf.x86_64+hvf.xml
create mode 100644 tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml
create mode 100644 tests/qemucapabilitiesdata/README.rst
rename tests/qemucapabilitiesdata/{caps_4.2.0.aarch64.replies => caps_4.2.0_aarch64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_4.2.0.aarch64.xml => caps_4.2.0_aarch64.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_4.2.0.ppc64.replies => caps_4.2.0_ppc64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_4.2.0.ppc64.xml => caps_4.2.0_ppc64.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_4.2.0.s390x.replies => caps_4.2.0_s390x.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_4.2.0.s390x.xml => caps_4.2.0_s390x.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_4.2.0.x86_64.replies => caps_4.2.0_x86_64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_4.2.0.x86_64.xml => caps_4.2.0_x86_64.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_5.0.0.aarch64.replies => caps_5.0.0_aarch64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_5.0.0.aarch64.xml => caps_5.0.0_aarch64.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_5.0.0.ppc64.replies => caps_5.0.0_ppc64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_5.0.0.ppc64.xml => caps_5.0.0_ppc64.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_5.0.0.riscv64.replies => caps_5.0.0_riscv64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_5.0.0.riscv64.xml => caps_5.0.0_riscv64.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_5.0.0.x86_64.replies => caps_5.0.0_x86_64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_5.0.0.x86_64.xml => caps_5.0.0_x86_64.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_5.1.0.sparc.replies => caps_5.1.0_sparc.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_5.1.0.sparc.xml => caps_5.1.0_sparc.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_5.1.0.x86_64.replies => caps_5.1.0_x86_64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_5.1.0.x86_64.xml => caps_5.1.0_x86_64.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_5.2.0.aarch64.replies => caps_5.2.0_aarch64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_5.2.0.aarch64.xml => caps_5.2.0_aarch64.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_5.2.0.ppc64.replies => caps_5.2.0_ppc64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_5.2.0.ppc64.xml => caps_5.2.0_ppc64.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_5.2.0.riscv64.replies => caps_5.2.0_riscv64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_5.2.0.riscv64.xml => caps_5.2.0_riscv64.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_5.2.0.s390x.replies => caps_5.2.0_s390x.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_5.2.0.s390x.xml => caps_5.2.0_s390x.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_5.2.0.x86_64.replies => caps_5.2.0_x86_64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_5.2.0.x86_64.xml => caps_5.2.0_x86_64.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_6.0.0.aarch64.replies => caps_6.0.0_aarch64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_6.0.0.aarch64.xml => caps_6.0.0_aarch64.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_6.0.0.s390x.replies => caps_6.0.0_s390x.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_6.0.0.s390x.xml => caps_6.0.0_s390x.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_6.0.0.x86_64.replies => caps_6.0.0_x86_64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_6.0.0.x86_64.xml => caps_6.0.0_x86_64.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_6.1.0.x86_64.replies => caps_6.1.0_x86_64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_6.1.0.x86_64.xml => caps_6.1.0_x86_64.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_6.2.0.aarch64.replies => caps_6.2.0_aarch64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_6.2.0.aarch64.xml => caps_6.2.0_aarch64.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_6.2.0.ppc64.replies => caps_6.2.0_ppc64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_6.2.0.ppc64.xml => caps_6.2.0_ppc64.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_6.2.0.x86_64.replies => caps_6.2.0_x86_64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_6.2.0.x86_64.xml => caps_6.2.0_x86_64.xml} (100%)
create mode 100644 tests/qemucapabilitiesdata/caps_7.0.0_aarch64+hvf.replies
create mode 100644 tests/qemucapabilitiesdata/caps_7.0.0_aarch64+hvf.xml
rename tests/qemucapabilitiesdata/{caps_7.0.0.aarch64.replies => caps_7.0.0_aarch64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_7.0.0.aarch64.xml => caps_7.0.0_aarch64.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_7.0.0.ppc64.replies => caps_7.0.0_ppc64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_7.0.0.ppc64.xml => caps_7.0.0_ppc64.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_7.0.0.x86_64.replies => caps_7.0.0_x86_64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_7.0.0.x86_64.xml => caps_7.0.0_x86_64.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_7.1.0.ppc64.replies => caps_7.1.0_ppc64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_7.1.0.ppc64.xml => caps_7.1.0_ppc64.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_7.1.0.x86_64.replies => caps_7.1.0_x86_64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_7.1.0.x86_64.xml => caps_7.1.0_x86_64.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_7.2.0.ppc.replies => caps_7.2.0_ppc.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_7.2.0.ppc.xml => caps_7.2.0_ppc.xml} (100%)
create mode 100644 tests/qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.replies
create mode 100644 tests/qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.xml
rename tests/qemucapabilitiesdata/{caps_7.2.0.x86_64.replies => caps_7.2.0_x86_64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_7.2.0.x86_64.xml => caps_7.2.0_x86_64.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_8.0.0.riscv64.replies => caps_8.0.0_riscv64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_8.0.0.riscv64.xml => caps_8.0.0_riscv64.xml} (100%)
rename tests/qemucapabilitiesdata/{caps_8.0.0.x86_64.replies => caps_8.0.0_x86_64.replies} (100%)
rename tests/qemucapabilitiesdata/{caps_8.0.0.x86_64.xml => caps_8.0.0_x86_64.xml} (100%)
create mode 100644 tests/qemucaps2xmloutdata/caps.aarch64+hvf.xml
create mode 100644 tests/qemucaps2xmloutdata/caps.x86_64+hvf.xml
create mode 100644 tests/qemuxml2argvdata/hvf-aarch64-virt-headless.aarch64-latest.args
delete mode 100644 tests/qemuxml2argvdata/hvf-aarch64-virt-headless.args
delete mode 100644 tests/qemuxml2argvdata/hvf-x86_64-q35-headless.args
create mode 100644 tests/qemuxml2argvdata/hvf-x86_64-q35-headless.x86_64-latest.args
rename tests/qemuxml2xmloutdata/{hvf-aarch64-virt-headless.xml => hvf-aarch64-virt-headless.aarch64-latest.xml} (100%)
rename tests/qemuxml2xmloutdata/{hvf-x86_64-q35-headless.xml => hvf-x86_64-q35-headless.x86_64-latest.xml} (97%)
--
2.39.2
1 year, 8 months
[PATCH 0/3] Fix crash when hot-unplugging a hostdev-interface
by Peter Krempa
Peter Krempa (3):
conf: Clear pointer to freed bitmap holding hostdev's 'origstates'
conf: Unexport virDomainHostdevDefClear
virDomainHostdevDefClear: Fix and shorten comment
src/conf/domain_conf.c | 129 +++++++++++++++++++--------------------
src/conf/domain_conf.h | 1 -
src/libvirt_private.syms | 1 -
3 files changed, 63 insertions(+), 68 deletions(-)
--
2.39.2
1 year, 8 months
[libvirt PATCH] ci: Regenerate files
by Andrea Bolognani
This unbreaks the various $CROSS-$NAME-local-env jobs.
Signed-off-by: Andrea Bolognani <abologna(a)redhat.com>
---
Test pipeline: https://gitlab.com/abologna/libvirt/-/pipelines/822671796
ci/buildenv/debian-11-cross-aarch64.sh | 4 ++--
ci/buildenv/debian-11-cross-armv6l.sh | 4 ++--
ci/buildenv/debian-11-cross-armv7l.sh | 4 ++--
ci/buildenv/debian-11-cross-i686.sh | 4 ++--
ci/buildenv/debian-11-cross-mips64el.sh | 4 ++--
ci/buildenv/debian-11-cross-mipsel.sh | 4 ++--
ci/buildenv/debian-11-cross-ppc64le.sh | 4 ++--
ci/buildenv/debian-11-cross-s390x.sh | 4 ++--
ci/buildenv/debian-sid-cross-aarch64.sh | 4 ++--
ci/buildenv/debian-sid-cross-armv6l.sh | 4 ++--
ci/buildenv/debian-sid-cross-armv7l.sh | 4 ++--
ci/buildenv/debian-sid-cross-i686.sh | 4 ++--
ci/buildenv/debian-sid-cross-mips64el.sh | 4 ++--
ci/buildenv/debian-sid-cross-mipsel.sh | 4 ++--
ci/buildenv/debian-sid-cross-ppc64le.sh | 4 ++--
ci/buildenv/debian-sid-cross-s390x.sh | 4 ++--
ci/containers/debian-11-cross-aarch64.Dockerfile | 4 ++--
ci/containers/debian-11-cross-armv6l.Dockerfile | 4 ++--
ci/containers/debian-11-cross-armv7l.Dockerfile | 4 ++--
ci/containers/debian-11-cross-i686.Dockerfile | 4 ++--
ci/containers/debian-11-cross-mips64el.Dockerfile | 4 ++--
ci/containers/debian-11-cross-mipsel.Dockerfile | 4 ++--
ci/containers/debian-11-cross-ppc64le.Dockerfile | 4 ++--
ci/containers/debian-11-cross-s390x.Dockerfile | 4 ++--
ci/containers/debian-sid-cross-aarch64.Dockerfile | 4 ++--
ci/containers/debian-sid-cross-armv6l.Dockerfile | 4 ++--
ci/containers/debian-sid-cross-armv7l.Dockerfile | 4 ++--
ci/containers/debian-sid-cross-i686.Dockerfile | 4 ++--
ci/containers/debian-sid-cross-mips64el.Dockerfile | 4 ++--
ci/containers/debian-sid-cross-mipsel.Dockerfile | 4 ++--
ci/containers/debian-sid-cross-ppc64le.Dockerfile | 4 ++--
ci/containers/debian-sid-cross-s390x.Dockerfile | 4 ++--
ci/containers/fedora-36.Dockerfile | 4 ++--
ci/containers/fedora-37-cross-mingw32.Dockerfile | 4 ++--
ci/containers/fedora-37-cross-mingw64.Dockerfile | 4 ++--
ci/containers/fedora-37.Dockerfile | 4 ++--
ci/containers/fedora-rawhide-cross-mingw32.Dockerfile | 4 ++--
ci/containers/fedora-rawhide-cross-mingw64.Dockerfile | 4 ++--
ci/containers/fedora-rawhide.Dockerfile | 4 ++--
ci/gitlab/build-templates.yml | 9 +++++----
40 files changed, 83 insertions(+), 82 deletions(-)
diff --git a/ci/buildenv/debian-11-cross-aarch64.sh b/ci/buildenv/debian-11-cross-aarch64.sh
index d33d95d965..6b03b2ea59 100644
--- a/ci/buildenv/debian-11-cross-aarch64.sh
+++ b/ci/buildenv/debian-11-cross-aarch64.sh
@@ -88,7 +88,7 @@ function install_buildenv() {
libyajl-dev:arm64 \
systemtap-sdt-dev:arm64
mkdir -p /usr/local/share/meson/cross
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/aarch64-linux-gnu-gcc'\n\
ar = '/usr/bin/aarch64-linux-gnu-gcc-ar'\n\
strip = '/usr/bin/aarch64-linux-gnu-strip'\n\
@@ -98,7 +98,7 @@ pkgconfig = '/usr/bin/aarch64-linux-gnu-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'aarch64'\n\
cpu = 'aarch64'\n\
-endian = 'little'" > /usr/local/share/meson/cross/aarch64-linux-gnu
+endian = 'little'\n" > /usr/local/share/meson/cross/aarch64-linux-gnu
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
mkdir -p /usr/libexec/ccache-wrappers
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/aarch64-linux-gnu-cc
diff --git a/ci/buildenv/debian-11-cross-armv6l.sh b/ci/buildenv/debian-11-cross-armv6l.sh
index 00b978b946..51dc4ce88a 100644
--- a/ci/buildenv/debian-11-cross-armv6l.sh
+++ b/ci/buildenv/debian-11-cross-armv6l.sh
@@ -87,7 +87,7 @@ function install_buildenv() {
libyajl-dev:armel \
systemtap-sdt-dev:armel
mkdir -p /usr/local/share/meson/cross
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/arm-linux-gnueabi-gcc'\n\
ar = '/usr/bin/arm-linux-gnueabi-gcc-ar'\n\
strip = '/usr/bin/arm-linux-gnueabi-strip'\n\
@@ -97,7 +97,7 @@ pkgconfig = '/usr/bin/arm-linux-gnueabi-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'arm'\n\
cpu = 'arm'\n\
-endian = 'little'" > /usr/local/share/meson/cross/arm-linux-gnueabi
+endian = 'little'\n" > /usr/local/share/meson/cross/arm-linux-gnueabi
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
mkdir -p /usr/libexec/ccache-wrappers
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-cc
diff --git a/ci/buildenv/debian-11-cross-armv7l.sh b/ci/buildenv/debian-11-cross-armv7l.sh
index 78f596a96f..ecd1453bff 100644
--- a/ci/buildenv/debian-11-cross-armv7l.sh
+++ b/ci/buildenv/debian-11-cross-armv7l.sh
@@ -88,7 +88,7 @@ function install_buildenv() {
libyajl-dev:armhf \
systemtap-sdt-dev:armhf
mkdir -p /usr/local/share/meson/cross
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/arm-linux-gnueabihf-gcc'\n\
ar = '/usr/bin/arm-linux-gnueabihf-gcc-ar'\n\
strip = '/usr/bin/arm-linux-gnueabihf-strip'\n\
@@ -98,7 +98,7 @@ pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'arm'\n\
cpu = 'armhf'\n\
-endian = 'little'" > /usr/local/share/meson/cross/arm-linux-gnueabihf
+endian = 'little'\n" > /usr/local/share/meson/cross/arm-linux-gnueabihf
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
mkdir -p /usr/libexec/ccache-wrappers
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-cc
diff --git a/ci/buildenv/debian-11-cross-i686.sh b/ci/buildenv/debian-11-cross-i686.sh
index 0c08bb13a3..3922591cd8 100644
--- a/ci/buildenv/debian-11-cross-i686.sh
+++ b/ci/buildenv/debian-11-cross-i686.sh
@@ -87,7 +87,7 @@ function install_buildenv() {
libyajl-dev:i386 \
systemtap-sdt-dev:i386
mkdir -p /usr/local/share/meson/cross
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/i686-linux-gnu-gcc'\n\
ar = '/usr/bin/i686-linux-gnu-gcc-ar'\n\
strip = '/usr/bin/i686-linux-gnu-strip'\n\
@@ -97,7 +97,7 @@ pkgconfig = '/usr/bin/i686-linux-gnu-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'x86'\n\
cpu = 'i686'\n\
-endian = 'little'" > /usr/local/share/meson/cross/i686-linux-gnu
+endian = 'little'\n" > /usr/local/share/meson/cross/i686-linux-gnu
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
mkdir -p /usr/libexec/ccache-wrappers
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-linux-gnu-cc
diff --git a/ci/buildenv/debian-11-cross-mips64el.sh b/ci/buildenv/debian-11-cross-mips64el.sh
index 386b67ee08..6a6250ac03 100644
--- a/ci/buildenv/debian-11-cross-mips64el.sh
+++ b/ci/buildenv/debian-11-cross-mips64el.sh
@@ -87,7 +87,7 @@ function install_buildenv() {
libyajl-dev:mips64el \
systemtap-sdt-dev:mips64el
mkdir -p /usr/local/share/meson/cross
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/mips64el-linux-gnuabi64-gcc'\n\
ar = '/usr/bin/mips64el-linux-gnuabi64-gcc-ar'\n\
strip = '/usr/bin/mips64el-linux-gnuabi64-strip'\n\
@@ -97,7 +97,7 @@ pkgconfig = '/usr/bin/mips64el-linux-gnuabi64-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'mips64'\n\
cpu = 'mips64el'\n\
-endian = 'little'" > /usr/local/share/meson/cross/mips64el-linux-gnuabi64
+endian = 'little'\n" > /usr/local/share/meson/cross/mips64el-linux-gnuabi64
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
mkdir -p /usr/libexec/ccache-wrappers
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-cc
diff --git a/ci/buildenv/debian-11-cross-mipsel.sh b/ci/buildenv/debian-11-cross-mipsel.sh
index 00138feee3..4b60a97704 100644
--- a/ci/buildenv/debian-11-cross-mipsel.sh
+++ b/ci/buildenv/debian-11-cross-mipsel.sh
@@ -87,7 +87,7 @@ function install_buildenv() {
libyajl-dev:mipsel \
systemtap-sdt-dev:mipsel
mkdir -p /usr/local/share/meson/cross
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/mipsel-linux-gnu-gcc'\n\
ar = '/usr/bin/mipsel-linux-gnu-gcc-ar'\n\
strip = '/usr/bin/mipsel-linux-gnu-strip'\n\
@@ -97,7 +97,7 @@ pkgconfig = '/usr/bin/mipsel-linux-gnu-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'mips'\n\
cpu = 'mipsel'\n\
-endian = 'little'" > /usr/local/share/meson/cross/mipsel-linux-gnu
+endian = 'little'\n" > /usr/local/share/meson/cross/mipsel-linux-gnu
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
mkdir -p /usr/libexec/ccache-wrappers
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-cc
diff --git a/ci/buildenv/debian-11-cross-ppc64le.sh b/ci/buildenv/debian-11-cross-ppc64le.sh
index 30c8160f73..c1fd55b55d 100644
--- a/ci/buildenv/debian-11-cross-ppc64le.sh
+++ b/ci/buildenv/debian-11-cross-ppc64le.sh
@@ -87,7 +87,7 @@ function install_buildenv() {
libyajl-dev:ppc64el \
systemtap-sdt-dev:ppc64el
mkdir -p /usr/local/share/meson/cross
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/powerpc64le-linux-gnu-gcc'\n\
ar = '/usr/bin/powerpc64le-linux-gnu-gcc-ar'\n\
strip = '/usr/bin/powerpc64le-linux-gnu-strip'\n\
@@ -97,7 +97,7 @@ pkgconfig = '/usr/bin/powerpc64le-linux-gnu-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'ppc64'\n\
cpu = 'powerpc64le'\n\
-endian = 'little'" > /usr/local/share/meson/cross/powerpc64le-linux-gnu
+endian = 'little'\n" > /usr/local/share/meson/cross/powerpc64le-linux-gnu
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
mkdir -p /usr/libexec/ccache-wrappers
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-cc
diff --git a/ci/buildenv/debian-11-cross-s390x.sh b/ci/buildenv/debian-11-cross-s390x.sh
index 1a4a5cf5c3..563eb98ef7 100644
--- a/ci/buildenv/debian-11-cross-s390x.sh
+++ b/ci/buildenv/debian-11-cross-s390x.sh
@@ -87,7 +87,7 @@ function install_buildenv() {
libyajl-dev:s390x \
systemtap-sdt-dev:s390x
mkdir -p /usr/local/share/meson/cross
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/s390x-linux-gnu-gcc'\n\
ar = '/usr/bin/s390x-linux-gnu-gcc-ar'\n\
strip = '/usr/bin/s390x-linux-gnu-strip'\n\
@@ -97,7 +97,7 @@ pkgconfig = '/usr/bin/s390x-linux-gnu-pkg-config'\n\
system = 'linux'\n\
cpu_family = 's390x'\n\
cpu = 's390x'\n\
-endian = 'big'" > /usr/local/share/meson/cross/s390x-linux-gnu
+endian = 'big'\n" > /usr/local/share/meson/cross/s390x-linux-gnu
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
mkdir -p /usr/libexec/ccache-wrappers
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/s390x-linux-gnu-cc
diff --git a/ci/buildenv/debian-sid-cross-aarch64.sh b/ci/buildenv/debian-sid-cross-aarch64.sh
index d33d95d965..6b03b2ea59 100644
--- a/ci/buildenv/debian-sid-cross-aarch64.sh
+++ b/ci/buildenv/debian-sid-cross-aarch64.sh
@@ -88,7 +88,7 @@ function install_buildenv() {
libyajl-dev:arm64 \
systemtap-sdt-dev:arm64
mkdir -p /usr/local/share/meson/cross
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/aarch64-linux-gnu-gcc'\n\
ar = '/usr/bin/aarch64-linux-gnu-gcc-ar'\n\
strip = '/usr/bin/aarch64-linux-gnu-strip'\n\
@@ -98,7 +98,7 @@ pkgconfig = '/usr/bin/aarch64-linux-gnu-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'aarch64'\n\
cpu = 'aarch64'\n\
-endian = 'little'" > /usr/local/share/meson/cross/aarch64-linux-gnu
+endian = 'little'\n" > /usr/local/share/meson/cross/aarch64-linux-gnu
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
mkdir -p /usr/libexec/ccache-wrappers
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/aarch64-linux-gnu-cc
diff --git a/ci/buildenv/debian-sid-cross-armv6l.sh b/ci/buildenv/debian-sid-cross-armv6l.sh
index 00b978b946..51dc4ce88a 100644
--- a/ci/buildenv/debian-sid-cross-armv6l.sh
+++ b/ci/buildenv/debian-sid-cross-armv6l.sh
@@ -87,7 +87,7 @@ function install_buildenv() {
libyajl-dev:armel \
systemtap-sdt-dev:armel
mkdir -p /usr/local/share/meson/cross
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/arm-linux-gnueabi-gcc'\n\
ar = '/usr/bin/arm-linux-gnueabi-gcc-ar'\n\
strip = '/usr/bin/arm-linux-gnueabi-strip'\n\
@@ -97,7 +97,7 @@ pkgconfig = '/usr/bin/arm-linux-gnueabi-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'arm'\n\
cpu = 'arm'\n\
-endian = 'little'" > /usr/local/share/meson/cross/arm-linux-gnueabi
+endian = 'little'\n" > /usr/local/share/meson/cross/arm-linux-gnueabi
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
mkdir -p /usr/libexec/ccache-wrappers
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-cc
diff --git a/ci/buildenv/debian-sid-cross-armv7l.sh b/ci/buildenv/debian-sid-cross-armv7l.sh
index 78f596a96f..ecd1453bff 100644
--- a/ci/buildenv/debian-sid-cross-armv7l.sh
+++ b/ci/buildenv/debian-sid-cross-armv7l.sh
@@ -88,7 +88,7 @@ function install_buildenv() {
libyajl-dev:armhf \
systemtap-sdt-dev:armhf
mkdir -p /usr/local/share/meson/cross
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/arm-linux-gnueabihf-gcc'\n\
ar = '/usr/bin/arm-linux-gnueabihf-gcc-ar'\n\
strip = '/usr/bin/arm-linux-gnueabihf-strip'\n\
@@ -98,7 +98,7 @@ pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'arm'\n\
cpu = 'armhf'\n\
-endian = 'little'" > /usr/local/share/meson/cross/arm-linux-gnueabihf
+endian = 'little'\n" > /usr/local/share/meson/cross/arm-linux-gnueabihf
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
mkdir -p /usr/libexec/ccache-wrappers
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-cc
diff --git a/ci/buildenv/debian-sid-cross-i686.sh b/ci/buildenv/debian-sid-cross-i686.sh
index 0c08bb13a3..3922591cd8 100644
--- a/ci/buildenv/debian-sid-cross-i686.sh
+++ b/ci/buildenv/debian-sid-cross-i686.sh
@@ -87,7 +87,7 @@ function install_buildenv() {
libyajl-dev:i386 \
systemtap-sdt-dev:i386
mkdir -p /usr/local/share/meson/cross
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/i686-linux-gnu-gcc'\n\
ar = '/usr/bin/i686-linux-gnu-gcc-ar'\n\
strip = '/usr/bin/i686-linux-gnu-strip'\n\
@@ -97,7 +97,7 @@ pkgconfig = '/usr/bin/i686-linux-gnu-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'x86'\n\
cpu = 'i686'\n\
-endian = 'little'" > /usr/local/share/meson/cross/i686-linux-gnu
+endian = 'little'\n" > /usr/local/share/meson/cross/i686-linux-gnu
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
mkdir -p /usr/libexec/ccache-wrappers
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-linux-gnu-cc
diff --git a/ci/buildenv/debian-sid-cross-mips64el.sh b/ci/buildenv/debian-sid-cross-mips64el.sh
index 386b67ee08..6a6250ac03 100644
--- a/ci/buildenv/debian-sid-cross-mips64el.sh
+++ b/ci/buildenv/debian-sid-cross-mips64el.sh
@@ -87,7 +87,7 @@ function install_buildenv() {
libyajl-dev:mips64el \
systemtap-sdt-dev:mips64el
mkdir -p /usr/local/share/meson/cross
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/mips64el-linux-gnuabi64-gcc'\n\
ar = '/usr/bin/mips64el-linux-gnuabi64-gcc-ar'\n\
strip = '/usr/bin/mips64el-linux-gnuabi64-strip'\n\
@@ -97,7 +97,7 @@ pkgconfig = '/usr/bin/mips64el-linux-gnuabi64-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'mips64'\n\
cpu = 'mips64el'\n\
-endian = 'little'" > /usr/local/share/meson/cross/mips64el-linux-gnuabi64
+endian = 'little'\n" > /usr/local/share/meson/cross/mips64el-linux-gnuabi64
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
mkdir -p /usr/libexec/ccache-wrappers
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-cc
diff --git a/ci/buildenv/debian-sid-cross-mipsel.sh b/ci/buildenv/debian-sid-cross-mipsel.sh
index 00138feee3..4b60a97704 100644
--- a/ci/buildenv/debian-sid-cross-mipsel.sh
+++ b/ci/buildenv/debian-sid-cross-mipsel.sh
@@ -87,7 +87,7 @@ function install_buildenv() {
libyajl-dev:mipsel \
systemtap-sdt-dev:mipsel
mkdir -p /usr/local/share/meson/cross
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/mipsel-linux-gnu-gcc'\n\
ar = '/usr/bin/mipsel-linux-gnu-gcc-ar'\n\
strip = '/usr/bin/mipsel-linux-gnu-strip'\n\
@@ -97,7 +97,7 @@ pkgconfig = '/usr/bin/mipsel-linux-gnu-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'mips'\n\
cpu = 'mipsel'\n\
-endian = 'little'" > /usr/local/share/meson/cross/mipsel-linux-gnu
+endian = 'little'\n" > /usr/local/share/meson/cross/mipsel-linux-gnu
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
mkdir -p /usr/libexec/ccache-wrappers
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-cc
diff --git a/ci/buildenv/debian-sid-cross-ppc64le.sh b/ci/buildenv/debian-sid-cross-ppc64le.sh
index 30c8160f73..c1fd55b55d 100644
--- a/ci/buildenv/debian-sid-cross-ppc64le.sh
+++ b/ci/buildenv/debian-sid-cross-ppc64le.sh
@@ -87,7 +87,7 @@ function install_buildenv() {
libyajl-dev:ppc64el \
systemtap-sdt-dev:ppc64el
mkdir -p /usr/local/share/meson/cross
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/powerpc64le-linux-gnu-gcc'\n\
ar = '/usr/bin/powerpc64le-linux-gnu-gcc-ar'\n\
strip = '/usr/bin/powerpc64le-linux-gnu-strip'\n\
@@ -97,7 +97,7 @@ pkgconfig = '/usr/bin/powerpc64le-linux-gnu-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'ppc64'\n\
cpu = 'powerpc64le'\n\
-endian = 'little'" > /usr/local/share/meson/cross/powerpc64le-linux-gnu
+endian = 'little'\n" > /usr/local/share/meson/cross/powerpc64le-linux-gnu
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
mkdir -p /usr/libexec/ccache-wrappers
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-cc
diff --git a/ci/buildenv/debian-sid-cross-s390x.sh b/ci/buildenv/debian-sid-cross-s390x.sh
index 1a4a5cf5c3..563eb98ef7 100644
--- a/ci/buildenv/debian-sid-cross-s390x.sh
+++ b/ci/buildenv/debian-sid-cross-s390x.sh
@@ -87,7 +87,7 @@ function install_buildenv() {
libyajl-dev:s390x \
systemtap-sdt-dev:s390x
mkdir -p /usr/local/share/meson/cross
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/s390x-linux-gnu-gcc'\n\
ar = '/usr/bin/s390x-linux-gnu-gcc-ar'\n\
strip = '/usr/bin/s390x-linux-gnu-strip'\n\
@@ -97,7 +97,7 @@ pkgconfig = '/usr/bin/s390x-linux-gnu-pkg-config'\n\
system = 'linux'\n\
cpu_family = 's390x'\n\
cpu = 's390x'\n\
-endian = 'big'" > /usr/local/share/meson/cross/s390x-linux-gnu
+endian = 'big'\n" > /usr/local/share/meson/cross/s390x-linux-gnu
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt
mkdir -p /usr/libexec/ccache-wrappers
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/s390x-linux-gnu-cc
diff --git a/ci/containers/debian-11-cross-aarch64.Dockerfile b/ci/containers/debian-11-cross-aarch64.Dockerfile
index d030a9a9df..429f58b45b 100644
--- a/ci/containers/debian-11-cross-aarch64.Dockerfile
+++ b/ci/containers/debian-11-cross-aarch64.Dockerfile
@@ -101,7 +101,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
mkdir -p /usr/local/share/meson/cross && \
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/aarch64-linux-gnu-gcc'\n\
ar = '/usr/bin/aarch64-linux-gnu-gcc-ar'\n\
strip = '/usr/bin/aarch64-linux-gnu-strip'\n\
@@ -111,7 +111,7 @@ pkgconfig = '/usr/bin/aarch64-linux-gnu-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'aarch64'\n\
cpu = 'aarch64'\n\
-endian = 'little'" > /usr/local/share/meson/cross/aarch64-linux-gnu && \
+endian = 'little'\n" > /usr/local/share/meson/cross/aarch64-linux-gnu && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/aarch64-linux-gnu-cc && \
diff --git a/ci/containers/debian-11-cross-armv6l.Dockerfile b/ci/containers/debian-11-cross-armv6l.Dockerfile
index 5958957aaa..85af350e04 100644
--- a/ci/containers/debian-11-cross-armv6l.Dockerfile
+++ b/ci/containers/debian-11-cross-armv6l.Dockerfile
@@ -100,7 +100,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
mkdir -p /usr/local/share/meson/cross && \
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/arm-linux-gnueabi-gcc'\n\
ar = '/usr/bin/arm-linux-gnueabi-gcc-ar'\n\
strip = '/usr/bin/arm-linux-gnueabi-strip'\n\
@@ -110,7 +110,7 @@ pkgconfig = '/usr/bin/arm-linux-gnueabi-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'arm'\n\
cpu = 'arm'\n\
-endian = 'little'" > /usr/local/share/meson/cross/arm-linux-gnueabi && \
+endian = 'little'\n" > /usr/local/share/meson/cross/arm-linux-gnueabi && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-cc && \
diff --git a/ci/containers/debian-11-cross-armv7l.Dockerfile b/ci/containers/debian-11-cross-armv7l.Dockerfile
index c963657daa..77ff18a513 100644
--- a/ci/containers/debian-11-cross-armv7l.Dockerfile
+++ b/ci/containers/debian-11-cross-armv7l.Dockerfile
@@ -101,7 +101,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
mkdir -p /usr/local/share/meson/cross && \
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/arm-linux-gnueabihf-gcc'\n\
ar = '/usr/bin/arm-linux-gnueabihf-gcc-ar'\n\
strip = '/usr/bin/arm-linux-gnueabihf-strip'\n\
@@ -111,7 +111,7 @@ pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'arm'\n\
cpu = 'armhf'\n\
-endian = 'little'" > /usr/local/share/meson/cross/arm-linux-gnueabihf && \
+endian = 'little'\n" > /usr/local/share/meson/cross/arm-linux-gnueabihf && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-cc && \
diff --git a/ci/containers/debian-11-cross-i686.Dockerfile b/ci/containers/debian-11-cross-i686.Dockerfile
index 9fe55f4f17..bdb4c44a42 100644
--- a/ci/containers/debian-11-cross-i686.Dockerfile
+++ b/ci/containers/debian-11-cross-i686.Dockerfile
@@ -100,7 +100,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
mkdir -p /usr/local/share/meson/cross && \
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/i686-linux-gnu-gcc'\n\
ar = '/usr/bin/i686-linux-gnu-gcc-ar'\n\
strip = '/usr/bin/i686-linux-gnu-strip'\n\
@@ -110,7 +110,7 @@ pkgconfig = '/usr/bin/i686-linux-gnu-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'x86'\n\
cpu = 'i686'\n\
-endian = 'little'" > /usr/local/share/meson/cross/i686-linux-gnu && \
+endian = 'little'\n" > /usr/local/share/meson/cross/i686-linux-gnu && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-linux-gnu-cc && \
diff --git a/ci/containers/debian-11-cross-mips64el.Dockerfile b/ci/containers/debian-11-cross-mips64el.Dockerfile
index d4bf055915..6c1fd4ca77 100644
--- a/ci/containers/debian-11-cross-mips64el.Dockerfile
+++ b/ci/containers/debian-11-cross-mips64el.Dockerfile
@@ -100,7 +100,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
mkdir -p /usr/local/share/meson/cross && \
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/mips64el-linux-gnuabi64-gcc'\n\
ar = '/usr/bin/mips64el-linux-gnuabi64-gcc-ar'\n\
strip = '/usr/bin/mips64el-linux-gnuabi64-strip'\n\
@@ -110,7 +110,7 @@ pkgconfig = '/usr/bin/mips64el-linux-gnuabi64-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'mips64'\n\
cpu = 'mips64el'\n\
-endian = 'little'" > /usr/local/share/meson/cross/mips64el-linux-gnuabi64 && \
+endian = 'little'\n" > /usr/local/share/meson/cross/mips64el-linux-gnuabi64 && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-cc && \
diff --git a/ci/containers/debian-11-cross-mipsel.Dockerfile b/ci/containers/debian-11-cross-mipsel.Dockerfile
index d9b5aa2798..5b0767f368 100644
--- a/ci/containers/debian-11-cross-mipsel.Dockerfile
+++ b/ci/containers/debian-11-cross-mipsel.Dockerfile
@@ -100,7 +100,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
mkdir -p /usr/local/share/meson/cross && \
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/mipsel-linux-gnu-gcc'\n\
ar = '/usr/bin/mipsel-linux-gnu-gcc-ar'\n\
strip = '/usr/bin/mipsel-linux-gnu-strip'\n\
@@ -110,7 +110,7 @@ pkgconfig = '/usr/bin/mipsel-linux-gnu-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'mips'\n\
cpu = 'mipsel'\n\
-endian = 'little'" > /usr/local/share/meson/cross/mipsel-linux-gnu && \
+endian = 'little'\n" > /usr/local/share/meson/cross/mipsel-linux-gnu && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-cc && \
diff --git a/ci/containers/debian-11-cross-ppc64le.Dockerfile b/ci/containers/debian-11-cross-ppc64le.Dockerfile
index 3ae70cfc51..600d5b34b2 100644
--- a/ci/containers/debian-11-cross-ppc64le.Dockerfile
+++ b/ci/containers/debian-11-cross-ppc64le.Dockerfile
@@ -100,7 +100,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
mkdir -p /usr/local/share/meson/cross && \
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/powerpc64le-linux-gnu-gcc'\n\
ar = '/usr/bin/powerpc64le-linux-gnu-gcc-ar'\n\
strip = '/usr/bin/powerpc64le-linux-gnu-strip'\n\
@@ -110,7 +110,7 @@ pkgconfig = '/usr/bin/powerpc64le-linux-gnu-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'ppc64'\n\
cpu = 'powerpc64le'\n\
-endian = 'little'" > /usr/local/share/meson/cross/powerpc64le-linux-gnu && \
+endian = 'little'\n" > /usr/local/share/meson/cross/powerpc64le-linux-gnu && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-cc && \
diff --git a/ci/containers/debian-11-cross-s390x.Dockerfile b/ci/containers/debian-11-cross-s390x.Dockerfile
index 4a4a582990..d11c966c27 100644
--- a/ci/containers/debian-11-cross-s390x.Dockerfile
+++ b/ci/containers/debian-11-cross-s390x.Dockerfile
@@ -100,7 +100,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
mkdir -p /usr/local/share/meson/cross && \
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/s390x-linux-gnu-gcc'\n\
ar = '/usr/bin/s390x-linux-gnu-gcc-ar'\n\
strip = '/usr/bin/s390x-linux-gnu-strip'\n\
@@ -110,7 +110,7 @@ pkgconfig = '/usr/bin/s390x-linux-gnu-pkg-config'\n\
system = 'linux'\n\
cpu_family = 's390x'\n\
cpu = 's390x'\n\
-endian = 'big'" > /usr/local/share/meson/cross/s390x-linux-gnu && \
+endian = 'big'\n" > /usr/local/share/meson/cross/s390x-linux-gnu && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/s390x-linux-gnu-cc && \
diff --git a/ci/containers/debian-sid-cross-aarch64.Dockerfile b/ci/containers/debian-sid-cross-aarch64.Dockerfile
index f129d6f3bf..c98ba2f751 100644
--- a/ci/containers/debian-sid-cross-aarch64.Dockerfile
+++ b/ci/containers/debian-sid-cross-aarch64.Dockerfile
@@ -101,7 +101,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
mkdir -p /usr/local/share/meson/cross && \
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/aarch64-linux-gnu-gcc'\n\
ar = '/usr/bin/aarch64-linux-gnu-gcc-ar'\n\
strip = '/usr/bin/aarch64-linux-gnu-strip'\n\
@@ -111,7 +111,7 @@ pkgconfig = '/usr/bin/aarch64-linux-gnu-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'aarch64'\n\
cpu = 'aarch64'\n\
-endian = 'little'" > /usr/local/share/meson/cross/aarch64-linux-gnu && \
+endian = 'little'\n" > /usr/local/share/meson/cross/aarch64-linux-gnu && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/aarch64-linux-gnu-cc && \
diff --git a/ci/containers/debian-sid-cross-armv6l.Dockerfile b/ci/containers/debian-sid-cross-armv6l.Dockerfile
index 7fb8b62528..de3ad751d6 100644
--- a/ci/containers/debian-sid-cross-armv6l.Dockerfile
+++ b/ci/containers/debian-sid-cross-armv6l.Dockerfile
@@ -100,7 +100,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
mkdir -p /usr/local/share/meson/cross && \
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/arm-linux-gnueabi-gcc'\n\
ar = '/usr/bin/arm-linux-gnueabi-gcc-ar'\n\
strip = '/usr/bin/arm-linux-gnueabi-strip'\n\
@@ -110,7 +110,7 @@ pkgconfig = '/usr/bin/arm-linux-gnueabi-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'arm'\n\
cpu = 'arm'\n\
-endian = 'little'" > /usr/local/share/meson/cross/arm-linux-gnueabi && \
+endian = 'little'\n" > /usr/local/share/meson/cross/arm-linux-gnueabi && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabi-cc && \
diff --git a/ci/containers/debian-sid-cross-armv7l.Dockerfile b/ci/containers/debian-sid-cross-armv7l.Dockerfile
index 105fe3cb93..b271c97950 100644
--- a/ci/containers/debian-sid-cross-armv7l.Dockerfile
+++ b/ci/containers/debian-sid-cross-armv7l.Dockerfile
@@ -101,7 +101,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
mkdir -p /usr/local/share/meson/cross && \
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/arm-linux-gnueabihf-gcc'\n\
ar = '/usr/bin/arm-linux-gnueabihf-gcc-ar'\n\
strip = '/usr/bin/arm-linux-gnueabihf-strip'\n\
@@ -111,7 +111,7 @@ pkgconfig = '/usr/bin/arm-linux-gnueabihf-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'arm'\n\
cpu = 'armhf'\n\
-endian = 'little'" > /usr/local/share/meson/cross/arm-linux-gnueabihf && \
+endian = 'little'\n" > /usr/local/share/meson/cross/arm-linux-gnueabihf && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/arm-linux-gnueabihf-cc && \
diff --git a/ci/containers/debian-sid-cross-i686.Dockerfile b/ci/containers/debian-sid-cross-i686.Dockerfile
index 74e21c3d06..a12507feca 100644
--- a/ci/containers/debian-sid-cross-i686.Dockerfile
+++ b/ci/containers/debian-sid-cross-i686.Dockerfile
@@ -100,7 +100,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
mkdir -p /usr/local/share/meson/cross && \
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/i686-linux-gnu-gcc'\n\
ar = '/usr/bin/i686-linux-gnu-gcc-ar'\n\
strip = '/usr/bin/i686-linux-gnu-strip'\n\
@@ -110,7 +110,7 @@ pkgconfig = '/usr/bin/i686-linux-gnu-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'x86'\n\
cpu = 'i686'\n\
-endian = 'little'" > /usr/local/share/meson/cross/i686-linux-gnu && \
+endian = 'little'\n" > /usr/local/share/meson/cross/i686-linux-gnu && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/i686-linux-gnu-cc && \
diff --git a/ci/containers/debian-sid-cross-mips64el.Dockerfile b/ci/containers/debian-sid-cross-mips64el.Dockerfile
index 4af1ccd2e5..9a4c8387ce 100644
--- a/ci/containers/debian-sid-cross-mips64el.Dockerfile
+++ b/ci/containers/debian-sid-cross-mips64el.Dockerfile
@@ -100,7 +100,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
mkdir -p /usr/local/share/meson/cross && \
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/mips64el-linux-gnuabi64-gcc'\n\
ar = '/usr/bin/mips64el-linux-gnuabi64-gcc-ar'\n\
strip = '/usr/bin/mips64el-linux-gnuabi64-strip'\n\
@@ -110,7 +110,7 @@ pkgconfig = '/usr/bin/mips64el-linux-gnuabi64-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'mips64'\n\
cpu = 'mips64el'\n\
-endian = 'little'" > /usr/local/share/meson/cross/mips64el-linux-gnuabi64 && \
+endian = 'little'\n" > /usr/local/share/meson/cross/mips64el-linux-gnuabi64 && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mips64el-linux-gnuabi64-cc && \
diff --git a/ci/containers/debian-sid-cross-mipsel.Dockerfile b/ci/containers/debian-sid-cross-mipsel.Dockerfile
index 3227c9b948..2d18455474 100644
--- a/ci/containers/debian-sid-cross-mipsel.Dockerfile
+++ b/ci/containers/debian-sid-cross-mipsel.Dockerfile
@@ -100,7 +100,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
mkdir -p /usr/local/share/meson/cross && \
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/mipsel-linux-gnu-gcc'\n\
ar = '/usr/bin/mipsel-linux-gnu-gcc-ar'\n\
strip = '/usr/bin/mipsel-linux-gnu-strip'\n\
@@ -110,7 +110,7 @@ pkgconfig = '/usr/bin/mipsel-linux-gnu-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'mips'\n\
cpu = 'mipsel'\n\
-endian = 'little'" > /usr/local/share/meson/cross/mipsel-linux-gnu && \
+endian = 'little'\n" > /usr/local/share/meson/cross/mipsel-linux-gnu && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/mipsel-linux-gnu-cc && \
diff --git a/ci/containers/debian-sid-cross-ppc64le.Dockerfile b/ci/containers/debian-sid-cross-ppc64le.Dockerfile
index 83d7c87ffe..fa646e3d54 100644
--- a/ci/containers/debian-sid-cross-ppc64le.Dockerfile
+++ b/ci/containers/debian-sid-cross-ppc64le.Dockerfile
@@ -100,7 +100,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
mkdir -p /usr/local/share/meson/cross && \
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/powerpc64le-linux-gnu-gcc'\n\
ar = '/usr/bin/powerpc64le-linux-gnu-gcc-ar'\n\
strip = '/usr/bin/powerpc64le-linux-gnu-strip'\n\
@@ -110,7 +110,7 @@ pkgconfig = '/usr/bin/powerpc64le-linux-gnu-pkg-config'\n\
system = 'linux'\n\
cpu_family = 'ppc64'\n\
cpu = 'powerpc64le'\n\
-endian = 'little'" > /usr/local/share/meson/cross/powerpc64le-linux-gnu && \
+endian = 'little'\n" > /usr/local/share/meson/cross/powerpc64le-linux-gnu && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/powerpc64le-linux-gnu-cc && \
diff --git a/ci/containers/debian-sid-cross-s390x.Dockerfile b/ci/containers/debian-sid-cross-s390x.Dockerfile
index 735790cbcd..e1d94bd642 100644
--- a/ci/containers/debian-sid-cross-s390x.Dockerfile
+++ b/ci/containers/debian-sid-cross-s390x.Dockerfile
@@ -100,7 +100,7 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
eatmydata apt-get autoremove -y && \
eatmydata apt-get autoclean -y && \
mkdir -p /usr/local/share/meson/cross && \
- echo "[binaries]\n\
+ printf "[binaries]\n\
c = '/usr/bin/s390x-linux-gnu-gcc'\n\
ar = '/usr/bin/s390x-linux-gnu-gcc-ar'\n\
strip = '/usr/bin/s390x-linux-gnu-strip'\n\
@@ -110,7 +110,7 @@ pkgconfig = '/usr/bin/s390x-linux-gnu-pkg-config'\n\
system = 'linux'\n\
cpu_family = 's390x'\n\
cpu = 's390x'\n\
-endian = 'big'" > /usr/local/share/meson/cross/s390x-linux-gnu && \
+endian = 'big'\n" > /usr/local/share/meson/cross/s390x-linux-gnu && \
dpkg-query --showformat '${Package}_${Version}_${Architecture}\n' --show > /packages.txt && \
mkdir -p /usr/libexec/ccache-wrappers && \
ln -s /usr/bin/ccache /usr/libexec/ccache-wrappers/s390x-linux-gnu-cc && \
diff --git a/ci/containers/fedora-36.Dockerfile b/ci/containers/fedora-36.Dockerfile
index 3fa19e3c2c..df7a4a6bdc 100644
--- a/ci/containers/fedora-36.Dockerfile
+++ b/ci/containers/fedora-36.Dockerfile
@@ -7,14 +7,14 @@
FROM registry.fedoraproject.org/fedora:36
RUN dnf install -y nosync && \
- echo -e '#!/bin/sh\n\
+ printf '#!/bin/sh\n\
if test -d /usr/lib64\n\
then\n\
export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
else\n\
export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
fi\n\
-exec "$@"' > /usr/bin/nosync && \
+exec "$@"\n' > /usr/bin/nosync && \
chmod +x /usr/bin/nosync && \
nosync dnf update -y && \
nosync dnf install -y \
diff --git a/ci/containers/fedora-37-cross-mingw32.Dockerfile b/ci/containers/fedora-37-cross-mingw32.Dockerfile
index 14fb25a17e..7e6c16e4b6 100644
--- a/ci/containers/fedora-37-cross-mingw32.Dockerfile
+++ b/ci/containers/fedora-37-cross-mingw32.Dockerfile
@@ -7,14 +7,14 @@
FROM registry.fedoraproject.org/fedora:37
RUN dnf install -y nosync && \
- echo -e '#!/bin/sh\n\
+ printf '#!/bin/sh\n\
if test -d /usr/lib64\n\
then\n\
export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
else\n\
export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
fi\n\
-exec "$@"' > /usr/bin/nosync && \
+exec "$@"\n' > /usr/bin/nosync && \
chmod +x /usr/bin/nosync && \
nosync dnf update -y && \
nosync dnf install -y \
diff --git a/ci/containers/fedora-37-cross-mingw64.Dockerfile b/ci/containers/fedora-37-cross-mingw64.Dockerfile
index c468dd7a6c..d673871516 100644
--- a/ci/containers/fedora-37-cross-mingw64.Dockerfile
+++ b/ci/containers/fedora-37-cross-mingw64.Dockerfile
@@ -7,14 +7,14 @@
FROM registry.fedoraproject.org/fedora:37
RUN dnf install -y nosync && \
- echo -e '#!/bin/sh\n\
+ printf '#!/bin/sh\n\
if test -d /usr/lib64\n\
then\n\
export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
else\n\
export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
fi\n\
-exec "$@"' > /usr/bin/nosync && \
+exec "$@"\n' > /usr/bin/nosync && \
chmod +x /usr/bin/nosync && \
nosync dnf update -y && \
nosync dnf install -y \
diff --git a/ci/containers/fedora-37.Dockerfile b/ci/containers/fedora-37.Dockerfile
index 17f586af59..d8e87bd310 100644
--- a/ci/containers/fedora-37.Dockerfile
+++ b/ci/containers/fedora-37.Dockerfile
@@ -7,14 +7,14 @@
FROM registry.fedoraproject.org/fedora:37
RUN dnf install -y nosync && \
- echo -e '#!/bin/sh\n\
+ printf '#!/bin/sh\n\
if test -d /usr/lib64\n\
then\n\
export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
else\n\
export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
fi\n\
-exec "$@"' > /usr/bin/nosync && \
+exec "$@"\n' > /usr/bin/nosync && \
chmod +x /usr/bin/nosync && \
nosync dnf update -y && \
nosync dnf install -y \
diff --git a/ci/containers/fedora-rawhide-cross-mingw32.Dockerfile b/ci/containers/fedora-rawhide-cross-mingw32.Dockerfile
index a574acfde4..41221256f8 100644
--- a/ci/containers/fedora-rawhide-cross-mingw32.Dockerfile
+++ b/ci/containers/fedora-rawhide-cross-mingw32.Dockerfile
@@ -8,14 +8,14 @@ FROM registry.fedoraproject.org/fedora:rawhide
RUN dnf update -y --nogpgcheck fedora-gpg-keys && \
dnf install -y nosync && \
- echo -e '#!/bin/sh\n\
+ printf '#!/bin/sh\n\
if test -d /usr/lib64\n\
then\n\
export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
else\n\
export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
fi\n\
-exec "$@"' > /usr/bin/nosync && \
+exec "$@"\n' > /usr/bin/nosync && \
chmod +x /usr/bin/nosync && \
nosync dnf distro-sync -y && \
nosync dnf install -y \
diff --git a/ci/containers/fedora-rawhide-cross-mingw64.Dockerfile b/ci/containers/fedora-rawhide-cross-mingw64.Dockerfile
index b2690b42e1..8737203d83 100644
--- a/ci/containers/fedora-rawhide-cross-mingw64.Dockerfile
+++ b/ci/containers/fedora-rawhide-cross-mingw64.Dockerfile
@@ -8,14 +8,14 @@ FROM registry.fedoraproject.org/fedora:rawhide
RUN dnf update -y --nogpgcheck fedora-gpg-keys && \
dnf install -y nosync && \
- echo -e '#!/bin/sh\n\
+ printf '#!/bin/sh\n\
if test -d /usr/lib64\n\
then\n\
export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
else\n\
export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
fi\n\
-exec "$@"' > /usr/bin/nosync && \
+exec "$@"\n' > /usr/bin/nosync && \
chmod +x /usr/bin/nosync && \
nosync dnf distro-sync -y && \
nosync dnf install -y \
diff --git a/ci/containers/fedora-rawhide.Dockerfile b/ci/containers/fedora-rawhide.Dockerfile
index f903d549b7..a2ca2e9c61 100644
--- a/ci/containers/fedora-rawhide.Dockerfile
+++ b/ci/containers/fedora-rawhide.Dockerfile
@@ -8,14 +8,14 @@ FROM registry.fedoraproject.org/fedora:rawhide
RUN dnf update -y --nogpgcheck fedora-gpg-keys && \
dnf install -y nosync && \
- echo -e '#!/bin/sh\n\
+ printf '#!/bin/sh\n\
if test -d /usr/lib64\n\
then\n\
export LD_PRELOAD=/usr/lib64/nosync/nosync.so\n\
else\n\
export LD_PRELOAD=/usr/lib/nosync/nosync.so\n\
fi\n\
-exec "$@"' > /usr/bin/nosync && \
+exec "$@"\n' > /usr/bin/nosync && \
chmod +x /usr/bin/nosync && \
nosync dnf distro-sync -y && \
nosync dnf install -y \
diff --git a/ci/gitlab/build-templates.yml b/ci/gitlab/build-templates.yml
index 82ddd2c650..1f533ec2dd 100644
--- a/ci/gitlab/build-templates.yml
+++ b/ci/gitlab/build-templates.yml
@@ -181,7 +181,7 @@
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH'
changes:
- ci/gitlab/container-templates.yml
- - ci/containers/$NAME.Dockerfile
+ - ci/containers/$NAME-cross-$CROSS.Dockerfile
when: never
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
when: manual
@@ -197,7 +197,7 @@
stage: builds
interruptible: true
before_script:
- - source ci/buildenv/$NAME.sh
+ - source ci/buildenv/$NAME-cross-$CROSS.sh
- install_buildenv
- cat /packages.txt
rules:
@@ -237,13 +237,13 @@
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH && $JOB_OPTIONAL'
changes:
- ci/gitlab/container-templates.yml
- - ci/containers/$NAME.Dockerfile
+ - ci/containers/$NAME-cross-$CROSS.Dockerfile
when: manual
allow_failure: true
- if: '$CI_PIPELINE_SOURCE == "merge_request_event" && $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH'
changes:
- ci/gitlab/container-templates.yml
- - ci/containers/$NAME.Dockerfile
+ - ci/containers/$NAME-cross-$CROSS.Dockerfile
when: on_success
# upstream+forks: merge requests targeting non-default branches
@@ -266,6 +266,7 @@
- source ci/cirrus/$NAME.vars
- sed -e "s|[@]CI_REPOSITORY_URL@|$CI_REPOSITORY_URL|g"
-e "s|[@]CI_COMMIT_REF_NAME@|$CI_COMMIT_REF_NAME|g"
+ -e "s|[@]CI_MERGE_REQUEST_REF_PATH@|$CI_MERGE_REQUEST_REF_PATH|g"
-e "s|[@]CI_COMMIT_SHA@|$CI_COMMIT_SHA|g"
-e "s|[@]CIRRUS_VM_INSTANCE_TYPE@|$CIRRUS_VM_INSTANCE_TYPE|g"
-e "s|[@]CIRRUS_VM_IMAGE_SELECTOR@|$CIRRUS_VM_IMAGE_SELECTOR|g"
--
2.39.2
1 year, 8 months