From nobody Sun May 12 23:31:33 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1700157202530707.2603001142726; Thu, 16 Nov 2023 09:53:22 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 7EE0819DE; Thu, 16 Nov 2023 12:53:21 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 723FC18D4; Thu, 16 Nov 2023 12:49:20 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 818A81855; Thu, 16 Nov 2023 12:49:00 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.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 45D5E1855 for ; Thu, 16 Nov 2023 12:48:59 -0500 (EST) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-213-c6xn4eSNN3Gm72PtBdeTNQ-1; Thu, 16 Nov 2023 12:48:57 -0500 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 160028007B3 for ; Thu, 16 Nov 2023 17:48:57 +0000 (UTC) Received: from harajuku.usersys.redhat.com (unknown [10.45.224.55]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9C68A492BFD for ; Thu, 16 Nov 2023 17:48:56 +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=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: c6xn4eSNN3Gm72PtBdeTNQ-1 From: Andrea Bolognani To: devel@lists.libvirt.org Subject: [libvirt PATCH v2 1/5] rpm: Shuffle BuildRequires around Date: Thu, 16 Nov 2023 18:48:50 +0100 Message-ID: <20231116174854.2422139-2-abologna@redhat.com> In-Reply-To: <20231116174854.2422139-1-abologna@redhat.com> References: <20231116174854.2422139-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.10 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: NG73MLHIQWXFYZLWPAXPXIKPBPY7HOMT X-Message-ID-Hash: NG73MLHIQWXFYZLWPAXPXIKPBPY7HOMT X-MailFrom: abologna@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: Content-Type: text/plain; charset="utf-8"; x-default="true" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1700157203608100001 Move all dependencies that are needed both for native builds and for MinGW ones near the top of the list. This will make future patches nicer. Signed-off-by: Andrea Bolognani Reviewed-by: Martin Kletzander --- libvirt.spec.in | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/libvirt.spec.in b/libvirt.spec.in index f50c451e73..1f90a36f22 100644 --- a/libvirt.spec.in +++ b/libvirt.spec.in @@ -281,7 +281,6 @@ Requires: libvirt-libs =3D %{version}-%{release} # All build-time requirements. Run-time requirements are # listed against each sub-RPM BuildRequires: python3-docutils -BuildRequires: gcc BuildRequires: meson >=3D 0.56.0 BuildRequires: ninja-build BuildRequires: git @@ -290,16 +289,21 @@ BuildRequires: python3 BuildRequires: python3-pytest # For xmllint BuildRequires: libxml2 +# For xsltproc +BuildRequires: libxslt +BuildRequires: gettext +BuildRequires: systemd-rpm-macros +BuildRequires: rpcgen +# Fedora build root suckage +BuildRequires: gawk +BuildRequires: gcc %if %{with_libxl} BuildRequires: xen-devel %endif BuildRequires: glib2-devel >=3D 2.56 BuildRequires: libxml2-devel -# For xsltproc -BuildRequires: libxslt BuildRequires: readline-devel BuildRequires: bash-completion >=3D 2.0 -BuildRequires: gettext BuildRequires: libtasn1-devel BuildRequires: gnutls-devel BuildRequires: libattr-devel @@ -308,7 +312,6 @@ BuildRequires: libblkid-devel >=3D 2.17 # for augparse, optionally used in testing BuildRequires: augeas BuildRequires: systemd-devel >=3D 185 -BuildRequires: systemd-rpm-macros BuildRequires: libpciaccess-devel >=3D 0.10.9 BuildRequires: yajl-devel %if %{with_sanlock} @@ -385,8 +388,6 @@ BuildRequires: systemtap-sdt-devel BuildRequires: util-linux # For showmount in FS driver (netfs discovery) BuildRequires: nfs-utils -# Fedora build root suckage -BuildRequires: gawk # For storage wiping with different algorithms BuildRequires: scrub %if %{with_numad} --=20 2.41.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Sun May 12 23:31:33 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1700157111368984.1068900340942; Thu, 16 Nov 2023 09:51:51 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 4915E195B; Thu, 16 Nov 2023 12:51:50 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 136C11938; Thu, 16 Nov 2023 12:49:10 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 7FD3B1854; Thu, 16 Nov 2023 12:49:00 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.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 DABF81839 for ; Thu, 16 Nov 2023 12:48:59 -0500 (EST) Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-217-AChydCiXP4-2A5nhMPVZvA-1; Thu, 16 Nov 2023 12:48:58 -0500 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id C69E729AA2CA for ; Thu, 16 Nov 2023 17:48:57 +0000 (UTC) Received: from harajuku.usersys.redhat.com (unknown [10.45.224.55]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 59B8C492BFD for ; Thu, 16 Nov 2023 17:48:57 +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=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: AChydCiXP4-2A5nhMPVZvA-1 From: Andrea Bolognani To: devel@lists.libvirt.org Subject: [libvirt PATCH v2 2/5] rpm: Split call to mingw_debug_package Date: Thu, 16 Nov 2023 18:48:51 +0100 Message-ID: <20231116174854.2422139-3-abologna@redhat.com> In-Reply-To: <20231116174854.2422139-1-abologna@redhat.com> References: <20231116174854.2422139-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.10 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: PLKJJ2F4RML76VGUGYAQESLLV6QZTLEQ X-Message-ID-Hash: PLKJJ2F4RML76VGUGYAQESLLV6QZTLEQ X-MailFrom: abologna@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: Content-Type: text/plain; charset="utf-8"; x-default="true" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1700157113180100001 This is functionally equivalent and will make future patches nicer. Signed-off-by: Andrea Bolognani Reviewed-by: Martin Kletzander --- libvirt.spec.in | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libvirt.spec.in b/libvirt.spec.in index 1f90a36f22..5b0b316543 100644 --- a/libvirt.spec.in +++ b/libvirt.spec.in @@ -1081,7 +1081,8 @@ BuildArch: noarch %description -n mingw64-libvirt MinGW Windows libvirt virtualization library. =20 -%{?mingw_debug_package} +%{?mingw32_debug_package} +%{?mingw64_debug_package} %endif =20 %prep --=20 2.41.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Sun May 12 23:31:33 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1700157338383265.06323479477726; Thu, 16 Nov 2023 09:55:38 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 4A2031838; Thu, 16 Nov 2023 12:55:37 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 5BE6818E0; Thu, 16 Nov 2023 12:49:29 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 661161855; Thu, 16 Nov 2023 12:49:02 -0500 (EST) 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 BDB281839 for ; Thu, 16 Nov 2023 12:49:00 -0500 (EST) Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-534-yQxWRbL-MWSsO-wKNbcMlw-1; Thu, 16 Nov 2023 12:48:58 -0500 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 83D8C3C1AC9D for ; Thu, 16 Nov 2023 17:48:58 +0000 (UTC) Received: from harajuku.usersys.redhat.com (unknown [10.45.224.55]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 169D0492BFD for ; Thu, 16 Nov 2023 17:48:57 +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=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: yQxWRbL-MWSsO-wKNbcMlw-1 From: Andrea Bolognani To: devel@lists.libvirt.org Subject: [libvirt PATCH v2 3/5] rpm: Introduce with_mingw32/with_mingw64 Date: Thu, 16 Nov 2023 18:48:52 +0100 Message-ID: <20231116174854.2422139-4-abologna@redhat.com> In-Reply-To: <20231116174854.2422139-1-abologna@redhat.com> References: <20231116174854.2422139-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.10 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: XGY4DFG5CSPQLZGWHTED7D56CMM42CLO X-Message-ID-Hash: XGY4DFG5CSPQLZGWHTED7D56CMM42CLO X-MailFrom: abologna@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: Content-Type: text/plain; charset="utf-8"; x-default="true" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1700157340041100001 These replace the existing with_mingw but offer additional granularity. The existing _without_mingw knob retains its behavior of disabling all MinGW builds at once for convenience, while the newly introduced _without_mingw32/_without_mingw64 knobs make it possible to disable only one of them. Signed-off-by: Andrea Bolognani Reviewed-by: Martin Kletzander --- libvirt.spec.in | 49 ++++++++++++++++++++++++++++++++++++------------- 1 file changed, 36 insertions(+), 13 deletions(-) diff --git a/libvirt.spec.in b/libvirt.spec.in index 5b0b316543..7e2da8506a 100644 --- a/libvirt.spec.in +++ b/libvirt.spec.in @@ -203,9 +203,19 @@ %define qemu_moddir %{_libdir}/qemu %define qemu_datadir %{_datadir}/qemu =20 -%define with_mingw 0 +%define with_mingw32 0 +%define with_mingw64 0 + %if 0%{?fedora} - %define with_mingw 0%{!?_without_mingw:1} + %if 0%{!?_without_mingw:1} + %define with_mingw32 0%{!?_without_mingw32:1} + %define with_mingw64 0%{!?_without_mingw64:1} + %endif + + # These tell the other mingw macros whether to perform or + # skip the 32-bit and 64-bit specific steps respectively + %define mingw_build_win32 %{with_mingw32} + %define mingw_build_win64 %{with_mingw64} %endif =20 # RHEL releases provide stable tool chains and so it is safe to turn @@ -405,7 +415,7 @@ BuildRequires: libtirpc-devel BuildRequires: firewalld-filesystem %endif =20 -%if %{with_mingw} +%if %{with_mingw32} BuildRequires: mingw32-filesystem BuildRequires: mingw32-gcc BuildRequires: mingw32-binutils @@ -419,6 +429,8 @@ BuildRequires: mingw32-portablexdr BuildRequires: mingw32-dlfcn BuildRequires: mingw32-libssh2 BuildRequires: mingw32-curl +%endif +%if %{with_mingw64} BuildRequires: mingw64-filesystem BuildRequires: mingw64-gcc BuildRequires: mingw64-binutils @@ -1064,7 +1076,7 @@ Requires: libvirt-daemon-driver-network =3D %{version= }-%{release} %description nss Libvirt plugin for NSS for translating domain names into IP addresses. =20 -%if %{with_mingw} +%if %{with_mingw32} %package -n mingw32-libvirt Summary: %{summary} Obsoletes: mingw32-libvirt-static < 7.0.0 @@ -1073,6 +1085,10 @@ BuildArch: noarch %description -n mingw32-libvirt MinGW Windows libvirt virtualization library. =20 +%{?mingw32_debug_package} +%endif + +%if %{with_mingw64} %package -n mingw64-libvirt Summary: %{summary} Obsoletes: mingw64-libvirt-static < 7.0.0 @@ -1081,7 +1097,6 @@ BuildArch: noarch %description -n mingw64-libvirt MinGW Windows libvirt virtualization library. =20 -%{?mingw32_debug_package} %{?mingw64_debug_package} %endif =20 @@ -1327,7 +1342,7 @@ export SOURCE_DATE_EPOCH=3D$(stat --printf=3D'%Y' %{_= specdir}/libvirt.spec) =20 %meson_build =20 -%if %{with_mingw} +%if %{with_mingw32} || %{with_mingw64} %mingw_meson \ --auto-features=3Denabled \ -Ddriver_remote=3Denabled \ @@ -1473,21 +1488,27 @@ mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libv= irt_qemu_probes.stp \ %endif %endif =20 -%if %{with_mingw} +%if %{with_mingw32} || %{with_mingw64} %mingw_ninja_install +%endif =20 +%if %{with_mingw32} rm -rf $RPM_BUILD_ROOT%{mingw32_sysconfdir}/libvirt/nwfilter -rm -rf $RPM_BUILD_ROOT%{mingw64_sysconfdir}/libvirt/nwfilter rm -rf $RPM_BUILD_ROOT%{mingw32_datadir}/doc/* -rm -rf $RPM_BUILD_ROOT%{mingw64_datadir}/doc/* rm -rf $RPM_BUILD_ROOT%{mingw32_datadir}/gtk-doc/* -rm -rf $RPM_BUILD_ROOT%{mingw64_datadir}/gtk-doc/* - rm -rf $RPM_BUILD_ROOT%{mingw32_libexecdir}/libvirt_iohelper.exe -rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt_iohelper.exe rm -rf $RPM_BUILD_ROOT%{mingw32_libexecdir}/libvirt-guests.sh +%endif + +%if %{with_mingw64} +rm -rf $RPM_BUILD_ROOT%{mingw64_sysconfdir}/libvirt/nwfilter +rm -rf $RPM_BUILD_ROOT%{mingw64_datadir}/doc/* +rm -rf $RPM_BUILD_ROOT%{mingw64_datadir}/gtk-doc/* +rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt_iohelper.exe rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt-guests.sh +%endif =20 +%if %{with_mingw32} || %{with_mingw64} %mingw_debug_install_post =20 %mingw_find_lang %{name} @@ -2389,7 +2410,7 @@ exit 0 %{_datadir}/libvirt/api/libvirt-qemu-api.xml %{_datadir}/libvirt/api/libvirt-lxc-api.xml =20 -%if %{with_mingw} +%if %{with_mingw32} %files -n mingw32-libvirt -f mingw32-libvirt.lang %dir %{mingw32_sysconfdir}/libvirt/ %config(noreplace) %{mingw32_sysconfdir}/libvirt/libvirt.conf @@ -2446,7 +2467,9 @@ exit 0 %{mingw32_mandir}/man1/virt-pki-query-dn.1* %{mingw32_mandir}/man1/virt-pki-validate.1* %{mingw32_mandir}/man7/virkey*.7* +%endif =20 +%if %{with_mingw64} %files -n mingw64-libvirt -f mingw64-libvirt.lang %dir %{mingw64_sysconfdir}/libvirt/ %config(noreplace) %{mingw64_sysconfdir}/libvirt/libvirt.conf --=20 2.41.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Sun May 12 23:31:33 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 170015767089393.76692941948409; Thu, 16 Nov 2023 10:01:10 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 8932E1730; Thu, 16 Nov 2023 13:01:09 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 613C519E3; Thu, 16 Nov 2023 12:49:45 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 6F4CB19A1; Thu, 16 Nov 2023 12:49:16 -0500 (EST) 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 CE5371855 for ; Thu, 16 Nov 2023 12:49:02 -0500 (EST) Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-578-iwBP0jz6OWa_OePZ1Tfvyw-1; Thu, 16 Nov 2023 12:48:59 -0500 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 87F5E3811F33 for ; Thu, 16 Nov 2023 17:48:59 +0000 (UTC) Received: from harajuku.usersys.redhat.com (unknown [10.45.224.55]) by smtp.corp.redhat.com (Postfix) with ESMTPS id C86D1492BFD for ; Thu, 16 Nov 2023 17:48:58 +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=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: iwBP0jz6OWa_OePZ1Tfvyw-1 From: Andrea Bolognani To: devel@lists.libvirt.org Subject: [libvirt PATCH v2 4/5] rpm: Introduce with_native Date: Thu, 16 Nov 2023 18:48:53 +0100 Message-ID: <20231116174854.2422139-5-abologna@redhat.com> In-Reply-To: <20231116174854.2422139-1-abologna@redhat.com> References: <20231116174854.2422139-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.10 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: EQXBSCMVYK6PNMYK4QAAZ7W5M3MSCCI6 X-Message-ID-Hash: EQXBSCMVYK6PNMYK4QAAZ7W5M3MSCCI6 X-MailFrom: abologna@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: Content-Type: text/plain; charset="utf-8"; x-default="true" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1700157672062100001 The new _without_native knob makes it possible to skip the native build completely and build for MinGW only. Best viewed with 'git show -w'. Signed-off-by: Andrea Bolognani Reviewed-by: Martin Kletzander --- libvirt.spec.in | 395 +++++++++++++++++++++++++----------------------- 1 file changed, 210 insertions(+), 185 deletions(-) diff --git a/libvirt.spec.in b/libvirt.spec.in index 7e2da8506a..361a34675b 100644 --- a/libvirt.spec.in +++ b/libvirt.spec.in @@ -203,6 +203,9 @@ %define qemu_moddir %{_libdir}/qemu %define qemu_datadir %{_datadir}/qemu =20 +# Native / MinGW builds +%define with_native 0%{!?_without_native:1} + %define with_mingw32 0 %define with_mingw64 0 =20 @@ -218,6 +221,13 @@ %define mingw_build_win64 %{with_mingw64} %endif =20 +%if !%{with_native} + # Building the debugsource package apparently only works if the + # native build is enabled. debuginfo packages don't have this + # problem and setting this doesn't disable them + %global debug_package %{nil} +%endif + # RHEL releases provide stable tool chains and so it is safe to turn # compiler warning into errors without being worried about frequent # changes in reported warnings @@ -306,10 +316,11 @@ BuildRequires: systemd-rpm-macros BuildRequires: rpcgen # Fedora build root suckage BuildRequires: gawk +%if %{with_native} BuildRequires: gcc -%if %{with_libxl} + %if %{with_libxl} BuildRequires: xen-devel -%endif + %endif BuildRequires: glib2-devel >=3D 2.56 BuildRequires: libxml2-devel BuildRequires: readline-devel @@ -324,9 +335,9 @@ BuildRequires: augeas BuildRequires: systemd-devel >=3D 185 BuildRequires: libpciaccess-devel >=3D 0.10.9 BuildRequires: yajl-devel -%if %{with_sanlock} + %if %{with_sanlock} BuildRequires: sanlock-devel >=3D 2.4 -%endif + %endif BuildRequires: libpcap-devel >=3D 1.5.0 BuildRequires: libnl3-devel BuildRequires: libselinux-devel @@ -338,59 +349,59 @@ BuildRequires: cyrus-sasl-devel BuildRequires: polkit >=3D 0.112 # For mount/umount in FS driver BuildRequires: util-linux -%if %{with_qemu} + %if %{with_qemu} # For managing ACLs BuildRequires: libacl-devel # From QEMU RPMs, used by virstoragetest BuildRequires: /usr/bin/qemu-img -%endif + %endif # nbdkit support requires libnbd -%if %{with_nbdkit} + %if %{with_nbdkit} BuildRequires: libnbd-devel -%endif + %endif # For LVM drivers BuildRequires: lvm2 # For pool type=3Discsi BuildRequires: iscsi-initiator-utils -%if %{with_storage_iscsi_direct} + %if %{with_storage_iscsi_direct} # For pool type=3Discsi-direct BuildRequires: libiscsi-devel -%endif + %endif # For disk driver BuildRequires: parted-devel # For Multipath support BuildRequires: device-mapper-devel -%if %{with_storage_rbd} + %if %{with_storage_rbd} BuildRequires: librados-devel BuildRequires: librbd-devel -%endif -%if %{with_storage_gluster} + %endif + %if %{with_storage_gluster} BuildRequires: glusterfs-api-devel >=3D 3.4.1 BuildRequires: glusterfs-devel >=3D 3.4.1 -%endif -%if %{with_numactl} + %endif + %if %{with_numactl} # For QEMU/LXC numa info BuildRequires: numactl-devel -%endif + %endif BuildRequires: libcap-ng-devel >=3D 0.5.0 -%if %{with_fuse} + %if %{with_fuse} BuildRequires: fuse-devel >=3D 2.8.6 -%endif -%if %{with_libssh2} + %endif + %if %{with_libssh2} BuildRequires: libssh2-devel >=3D 1.3.0 -%endif -%if %{with_netcf} + %endif + %if %{with_netcf} BuildRequires: netcf-devel >=3D 0.2.2 -%endif -%if 0%{?fedora} || 0%{?rhel} >=3D 9 + %endif + %if 0%{?fedora} || 0%{?rhel} >=3D 9 BuildRequires: passt -%endif -%if %{with_esx} + %endif + %if %{with_esx} BuildRequires: libcurl-devel -%endif -%if %{with_hyperv} + %endif + %if %{with_hyperv} BuildRequires: libwsman-devel >=3D 2.6.3 -%endif + %endif BuildRequires: audit-libs-devel # we need /usr/sbin/dtrace BuildRequires: systemtap-sdt-devel @@ -400,19 +411,20 @@ BuildRequires: util-linux BuildRequires: nfs-utils # For storage wiping with different algorithms BuildRequires: scrub -%if %{with_numad} + %if %{with_numad} BuildRequires: numad -%endif -%if %{with_wireshark} + %endif + %if %{with_wireshark} BuildRequires: wireshark-devel -%endif -%if %{with_libssh} + %endif + %if %{with_libssh} BuildRequires: libssh-devel >=3D 0.8.1 -%endif + %endif BuildRequires: libtirpc-devel + %if %{with_firewalld_zone} # Needed for the firewalld_reload macro -%if %{with_firewalld_zone} BuildRequires: firewalld-filesystem + %endif %endif =20 %if %{with_mingw32} @@ -451,6 +463,7 @@ Libvirt is a C toolkit to interact with the virtualizat= ion capabilities of recent versions of Linux (and other OSes). The main package includes the libvirtd server exporting the virtualization support. =20 +%if %{with_native} %package docs Summary: API reference and website documentation =20 @@ -490,10 +503,10 @@ Requires: iproute # for /sbin/tc Requires: iproute-tc Requires: polkit >=3D 0.112 -%if %{with_dmidecode} + %if %{with_dmidecode} # For virConnectGetSysinfo Requires: dmidecode -%endif + %endif # For service management Requires(posttrans): /usr/bin/systemctl Requires(preun): /usr/bin/systemctl @@ -502,11 +515,11 @@ Requires: dbus # For uid creation during pre Requires(pre): shadow-utils # Needed by /usr/libexec/libvirt-guests.sh script. -%if 0%{?fedora} + %if 0%{?fedora} Requires: gettext-runtime -%else + %else Requires: gettext -%endif + %endif =20 # Ensure smooth upgrades Obsoletes: libvirt-admin < 7.3.0 @@ -614,9 +627,9 @@ capabilities. Summary: Interface driver plugin for the libvirtd daemon Requires: libvirt-daemon-common =3D %{version}-%{release} Requires: libvirt-libs =3D %{version}-%{release} -%if %{with_netcf} + %if %{with_netcf} Requires: netcf-libs >=3D 0.2.2 -%endif + %endif =20 %description daemon-driver-interface The interface driver plugin for the libvirtd daemon, providing @@ -638,13 +651,13 @@ Requires: libvirt-libs =3D %{version}-%{release} Requires: nfs-utils # For mkfs Requires: util-linux -%if %{with_qemu} + %if %{with_qemu} # From QEMU RPMs Requires: /usr/bin/qemu-img -%endif -%if !%{with_storage_rbd} + %endif + %if !%{with_storage_rbd} Obsoletes: libvirt-daemon-driver-storage-rbd < 5.2.0 -%endif + %endif Obsoletes: libvirt-daemon-driver-storage-sheepdog < 8.8.0 =20 %description daemon-driver-storage-core @@ -692,7 +705,7 @@ Requires: iscsi-initiator-utils The storage driver backend adding implementation of the storage APIs for i= scsi volumes using the host iscsi stack. =20 -%if %{with_storage_iscsi_direct} + %if %{with_storage_iscsi_direct} %package daemon-driver-storage-iscsi-direct Summary: Storage driver plugin for iscsi-direct Requires: libvirt-daemon-driver-storage-core =3D %{version}-%{release} @@ -701,7 +714,7 @@ Requires: libvirt-libs =3D %{version}-%{release} %description daemon-driver-storage-iscsi-direct The storage driver backend adding implementation of the storage APIs for i= scsi volumes using libiscsi direct connection. -%endif + %endif =20 %package daemon-driver-storage-mpath Summary: Storage driver plugin for multipath volumes @@ -713,24 +726,24 @@ Requires: device-mapper The storage driver backend adding implementation of the storage APIs for multipath storage using device mapper. =20 -%if %{with_storage_gluster} + %if %{with_storage_gluster} %package daemon-driver-storage-gluster Summary: Storage driver plugin for gluster Requires: libvirt-daemon-driver-storage-core =3D %{version}-%{release} Requires: libvirt-libs =3D %{version}-%{release} - %if 0%{?fedora} + %if 0%{?fedora} Requires: glusterfs-client >=3D 2.0.1 - %endif - %if 0%{?fedora} || 0%{?with_storage_gluster} + %endif + %if 0%{?fedora} || 0%{?with_storage_gluster} Requires: /usr/sbin/gluster - %endif + %endif =20 %description daemon-driver-storage-gluster The storage driver backend adding implementation of the storage APIs for g= luster volumes using libgfapi. -%endif + %endif =20 -%if %{with_storage_rbd} + %if %{with_storage_rbd} %package daemon-driver-storage-rbd Summary: Storage driver plugin for rbd Requires: libvirt-daemon-driver-storage-core =3D %{version}-%{release} @@ -739,9 +752,9 @@ Requires: libvirt-libs =3D %{version}-%{release} %description daemon-driver-storage-rbd The storage driver backend adding implementation of the storage APIs for r= bd volumes using the ceph protocol. -%endif + %endif =20 -%if %{with_storage_zfs} + %if %{with_storage_zfs} %package daemon-driver-storage-zfs Summary: Storage driver plugin for ZFS Requires: libvirt-daemon-driver-storage-core =3D %{version}-%{release} @@ -753,7 +766,7 @@ Requires: /sbin/zpool %description daemon-driver-storage-zfs The storage driver backend adding implementation of the storage APIs for ZFS volumes. -%endif + %endif =20 %package daemon-driver-storage Summary: Storage driver plugin including all backends for the libvirtd dae= mon @@ -763,25 +776,25 @@ Requires: libvirt-daemon-driver-storage-logical =3D %= {version}-%{release} Requires: libvirt-daemon-driver-storage-scsi =3D %{version}-%{release} Requires: libvirt-daemon-driver-storage-iscsi =3D %{version}-%{release} Requires: libvirt-daemon-driver-storage-mpath =3D %{version}-%{release} -%if %{with_storage_iscsi_direct} + %if %{with_storage_iscsi_direct} Requires: libvirt-daemon-driver-storage-iscsi-direct =3D %{version}-%{rele= ase} -%endif -%if %{with_storage_gluster} + %endif + %if %{with_storage_gluster} Requires: libvirt-daemon-driver-storage-gluster =3D %{version}-%{release} -%endif -%if %{with_storage_rbd} + %endif + %if %{with_storage_rbd} Requires: libvirt-daemon-driver-storage-rbd =3D %{version}-%{release} -%endif -%if %{with_storage_zfs} + %endif + %if %{with_storage_zfs} Requires: libvirt-daemon-driver-storage-zfs =3D %{version}-%{release} -%endif + %endif =20 %description daemon-driver-storage The storage driver plugin for the libvirtd daemon, providing an implementation of the storage APIs using LVM, iSCSI, parted and more. =20 -%if %{with_qemu} + %if %{with_qemu} %package daemon-driver-qemu Summary: QEMU driver plugin for the libvirtd daemon Requires: libvirt-daemon-common =3D %{version}-%{release} @@ -795,26 +808,26 @@ Requires: lzop Requires: xz Requires: systemd-container Requires: swtpm-tools - %if %{with_numad} + %if %{with_numad} Requires: numad - %endif - %if 0%{?fedora} || 0%{?rhel} >=3D 9 + %endif + %if 0%{?fedora} || 0%{?rhel} >=3D 9 Recommends: passt Recommends: passt-selinux - %endif - %if %{with_nbdkit} + %endif + %if %{with_nbdkit} Recommends: nbdkit Recommends: nbdkit-curl-plugin Recommends: nbdkit-ssh-plugin - %endif + %endif =20 %description daemon-driver-qemu The qemu driver plugin for the libvirtd daemon, providing an implementation of the hypervisor driver APIs using QEMU -%endif + %endif =20 -%if %{with_lxc} + %if %{with_lxc} %package daemon-driver-lxc Summary: LXC driver plugin for the libvirtd daemon Requires: libvirt-daemon-common =3D %{version}-%{release} @@ -824,17 +837,17 @@ Requires: libvirt-daemon-driver-network =3D %{version= }-%{release} Requires: systemd-container # for modprobe of nbd driver Requires: module-init-tools - %if %{with_numad} + %if %{with_numad} Requires: numad - %endif + %endif =20 %description daemon-driver-lxc The LXC driver plugin for the libvirtd daemon, providing an implementation of the hypervisor driver APIs using the Linux kernel -%endif + %endif =20 -%if %{with_vbox} + %if %{with_vbox} %package daemon-driver-vbox Summary: VirtualBox driver plugin for the libvirtd daemon Requires: libvirt-daemon-common =3D %{version}-%{release} @@ -844,9 +857,9 @@ Requires: libvirt-libs =3D %{version}-%{release} The vbox driver plugin for the libvirtd daemon, providing an implementation of the hypervisor driver APIs using VirtualBox -%endif + %endif =20 -%if %{with_libxl} + %if %{with_libxl} %package daemon-driver-libxl Summary: Libxl driver plugin for the libvirtd daemon Requires: libvirt-daemon-common =3D %{version}-%{release} @@ -857,22 +870,22 @@ Obsoletes: libvirt-daemon-driver-xen < 4.3.0 The Libxl driver plugin for the libvirtd daemon, providing an implementation of the hypervisor driver APIs using Libxl -%endif + %endif =20 -%if %{with_qemu_tcg} + %if %{with_qemu_tcg} %package daemon-qemu Summary: Server side daemon & driver required to run QEMU guests =20 - %if %{with_modular_daemons} + %if %{with_modular_daemons} Requires: libvirt-daemon-common =3D %{version}-%{release} Requires: libvirt-daemon-log =3D %{version}-%{release} Requires: libvirt-daemon-lock =3D %{version}-%{release} Requires: libvirt-daemon-plugin-lockd =3D %{version}-%{release} Requires: libvirt-daemon-proxy =3D %{version}-%{release} Recommends: libvirt-daemon =3D %{version}-%{release} - %else + %else Requires: libvirt-daemon =3D %{version}-%{release} - %endif + %endif Requires: libvirt-daemon-driver-qemu =3D %{version}-%{release} Requires: libvirt-daemon-driver-interface =3D %{version}-%{release} Requires: libvirt-daemon-driver-network =3D %{version}-%{release} @@ -885,22 +898,22 @@ Requires: qemu %description daemon-qemu Server side daemon and driver required to manage the virtualization capabilities of the QEMU TCG emulators -%endif + %endif =20 -%if %{with_qemu_kvm} + %if %{with_qemu_kvm} %package daemon-kvm Summary: Server side daemon & driver required to run KVM guests =20 - %if %{with_modular_daemons} + %if %{with_modular_daemons} Requires: libvirt-daemon-common =3D %{version}-%{release} Requires: libvirt-daemon-log =3D %{version}-%{release} Requires: libvirt-daemon-lock =3D %{version}-%{release} Requires: libvirt-daemon-plugin-lockd =3D %{version}-%{release} Requires: libvirt-daemon-proxy =3D %{version}-%{release} Recommends: libvirt-daemon =3D %{version}-%{release} - %else + %else Requires: libvirt-daemon =3D %{version}-%{release} - %endif + %endif Requires: libvirt-daemon-driver-qemu =3D %{version}-%{release} Requires: libvirt-daemon-driver-interface =3D %{version}-%{release} Requires: libvirt-daemon-driver-network =3D %{version}-%{release} @@ -913,19 +926,19 @@ Requires: qemu-kvm %description daemon-kvm Server side daemon and driver required to manage the virtualization capabilities of the KVM hypervisor -%endif + %endif =20 -%if %{with_lxc} + %if %{with_lxc} %package daemon-lxc Summary: Server side daemon & driver required to run LXC guests =20 - %if %{with_modular_daemons} + %if %{with_modular_daemons} Requires: libvirt-daemon-common =3D %{version}-%{release} Requires: libvirt-daemon-proxy =3D %{version}-%{release} Recommends: libvirt-daemon =3D %{version}-%{release} - %else + %else Requires: libvirt-daemon =3D %{version}-%{release} - %endif + %endif Requires: libvirt-daemon-driver-lxc =3D %{version}-%{release} Requires: libvirt-daemon-driver-interface =3D %{version}-%{release} Requires: libvirt-daemon-driver-network =3D %{version}-%{release} @@ -937,21 +950,21 @@ Requires: libvirt-daemon-driver-storage =3D %{version= }-%{release} %description daemon-lxc Server side daemon and driver required to manage the virtualization capabilities of LXC -%endif + %endif =20 -%if %{with_libxl} + %if %{with_libxl} %package daemon-xen Summary: Server side daemon & driver required to run XEN guests =20 - %if %{with_modular_daemons} + %if %{with_modular_daemons} Requires: libvirt-daemon-common =3D %{version}-%{release} Requires: libvirt-daemon-lock =3D %{version}-%{release} Requires: libvirt-daemon-plugin-lockd =3D %{version}-%{release} Requires: libvirt-daemon-proxy =3D %{version}-%{release} Recommends: libvirt-daemon =3D %{version}-%{release} - %else + %else Requires: libvirt-daemon =3D %{version}-%{release} - %endif + %endif Requires: libvirt-daemon-driver-libxl =3D %{version}-%{release} Requires: libvirt-daemon-driver-interface =3D %{version}-%{release} Requires: libvirt-daemon-driver-network =3D %{version}-%{release} @@ -964,19 +977,19 @@ Requires: xen %description daemon-xen Server side daemon and driver required to manage the virtualization capabilities of XEN -%endif + %endif =20 -%if %{with_vbox} + %if %{with_vbox} %package daemon-vbox Summary: Server side daemon & driver required to run VirtualBox guests =20 - %if %{with_modular_daemons} + %if %{with_modular_daemons} Requires: libvirt-daemon-common =3D %{version}-%{release} Requires: libvirt-daemon-proxy =3D %{version}-%{release} Recommends: libvirt-daemon =3D %{version}-%{release} - %else + %else Requires: libvirt-daemon =3D %{version}-%{release} - %endif + %endif Requires: libvirt-daemon-driver-vbox =3D %{version}-%{release} Requires: libvirt-daemon-driver-interface =3D %{version}-%{release} Requires: libvirt-daemon-driver-network =3D %{version}-%{release} @@ -988,7 +1001,7 @@ Requires: libvirt-daemon-driver-storage =3D %{version}= -%{release} %description daemon-vbox Server side daemon and driver required to manage the virtualization capabilities of VirtualBox -%endif + %endif =20 %package client Summary: Client side utilities of the libvirt library @@ -1025,7 +1038,7 @@ Requires: cyrus-sasl-gssapi %description libs Shared libraries for accessing the libvirt daemon. =20 -%if %{with_wireshark} + %if %{with_wireshark} %package wireshark Summary: Wireshark dissector plugin for libvirt RPC transactions Requires: wireshark @@ -1033,9 +1046,9 @@ Requires: libvirt-libs =3D %{version}-%{release} =20 %description wireshark Wireshark dissector plugin for better analysis of libvirt RPC traffic. -%endif + %endif =20 -%if %{with_lxc} + %if %{with_lxc} %package login-shell Summary: Login shell for connecting users to an LXC container Requires: libvirt-libs =3D %{version}-%{release} @@ -1044,7 +1057,7 @@ Requires: libvirt-libs =3D %{version}-%{release} Provides the set-uid virt-login-shell binary that is used to connect a user to an LXC container when they login, by switching namespaces. -%endif + %endif =20 %package devel Summary: Libraries, includes, etc. to compile with the libvirt library @@ -1054,7 +1067,7 @@ Requires: pkgconfig %description devel Include header files & development libraries for the libvirt C library. =20 -%if %{with_sanlock} + %if %{with_sanlock} %package daemon-plugin-sanlock Summary: Sanlock lock manager plugin for QEMU driver Requires: sanlock >=3D 2.4 @@ -1067,7 +1080,7 @@ Provides: libvirt-lock-sanlock =3D %{version}-%{relea= se} %description daemon-plugin-sanlock Includes the Sanlock lock manager plugin for the QEMU driver -%endif + %endif =20 %package nss Summary: Libvirt plugin for Name Service Switch @@ -1075,6 +1088,7 @@ Requires: libvirt-daemon-driver-network =3D %{version= }-%{release} =20 %description nss Libvirt plugin for NSS for translating domain names into IP addresses. +%endif =20 %if %{with_mingw32} %package -n mingw32-libvirt @@ -1266,6 +1280,7 @@ exit 1 =20 export SOURCE_DATE_EPOCH=3D$(stat --printf=3D'%Y' %{_specdir}/libvirt.spec) =20 +%if %{with_native} %meson \ -Drunstatedir=3D%{_rundir} \ -Dinitconfdir=3D%{_sysconfdir}/sysconfig \ @@ -1341,6 +1356,7 @@ export SOURCE_DATE_EPOCH=3D$(stat --printf=3D'%Y' %{_= specdir}/libvirt.spec) %{?arg_login_shell} =20 %meson_build +%endif =20 %if %{with_mingw32} || %{with_mingw64} %mingw_meson \ @@ -1417,7 +1433,7 @@ export SOURCE_DATE_EPOCH=3D$(stat --printf=3D'%Y' %{_= specdir}/libvirt.spec) -Dudev=3Ddisabled \ -Dwireshark_dissector=3Ddisabled \ -Dyajl=3Ddisabled -%mingw_ninja + %mingw_ninja %endif =20 %install @@ -1425,6 +1441,7 @@ rm -fr %{buildroot} =20 export SOURCE_DATE_EPOCH=3D$(stat --printf=3D'%Y' %{_specdir}/libvirt.spec) =20 +%if %{with_native} %meson_install =20 # We don't want to install /etc/libvirt/qemu/networks in the main %%files = list @@ -1444,47 +1461,48 @@ cp -a $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/nwfilte= r/*.xml \ # libvirt saves these files with mode 600 chmod 600 $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/nwfilter/*.xml =20 -%if ! %{with_qemu} + %if ! %{with_qemu} rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_qemu.aug rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_qemu.aug -%endif + %endif %find_lang %{name} =20 -%if ! %{with_sanlock} + %if ! %{with_sanlock} rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirt_sanlock.aug rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirt_sanlock.= aug -%endif + %endif =20 -%if ! %{with_lxc} + %if ! %{with_lxc} rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_lxc.aug rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_lxc.aug -%endif + %endif =20 -%if ! %{with_qemu} + %if ! %{with_qemu} rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/qemu.conf rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.qemu -%endif -%if ! %{with_lxc} + %endif + %if ! %{with_lxc} rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/lxc.conf rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.lxc -%endif -%if ! %{with_libxl} + %endif + %if ! %{with_libxl} rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/libvirt/libxl.conf rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/libvirtd.libxl rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/libvirtd_libxl.aug rm -f $RPM_BUILD_ROOT%{_datadir}/augeas/lenses/tests/test_libvirtd_libxl.a= ug -%endif + %endif =20 # Copied into libvirt-docs subpackage eventually mv $RPM_BUILD_ROOT%{_datadir}/doc/libvirt libvirt-docs =20 -%ifarch %{arches_systemtap_64bit} + %ifarch %{arches_systemtap_64bit} mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_probes.stp \ $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_probes-64.stp =20 - %if %{with_qemu} + %if %{with_qemu} mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes.stp \ $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvirt_qemu_probes-64.stp + %endif %endif %endif =20 @@ -1516,9 +1534,12 @@ rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt-= guests.sh %endif =20 %check + +%if %{with_native} # Building on slow archs, like emulated s390x in Fedora copr, requires # raising the test timeout VIR_TEST_DEBUG=3D1 %meson_test --no-suite syntax-check --timeout-multiplie= r 10 +%endif =20 %define libvirt_rpmstatedir %{_localstatedir}/lib/rpm-state/libvirt =20 @@ -1664,6 +1685,7 @@ VIR_TEST_DEBUG=3D1 %meson_test --no-suite syntax-chec= k --timeout-multiplier 10 %define libvirt_systemd_config_pre() %libvirt_systemd_schedule_restart %1.= service %define libvirt_systemd_config_posttrans() %libvirt_systemd_perform_restar= t %1.service =20 +%if %{with_native} %pre daemon %libvirt_sysconfig_pre libvirtd %libvirt_systemd_inet_pre libvirtd @@ -1728,9 +1750,9 @@ exit 0 %libvirt_systemd_unix_pre virtnetworkd =20 %post daemon-driver-network -%if %{with_firewalld_zone} + %if %{with_firewalld_zone} %firewalld_reload -%endif + %endif =20 %posttrans daemon-driver-network %libvirt_sysconfig_posttrans virtnetworkd @@ -1740,9 +1762,9 @@ exit 0 %libvirt_systemd_unix_preun virtnetworkd =20 %postun daemon-driver-network -%if %{with_firewalld_zone} + %if %{with_firewalld_zone} %firewalld_reload -%endif + %endif =20 %pre daemon-driver-nwfilter %libvirt_sysconfig_pre virtnwfilterd @@ -1799,7 +1821,7 @@ exit 0 %preun daemon-driver-storage-core %libvirt_systemd_unix_preun virtstoraged =20 -%if %{with_qemu} + %if %{with_qemu} %pre daemon-driver-qemu %libvirt_sysconfig_pre virtqemud %libvirt_systemd_unix_pre virtqemud @@ -1823,9 +1845,9 @@ exit 0 =20 %preun daemon-driver-qemu %libvirt_systemd_unix_preun virtqemud -%endif + %endif =20 -%if %{with_lxc} + %if %{with_lxc} %pre daemon-driver-lxc %libvirt_sysconfig_pre virtlxcd %libvirt_systemd_unix_pre virtlxcd @@ -1836,9 +1858,9 @@ exit 0 =20 %preun daemon-driver-lxc %libvirt_systemd_unix_preun virtlxcd -%endif + %endif =20 -%if %{with_vbox} + %if %{with_vbox} %pre daemon-driver-vbox %libvirt_sysconfig_pre virtvboxd %libvirt_systemd_unix_pre virtvboxd @@ -1849,9 +1871,9 @@ exit 0 =20 %preun daemon-driver-vbox %libvirt_systemd_unix_preun virtvboxd -%endif + %endif =20 -%if %{with_libxl} + %if %{with_libxl} %pre daemon-driver-libxl %libvirt_sysconfig_pre virtxend %libvirt_systemd_unix_pre virtxend @@ -1862,7 +1884,7 @@ exit 0 =20 %preun daemon-driver-libxl %libvirt_systemd_unix_preun virtxend -%endif + %endif =20 %pre daemon-config-network %libvirt_systemd_config_pre libvirtd @@ -1927,12 +1949,14 @@ done %libvirt_systemd_config_posttrans libvirtd %libvirt_systemd_config_posttrans virtnwfilterd =20 -%if %{with_lxc} + %if %{with_lxc} %pre login-shell getent group virtlogin >/dev/null || groupadd -r virtlogin exit 0 + %endif %endif =20 +%if %{with_native} %files =20 %files docs @@ -1993,9 +2017,9 @@ exit 0 %{_datadir}/augeas/lenses/virtlockd.aug %{_datadir}/augeas/lenses/tests/test_virtlockd.aug %{_datadir}/augeas/lenses/libvirt_lockd.aug -%if %{with_qemu} + %if %{with_qemu} %{_datadir}/augeas/lenses/tests/test_libvirt_lockd.aug -%endif + %endif %attr(0755, root, root) %{_sbindir}/virtlockd %{_mandir}/man8/virtlockd.8* =20 @@ -2068,13 +2092,13 @@ exit 0 %attr(0755, root, root) %{_libexecdir}/libvirt_leaseshelper %{_libdir}/libvirt/connection-driver/libvirt_driver_network.so %{_mandir}/man8/virtnetworkd.8* -%if %{with_firewalld_zone} + %if %{with_firewalld_zone} %{_prefix}/lib/firewalld/zones/libvirt.xml %{_prefix}/lib/firewalld/zones/libvirt-routed.xml %{_prefix}/lib/firewalld/policies/libvirt-routed-in.xml %{_prefix}/lib/firewalld/policies/libvirt-routed-out.xml %{_prefix}/lib/firewalld/policies/libvirt-to-host.xml -%endif + %endif =20 %files daemon-driver-nodedev %config(noreplace) %{_sysconfdir}/libvirt/virtnodedevd.conf @@ -2151,31 +2175,31 @@ exit 0 %files daemon-driver-storage-iscsi %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_iscsi.so =20 -%if %{with_storage_iscsi_direct} + %if %{with_storage_iscsi_direct} %files daemon-driver-storage-iscsi-direct %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_iscsi-direct.so -%endif + %endif =20 %files daemon-driver-storage-mpath %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_mpath.so =20 -%if %{with_storage_gluster} + %if %{with_storage_gluster} %files daemon-driver-storage-gluster %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_gluster.so %{_libdir}/libvirt/storage-file/libvirt_storage_file_gluster.so -%endif + %endif =20 -%if %{with_storage_rbd} + %if %{with_storage_rbd} %files daemon-driver-storage-rbd %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_rbd.so -%endif + %endif =20 -%if %{with_storage_zfs} + %if %{with_storage_zfs} %files daemon-driver-storage-zfs %{_libdir}/libvirt/storage-backend/libvirt_storage_backend_zfs.so -%endif + %endif =20 -%if %{with_qemu} + %if %{with_qemu} %files daemon-driver-qemu %config(noreplace) %{_sysconfdir}/libvirt/virtqemud.conf %config(noreplace) %{_prefix}/lib/sysctl.d/60-qemu-postcopy-migration.conf @@ -2213,9 +2237,9 @@ exit 0 %{_bindir}/virt-qemu-run %{_mandir}/man1/virt-qemu-run.1* %{_mandir}/man8/virtqemud.8* -%endif + %endif =20 -%if %{with_lxc} + %if %{with_lxc} %files daemon-driver-lxc %config(noreplace) %{_sysconfdir}/libvirt/virtlxcd.conf %{_datadir}/augeas/lenses/virtlxcd.aug @@ -2237,9 +2261,9 @@ exit 0 %attr(0755, root, root) %{_libexecdir}/libvirt_lxc %{_libdir}/libvirt/connection-driver/libvirt_driver_lxc.so %{_mandir}/man8/virtlxcd.8* -%endif + %endif =20 -%if %{with_libxl} + %if %{with_libxl} %files daemon-driver-libxl %config(noreplace) %{_sysconfdir}/libvirt/virtxend.conf %{_datadir}/augeas/lenses/virtxend.aug @@ -2265,9 +2289,9 @@ exit 0 %dir %attr(0700, root, root) %{_localstatedir}/lib/libvirt/libxl/save/ %{_libdir}/libvirt/connection-driver/libvirt_driver_libxl.so %{_mandir}/man8/virtxend.8* -%endif + %endif =20 -%if %{with_vbox} + %if %{with_vbox} %files daemon-driver-vbox %config(noreplace) %{_sysconfdir}/libvirt/virtvboxd.conf %{_datadir}/augeas/lenses/virtvboxd.aug @@ -2279,36 +2303,36 @@ exit 0 %attr(0755, root, root) %{_sbindir}/virtvboxd %{_libdir}/libvirt/connection-driver/libvirt_driver_vbox.so %{_mandir}/man8/virtvboxd.8* -%endif + %endif =20 -%if %{with_qemu_tcg} + %if %{with_qemu_tcg} %files daemon-qemu -%endif + %endif =20 -%if %{with_qemu_kvm} + %if %{with_qemu_kvm} %files daemon-kvm -%endif + %endif =20 -%if %{with_lxc} + %if %{with_lxc} %files daemon-lxc -%endif + %endif =20 -%if %{with_libxl} + %if %{with_libxl} %files daemon-xen -%endif + %endif =20 -%if %{with_vbox} + %if %{with_vbox} %files daemon-vbox -%endif + %endif =20 -%if %{with_sanlock} + %if %{with_sanlock} %files daemon-plugin-sanlock - %if %{with_qemu} + %if %{with_qemu} %config(noreplace) %{_sysconfdir}/libvirt/qemu-sanlock.conf - %endif - %if %{with_libxl} + %endif + %if %{with_libxl} %config(noreplace) %{_sysconfdir}/libvirt/libxl-sanlock.conf - %endif + %endif %dir %attr(0755, root, root) %{_libdir}/libvirt/lock-driver/ %attr(0755, root, root) %{_libdir}/libvirt/lock-driver/sanlock.so %{_datadir}/augeas/lenses/libvirt_sanlock.aug @@ -2317,7 +2341,7 @@ exit 0 %{_sbindir}/virt-sanlock-cleanup %{_mandir}/man8/virt-sanlock-cleanup.8* %attr(0755, root, root) %{_libexecdir}/libvirt_sanlock_helper -%endif + %endif =20 %files client %{_mandir}/man1/virsh.1* @@ -2331,13 +2355,13 @@ exit 0 %{_bindir}/virt-pki-validate %{_datadir}/bash-completion/completions/virsh =20 -%if %{with_qemu} + %if %{with_qemu} %files client-qemu %{_mandir}/man1/virt-qemu-qmp-proxy.1* %{_mandir}/man1/virt-qemu-sev-validate.1* %{_bindir}/virt-qemu-qmp-proxy %{_bindir}/virt-qemu-sev-validate -%endif + %endif =20 %files libs -f %{name}.lang %license COPYING COPYING.LESSER @@ -2352,29 +2376,29 @@ exit 0 %dir %{_datadir}/libvirt/schemas/ %{_datadir}/systemtap/tapset/libvirt_probes*.stp %{_datadir}/systemtap/tapset/libvirt_functions.stp -%if %{with_qemu} + %if %{with_qemu} %{_datadir}/systemtap/tapset/libvirt_qemu_probes*.stp -%endif + %endif %{_datadir}/libvirt/schemas/*.rng %{_datadir}/libvirt/cpu_map/*.xml %{_datadir}/libvirt/test-screenshot.png =20 -%if %{with_wireshark} + %if %{with_wireshark} %files wireshark %{wireshark_plugindir}/libvirt.so -%endif + %endif =20 %files nss %{_libdir}/libnss_libvirt.so.2 %{_libdir}/libnss_libvirt_guest.so.2 =20 -%if %{with_lxc} + %if %{with_lxc} %files login-shell %attr(4750, root, virtlogin) %{_bindir}/virt-login-shell %{_libexecdir}/virt-login-shell-helper %config(noreplace) %{_sysconfdir}/libvirt/virt-login-shell.conf %{_mandir}/man1/virt-login-shell.1* -%endif + %endif =20 %files devel %{_libdir}/libvirt.so @@ -2409,6 +2433,7 @@ exit 0 %{_datadir}/libvirt/api/libvirt-admin-api.xml %{_datadir}/libvirt/api/libvirt-qemu-api.xml %{_datadir}/libvirt/api/libvirt-lxc-api.xml +%endif =20 %if %{with_mingw32} %files -n mingw32-libvirt -f mingw32-libvirt.lang --=20 2.41.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Sun May 12 23:31:33 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1700157420539736.8129591896131; Thu, 16 Nov 2023 09:57:00 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 7F8521984; Thu, 16 Nov 2023 12:56:59 -0500 (EST) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 88CB41816; Thu, 16 Nov 2023 12:49:37 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 983CE1857; Thu, 16 Nov 2023 12:49:03 -0500 (EST) 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 409AA1854 for ; Thu, 16 Nov 2023 12:49:02 -0500 (EST) Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-582-LzbtdvrWOu-5iLGUPOlGQg-1; Thu, 16 Nov 2023 12:49:00 -0500 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 44F9129AA2C6 for ; Thu, 16 Nov 2023 17:49:00 +0000 (UTC) Received: from harajuku.usersys.redhat.com (unknown [10.45.224.55]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CB75E492BFD for ; Thu, 16 Nov 2023 17:48:59 +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=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: LzbtdvrWOu-5iLGUPOlGQg-1 From: Andrea Bolognani To: devel@lists.libvirt.org Subject: [libvirt PATCH v2 5/5] ci: Build RPMs on MinGW Date: Thu, 16 Nov 2023 18:48:54 +0100 Message-ID: <20231116174854.2422139-6-abologna@redhat.com> In-Reply-To: <20231116174854.2422139-1-abologna@redhat.com> References: <20231116174854.2422139-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.10 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: K7O5KKUG4WFKN2HLYLXE7U55LF4X3UI6 X-Message-ID-Hash: K7O5KKUG4WFKN2HLYLXE7U55LF4X3UI6 X-MailFrom: abologna@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: Content-Type: text/plain; charset="utf-8"; x-default="true" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1700157422467100001 Now that the spec file supports selectively disabling the native, mingw32 and mingw64 parts, we can add coverage for the MinGW RPM builds. Signed-off-by: Andrea Bolognani Reviewed-by: Martin Kletzander --- .gitlab-ci.yml | 11 ++++++++--- ci/jobs.sh | 23 ++++++++++++++++++++++- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1cdabed941..42c43a556e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -57,10 +57,15 @@ include: key: "$CI_JOB_NAME" script: - source ci/jobs.sh - - run_build - - if test "$CROSS" =3D "i686" ; + - if test -x /usr/bin/rpmbuild && test "$RPM" !=3D "skip"; then - run_test; + run_rpmbuild; + else + run_build; + if test "$CROSS" =3D "i686"; + then + run_test; + fi; fi =20 .cross_build_job_prebuilt_env: diff --git a/ci/jobs.sh b/ci/jobs.sh index ba522258a1..b9e0494338 100644 --- a/ci/jobs.sh +++ b/ci/jobs.sh @@ -72,10 +72,31 @@ run_potfile() { =20 run_rpmbuild() { run_dist + + # The spec file supports three types of builds: native, mingw32 + # and mingw64. By default they're all enabled, but each of the + # containers in which our CI jobs are executed is only set up for + # one of them, so we have to explicitly disable the other two. + case "$CROSS" in + mingw32) + build1=3D"native" + build2=3D"mingw64" + ;; + mingw64) + build1=3D"native" + build2=3D"mingw32" + ;; + *) + build1=3D"mingw32" + build2=3D"mingw64" + ;; + esac + run_cmd rpmbuild \ --clean \ --nodeps \ - --define "_without_mingw 1" \ + --define "_without_$build1 1" \ + --define "_without_$build2 1" \ -ta build/meson-dist/libvirt-*.tar.xz } =20 --=20 2.41.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org