From nobody Fri May 17 01:43:35 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1659979346; cv=none; d=zohomail.com; s=zohoarc; b=RsnQg6/9JRljy+rqMcsX7u95RNMbwKLnJB/zCKfbJJCW/YfBae6RrPfxGr/7/81UERPrr8GG7m0Xx0H+6ZUs2fMtOJ8Xi00n6waZCbfGoUYXehtpd4eBhNiM2ouYs83RDfDnMi6tjhgmG+d25Mo0P2NOdjnfu+d4P0n0E8x1o44= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1659979346; h=Content-Type:Content-Transfer-Encoding:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=ykJ54wORw6a61FI+EfPoATp3O+5iX9/KPQWUWGPmWYM=; b=mMnxfDtj3kuP0NrbCvs0MOVhG8ZzQTSBZqf0wzjWau1oCfSQBeQg5Hohr+D0LoJavKhGHNG0i32MVBY0zQXsUnoIHEqhLzawW7qm8t3fCu8HqKXjI6i4fz0IIfpp2gnyIrhEU2qb/PADxyfiYW1qTRUmCECkvkCNUJm9B05vpmA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1659979346503661.964291235006; Mon, 8 Aug 2022 10:22:26 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-205-PcTxTnnCPve1OdnEJeNg8A-1; Mon, 08 Aug 2022 13:22:23 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id E54A01019CA0; Mon, 8 Aug 2022 17:22:20 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (unknown [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id 720344047D22; Mon, 8 Aug 2022 17:22:19 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 395911946A4F; Mon, 8 Aug 2022 17:22:19 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 9FF531946A49 for ; Mon, 8 Aug 2022 17:22:17 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 7A50594585; Mon, 8 Aug 2022 17:22:17 +0000 (UTC) Received: from virtlab420.virt.lab.eng.bos.redhat.com (virtlab420.virt.lab.eng.bos.redhat.com [10.19.152.148]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5E9229457F; Mon, 8 Aug 2022 17:22:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1659979345; h=from:from:sender:sender: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:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=ykJ54wORw6a61FI+EfPoATp3O+5iX9/KPQWUWGPmWYM=; b=VG2yg3gDcOxnJYDYrADMcfU+gz232kPZ6KjYL2au5vIs//m+j6PmMwIYVdtpxyb9cNqzVl zW97SCkOI8xTYvqAeyuDcnucVyPqB6Jzfh0FrpSCouqel+MCBFN/IOG3G1Rt+aInJLzFg4 FoACRZc0vOyySQ2dQcTVHGQDeqxvEB0= X-MC-Unique: PcTxTnnCPve1OdnEJeNg8A-1 X-Original-To: libvir-list@listman.corp.redhat.com From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: libvir-list@redhat.com Subject: [libvirt PATCH] rpm: merge mingw sub-packages into native spec Date: Mon, 8 Aug 2022 13:22:17 -0400 Message-Id: <20220808172217.164715-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.11.54.5 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 2.84 on 10.11.54.2 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1659979347166100001 One specfile containing both native and mingw builds is the new best practice for Fedora. This reduces the maint burden and ensures the mingw packages don't fall behind. Signed-off-by: Daniel P. Berrang=C3=A9 Reviewed-by: Pavel Hrdina --- .gitlab-ci.yml | 2 +- libvirt.spec.in | 287 ++++++++++++++++++++++++++++++++++++ meson.build | 17 +-- mingw-libvirt.spec.in | 327 ------------------------------------------ 4 files changed, 293 insertions(+), 340 deletions(-) delete mode 100644 mingw-libvirt.spec.in diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6a8b89729f..39c5f8fb6d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -33,7 +33,7 @@ include: - meson dist -C build --no-tests - if test -x /usr/bin/rpmbuild && test "$RPM" !=3D "skip"; then - rpmbuild --clean --nodeps --define "_topdir $PWD/rpmbuild/" -ta bu= ild/meson-dist/libvirt-*.tar.xz; + rpmbuild --clean --nodeps --define "_without_mingw 1" --define "_t= opdir $PWD/rpmbuild/" -ta build/meson-dist/libvirt-*.tar.xz; mv rpmbuild/RPMS/x86_64/ libvirt-rpms/; else meson compile -C build; diff --git a/libvirt.spec.in b/libvirt.spec.in index a238edf2aa..fe386bfef2 100644 --- a/libvirt.spec.in +++ b/libvirt.spec.in @@ -197,6 +197,10 @@ %define qemu_moddir %{_libdir}/qemu %define qemu_datadir %{_datadir}/qemu =20 +%define with_mingw 0 +%if 0%{?fedora} + %define with_mingw 0%{!?_without_mingw:1} +%endif =20 # RHEL releases provide stable tool chains and so it is safe to turn # compiler warning into errors without being worried about frequent @@ -393,6 +397,36 @@ BuildRequires: libtirpc-devel BuildRequires: firewalld-filesystem %endif =20 +%if %{with_mingw} +BuildRequires: mingw32-filesystem +BuildRequires: mingw32-gcc +BuildRequires: mingw32-binutils +BuildRequires: mingw32-glib2 >=3D 2.48 +BuildRequires: mingw32-libgpg-error +BuildRequires: mingw32-libgcrypt +BuildRequires: mingw32-gnutls +BuildRequires: mingw32-gettext +BuildRequires: mingw32-libxml2 +BuildRequires: mingw32-portablexdr +BuildRequires: mingw32-dlfcn +BuildRequires: mingw32-libssh2 +BuildRequires: mingw32-curl + +BuildRequires: mingw64-filesystem +BuildRequires: mingw64-gcc +BuildRequires: mingw64-binutils +BuildRequires: mingw64-glib2 >=3D 2.48 +BuildRequires: mingw64-libgpg-error +BuildRequires: mingw64-libgcrypt +BuildRequires: mingw64-gnutls +BuildRequires: mingw64-gettext +BuildRequires: mingw64-libxml2 +BuildRequires: mingw64-portablexdr +BuildRequires: mingw64-dlfcn +BuildRequires: mingw64-libssh2 +BuildRequires: mingw64-curl +%endif + %description Libvirt is a C toolkit to interact with the virtualization capabilities of recent versions of Linux (and other OSes). The main package includes @@ -948,6 +982,25 @@ 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} +%package -n mingw32-libvirt +Summary: %{summary} +Obsoletes: mingw32-libvirt-static < 7.0.0 +BuildArch: noarch + +%description -n mingw32-libvirt +MinGW Windows libvirt virtualization library. + +%package -n mingw64-libvirt +Summary: %{summary} +Obsoletes: mingw64-libvirt-static < 7.0.0 +BuildArch: noarch + +%description -n mingw64-libvirt +MinGW Windows libvirt virtualization library. + +%{?mingw_debug_package} +%endif =20 %prep =20 @@ -1191,6 +1244,84 @@ export SOURCE_DATE_EPOCH=3D$(stat --printf=3D'%Y' %{= _specdir}/%{name}.spec) =20 %meson_build =20 +%if %{with_mingw} +%mingw_meson \ + --auto-features=3Denabled \ + -Ddriver_remote=3Denabled \ + -Ddriver_test=3Denabled \ + -Ddriver_esx=3Denabled \ + -Dcurl=3Denabled \ + -Ddocs=3Denabled \ + -Dapparmor=3Ddisabled \ + -Dapparmor_profiles=3Ddisabled \ + -Dattr=3Ddisabled \ + -Daudit=3Ddisabled \ + -Dbash_completion=3Ddisabled \ + -Dblkid=3Ddisabled \ + -Dcapng=3Ddisabled \ + -Ddriver_bhyve=3Ddisabled \ + -Ddriver_hyperv=3Ddisabled \ + -Ddriver_interface=3Ddisabled \ + -Ddriver_libvirtd=3Ddisabled \ + -Ddriver_libxl=3Ddisabled \ + -Ddriver_lxc=3Ddisabled \ + -Ddriver_network=3Ddisabled \ + -Ddriver_openvz=3Ddisabled \ + -Ddriver_qemu=3Ddisabled \ + -Ddriver_secrets=3Ddisabled \ + -Ddriver_vbox=3Ddisabled \ + -Ddriver_vmware=3Ddisabled \ + -Ddriver_vz=3Ddisabled \ + -Ddtrace=3Ddisabled \ + -Dexpensive_tests=3Denabled \ + -Dfirewalld=3Ddisabled \ + -Dfirewalld_zone=3Ddisabled \ + -Dfuse=3Ddisabled \ + -Dglusterfs=3Ddisabled \ + -Dhost_validate=3Ddisabled \ + -Dlibiscsi=3Ddisabled \ + -Dlibnl=3Ddisabled \ + -Dlibpcap=3Ddisabled \ + -Dlibssh2=3Ddisabled \ + -Dlibssh=3Ddisabled \ + -Dlogin_shell=3Ddisabled \ + -Dnetcf=3Ddisabled \ + -Dnls=3Ddisabled \ + -Dnss=3Ddisabled \ + -Dnumactl=3Ddisabled \ + -Dnumad=3Ddisabled \ + -Dopenwsman=3Ddisabled \ + -Dpciaccess=3Ddisabled \ + -Dpm_utils=3Ddisabled \ + -Dpolkit=3Ddisabled \ + -Dreadline=3Ddisabled \ + -Drpath=3Ddisabled \ + -Dsanlock=3Ddisabled \ + -Dsasl=3Ddisabled \ + -Dsecdriver_apparmor=3Ddisabled \ + -Dsecdriver_selinux=3Ddisabled \ + -Dselinux=3Ddisabled \ + -Dstorage_dir=3Ddisabled \ + -Dstorage_disk=3Ddisabled \ + -Dstorage_fs=3Ddisabled \ + -Dstorage_gluster=3Ddisabled \ + -Dstorage_iscsi_direct=3Ddisabled \ + -Dstorage_iscsi=3Ddisabled \ + -Dstorage_lvm=3Ddisabled \ + -Dstorage_mpath=3Ddisabled \ + -Dstorage_rbd=3Ddisabled \ + -Dstorage_scsi=3Ddisabled \ + -Dstorage_sheepdog=3Ddisabled \ + -Dstorage_vstorage=3Ddisabled \ + -Dstorage_zfs=3Ddisabled \ + -Dsysctl_config=3Ddisabled \ + -Dtests=3Ddisabled \ + -Dudev=3Ddisabled \ + -Dwireshark_dissector=3Ddisabled \ + -Dyajl=3Ddisabled +%mingw_ninja +%endif + %install rm -fr %{buildroot} =20 @@ -1259,6 +1390,26 @@ mv $RPM_BUILD_ROOT%{_datadir}/systemtap/tapset/libvi= rt_qemu_probes.stp \ %endif %endif =20 +%if %{with_mingw} +%mingw_ninja_install + +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 +rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt-guests.sh + +%mingw_debug_install_post + +%endif + + %check # Building on slow archs, like emulated s390x in Fedora copr, requires # raising the test timeout @@ -2119,5 +2270,141 @@ exit 0 %{_datadir}/libvirt/api/libvirt-qemu-api.xml %{_datadir}/libvirt/api/libvirt-lxc-api.xml =20 +%if %{with_mingw} +%files -n mingw32-libvirt +%dir %{mingw32_sysconfdir}/libvirt/ +%config(noreplace) %{mingw32_sysconfdir}/libvirt/libvirt.conf +%config(noreplace) %{mingw32_sysconfdir}/libvirt/libvirt-admin.conf + +%{mingw32_bindir}/libvirt-0.dll +%{mingw32_bindir}/virsh.exe +%{mingw32_bindir}/virt-admin.exe +%{mingw32_bindir}/virt-xml-validate +%{mingw32_bindir}/virt-pki-query-dn.exe +%{mingw32_bindir}/virt-pki-validate +%{mingw32_bindir}/libvirt-lxc-0.dll +%{mingw32_bindir}/libvirt-qemu-0.dll +%{mingw32_bindir}/libvirt-admin-0.dll + +%{mingw32_libdir}/libvirt.dll.a +%{mingw32_libdir}/pkgconfig/libvirt.pc +%{mingw32_libdir}/pkgconfig/libvirt-qemu.pc +%{mingw32_libdir}/pkgconfig/libvirt-lxc.pc +%{mingw32_libdir}/pkgconfig/libvirt-admin.pc +%{mingw32_libdir}/libvirt-lxc.dll.a +%{mingw32_libdir}/libvirt-qemu.dll.a +%{mingw32_libdir}/libvirt-admin.dll.a + +%dir %{mingw32_datadir}/libvirt/ +%dir %{mingw32_datadir}/libvirt/schemas/ +%{mingw32_datadir}/libvirt/schemas/*.rng + +%dir %{mingw32_datadir}/libvirt/api/ +%{mingw32_datadir}/libvirt/api/libvirt-api.xml +%{mingw32_datadir}/libvirt/api/libvirt-lxc-api.xml +%{mingw32_datadir}/libvirt/api/libvirt-qemu-api.xml +%{mingw32_datadir}/libvirt/api/libvirt-admin-api.xml + +%{mingw32_datadir}/libvirt/cpu_map/*.xml + +%{mingw32_datadir}/libvirt/test-screenshot.png + +%{mingw32_datadir}/locale/*/LC_MESSAGES/libvirt.mo + +%dir %{mingw32_includedir}/libvirt +%{mingw32_includedir}/libvirt/libvirt.h +%{mingw32_includedir}/libvirt/libvirt-common.h +%{mingw32_includedir}/libvirt/libvirt-domain.h +%{mingw32_includedir}/libvirt/libvirt-domain-checkpoint.h +%{mingw32_includedir}/libvirt/libvirt-domain-snapshot.h +%{mingw32_includedir}/libvirt/libvirt-event.h +%{mingw32_includedir}/libvirt/libvirt-host.h +%{mingw32_includedir}/libvirt/libvirt-interface.h +%{mingw32_includedir}/libvirt/libvirt-network.h +%{mingw32_includedir}/libvirt/libvirt-nodedev.h +%{mingw32_includedir}/libvirt/libvirt-nwfilter.h +%{mingw32_includedir}/libvirt/libvirt-secret.h +%{mingw32_includedir}/libvirt/libvirt-storage.h +%{mingw32_includedir}/libvirt/libvirt-stream.h +%{mingw32_includedir}/libvirt/virterror.h +%{mingw32_includedir}/libvirt/libvirt-lxc.h +%{mingw32_includedir}/libvirt/libvirt-qemu.h +%{mingw32_includedir}/libvirt/libvirt-admin.h + +%{mingw32_mandir}/man1/virsh.1* +%{mingw32_mandir}/man1/virt-admin.1* +%{mingw32_mandir}/man1/virt-xml-validate.1* +%{mingw32_mandir}/man1/virt-pki-query-dn.1* +%{mingw32_mandir}/man1/virt-pki-validate.1* +%{mingw32_mandir}/man7/virkey*.7* + + +%files -n mingw64-libvirt +%dir %{mingw64_sysconfdir}/libvirt/ +%config(noreplace) %{mingw64_sysconfdir}/libvirt/libvirt.conf +%config(noreplace) %{mingw64_sysconfdir}/libvirt/libvirt-admin.conf + +%{mingw64_bindir}/libvirt-0.dll +%{mingw64_bindir}/virsh.exe +%{mingw64_bindir}/virt-admin.exe +%{mingw64_bindir}/virt-xml-validate +%{mingw64_bindir}/virt-pki-query-dn.exe +%{mingw64_bindir}/virt-pki-validate +%{mingw64_bindir}/libvirt-lxc-0.dll +%{mingw64_bindir}/libvirt-qemu-0.dll +%{mingw64_bindir}/libvirt-admin-0.dll + +%{mingw64_libdir}/libvirt.dll.a +%{mingw64_libdir}/pkgconfig/libvirt.pc +%{mingw64_libdir}/pkgconfig/libvirt-qemu.pc +%{mingw64_libdir}/pkgconfig/libvirt-lxc.pc +%{mingw64_libdir}/pkgconfig/libvirt-admin.pc +%{mingw64_libdir}/libvirt-lxc.dll.a +%{mingw64_libdir}/libvirt-qemu.dll.a +%{mingw64_libdir}/libvirt-admin.dll.a + +%dir %{mingw64_datadir}/libvirt/ +%dir %{mingw64_datadir}/libvirt/schemas/ +%{mingw64_datadir}/libvirt/schemas/*.rng + +%dir %{mingw64_datadir}/libvirt/api/ +%{mingw64_datadir}/libvirt/api/libvirt-api.xml +%{mingw64_datadir}/libvirt/api/libvirt-lxc-api.xml +%{mingw64_datadir}/libvirt/api/libvirt-qemu-api.xml +%{mingw64_datadir}/libvirt/api/libvirt-admin-api.xml + +%{mingw64_datadir}/libvirt/cpu_map/*.xml + +%{mingw64_datadir}/libvirt/test-screenshot.png + +%{mingw64_datadir}/locale/*/LC_MESSAGES/libvirt.mo + +%dir %{mingw64_includedir}/libvirt +%{mingw64_includedir}/libvirt/libvirt.h +%{mingw64_includedir}/libvirt/libvirt-common.h +%{mingw64_includedir}/libvirt/libvirt-domain.h +%{mingw64_includedir}/libvirt/libvirt-domain-checkpoint.h +%{mingw64_includedir}/libvirt/libvirt-domain-snapshot.h +%{mingw64_includedir}/libvirt/libvirt-event.h +%{mingw64_includedir}/libvirt/libvirt-host.h +%{mingw64_includedir}/libvirt/libvirt-interface.h +%{mingw64_includedir}/libvirt/libvirt-network.h +%{mingw64_includedir}/libvirt/libvirt-nodedev.h +%{mingw64_includedir}/libvirt/libvirt-nwfilter.h +%{mingw64_includedir}/libvirt/libvirt-secret.h +%{mingw64_includedir}/libvirt/libvirt-storage.h +%{mingw64_includedir}/libvirt/libvirt-stream.h +%{mingw64_includedir}/libvirt/virterror.h +%{mingw64_includedir}/libvirt/libvirt-lxc.h +%{mingw64_includedir}/libvirt/libvirt-qemu.h +%{mingw64_includedir}/libvirt/libvirt-admin.h + +%{mingw64_mandir}/man1/virsh.1* +%{mingw64_mandir}/man1/virt-admin.1* +%{mingw64_mandir}/man1/virt-xml-validate.1* +%{mingw64_mandir}/man1/virt-pki-query-dn.1* +%{mingw64_mandir}/man1/virt-pki-validate.1* +%{mingw64_mandir}/man7/virkey*.7* +%endif =20 %changelog diff --git a/meson.build b/meson.build index 2d1ae4091a..0b3187ad88 100644 --- a/meson.build +++ b/meson.build @@ -2161,22 +2161,15 @@ endforeach # generate dist files =20 if git - spec_files =3D [ - 'libvirt.spec.in', - 'mingw-libvirt.spec.in', - ] - spec_conf =3D configuration_data({ 'VERSION': meson.project_version(), }) =20 - foreach file : spec_files - configure_file( - input: file, - output: '@BASENAME@', - configuration: spec_conf, - ) - endforeach + configure_file( + input: 'libvirt.spec.in', + output: '@BASENAME@', + configuration: spec_conf, + ) =20 authors =3D run_command(python3_prog, meson_gen_authors_prog.path(), env: runutf8, check: true) diff --git a/mingw-libvirt.spec.in b/mingw-libvirt.spec.in deleted file mode 100644 index dbcb6d4b8f..0000000000 --- a/mingw-libvirt.spec.in +++ /dev/null @@ -1,327 +0,0 @@ -%{?mingw_package_header} - -# This spec file assumes you are building on a Fedora version -# that's still supported by the vendor. It may work on other distros -# or versions, but no effort will be made to ensure that going forward. -%define min_fedora 33 - -Name: mingw-libvirt -Version: @VERSION@ -Release: 1%{?dist} -Summary: MinGW Windows libvirt virtualization library - -License: LGPLv2+ -URL: https://libvirt.org/ - -%if %(echo %{version} | grep -q "\.0$"; echo $?) =3D=3D 1 - %define mainturl stable_updates/ -%endif -Source: https://libvirt.org/sources/%{?mainturl}libvirt-%{version}.tar.xz - -BuildRequires: mingw32-filesystem >=3D 95 -BuildRequires: mingw64-filesystem >=3D 95 -BuildRequires: mingw32-gcc -BuildRequires: mingw64-gcc -BuildRequires: mingw32-binutils -BuildRequires: mingw64-binutils -BuildRequires: mingw32-glib2 >=3D 2.48 -BuildRequires: mingw64-glib2 >=3D 2.48 -BuildRequires: mingw32-libgpg-error -BuildRequires: mingw64-libgpg-error -BuildRequires: mingw32-libgcrypt -BuildRequires: mingw64-libgcrypt -BuildRequires: mingw32-gnutls -BuildRequires: mingw64-gnutls -BuildRequires: mingw32-gettext -BuildRequires: mingw64-gettext -BuildRequires: mingw32-libxml2 -BuildRequires: mingw64-libxml2 -BuildRequires: mingw32-portablexdr -BuildRequires: mingw64-portablexdr -BuildRequires: mingw32-dlfcn -BuildRequires: mingw64-dlfcn - -BuildRequires: pkgconfig -# Need native version for msgfmt -BuildRequires: gettext -BuildRequires: libxslt -BuildRequires: python3 -BuildRequires: perl-interpreter -BuildRequires: perl(Getopt::Long) -BuildRequires: meson -BuildRequires: ninja-build -BuildRequires: python3-docutils - -BuildRequires: mingw32-libssh2 -BuildRequires: mingw64-libssh2 -BuildRequires: mingw32-curl -BuildRequires: mingw64-curl -BuildRequires: cpp -%if 0%{?fedora} || 0%{?rhel} > 7 -BuildRequires: rpcgen -%endif - -BuildArch: noarch - -%description -MinGW Windows libvirt virtualization library. - -# Mingw32 -%package -n mingw32-libvirt -Summary: %{summary} -Obsoletes: mingw32-libvirt-static < 7.0.0 - -%description -n mingw32-libvirt -MinGW Windows libvirt virtualization library. - -# Mingw64 -%package -n mingw64-libvirt -Summary: %{summary} -Obsoletes: mingw64-libvirt-static < 7.0.0 - -%description -n mingw64-libvirt -MinGW Windows libvirt virtualization library. - -%{?mingw_debug_package} - - -%prep -%setup -q -n libvirt-%{version} - -%build -%if 0%{?fedora} >=3D %{min_fedora} - %define supported_platform 1 -%else - %define supported_platform 0 -%endif - -%if ! %{supported_platform} -echo "This RPM requires Fedora >=3D %{min_fedora}" -exit 1 -%endif - -%mingw_meson \ - --auto-features=3Denabled \ - -Ddriver_remote=3Denabled \ - -Ddriver_test=3Denabled \ - -Ddriver_esx=3Denabled \ - -Dcurl=3Denabled \ - -Ddocs=3Denabled \ - -Dapparmor=3Ddisabled \ - -Dapparmor_profiles=3Ddisabled \ - -Dattr=3Ddisabled \ - -Daudit=3Ddisabled \ - -Dbash_completion=3Ddisabled \ - -Dblkid=3Ddisabled \ - -Dcapng=3Ddisabled \ - -Ddriver_bhyve=3Ddisabled \ - -Ddriver_hyperv=3Ddisabled \ - -Ddriver_interface=3Ddisabled \ - -Ddriver_libvirtd=3Ddisabled \ - -Ddriver_libxl=3Ddisabled \ - -Ddriver_lxc=3Ddisabled \ - -Ddriver_network=3Ddisabled \ - -Ddriver_openvz=3Ddisabled \ - -Ddriver_qemu=3Ddisabled \ - -Ddriver_secrets=3Ddisabled \ - -Ddriver_vbox=3Ddisabled \ - -Ddriver_vmware=3Ddisabled \ - -Ddriver_vz=3Ddisabled \ - -Ddtrace=3Ddisabled \ - -Dexpensive_tests=3Denabled \ - -Dfirewalld=3Ddisabled \ - -Dfirewalld_zone=3Ddisabled \ - -Dfuse=3Ddisabled \ - -Dglusterfs=3Ddisabled \ - -Dhost_validate=3Ddisabled \ - -Dlibiscsi=3Ddisabled \ - -Dlibnl=3Ddisabled \ - -Dlibpcap=3Ddisabled \ - -Dlibssh2=3Ddisabled \ - -Dlibssh=3Ddisabled \ - -Dlogin_shell=3Ddisabled \ - -Dnetcf=3Ddisabled \ - -Dnls=3Ddisabled \ - -Dnss=3Ddisabled \ - -Dnumactl=3Ddisabled \ - -Dnumad=3Ddisabled \ - -Dopenwsman=3Ddisabled \ - -Dpciaccess=3Ddisabled \ - -Dpm_utils=3Ddisabled \ - -Dpolkit=3Ddisabled \ - -Dreadline=3Ddisabled \ - -Drpath=3Ddisabled \ - -Dsanlock=3Ddisabled \ - -Dsasl=3Ddisabled \ - -Dsecdriver_apparmor=3Ddisabled \ - -Dsecdriver_selinux=3Ddisabled \ - -Dselinux=3Ddisabled \ - -Dstorage_dir=3Ddisabled \ - -Dstorage_disk=3Ddisabled \ - -Dstorage_fs=3Ddisabled \ - -Dstorage_gluster=3Ddisabled \ - -Dstorage_iscsi_direct=3Ddisabled \ - -Dstorage_iscsi=3Ddisabled \ - -Dstorage_lvm=3Ddisabled \ - -Dstorage_mpath=3Ddisabled \ - -Dstorage_rbd=3Ddisabled \ - -Dstorage_scsi=3Ddisabled \ - -Dstorage_sheepdog=3Ddisabled \ - -Dstorage_vstorage=3Ddisabled \ - -Dstorage_zfs=3Ddisabled \ - -Dsysctl_config=3Ddisabled \ - -Dtests=3Ddisabled \ - -Dudev=3Ddisabled \ - -Dwireshark_dissector=3Ddisabled \ - -Dyajl=3Ddisabled -%mingw_ninja - -%install -%mingw_ninja_install - -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 -rm -rf $RPM_BUILD_ROOT%{mingw64_libexecdir}/libvirt-guests.sh - - -# Mingw32 -%files -n mingw32-libvirt -%dir %{mingw32_sysconfdir}/libvirt/ -%config(noreplace) %{mingw32_sysconfdir}/libvirt/libvirt.conf -%config(noreplace) %{mingw32_sysconfdir}/libvirt/libvirt-admin.conf - -%{mingw32_bindir}/libvirt-0.dll -%{mingw32_bindir}/virsh.exe -%{mingw32_bindir}/virt-admin.exe -%{mingw32_bindir}/virt-xml-validate -%{mingw32_bindir}/virt-pki-validate -%{mingw32_bindir}/libvirt-lxc-0.dll -%{mingw32_bindir}/libvirt-qemu-0.dll -%{mingw32_bindir}/libvirt-admin-0.dll - -%{mingw32_libdir}/libvirt.dll.a -%{mingw32_libdir}/pkgconfig/libvirt.pc -%{mingw32_libdir}/pkgconfig/libvirt-qemu.pc -%{mingw32_libdir}/pkgconfig/libvirt-lxc.pc -%{mingw32_libdir}/pkgconfig/libvirt-admin.pc -%{mingw32_libdir}/libvirt-lxc.dll.a -%{mingw32_libdir}/libvirt-qemu.dll.a -%{mingw32_libdir}/libvirt-admin.dll.a - -%dir %{mingw32_datadir}/libvirt/ -%dir %{mingw32_datadir}/libvirt/schemas/ -%{mingw32_datadir}/libvirt/schemas/*.rng - -%dir %{mingw32_datadir}/libvirt/api/ -%{mingw32_datadir}/libvirt/api/libvirt-api.xml -%{mingw32_datadir}/libvirt/api/libvirt-lxc-api.xml -%{mingw32_datadir}/libvirt/api/libvirt-qemu-api.xml -%{mingw32_datadir}/libvirt/api/libvirt-admin-api.xml - -%{mingw32_datadir}/libvirt/cpu_map/*.xml - -%{mingw32_datadir}/libvirt/test-screenshot.png - -%{mingw32_datadir}/locale/*/LC_MESSAGES/libvirt.mo - -%dir %{mingw32_includedir}/libvirt -%{mingw32_includedir}/libvirt/libvirt.h -%{mingw32_includedir}/libvirt/libvirt-common.h -%{mingw32_includedir}/libvirt/libvirt-domain.h -%{mingw32_includedir}/libvirt/libvirt-domain-checkpoint.h -%{mingw32_includedir}/libvirt/libvirt-domain-snapshot.h -%{mingw32_includedir}/libvirt/libvirt-event.h -%{mingw32_includedir}/libvirt/libvirt-host.h -%{mingw32_includedir}/libvirt/libvirt-interface.h -%{mingw32_includedir}/libvirt/libvirt-network.h -%{mingw32_includedir}/libvirt/libvirt-nodedev.h -%{mingw32_includedir}/libvirt/libvirt-nwfilter.h -%{mingw32_includedir}/libvirt/libvirt-secret.h -%{mingw32_includedir}/libvirt/libvirt-storage.h -%{mingw32_includedir}/libvirt/libvirt-stream.h -%{mingw32_includedir}/libvirt/virterror.h -%{mingw32_includedir}/libvirt/libvirt-lxc.h -%{mingw32_includedir}/libvirt/libvirt-qemu.h -%{mingw32_includedir}/libvirt/libvirt-admin.h - -%{mingw32_mandir}/man1/virsh.1* -%{mingw32_mandir}/man1/virt-admin.1* -%{mingw32_mandir}/man1/virt-xml-validate.1* -%{mingw32_mandir}/man1/virt-pki-validate.1* -%{mingw32_mandir}/man7/virkey*.7* - -# Mingw64 -%files -n mingw64-libvirt -%dir %{mingw64_sysconfdir}/libvirt/ -%config(noreplace) %{mingw64_sysconfdir}/libvirt/libvirt.conf -%config(noreplace) %{mingw64_sysconfdir}/libvirt/libvirt-admin.conf - -%{mingw64_bindir}/libvirt-0.dll -%{mingw64_bindir}/virsh.exe -%{mingw64_bindir}/virt-admin.exe -%{mingw64_bindir}/virt-xml-validate -%{mingw64_bindir}/virt-pki-validate -%{mingw64_bindir}/libvirt-lxc-0.dll -%{mingw64_bindir}/libvirt-qemu-0.dll -%{mingw64_bindir}/libvirt-admin-0.dll - -%{mingw64_libdir}/libvirt.dll.a -%{mingw64_libdir}/pkgconfig/libvirt.pc -%{mingw64_libdir}/pkgconfig/libvirt-qemu.pc -%{mingw64_libdir}/pkgconfig/libvirt-lxc.pc -%{mingw64_libdir}/pkgconfig/libvirt-admin.pc -%{mingw64_libdir}/libvirt-lxc.dll.a -%{mingw64_libdir}/libvirt-qemu.dll.a -%{mingw64_libdir}/libvirt-admin.dll.a - -%dir %{mingw64_datadir}/libvirt/ -%dir %{mingw64_datadir}/libvirt/schemas/ -%{mingw64_datadir}/libvirt/schemas/*.rng - -%dir %{mingw64_datadir}/libvirt/api/ -%{mingw64_datadir}/libvirt/api/libvirt-api.xml -%{mingw64_datadir}/libvirt/api/libvirt-lxc-api.xml -%{mingw64_datadir}/libvirt/api/libvirt-qemu-api.xml -%{mingw64_datadir}/libvirt/api/libvirt-admin-api.xml - -%{mingw64_datadir}/libvirt/cpu_map/*.xml - -%{mingw64_datadir}/libvirt/test-screenshot.png - -%{mingw64_datadir}/locale/*/LC_MESSAGES/libvirt.mo - -%dir %{mingw64_includedir}/libvirt -%{mingw64_includedir}/libvirt/libvirt.h -%{mingw64_includedir}/libvirt/libvirt-common.h -%{mingw64_includedir}/libvirt/libvirt-domain.h -%{mingw64_includedir}/libvirt/libvirt-domain-checkpoint.h -%{mingw64_includedir}/libvirt/libvirt-domain-snapshot.h -%{mingw64_includedir}/libvirt/libvirt-event.h -%{mingw64_includedir}/libvirt/libvirt-host.h -%{mingw64_includedir}/libvirt/libvirt-interface.h -%{mingw64_includedir}/libvirt/libvirt-network.h -%{mingw64_includedir}/libvirt/libvirt-nodedev.h -%{mingw64_includedir}/libvirt/libvirt-nwfilter.h -%{mingw64_includedir}/libvirt/libvirt-secret.h -%{mingw64_includedir}/libvirt/libvirt-storage.h -%{mingw64_includedir}/libvirt/libvirt-stream.h -%{mingw64_includedir}/libvirt/virterror.h -%{mingw64_includedir}/libvirt/libvirt-lxc.h -%{mingw64_includedir}/libvirt/libvirt-qemu.h -%{mingw64_includedir}/libvirt/libvirt-admin.h - -%{mingw64_mandir}/man1/virsh.1* -%{mingw64_mandir}/man1/virt-admin.1* -%{mingw64_mandir}/man1/virt-xml-validate.1* -%{mingw64_mandir}/man1/virt-pki-validate.1* -%{mingw64_mandir}/man7/virkey*.7* - -%changelog --=20 2.37.1