From nobody Tue Dec 16 11:43:27 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1743477795; cv=none; d=zohomail.com; s=zohoarc; b=COTNgtW/1ZdDaGf9pFqZnDRirywughz5o//dIyaVXSgYLcRxL3cSD4y/xu9c2xtQQ59RImMqXQd5cBE8Iki/VbBlYFOu7jciijTyY3iKKVf3EQVfDazxYAXzQnY3K2cKTEDjo/ueFM2JDZPZZtaFWcgfvjwRNrOTu9Ak1U9+eGo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1743477795; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Subject:Subject:To:To:Message-Id:Cc; bh=uAF3s0poHrg3KktSNLcxrR1hwnKjBNNlBk6HYnkIT8E=; b=WDdzHdNR1NlINkyPkMDiAeqZpVlPQQsuEAPAl7xjRZh0HP7cYrRi/wuyCDQX0Wg1IabWfmsCf6HGrICcQZ27ipqyFUPx0NkdcWzxBVVDy1gYx6vYFbl8pMgqvmmuTRLK2bn0BlkLxDx7E04D6L6E1YZHKoHCdWe9nfdnCGgcrJg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 174347779563174.26665474375727; Mon, 31 Mar 2025 20:23:15 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id B4DA8B9F; Mon, 31 Mar 2025 23:23:14 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id A8246140A; Mon, 31 Mar 2025 23:19:06 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id A2B391320; Mon, 31 Mar 2025 23:19:00 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id D30D013BF for ; Mon, 31 Mar 2025 23:18:40 -0400 (EDT) Received: from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-638-td9x62lmNIi86xmHz1CN_w-1; Mon, 31 Mar 2025 23:18:08 -0400 Received: from mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.17]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 8BC2019560BB for ; Tue, 1 Apr 2025 03:18:07 +0000 (UTC) Received: from hjs.brq.redhat.com (unknown [10.43.3.187]) by mx-prod-int-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id D2BA21955D81 for ; Tue, 1 Apr 2025 03:18:06 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1743477520; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=GArtFkAtDwdZU2YPE4jtLXb4SguRkaGTi2kQack+wIE=; b=HY2Dko0GiO9fpj1zdOTp9ZRxyHQkF8o2N9psacmLpfoECF3UgY5NbjC+3PwmTVChKA6Ue7 5BVBgPGxI3xnES1dLNMpWlWDSLzhHteeWXd1Bn4hTv7Ii/pG/VqYLMCCEw9ZkvfuuBaBsv eWOIMGe38S3ctcRWC8CzAlLPjqwRXgk= X-MC-Unique: td9x62lmNIi86xmHz1CN_w-1 X-Mimecast-MFC-AGG-ID: td9x62lmNIi86xmHz1CN_w_1743477487 To: devel@lists.libvirt.org Subject: [libvirt PATCH 3/7] Deprecate the QEMU driver Date: Tue, 1 Apr 2025 05:12:38 +0200 Message-ID: <39921d63da56c7bdb7ed8ecb8b9894e05f783f6e.1743477161.git.jtomko@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.17 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: il93udo0UY1LLb_Hqsy2JOt5rmLzKe29Ri3SiKsWX_c_1743477487 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: MSBOTYOKMGF7F4NZHMKW34XBXNMEBTQZ X-Message-ID-Hash: MSBOTYOKMGF7F4NZHMKW34XBXNMEBTQZ X-MailFrom: jtomko@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: From: =?utf-8?q?J=C3=A1n_Tomko_via_Devel?= Reply-To: =?UTF-8?q?J=C3=A1n=20Tomko?= X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1743477796272019100 Content-Type: text/plain; charset="utf-8" From: J=C3=A1n Tomko For mutliple reasons, the use of the QEMU driver is no longer recommended: 1. It is still incomplete Git statistics from '3 years ago' speak for themselves: src/qemu: 42505 insertions(+), 31154 deletions(-) Compared to other drivers that are mostly completed and do not require so much attention: src/esx: 283 insertions(+), 380 deletions(-) src/hypervisor: 2661 insertions(+), 1342 deletions(-) src/interface: 253 insertions(+), 305 deletions(-) src/lxc: 906 insertions(+), 995 deletions(-) src/secret: 77 insertions(+), 75 deletions(-) 2. It is bloated Look at it, it's just huge! src/qemu: 148858 lines Compared to other, leaner drivers: src/esx: 20284 lines src/hypervisor: 6291 lines src/interface: 2632 lines src/lxc: 15946 lines src/secret: 846 lines And finally, my mother's favorite reason: 3. Because I said so. Signed-off-by: J=C3=A1n Tomko --- libvirt.spec.in | 2 +- meson.build | 81 ++----------------------------------------------- 2 files changed, 4 insertions(+), 79 deletions(-) diff --git a/libvirt.spec.in b/libvirt.spec.in index cb41ea1de1..df2b9750e3 100644 --- a/libvirt.spec.in +++ b/libvirt.spec.in @@ -32,7 +32,7 @@ %define arches_ch x86_64 aarch64 =20 # The hypervisor drivers that run in libvirtd -%define with_qemu 0%{!?_without_qemu:1} +%define with_qemu 0 %define with_lxc 0%{!?_without_lxc:1} %define with_libxl 0%{!?_without_libxl:1} %define with_vbox 0%{!?_without_vbox:1} diff --git a/meson.build b/meson.build index 56823ca25b..4929ccb42a 100644 --- a/meson.build +++ b/meson.build @@ -1671,7 +1671,7 @@ elif get_option('driver_network').enabled() endif =20 if udev_dep.found() and conf.has('WITH_LIBVIRTD') - conf.set('WITH_NODE_DEVICES', 1) + conf.set('WITH_NODE_DEVICES', 1) endif =20 if not get_option('driver_openvz').disabled() and host_machine.system() = =3D=3D 'linux' @@ -1680,83 +1680,8 @@ elif get_option('driver_openvz').enabled() error('OpenVZ driver can be enabled on Linux only') endif =20 -if not get_option('driver_qemu').disabled() - use_qemu =3D true - - if not json_c_dep.found() - use_qemu =3D false - if get_option('driver_qemu').enabled() - error('json-c is required to build QEMU driver') - endif - endif - - if not conf.has('WITH_LIBVIRTD') - use_qemu =3D false - if get_option('driver_qemu').enabled() - error('libvirtd is required to build QEMU driver') - endif - endif - - if use_qemu - conf.set('WITH_QEMU', 1) - - qemu_moddir =3D get_option('qemu_moddir') - if qemu_moddir =3D=3D '' - qemu_moddir =3D libdir / 'qemu' - endif - conf.set_quoted('QEMU_MODDIR', qemu_moddir) - - qemu_datadir =3D get_option('qemu_datadir') - if qemu_datadir =3D=3D '' - qemu_datadir =3D datadir / 'qemu' - endif - conf.set_quoted('QEMU_DATADIR', qemu_datadir) - - qemu_user =3D get_option('qemu_user') - qemu_group =3D get_option('qemu_group') - if (qemu_user =3D=3D '' and qemu_group !=3D '') or (qemu_user !=3D '' = and qemu_group =3D=3D '') - error('Please specify both qemu_user and qemu_group or neither of th= em') - endif - if qemu_user =3D=3D '' and qemu_group =3D=3D '' - if host_machine.system() in [ 'freebsd', 'darwin' ] - qemu_user =3D 'root' - qemu_group =3D 'wheel' - else - # RHEL and CentOS both have ID_LIKE=3Dfedora, SLES has ID_LIKE=3Ds= use - if (os_release.contains('fedora') or - os_release.contains('gentoo') or - os_release.contains('suse')) - qemu_user =3D 'qemu' - qemu_group =3D 'qemu' - # Ubuntu has ID_LIKE=3Ddebian so we need to handle it first - elif os_release.contains('ubuntu') - qemu_user =3D 'libvirt-qemu' - qemu_group =3D 'kvm' - elif (os_release.contains('arch') or - os_release.contains('debian')) - qemu_user =3D 'libvirt-qemu' - qemu_group =3D 'libvirt-qemu' - else - qemu_user =3D 'root' - qemu_group =3D 'root' - endif - endif - endif - conf.set_quoted('QEMU_USER', qemu_user) - conf.set_quoted('QEMU_GROUP', qemu_group) - - qemu_slirp_prog =3D find_program( - 'slirp-helper', - dirs: [ '/usr/bin', '/usr/libexec' ], - required: false - ) - if qemu_slirp_prog.found() - qemu_slirp_path =3D qemu_slirp_prog.full_path() - else - qemu_slirp_path =3D '/usr/bin/slirp-helper' - endif - conf.set_quoted('QEMU_SLIRP_HELPER', qemu_slirp_path) - endif +if get_option('driver_qemu').enabled() + error('QEMU driver has been deprecated') endif =20 if not get_option('driver_secrets').disabled() and conf.has('WITH_LIBVIRTD= ') --=20 2.49.0