From 7b11dad0f16d1fbeed13330bac6b2716b7454cff Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Mon, 15 Oct 2018 13:41:55 -0400 Subject: [PATCH] Rebased to version 2.0.0 Finish port to Python 3 Improved VM defaults: q35 PCIe, usb3, CPU host-model Search based OS selection UI for new VMs Track OS name for lifetime of domain in XML Host interface management UI has been completely removed Show domain IP on interface details page --- ...Whitelist-fedora-arm-and-ia32-edk2-p.patch | 34 --- ...install-Support-armv7l-and-i686-uefi.patch | 198 ------------------ ...ate-Support-UEFI-installs-for-armv7l.patch | 51 ----- sources | 2 +- virt-manager.spec | 78 ++----- 5 files changed, 18 insertions(+), 345 deletions(-) delete mode 100644 0001-domcapabilities-Whitelist-fedora-arm-and-ia32-edk2-p.patch delete mode 100644 0002-virt-install-Support-armv7l-and-i686-uefi.patch delete mode 100644 0003-create-Support-UEFI-installs-for-armv7l.patch diff --git a/0001-domcapabilities-Whitelist-fedora-arm-and-ia32-edk2-p.patch b/0001-domcapabilities-Whitelist-fedora-arm-and-ia32-edk2-p.patch deleted file mode 100644 index da5dc07..0000000 --- a/0001-domcapabilities-Whitelist-fedora-arm-and-ia32-edk2-p.patch +++ /dev/null @@ -1,34 +0,0 @@ -From: Cole Robinson -Date: Wed, 8 Aug 2018 11:55:29 -0400 -Subject: [PATCH virt-manager] domcapabilities: Whitelist fedora arm and ia32 - edk2 paths - -(cherry picked from commit b623ece2ba6736cd5b8ea2401ae9dd8504df391e) ---- - virtinst/domcapabilities.py | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/virtinst/domcapabilities.py b/virtinst/domcapabilities.py -index 5ea94948..ba061c96 100644 ---- a/virtinst/domcapabilities.py -+++ b/virtinst/domcapabilities.py -@@ -149,6 +149,9 @@ class DomainCapabilities(XMLBuilder): - # only use this info to do things automagically for the user, it shouldn't - # validate anything the user explicitly enters. - _uefi_arch_patterns = { -+ "i686": [ -+ ".*ovmf-ia32.*", # fedora, gerd's firmware repo -+ ], - "x86_64": [ - ".*OVMF_CODE\.fd", # RHEL - ".*ovmf-x64/OVMF.*\.fd", # gerd's firmware repo -@@ -160,6 +163,9 @@ class DomainCapabilities(XMLBuilder): - ".*aarch64/QEMU_EFI.*", # gerd's firmware repo - ".*aarch64.*", # generic attempt at a catchall - ], -+ "armv7l": [ -+ ".*arm/QEMU_EFI.*", # fedora, gerd's firmware repo -+ ], - } - - def find_uefi_path_for_arch(self): diff --git a/0002-virt-install-Support-armv7l-and-i686-uefi.patch b/0002-virt-install-Support-armv7l-and-i686-uefi.patch deleted file mode 100644 index af836c7..0000000 --- a/0002-virt-install-Support-armv7l-and-i686-uefi.patch +++ /dev/null @@ -1,198 +0,0 @@ -From: Cole Robinson -Date: Wed, 8 Aug 2018 15:11:19 -0400 -Subject: [PATCH virt-manager] virt-install: Support armv7l and i686 uefi - -(cherry picked from commit eb0f4a612fe4c12f498ed8a80e5665d368b5f76c) ---- - tests/capabilities-xml/kvm-x86_64-domcaps.xml | 2 + - .../compare/virt-install-arm-kvm-import.xml | 1 + - .../compare/virt-install-kvm-i686-uefi.xml | 115 ++++++++++++++++++ - tests/clitest.py | 1 + - virt-install | 6 +- - 5 files changed, 122 insertions(+), 3 deletions(-) - create mode 100644 tests/cli-test-xml/compare/virt-install-kvm-i686-uefi.xml - -diff --git a/tests/capabilities-xml/kvm-x86_64-domcaps.xml b/tests/capabilities-xml/kvm-x86_64-domcaps.xml -index d2a3d11f..451f5844 100644 ---- a/tests/capabilities-xml/kvm-x86_64-domcaps.xml -+++ b/tests/capabilities-xml/kvm-x86_64-domcaps.xml -@@ -8,6 +8,8 @@ - - /usr/share/AAVMF/AAVMF_CODE.fd - /usr/share/OVMF/OVMF_CODE.fd -+ /usr/share/edk2/ovmf-ia32/OVMF_CODE.fd -+ /usr/share/edk2/arm/QEMU_EFI-pflash.raw - - rom - pflash -diff --git a/tests/cli-test-xml/compare/virt-install-arm-kvm-import.xml b/tests/cli-test-xml/compare/virt-install-arm-kvm-import.xml -index b1a98b75..802589b3 100644 ---- a/tests/cli-test-xml/compare/virt-install-arm-kvm-import.xml -+++ b/tests/cli-test-xml/compare/virt-install-arm-kvm-import.xml -@@ -6,6 +6,7 @@ - 1 - - hvm -+ /usr/share/edk2/arm/QEMU_EFI-pflash.raw - - - -diff --git a/tests/cli-test-xml/compare/virt-install-kvm-i686-uefi.xml b/tests/cli-test-xml/compare/virt-install-kvm-i686-uefi.xml -new file mode 100644 -index 00000000..9aabfef2 ---- /dev/null -+++ b/tests/cli-test-xml/compare/virt-install-kvm-i686-uefi.xml -@@ -0,0 +1,115 @@ -+ -+ foobar -+ 00000000-1111-2222-3333-444444444444 -+ 65536 -+ 65536 -+ 1 -+ -+ hvm -+ /usr/share/edk2/ovmf-ia32/OVMF_CODE.fd -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ destroy -+ -+ -+ -+ -+ -+ /usr/bin/qemu-kvm -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ foobar -+ 00000000-1111-2222-3333-444444444444 -+ 65536 -+ 65536 -+ 1 -+ -+ hvm -+ /usr/share/edk2/ovmf-ia32/OVMF_CODE.fd -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ /usr/bin/qemu-kvm -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -diff --git a/tests/clitest.py b/tests/clitest.py -index a62a9105..c3e1b807 100644 ---- a/tests/clitest.py -+++ b/tests/clitest.py -@@ -772,6 +772,7 @@ c.add_compare("--disk %(EXISTIMG1)s --pxe --os-variant rhel6.4", "kvm-rhel6") # - c.add_compare("--disk %(EXISTIMG1)s --pxe --os-variant rhel7.0", "kvm-rhel7") # RHEL7 defaults - c.add_compare("--disk %(EXISTIMG1)s --pxe --os-variant centos7.0", "kvm-centos7") # Centos 7 defaults - c.add_compare("--os-variant win7 --cdrom %(EXISTIMG2)s --boot loader_type=pflash,loader=CODE.fd,nvram_template=VARS.fd --disk %(EXISTIMG1)s", "win7-uefi") # no HYPER-V with UEFI -+c.add_compare("--arch i686 --boot uefi --pxe --disk none", "kvm-i686-uefi") # i686 uefi - c.add_compare("--machine q35 --cdrom %(EXISTIMG2)s --disk %(EXISTIMG1)s", "q35-defaults") # proper q35 disk defaults - c.add_compare("--disk size=20 --os-variant solaris10", "solaris10-defaults") # test solaris OS defaults - c.add_compare("--connect %(URI-KVM-REMOTE)s --import --disk %(EXISTIMG1)s --os-variant fedora21 --pm suspend_to_disk=yes", "f21-kvm-remote") -diff --git a/virt-install b/virt-install -index c0a028c9..4b39b350 100755 ---- a/virt-install -+++ b/virt-install -@@ -609,7 +609,7 @@ def build_guest_instance(conn, options): - guest.add_default_devices() - - # Default to UEFI for aarch64 -- if (guest.os.is_arm64() and -+ if ((guest.os.is_arm64() or guest.os.is_arm32()) and - not guest.os.kernel and - not guest.os.loader and - guest.os.loader_ro is None and -@@ -617,10 +617,10 @@ def build_guest_instance(conn, options): - try: - guest.set_uefi_default() - except Exception as e: -- logging.debug("Error setting UEFI default for aarch64", -+ logging.debug("Error setting UEFI default", - exc_info=True) - logging.warning("Couldn't configure UEFI: %s", e) -- logging.warning("Your aarch64 VM may not boot successfully.") -+ logging.warning("Your VM may not boot successfully.") - - # Check usability of SMM feature - if guest.features.smm: diff --git a/0003-create-Support-UEFI-installs-for-armv7l.patch b/0003-create-Support-UEFI-installs-for-armv7l.patch deleted file mode 100644 index 4b2e436..0000000 --- a/0003-create-Support-UEFI-installs-for-armv7l.patch +++ /dev/null @@ -1,51 +0,0 @@ -From: Cole Robinson -Date: Wed, 8 Aug 2018 14:27:27 -0400 -Subject: [PATCH virt-manager] create: Support UEFI installs for armv7l - -Will be supported with Fedora 29 - -https://fedoraproject.org/wiki/Changes/uEFIforARMv7 - -We should probably limit this by selected OS, but that's tricky -with the wizard as it is, so lets see if anyone cares - -(cherry picked from commit cab540792f4fc5ad0270d68d41b54a8fbeea5a7b) ---- - virtManager/create.py | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/virtManager/create.py b/virtManager/create.py -index 5afe0afe..f0f41ffb 100644 ---- a/virtManager/create.py -+++ b/virtManager/create.py -@@ -472,17 +472,17 @@ class vmmCreate(vmmGObjectUI): - installable_arch = (self._capsinfo.arch in - ["i686", "x86_64", "ppc64", "ppc64le", "s390x"]) - -- if self._capsinfo.arch == "aarch64": -+ if self._capsinfo.arch in ["aarch64", "armv7l"]: - try: - guest = self.conn.caps.build_virtinst_guest(self._capsinfo) - guest.set_uefi_default() - installable_arch = True -- logging.debug("UEFI found for aarch64, setting it as default.") -+ logging.debug("UEFI found, setting it as default.") - except Exception as e: - installable_arch = False -- logging.debug("Error checking for aarch64 UEFI default", -+ logging.debug("Error checking for UEFI default", - exc_info=True) -- msg = _("Failed to setup UEFI for AArch64: %s\n" -+ msg = _("Failed to setup UEFI: %s\n" - "Install options are limited.") % e - self._show_arch_warning(msg) - -@@ -1864,7 +1864,7 @@ class vmmCreate(vmmGObjectUI): - self.err.val_err(_("Error setting OS information."), str(e)) - return None - -- if guest.os.is_arm64(): -+ if guest.os.is_arm64() or guest.os.is_arm(): - try: - guest.set_uefi_default() - except Exception: diff --git a/sources b/sources index f01abdf..5cad490 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (virt-manager-1.6.0.tar.gz) = 27ce10e4895a278aa1f0506ed9dc2d1bbd76665d53d0c68e8a7445aca27379427450088c5d069a3d0b2ba4fa20392fe17a1f901d463c1dbbc67a62f270113063 +SHA512 (virt-manager-2.0.0.tar.gz) = 5d0eb65dceb5c913973edaa52414b1665d1ed9cd3f226e28a592decddec2acd8fdb589f60736edf9b7d95830893812f9aecca2cbdd715033ca7ea53a95472876 diff --git a/virt-manager.spec b/virt-manager.spec index 2583d53..c18f993 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -6,44 +6,22 @@ %global with_guestfs 0 -%global stable_defaults 0 -%global askpass_package "openssh-askpass" -%global qemu_user "qemu" -%global libvirt_packages "libvirt-daemon-kvm,libvirt-daemon-config-network" -%global kvm_packages "" -%global preferred_distros "fedora,rhel" %global default_hvs "qemu,xen,lxc" -%if 0%{?rhel} -%global preferred_distros "rhel,fedora" -%global stable_defaults 1 -%endif - # End local config Name: virt-manager -Version: 1.6.0 -Release: 1.3.git3bc7ff24c%{?dist} +Version: 2.0.0 +Release: 1%{?dist} %global verrel %{version}-%{release} Summary: Desktop tool for managing virtual machines via libvirt Group: Applications/Emulators License: GPLv2+ BuildArch: noarch -URL: http://virt-manager.org/ -#Source0: http://virt-manager.org/download/sources/%{name}/%{name}-%{version}.tar.gz -# Generated with: -# git clone https://github.com/virt-manager/virt-manager -# cd virt-manager -# git checkout 3bc7ff24c -# ./setup.py sdist -Source0: virt-manager-1.6.0.tar.gz - -# Enable arm32+uefi (bz #1613996) -Patch0001: 0001-domcapabilities-Whitelist-fedora-arm-and-ia32-edk2-p.patch -Patch0002: 0002-virt-install-Support-armv7l-and-i686-uefi.patch -Patch0003: 0003-create-Support-UEFI-installs-for-armv7l.patch +URL: https://virt-manager.org/ +Source0: https://virt-manager.org/download/sources/%{name}/%{name}-%{version}.tar.gz Requires: virt-manager-common = %{verrel} @@ -67,6 +45,10 @@ Requires: dconf # no ambiguity. Requires: vte291 +# Weak dependencies for the common virt-manager usecase +Recommends: (libvirt-daemon-kvm or libvirt-daemon-qemu) +Recommends: libvirt-daemon-config-network + BuildRequires: intltool BuildRequires: /usr/bin/pod2man BuildRequires: python3-devel @@ -119,48 +101,13 @@ machine). %prep %setup -q -# Enable arm32+uefi (bz #1613996) -%patch0001 -p1 -%patch0002 -p1 -%patch0003 -p1 - %build -%if %{qemu_user} -%global _qemu_user --qemu-user=%{qemu_user} -%endif - -%if %{kvm_packages} -%global _kvm_packages --kvm-package-names=%{kvm_packages} -%endif - -%if %{preferred_distros} -%global _preferred_distros --preferred-distros=%{preferred_distros} -%endif - -%if %{libvirt_packages} -%global _libvirt_packages --libvirt-package-names=%{libvirt_packages} -%endif - -%if %{askpass_package} -%global _askpass_package --askpass-package-names=%{askpass_package} -%endif - -%if %{stable_defaults} -%global _stable_defaults --stable-defaults -%endif - %if %{default_hvs} %global _default_hvs --default-hvs %{default_hvs} %endif ./setup.py configure \ - %{?_qemu_user} \ - %{?_kvm_packages} \ - %{?_libvirt_packages} \ - %{?_askpass_package} \ - %{?_preferred_distros} \ - %{?_stable_defaults} \ %{?_default_hvs} @@ -222,6 +169,15 @@ done %changelog +* Mon Oct 15 2018 Cole Robinson - 2.0.0-1 +- Rebased to version 2.0.0 +- Finish port to Python 3 +- Improved VM defaults: q35 PCIe, usb3, CPU host-model +- Search based OS selection UI for new VMs +- Track OS name for lifetime of domain in XML +- Host interface management UI has been completely removed +- Show domain IP on interface details page + * Fri Sep 07 2018 Cole Robinson - 1.6.0-1.3.3.git3bc7ff24c - Enable arm32+uefi (bz #1613996)