diff --git a/0002-virtinst-python3-avoid-comparison-of-None-and-int.patch b/0002-virtinst-python3-avoid-comparison-of-None-and-int.patch deleted file mode 100644 index 3f69b840..00000000 --- a/0002-virtinst-python3-avoid-comparison-of-None-and-int.patch +++ /dev/null @@ -1,38 +0,0 @@ -From cb90bbc8671aa25e23e55341745cc2682547e5f0 Mon Sep 17 00:00:00 2001 -From: Martin Wilck -Date: Thu, 7 Dec 2017 11:17:03 +0100 -Subject: [PATCH 2/4] virtinst: python3: avoid comparison of None and int - -This avoids the following error in python3: - - File "/usr/share/virt-manager/virtinst/progress.py", line 249, in _do_update - ave_dl = format_number(self.re.average_rate()) - File "/usr/share/virt-manager/virtinst/progress.py", line 481, in format_number - while number > thresh and depth < max_depth: -TypeError: '>' not supported between instances of 'NoneType' and 'int' ---- - virtinst/progress.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -Index: virt-manager-2.1.0/virtinst/progress.py -=================================================================== ---- virt-manager-2.1.0.orig/virtinst/progress.py -+++ virt-manager-2.1.0/virtinst/progress.py -@@ -350,7 +350,7 @@ class RateEstimator: - self.start_time = now - self.last_update_time = now - self.last_amount_read = 0 -- self.ave_rate = None -+ self.ave_rate = 0 - - def update(self, amount_read, now=None): - if now is None: -@@ -363,7 +363,7 @@ class RateEstimator: - # if we just started this file, all bets are off - self.last_update_time = now - self.last_amount_read = amount_read -- self.ave_rate = None -+ self.ave_rate = 0 - return - - time_diff = now - self.last_update_time diff --git a/0c223ab2-guest-Dont-set-default-uefi-if-firmware-is-set.patch b/0c223ab2-guest-Dont-set-default-uefi-if-firmware-is-set.patch deleted file mode 100644 index ee238b3e..00000000 --- a/0c223ab2-guest-Dont-set-default-uefi-if-firmware-is-set.patch +++ /dev/null @@ -1,110 +0,0 @@ -Subject: guest: Don't set default uefi if firmware= is set -From: Cole Robinson crobinso@redhat.com Fri Jul 12 15:58:22 2019 -0400 -Date: Fri Jul 12 16:01:21 2019 -0400: -Git: 0c223ab21f0cff216b4a1ab2070a43f0e943d308 - - -diff --git a/tests/cli-test-xml/compare/virt-install-aarch64-firmware-no-override.xml b/tests/cli-test-xml/compare/virt-install-aarch64-firmware-no-override.xml -new file mode 100644 -index 00000000..b062e805 ---- /dev/null -+++ b/tests/cli-test-xml/compare/virt-install-aarch64-firmware-no-override.xml -@@ -0,0 +1,55 @@ -+ -+ vm1 -+ 00000000-1111-2222-3333-444444444444 -+ 65536 -+ 65536 -+ 1 -+ -+ hvm -+ -+ -+ -+ -+ destroy -+ -+ /usr/bin/qemu-system-aarch64 -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ vm1 -+ 00000000-1111-2222-3333-444444444444 -+ 65536 -+ 65536 -+ 1 -+ -+ hvm -+ -+ -+ -+ -+ -+ /usr/bin/qemu-system-aarch64 -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -diff --git a/tests/clitest.py b/tests/clitest.py -index 7ef324bc..a309f937 100644 ---- a/tests/clitest.py -+++ b/tests/clitest.py -@@ -990,6 +990,7 @@ c.add_compare("--arch aarch64 --boot kernel=/f19-arm.kernel,initrd=/f19-arm.init - c.add_compare("--arch aarch64 --cdrom %(EXISTIMG2)s --boot loader=CODE.fd,nvram.template=VARS.fd --disk %(EXISTIMG1)s --cpu none --events on_crash=preserve,on_reboot=destroy,on_poweroff=restart", "aarch64-cdrom") - c.add_compare("--connect %(URI-KVM-AARCH64)s --disk %(EXISTIMG1)s --import --os-variant fedora21 --panic default", "aarch64-kvm-import") # the --panic is a no-op - c.add_compare("--connect %(URI-KVM-AARCH64)s --disk size=1 --os-variant fedora22 --features gic_version=host --network network=default,address.type=pci --controller type=scsi,model=virtio-scsi,address.type=pci", "aarch64-kvm-gic") -+c.add_compare("--connect %(URI-KVM-AARCH64)s --arch aarch64 --disk none --pxe --boot firmware=efi", "aarch64-firmware-no-override") - - - # Simple headless guests for various architectures -diff --git a/virtinst/guest.py b/virtinst/guest.py -index 41357644..f0fcfe7d 100644 ---- a/virtinst/guest.py -+++ b/virtinst/guest.py -@@ -561,8 +561,9 @@ class Guest(XMLBuilder): - return path - - def is_uefi(self): -- return bool(self.os.loader and -- self.os.loader_type == "pflash") -+ if self.os.loader and self.os.loader_type == "pflash": -+ return True -+ return self.os.firmware == "efi" - - def set_uefi_path(self, path): - """ -@@ -781,11 +782,13 @@ class Guest(XMLBuilder): - not self.os.kernel and - not self.os.loader and - self.os.loader_ro is None and -- self.os.nvram is None) -+ self.os.nvram is None and -+ self.os.firmware is None) - - if use_default_uefi or self.uefi_requested: - try: - path = self.get_uefi_path() -+ log.debug("Setting UEFI path=%s", path) - self.set_uefi_path(path) - except RuntimeError as e: - if self.uefi_requested: diff --git a/1547e16d-domcapabilities-Get-video-devices.patch b/1547e16d-domcapabilities-Get-video-devices.patch deleted file mode 100644 index db14c807..00000000 --- a/1547e16d-domcapabilities-Get-video-devices.patch +++ /dev/null @@ -1,22 +0,0 @@ -Subject: domcapabilities: Get video devices -From: Fabiano Fidêncio fidencio@redhat.com Thu Oct 3 10:44:52 2019 +0200 -Date: Fri Oct 4 11:15:09 2019 -0400: -Git: 1547e16d62736c861a0e4dadeb86ef372d2698bd - -domcapabilities already handles disk and hostdev. Let's add support for -getting video devices as well. - -Signed-off-by: Fabiano Fidêncio - -diff --git a/virtinst/domcapabilities.py b/virtinst/domcapabilities.py -index f11f18aa..9cc27bc2 100644 ---- a/virtinst/domcapabilities.py -+++ b/virtinst/domcapabilities.py -@@ -95,6 +95,7 @@ class _Devices(_CapsBlock): - XML_NAME = "devices" - hostdev = XMLChildProperty(_make_capsblock("hostdev"), is_single=True) - disk = XMLChildProperty(_make_capsblock("disk"), is_single=True) -+ video = XMLChildProperty(_make_capsblock("video"), is_single=True) - - - class _Features(_CapsBlock): diff --git a/15a9502b-Fix-showing-the-firmware-type-in-case-of-firmware-auto-selection.patch b/15a9502b-Fix-showing-the-firmware-type-in-case-of-firmware-auto-selection.patch deleted file mode 100644 index 27b35428..00000000 --- a/15a9502b-Fix-showing-the-firmware-type-in-case-of-firmware-auto-selection.patch +++ /dev/null @@ -1,34 +0,0 @@ -Subject: details: Fix showing the firmware type in case of firmware auto selection -From: Lin Ma lma@suse.com Wed Jan 15 10:34:12 2020 +0800 -Date: Wed Jan 15 10:21:46 2020 -0500: -Git: 15a9502b7b7a263c4d66ff2b3f31c209f58fe0b4 - -For a shutoff VM, If user select uefi firmware auto selection, e.g. - -... - - -Its firmware information is set to 'BIOS' in details, This is incorrect. -This fixes it. - -Reviewed-by: Cole Robinson -Signed-off-by: Lin Ma - -Index: virt-manager-2.2.1/virtManager/details/details.py -=================================================================== ---- virt-manager-2.2.1.orig/virtManager/details/details.py -+++ virt-manager-2.2.1/virtManager/details/details.py -@@ -2017,8 +2017,11 @@ class vmmDetails(vmmGObjectUI): - - # Firmware - domcaps = self.vm.get_domain_capabilities() -- firmware = domcaps.label_for_firmware_path( -- self.vm.get_xmlobj().os.loader) -+ if self.vm.get_xmlobj().is_uefi(): -+ firmware = 'UEFI' -+ else: -+ firmware = domcaps.label_for_firmware_path( -+ self.vm.get_xmlobj().os.loader) - if self.widget("overview-firmware").is_visible(): - uiutil.set_list_selection( - self.widget("overview-firmware"), firmware) diff --git a/29f9f5f2-virt-xml-fix-defined_xml_is_unchanged.patch b/29f9f5f2-virt-xml-fix-defined_xml_is_unchanged.patch deleted file mode 100644 index 7e4889b1..00000000 --- a/29f9f5f2-virt-xml-fix-defined_xml_is_unchanged.patch +++ /dev/null @@ -1,27 +0,0 @@ -Subject: virt-xml: fix defined_xml_is_unchanged -From: Pavel Hrdina phrdina@redhat.com Tue Dec 3 13:02:21 2019 +0100 -Date: Tue Dec 3 13:04:37 2019 +0100: -Git: 29f9f5f2d7f47fe6cc3333f2a9e6c6209db5a8f3 - -Commit <53f075ab76e1c372474ae0d88f202e487d9f213f> added a warning if the -VM XML is not changed after removing default devices but the code was -incorrect. We have to compare strings instead of string vs Guest object -and also the condition was inverted. - -Signed-off-by: Pavel Hrdina - -diff --git a/virt-xml b/virt-xml -index 71445c9f..7b0174c9 100755 ---- a/virt-xml -+++ b/virt-xml -@@ -105,8 +105,8 @@ def get_domain_and_guest(conn, domstr): - - def defined_xml_is_unchanged(conn, domain, original_xml): - rawxml = get_xmldesc(domain, inactive=True) -- new_xml = virtinst.Guest(conn, parsexml=rawxml) -- return new_xml != original_xml -+ new_xml = virtinst.Guest(conn, parsexml=rawxml).get_xml() -+ return new_xml == original_xml - - - ################ diff --git a/2e20b128-domcapabilities-Add-supports_video_bochs.patch b/2e20b128-domcapabilities-Add-supports_video_bochs.patch deleted file mode 100644 index 750718ad..00000000 --- a/2e20b128-domcapabilities-Add-supports_video_bochs.patch +++ /dev/null @@ -1,29 +0,0 @@ -Subject: domcapabilities: Add supports_video_bochs() -From: Fabiano Fidêncio fidencio@redhat.com Thu Oct 3 10:47:15 2019 +0200 -Date: Fri Oct 4 11:15:09 2019 -0400: -Git: 2e20b128a1a1f064c5036d3d3d0cf5b09117b9da - -Returns whether bochs display is supported, according to the domain -capabilities. - -Signed-off-by: Fabiano Fidêncio - -Index: virt-manager-2.2.1/virtinst/domcapabilities.py -=================================================================== ---- virt-manager-2.2.1.orig/virtinst/domcapabilities.py -+++ virt-manager-2.2.1/virtinst/domcapabilities.py -@@ -325,6 +325,14 @@ class DomainCapabilities(XMLBuilder): - """ - return bool(self.features.sev.supported) - -+ def supports_video_bochs(self): -+ """ -+ Returns False if either libvirt or qemu do not have support to bochs -+ video type. -+ """ -+ models = self.devices.video.get_enum("modelType").get_values() -+ return bool("bochs" in models) -+ - XML_NAME = "domainCapabilities" - os = XMLChildProperty(_OS, is_single=True) - cpu = XMLChildProperty(_CPU, is_single=True) diff --git a/3009888a-urlfetcher-Dont-override-fullurl-when-its-explicitly-set.patch b/3009888a-urlfetcher-Dont-override-fullurl-when-its-explicitly-set.patch deleted file mode 100644 index 78338149..00000000 --- a/3009888a-urlfetcher-Dont-override-fullurl-when-its-explicitly-set.patch +++ /dev/null @@ -1,27 +0,0 @@ -Subject: urlfetcher: Don't override fullurl when it's explicitly set -From: Fabiano Fidêncio fidencio@redhat.com Fri Aug 2 17:01:44 2019 +0200 -Date: Tue Aug 6 17:59:05 2019 -0400: -Git: 3009888a0ed200a4f472dd32239a7c5157fef391 - -acquireFile method receives an optional "fullurl" argument. In case it's -not passed, its value is set as the same value of the filename. However, -when fullurl is passed, it should be used and not overriden by the -filename, otherwise fetcher.acquireFile() will just bail. - -Reviewed-by: Cole Robinson -Signed-off-by: Fabiano Fidêncio - -diff --git a/virtinst/install/urlfetcher.py b/virtinst/install/urlfetcher.py -index 07f8b5ea..6084bf01 100644 ---- a/virtinst/install/urlfetcher.py -+++ b/virtinst/install/urlfetcher.py -@@ -411,7 +411,8 @@ class DirectFetcher(_URLFetcher): - return filename - - def acquireFile(self, filename, fullurl=None): -- fullurl = filename -+ if not fullurl: -+ fullurl = filename - filename = os.path.basename(filename) - fetcher = fetcherForURI(fullurl, self.scratchdir, self.meter, direct=True) - return fetcher.acquireFile(filename, fullurl) # pylint: disable=protected-access diff --git a/3c6e8537-guest-fix-warning-message-when-machine-type-is-changed-for-secure-boot.patch b/3c6e8537-guest-fix-warning-message-when-machine-type-is-changed-for-secure-boot.patch deleted file mode 100644 index f487bf6a..00000000 --- a/3c6e8537-guest-fix-warning-message-when-machine-type-is-changed-for-secure-boot.patch +++ /dev/null @@ -1,25 +0,0 @@ -Subject: guest: fix warning message when machine type is changed for secure boot -From: Pavel Hrdina phrdina@redhat.com Mon Jul 8 10:44:43 2019 +0200 -Date: Mon Jul 8 10:57:46 2019 +0200: -Git: 3c6e85375d0cd87dcf8ac70b41db0d899851338e - -Introduced by commit <3586d1897>. - -Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1727811 - -Signed-off-by: Pavel Hrdina - -diff --git a/virtinst/guest.py b/virtinst/guest.py -index ef227d17..41357644 100644 ---- a/virtinst/guest.py -+++ b/virtinst/guest.py -@@ -586,7 +586,8 @@ class Guest(XMLBuilder): - self.os.loader_secure = True - if self.os.machine and "q35" not in self.os.machine: - log.warning("Changing machine type from '%s' to 'q35' " -- "which is required for UEFI secure boot.") -+ "which is required for UEFI secure boot.", -+ self.os.machine) - self.os.machine = "q35" - - def disable_hyperv_for_uefi(self): diff --git a/414ffa5e-virt-install-Use-minutes-instead-of-seconds-on-get_time_string.patch b/414ffa5e-virt-install-Use-minutes-instead-of-seconds-on-get_time_string.patch deleted file mode 100644 index d2b98759..00000000 --- a/414ffa5e-virt-install-Use-minutes-instead-of-seconds-on-get_time_string.patch +++ /dev/null @@ -1,29 +0,0 @@ -Subject: virt-install: Use minutes instead of seconds on get_time_string() -From: Fabiano Fidêncio fidencio@redhat.com Thu Jul 25 14:09:53 2019 +0200 -Date: Thu Jul 25 19:13:13 2019 -0400: -Git: 414ffa5ef82548d502a4de98d40228a68bdb29c1 - -get_time_string() currently uses self._wait_secs, while it should use -self._wait_mins, resulting on confusing messages when using `--wait` -option, as shown below: - -fidencio@laerte ~/src/upstream/virt-manager $ ./virt-install --install fedora30 --unattended --wait 20 - ... -Waiting 1200 minutes for installation to complete. - -Reviewed-by: Cole Robinson -Signed-off-by: Fabiano Fidêncio - -diff --git a/virt-install b/virt-install -index af6c75bf..8efa4960 100755 ---- a/virt-install -+++ b/virt-install -@@ -610,7 +610,7 @@ class WaitHandler: - self._start_time = time.time() - - def get_time_string(self): -- timestr = _(" %d minutes") % self._wait_secs -+ timestr = _(" %d minutes") % self._wait_mins - if self._wait_forever: - timestr = "" - ret = _("Waiting%(time_string)s for installation to complete.") % { diff --git a/51d84c54-connection-Avoid-repeated-default-pool-creation-attempts.patch b/51d84c54-connection-Avoid-repeated-default-pool-creation-attempts.patch deleted file mode 100644 index aae011fc..00000000 --- a/51d84c54-connection-Avoid-repeated-default-pool-creation-attempts.patch +++ /dev/null @@ -1,52 +0,0 @@ -Subject: connection: Avoid repeated default pool creation attempts -From: Michael Weiser michael.weiser@gmx.de Fri Oct 25 21:27:18 2019 +0200 -Date: Tue Nov 12 12:28:34 2019 -0500: -Git: 51d84c54cb63350145f4ad3a2adba17313e1f227 - -During startup virtinst.StoragePool.build_default_pool() tries to -determine whether the default storage pool already exists. Because -events have not yet been processed, the list of existing storage pools -is still empty. Therefore it seems as if it does not exist yet and -build_default_pool() falls back to creating it which causes an error -message from libvirtd in the system log: - -libvirtd: operation failed: pool 'default' already exists with uuid. - -Move default pool creation after event processing to avoid these -redundant creation attempts. - -Signed-off-by: Michael Weiser - -diff --git a/virtManager/connection.py b/virtManager/connection.py -index f6dc5f5b..e526d495 100644 ---- a/virtManager/connection.py -+++ b/virtManager/connection.py -@@ -990,13 +990,6 @@ class vmmConnection(vmmGObject): - log.debug("%s capabilities:\n%s", - self.get_uri(), self.caps.get_xml()) - -- # Try to create the default storage pool -- # We want this before events setup to save some needless polling -- try: -- virtinst.StoragePool.build_default_pool(self.get_backend()) -- except Exception as e: -- log.debug("Building default pool failed: %s", str(e)) -- - self._add_conn_events() - - try: -@@ -1025,6 +1018,14 @@ class vmmConnection(vmmGObject): - self._init_object_event = None - self._init_object_count = None - -+ # Try to create the default storage pool -+ # We need this after events setup so we can determine if the default -+ # pool already exists -+ try: -+ virtinst.StoragePool.build_default_pool(self.get_backend()) -+ except Exception as e: -+ log.debug("Building default pool failed: %s", str(e)) -+ - def _open_thread(self): - ConnectError = None - try: diff --git a/53245827-urlfetcher-Force-a-flush-after-writing-to-a-file.patch b/53245827-urlfetcher-Force-a-flush-after-writing-to-a-file.patch deleted file mode 100644 index 7fc5dace..00000000 --- a/53245827-urlfetcher-Force-a-flush-after-writing-to-a-file.patch +++ /dev/null @@ -1,39 +0,0 @@ -Subject: urlfetcher: Force a flush after writing to a file -From: Fabiano Fidêncio fidencio@redhat.com Mon Aug 5 13:47:25 2019 +0200 -Date: Tue Aug 6 17:59:05 2019 -0400: -Git: 5324582747a57c5df1574ed99dbe20d3d0f65747 - -While downloading really small files, on some file systems, the files -may not be flushed on time for whatever reason they've been downloaded. - -This issue was noticed after trying to perform unattended installations -and noticing that some files, particularly really small ones, where just -empty. - -While the original issue would be fixed by doing the flush on -_HTTPURLFetcher::_write(), let's also force it on _URLFetcher::_write() -to do the same. - -Reviewed-by: Cole Robinson -Signed-off-by: Fabiano Fidêncio - -diff --git a/virtinst/install/urlfetcher.py b/virtinst/install/urlfetcher.py -index e48c801c..07f8b5ea 100644 ---- a/virtinst/install/urlfetcher.py -+++ b/virtinst/install/urlfetcher.py -@@ -156,6 +156,7 @@ class _URLFetcher(object): - fileobj.write(buff) - total += len(buff) - self.meter.update(total) -+ fileobj.flush() - return total - - def _grabber(self, url): -@@ -291,6 +292,7 @@ class _HTTPURLFetcher(_URLFetcher): - fileobj.write(data) - total += len(data) - self.meter.update(total) -+ fileobj.flush() - return total - - diff --git a/5573aeb4-createnet-Fix-XML-editor-error-when-dhcp-fields-are-empty.patch b/5573aeb4-createnet-Fix-XML-editor-error-when-dhcp-fields-are-empty.patch deleted file mode 100644 index 698b004b..00000000 --- a/5573aeb4-createnet-Fix-XML-editor-error-when-dhcp-fields-are-empty.patch +++ /dev/null @@ -1,63 +0,0 @@ -Subject: createnet: Fix XML editor error when dhcp fields are empty -From: Cole Robinson crobinso@redhat.com Wed Jan 29 18:43:58 2020 -0500 -Date: Wed Jan 29 18:53:31 2020 -0500: -Git: 5573aeb44100bcabdc24ab1cd19ec96bb4cb9d62 - -We need to handle the case when ip == None - -https://bugzilla.redhat.com/show_bug.cgi?id=1726586 - -Signed-off-by: Cole Robinson - ---- virt-manager-2.2.1.orig/virtManager/createnet.py -+++ virt-manager-2.2.1/virtManager/createnet.py -@@ -414,31 +414,35 @@ class vmmCreateNetwork(vmmGObjectUI): - if self.get_config_ipv4_enable(): - ip = self.get_config_ip4() - ipobj = net.ips.add_new() -- ipobj.address = str(ip.network_address + 1) -- ipobj.netmask = str(ip.netmask) -+ if ip: -+ ipobj.address = str(ip.network_address + 1) -+ ipobj.netmask = str(ip.netmask) - - if self.get_config_dhcpv4_enable(): - dhcpobj = ipobj.ranges.add_new() -- dhcpobj.start = str( -- self.get_config_dhcpv4_start().network_address -- ) -- dhcpobj.end = str(self.get_config_dhcpv4_end().network_address) -+ start = self.get_config_dhcpv4_start() -+ end = self.get_config_dhcpv4_end() -+ if start: -+ dhcpobj.start = str(start.network_address) -+ if end: -+ dhcpobj.end = str(end.network_address) - - if self.get_config_ipv6_enable(): - ip = self.get_config_ip6() - ipobj = net.ips.add_new() - ipobj.family = "ipv6" -- ipobj.address = str(ip.network_address + 1) -- ipobj.prefix = str(ip.prefixlen) -+ if ip: -+ ipobj.address = str(ip.network_address + 1) -+ ipobj.prefix = str(ip.prefixlen) - - if self.get_config_dhcpv6_enable(): - dhcpobj = ipobj.ranges.add_new() -- dhcpobj.start = str( -- self.get_config_dhcpv6_start().network_address -- ) -- dhcpobj.end = str( -- self.get_config_dhcpv6_end().network_address -- ) -+ start = self.get_config_dhcpv6_start() -+ end = self.get_config_dhcpv6_end() -+ if start: -+ dhcpobj.start = str(start.network_address) -+ if end: -+ dhcpobj.end = str(end.network_address) - - return net - diff --git a/651e5b6d-devices-video-Simplify-model-hvm-check.patch b/651e5b6d-devices-video-Simplify-model-hvm-check.patch deleted file mode 100644 index 9d330d59..00000000 --- a/651e5b6d-devices-video-Simplify-model-hvm-check.patch +++ /dev/null @@ -1,35 +0,0 @@ -Subject: devices: video: Simplify model hvm check -From: Cole Robinson crobinso@redhat.com Thu Oct 3 15:41:44 2019 -0400 -Date: Thu Oct 3 15:41:44 2019 -0400: -Git: 651e5b6d753930a2e7536efa4e6d20f57b038e80 - -Signed-off-by: Cole Robinson - -diff --git a/virtinst/devices/video.py b/virtinst/devices/video.py -index 3d8ab939..3ebc561f 100644 ---- a/virtinst/devices/video.py -+++ b/virtinst/devices/video.py -@@ -27,6 +27,8 @@ class DeviceVideo(Device): - - @staticmethod - def default_model(guest): -+ if not guest.os.is_hvm(): -+ return None - if guest.os.is_pseries(): - return "vga" - if guest.os.is_arm_machvirt() or guest.os.is_riscv_virt(): -@@ -37,11 +39,9 @@ class DeviceVideo(Device): - if guest.has_gl(): - return "virtio" - return "qxl" -- if guest.os.is_hvm(): -- if guest.conn.is_qemu(): -- return "qxl" -- return "vga" -- return None -+ if guest.conn.is_qemu(): -+ return "qxl" -+ return "vga" - - def set_defaults(self, guest): - if not self.model: diff --git a/7e3fb3f2-graphics-Default-to-vga-instead-of-qxl-for-non-spice.patch b/7e3fb3f2-graphics-Default-to-vga-instead-of-qxl-for-non-spice.patch deleted file mode 100644 index 4ea8f50e..00000000 --- a/7e3fb3f2-graphics-Default-to-vga-instead-of-qxl-for-non-spice.patch +++ /dev/null @@ -1,39 +0,0 @@ -Subject: graphics: Default to 'vga' instead of 'qxl' for non-spice -From: Cole Robinson crobinso@redhat.com Mon Aug 31 13:43:56 2020 -0400 -Date: Mon Aug 31 13:43:56 2020 -0400: -Git: 7e3fb3f281835ba6779886a89b27376cc423ef94 - -qxl doesn't add anything for the VNC case, and qxl is more likely -to be compiled out of qemu since it is dependent on spice, so vga -is the safer default for getting a working config - -https://bugzilla.redhat.com/show_bug.cgi?id=1833704 - -Signed-off-by: Cole Robinson - -diff --git a/tests/cli-test-xml/compare/virt-install-x86_64-graphics.xml b/tests/cli-test-xml/compare/virt-install-x86_64-graphics.xml -index ea9b184f..c1b06ca1 100644 ---- a/tests/cli-test-xml/compare/virt-install-x86_64-graphics.xml -+++ b/tests/cli-test-xml/compare/virt-install-x86_64-graphics.xml -@@ -48,7 +48,7 @@ - - - - - -diff --git a/virtinst/devices/video.py b/virtinst/devices/video.py -index fcca91b6..f9383131 100644 ---- a/virtinst/devices/video.py -+++ b/virtinst/devices/video.py -@@ -42,8 +42,6 @@ class DeviceVideo(Device): - if (guest.is_uefi() and - guest.lookup_domcaps().supports_video_bochs()): - return "bochs" -- if guest.conn.is_qemu(): -- return "qxl" - return "vga" - - def set_defaults(self, guest): diff --git a/8f4c53ea-video-Prefer-bochs-when-its-supported..patch b/8f4c53ea-video-Prefer-bochs-when-its-supported..patch deleted file mode 100644 index b024f710..00000000 --- a/8f4c53ea-video-Prefer-bochs-when-its-supported..patch +++ /dev/null @@ -1,27 +0,0 @@ -Subject: video: Prefer "bochs" when it's supported. -From: Fabiano Fidêncio fidencio@redhat.com Thu Oct 3 10:50:34 2019 +0200 -Date: Fri Oct 4 11:17:10 2019 -0400: -Git: 8f4c53ea960459516794ba533060a176cc26f121 - -Preferring "bochs" display device is the way to go when dealing with a -Linux guest using UEFI and that's quite well described here: -https://www.kraxel.org/blog/2019/09/display-devices-in-qemu/ - -https://bugzilla.redhat.com/show_bug.cgi?id=1753644 - -Signed-off-by: Fabiano Fidêncio - -diff --git a/virtinst/devices/video.py b/virtinst/devices/video.py -index 3ebc561f..fcca91b6 100644 ---- a/virtinst/devices/video.py -+++ b/virtinst/devices/video.py -@@ -39,6 +39,9 @@ class DeviceVideo(Device): - if guest.has_gl(): - return "virtio" - return "qxl" -+ if (guest.is_uefi() and -+ guest.lookup_domcaps().supports_video_bochs()): -+ return "bochs" - if guest.conn.is_qemu(): - return "qxl" - return "vga" diff --git a/9465da41-urlfetcher-Deal-with-file-in-_LocalURLFetcher.patch b/9465da41-urlfetcher-Deal-with-file-in-_LocalURLFetcher.patch deleted file mode 100644 index b646bb05..00000000 --- a/9465da41-urlfetcher-Deal-with-file-in-_LocalURLFetcher.patch +++ /dev/null @@ -1,37 +0,0 @@ -Subject: urlfetcher: Deal with 'file://' in _LocalURLFetcher() -From: Fabiano Fidêncio fidencio@redhat.com Tue Sep 24 14:26:43 2019 +0200 -Date: Wed Oct 2 11:58:34 2019 -0400: -Git: 9465da4174e778e7607908f18d74fd8aa2cba2fe - -osinfo-db may contain files pointing to local paths, which will have the -format 'file:///usr/share/...'. - -With the current code, virt-install would just bail as it doesn't -understand the 'file://' schema. Let's start using urllib (which is -already imported in the very same file) and parse the URL so both -'file:///usr/share/...' and '/usr/share/...' would work. - -Reviewed-by: Cole Robinson -Signed-off-by: Fabiano Fidêncio - -diff --git a/virtinst/install/urlfetcher.py b/virtinst/install/urlfetcher.py -index 6084bf01..e52efc8e 100644 ---- a/virtinst/install/urlfetcher.py -+++ b/virtinst/install/urlfetcher.py -@@ -365,11 +365,13 @@ class _LocalURLFetcher(_URLFetcher): - For grabbing files from a local directory - """ - def _hasFile(self, url): -- return os.path.exists(url) -+ parsed = urllib.parse.urlparse(url) -+ return os.path.exists(parsed.path) - - def _grabber(self, url): -- urlobj = open(url, "rb") -- size = os.path.getsize(url) -+ parsed = urllib.parse.urlparse(url) -+ urlobj = open(parsed.path, "rb") -+ size = os.path.getsize(parsed.path) - return urlobj, size - - diff --git a/ae19d6d6-fix-resizing-of-spice-clients-with-guest-resizing-enabled.patch b/ae19d6d6-fix-resizing-of-spice-clients-with-guest-resizing-enabled.patch deleted file mode 100644 index 9fb07ca1..00000000 --- a/ae19d6d6-fix-resizing-of-spice-clients-with-guest-resizing-enabled.patch +++ /dev/null @@ -1,23 +0,0 @@ -Subject: fix resizing of spice clients with guest resizing enabled -From: Florian Ludwig f.ludwig@greyrook.com Wed Oct 9 11:18:53 2019 +0200 -Date: Tue Nov 12 11:46:35 2019 -0500: -Git: ae19d6d6ec0b48085ce1c765fb2264e27fb51c63 - -Fixes 1414718 - -diff --git a/virtManager/details/console.py b/virtManager/details/console.py -index 8ef8631a..193e79eb 100644 ---- a/virtManager/details/console.py -+++ b/virtManager/details/console.py -@@ -374,7 +374,10 @@ class vmmConsolePages(vmmGObjectUI): - if is_resizeguest: - # With resize guest, we don't want to maintain aspect ratio, - # since the guest can resize to arbitrary resolutions. -- self._viewer.console_set_size_request(req.width, req.height) -+ viewer_alloc = Gdk.Rectangle() -+ viewer_alloc.width = req.width -+ viewer_alloc.height = req.height -+ self._viewer.console_size_allocate(viewer_alloc) - return - - if not is_scale: diff --git a/d934d6f2-domcaps-Fix-check-for-uncached-security-features.patch b/d934d6f2-domcaps-Fix-check-for-uncached-security-features.patch deleted file mode 100644 index 9a3b177e..00000000 --- a/d934d6f2-domcaps-Fix-check-for-uncached-security-features.patch +++ /dev/null @@ -1,24 +0,0 @@ -Subject: domcaps: Fix check for uncached security features -From: Cole Robinson crobinso@redhat.com Tue Nov 12 14:15:56 2019 -0500 -Date: Tue Nov 12 14:17:21 2019 -0500: -Git: d934d6f266e1731a5b881bbb9ae4cd60acd7887e - -We need to check against None, which is the initial value, otherwise -a host with none of the security features present will repeatedly poll -libvirt baseline APIs - -Signed-off-by: Cole Robinson - -diff --git a/virtinst/domcapabilities.py b/virtinst/domcapabilities.py -index ea0ffd1f..34991ed7 100644 ---- a/virtinst/domcapabilities.py -+++ b/virtinst/domcapabilities.py -@@ -296,7 +296,7 @@ class DomainCapabilities(XMLBuilder): - 'virt-ssbd', - 'md-clear'] - -- if self._features: -+ if self._features is not None: - return self._features - - self._features = [] diff --git a/d9736db9-addhardware-Add-bochs-display-to-the-video-list.patch b/d9736db9-addhardware-Add-bochs-display-to-the-video-list.patch deleted file mode 100644 index 4fcd3748..00000000 --- a/d9736db9-addhardware-Add-bochs-display-to-the-video-list.patch +++ /dev/null @@ -1,22 +0,0 @@ -Subject: addhardware: Add "bochs" display to the video list -From: Fabiano Fidêncio fidencio@redhat.com Wed Oct 2 10:45:28 2019 +0200 -Date: Fri Oct 4 11:17:14 2019 -0400: -Git: d9736db9d983d01c03929de226365dbf56a791a3 - -https://bugzilla.redhat.com/show_bug.cgi?id=1753644 - -Signed-off-by: Fabiano Fidêncio - -diff --git a/virtManager/addhardware.py b/virtManager/addhardware.py -index 842eada1..881f0e02 100644 ---- a/virtManager/addhardware.py -+++ b/virtManager/addhardware.py -@@ -663,7 +663,7 @@ class vmmAddHardware(vmmGObjectUI): - if guest.conn.is_xen(): - return ["xen", "vga"] - if guest.conn.is_qemu() or guest.conn.is_test(): -- return ["vga", "qxl", "virtio"] -+ return ["vga", "bochs", "qxl", "virtio"] - return [] - - @staticmethod diff --git a/e8bf16b9-details-fix-detection-of-firmware-auto-selection.patch b/e8bf16b9-details-fix-detection-of-firmware-auto-selection.patch deleted file mode 100644 index 509a3d89..00000000 --- a/e8bf16b9-details-fix-detection-of-firmware-auto-selection.patch +++ /dev/null @@ -1,25 +0,0 @@ -Subject: details: fix detection of firmware auto-selection -From: Pavel Hrdina phrdina@redhat.com Tue Jul 21 12:33:56 2020 +0200 -Date: Thu Aug 13 16:40:53 2020 +0200: -Git: e8bf16b983558010cc9645e09eb36117e9e4fba4 - -Commit <15a9502b7b7a263c4d66ff2b3f31c209f58fe0b4> fixed firmware -detection but incorrectly. It will always show only "UEFI" even if -the firmware auto-selection is not used because the function is_uefi() -checks both the old style and the new auto-selection. - -We have to check only for the auto-selection option. - -Signed-off-by: Pavel Hrdina - ---- virt-manager-2.2.1.orig/virtManager/details/details.py -+++ virt-manager-2.2.1/virtManager/details/details.py -@@ -2017,7 +2017,7 @@ class vmmDetails(vmmGObjectUI): - - # Firmware - domcaps = self.vm.get_domain_capabilities() -- if self.vm.get_xmlobj().is_uefi(): -+ if self.vm.get_xmlobj().os.firmware == "efi": - firmware = 'UEFI' - else: - firmware = domcaps.label_for_firmware_path( diff --git a/virt-manager-2.2.1.tar.bz2 b/virt-manager-2.2.1.tar.bz2 deleted file mode 100644 index 19ca2b43..00000000 --- a/virt-manager-2.2.1.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e1c28128eee24bc5fdd3f67a3b3e6713cac14ed9664619948f98f1ca71ec992f -size 1483469 diff --git a/virt-manager-3.0.0.tar.bz2 b/virt-manager-3.0.0.tar.bz2 new file mode 100644 index 00000000..8a50587d --- /dev/null +++ b/virt-manager-3.0.0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:01103f0ac50fa783bb130d7b3330a32abfcb4d2bc112024e490c5cdce5908651 +size 1584794 diff --git a/virt-manager.changes b/virt-manager.changes index 52d4f47c..d2b44265 100644 --- a/virt-manager.changes +++ b/virt-manager.changes @@ -1,3 +1,77 @@ +------------------------------------------------------------------- +Wed Sep 16 05:24:21 MDT 2020 - carnold@suse.com + +- Update to virt-manager 3.0.0 (fate#326786) + virt-manager-3.0.0.tar.bz2 + * virt-install –cloud-init support (Athina Plaskasoviti, Cole + Robinson) + * The virt-convert tool has been removed. Please use virt-v2v + instead + * A handful of UI XML configuration options have been removed. + The XML editor can be used instead. For a larger discussion see + this thread: https://www.redhat.com/archives/virt-tools-list/ + 2019-June/msg00117.html + * The ‘New VM’ UI now has a ‘Manual Install’ option which creates + a VM without any required install media + * In the ‘New VM’ UI, the network/pxe install option has been + removed. If you need network boot, choose ‘Manual Install’ and + set the boot device after initial VM creation + * ‘Clone VM’ UI has been reworked and simplified + * ‘Migrate VM’ UI now has an XML editor for the destination VM + * Global and per-vm option to disable graphical console + autoconnect. This makes it easier to use virt-manager alongside + another client like virt-viewer + * virt-manager: set guest time after VM restore (Michael Weiser) + * virt-manager: option to delete storage when removing disk + device (Lily Nie) + * virt-manager: show warnings if snapshot operation is unsafe + (Michael Weiser) + * Unattended install improvements (Fabiano Fidêncio) + * cli: new –xml XPATH=VAL option for making direct XML changes + * virt-install: new –reinstall=DOMAIN option + * virt-install: new –autoconsole text|graphical|none option + * virt-install: new –os-variant detect=on,require=on suboptions + * cli: –clock, –keywrap, –blkiotune, –cputune additions (Athina + Plaskasoviti) + * cli: add –features kvm.hint-dedicated.state= (Menno Lageman) + * cli:–iommu option (Menno Lageman) + * cli: Add –graphics websocket= support (Petr Benes) + * cli: Add –disk type=nvme source.* suboptions + * cli: Fill in all –filesystem suboptions + * Translation string improvements (Pino Toscano) + * Convert from .pod to .rst for man pages + * Switch to pytest as our test runner + * Massively improved unittest and uitest code coverage + * Now using github issues as our bug tracker +- Drop patches contained in new tarball + 3c6e8537-guest-fix-warning-message-when-machine-type-is-changed-for-secure-boot.patch + 0c223ab2-guest-Dont-set-default-uefi-if-firmware-is-set.patch + 414ffa5e-virt-install-Use-minutes-instead-of-seconds-on-get_time_string.patch + 53245827-urlfetcher-Force-a-flush-after-writing-to-a-file.patch + 3009888a-urlfetcher-Dont-override-fullurl-when-its-explicitly-set.patch + 9465da41-urlfetcher-Deal-with-file-in-_LocalURLFetcher.patch + 651e5b6d-devices-video-Simplify-model-hvm-check.patch + 1547e16d-domcapabilities-Get-video-devices.patch + 2e20b128-domcapabilities-Add-supports_video_bochs.patch + d9736db9-addhardware-Add-bochs-display-to-the-video-list.patch + 8f4c53ea-video-Prefer-bochs-when-its-supported..patch + ae19d6d6-fix-resizing-of-spice-clients-with-guest-resizing-enabled.patch + 51d84c54-connection-Avoid-repeated-default-pool-creation-attempts.patch + d934d6f2-domcaps-Fix-check-for-uncached-security-features.patch + 29f9f5f2-virt-xml-fix-defined_xml_is_unchanged.patch + 15a9502b-Fix-showing-the-firmware-type-in-case-of-firmware-auto-selection.patch + 5573aeb4-createnet-Fix-XML-editor-error-when-dhcp-fields-are-empty.patch + e8bf16b9-details-fix-detection-of-firmware-auto-selection.patch + 7e3fb3f2-graphics-Default-to-vga-instead-of-qxl-for-non-spice.patch +- Drop deprecated patches + virtman-fix-env-script-interpreter.patch + virtinst-osdict-get_supported.patch + virtconv-python2-to-python3-conversion.patch + virtinst-python2-to-python3-conversion.patch + virtman-python2-to-python3-conversion.patch + virttests-python2-to-python3-conversion.patch + 0002-virtinst-python3-avoid-comparison-of-None-and-int.patch + ------------------------------------------------------------------- Thu Sep 3 13:59:39 MDT 2020 - carnold@suse.com diff --git a/virt-manager.spec b/virt-manager.spec index b6da91ca..030239f8 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -21,7 +21,7 @@ %global default_hvs "qemu,xen,lxc" Name: virt-manager -Version: 2.2.1 +Version: 3.0.0 Release: 0 Summary: Virtual Machine Manager License: GPL-2.0-or-later @@ -32,25 +32,6 @@ Source1: virt-install.rb Source2: virt-install.desktop Source3: virt-manager-supportconfig # Upstream Patches -Patch1: 3c6e8537-guest-fix-warning-message-when-machine-type-is-changed-for-secure-boot.patch -Patch2: 0c223ab2-guest-Dont-set-default-uefi-if-firmware-is-set.patch -Patch3: 414ffa5e-virt-install-Use-minutes-instead-of-seconds-on-get_time_string.patch -Patch4: 53245827-urlfetcher-Force-a-flush-after-writing-to-a-file.patch -Patch5: 3009888a-urlfetcher-Dont-override-fullurl-when-its-explicitly-set.patch -Patch6: 9465da41-urlfetcher-Deal-with-file-in-_LocalURLFetcher.patch -Patch7: 651e5b6d-devices-video-Simplify-model-hvm-check.patch -Patch8: 1547e16d-domcapabilities-Get-video-devices.patch -Patch9: 2e20b128-domcapabilities-Add-supports_video_bochs.patch -Patch10: d9736db9-addhardware-Add-bochs-display-to-the-video-list.patch -Patch11: 8f4c53ea-video-Prefer-bochs-when-its-supported..patch -Patch12: ae19d6d6-fix-resizing-of-spice-clients-with-guest-resizing-enabled.patch -Patch13: 51d84c54-connection-Avoid-repeated-default-pool-creation-attempts.patch -Patch14: d934d6f2-domcaps-Fix-check-for-uncached-security-features.patch -Patch15: 29f9f5f2-virt-xml-fix-defined_xml_is_unchanged.patch -Patch16: 15a9502b-Fix-showing-the-firmware-type-in-case-of-firmware-auto-selection.patch -Patch17: 5573aeb4-createnet-Fix-XML-editor-error-when-dhcp-fields-are-empty.patch -Patch18: e8bf16b9-details-fix-detection-of-firmware-auto-selection.patch -Patch19: 7e3fb3f2-graphics-Default-to-vga-instead-of-qxl-for-non-spice.patch # SUSE Only Patch70: virtman-desktop.patch Patch71: virtman-kvm.patch @@ -58,8 +39,7 @@ Patch72: virtman-show-suse-install-repos.patch Patch73: virtman-dont-allow-grub.xen-to-be-deleted.patch Patch74: virtinst-pvgrub2-bootloader.patch Patch75: virtinst-change-location-for-grub_xen.patch -Patch76: virtman-fix-env-script-interpreter.patch -Patch77: virtinst-set-qemu-emulator.patch +Patch76: virtinst-set-qemu-emulator.patch # Features or Enhancements Patch103: virtman-load-stored-uris.patch Patch120: virtinst-default-xen-to-qcow2-format.patch @@ -81,22 +61,15 @@ Patch155: virtman-dont-specify-vte-version.patch Patch156: virtman-dont-specify-gtksource-version.patch Patch157: virtman-fix-restore-vm-menu-selection.patch Patch158: virtman-disallow-adding-floppy-disk.patch -Patch160: virtinst-xen-drive-type.patch -Patch161: virtinst-xenbus-disk-index-fix.patch -Patch162: virtinst-refresh_before_fetch_pool.patch -Patch163: virtinst-use-xenpae-kernel-for-32bit.patch -Patch164: virtinst-use-qemu-for-cdrom-device.patch -Patch165: virtinst-keep-install-iso-attached.patch -Patch166: virtinst-osdict-get_supported.patch -Patch167: virtinst-dont-use-special-copy-cpu-features.patch -Patch168: virtinst-set-default-nic.patch -# Python2 to Python3 patches -Patch200: virtconv-python2-to-python3-conversion.patch -Patch201: virtinst-python2-to-python3-conversion.patch -Patch202: virtman-python2-to-python3-conversion.patch -Patch203: virttests-python2-to-python3-conversion.patch -Patch204: 0002-virtinst-python3-avoid-comparison-of-None-and-int.patch -Patch205: virtman-register-delete-event-for-details-dialog.patch +Patch159: virtman-register-delete-event-for-details-dialog.patch +Patch170: virtinst-xen-drive-type.patch +Patch171: virtinst-xenbus-disk-index-fix.patch +Patch172: virtinst-refresh_before_fetch_pool.patch +Patch173: virtinst-use-xenpae-kernel-for-32bit.patch +Patch174: virtinst-use-qemu-for-cdrom-device.patch +Patch175: virtinst-keep-install-iso-attached.patch +Patch176: virtinst-dont-use-special-copy-cpu-features.patch +Patch177: virtinst-set-default-nic.patch BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -123,6 +96,7 @@ BuildRequires: gtk3-tools BuildRequires: intltool BuildRequires: perl BuildRequires: python3-devel +BuildRequires: python3-docutils BuildRequires: python3-gobject BuildRequires: python3-libvirt-python >= 0.7.0 BuildRequires: python3-libxml2-python @@ -168,7 +142,6 @@ Requires: virt-manager-common = %{verrel} Requires: python3-requests Provides: python3-virtinst Provides: virt-clone -Provides: virt-convert Obsoletes: python-virtinst <= 0.600.4 Supplements: virt-manager @@ -181,25 +154,6 @@ machine). %prep %setup -q # Upstream Patches -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 -%patch10 -p1 -%patch11 -p1 -%patch12 -p1 -%patch13 -p1 -%patch14 -p1 -%patch15 -p1 -%patch16 -p1 -%patch17 -p1 -%patch18 -p1 -%patch19 -p1 # SUSE Only %patch70 -p1 %patch71 -p1 @@ -208,7 +162,6 @@ machine). %patch74 -p1 %patch75 -p1 %patch76 -p1 -%patch77 -p1 # Enhancements %patch103 -p1 %patch120 -p1 @@ -230,22 +183,15 @@ machine). %patch156 -p1 %patch157 -p1 %patch158 -p1 -%patch160 -p1 -%patch161 -p1 -%patch162 -p1 -%patch163 -p1 -%patch164 -p1 -%patch165 -p1 -%patch166 -p1 -%patch167 -p1 -%patch168 -p1 -# Python2 to Python3 patches -%patch200 -p1 -%patch201 -p1 -%patch202 -p1 -%patch203 -p1 -%patch204 -p1 -%patch205 -p1 +%patch159 -p1 +%patch170 -p1 +%patch171 -p1 +%patch172 -p1 +%patch173 -p1 +%patch174 -p1 +%patch175 -p1 +%patch176 -p1 +%patch177 -p1 %build %if %{default_hvs} @@ -295,9 +241,9 @@ fi %{_mandir}/man1/%{name}.1* -%dir %{_datadir}/virt-manager/ui +%dir %{_datadir}/%{name} +%dir %{_datadir}/%{name}/ui %{_datadir}/%{name}/ui/*.ui -%{_datadir}/%{name}/virt-manager %{_datadir}/%{name}/virtManager %dir %{_datadir}/icons/hicolor @@ -306,7 +252,7 @@ fi %{_datadir}/%{name}/icons %{_datadir}/icons/hicolor/*/apps/* -%{_datadir}/appdata/%{name}.appdata.xml +%{_datadir}/metainfo/%{name}.appdata.xml %{_datadir}/applications/%{name}.desktop %{_datadir}/applications/YaST2/virt-install.desktop %{_datadir}/glib-2.0/schemas/org.virt-manager.virt-manager.gschema.xml @@ -318,33 +264,24 @@ fi %defattr(-,root,root,-) %dir %{_datadir}/%{name} -%{_datadir}/%{name}/virtconv %{_datadir}/%{name}/virtinst %files -n virt-install %defattr(-,root,root,-) %{_mandir}/man1/virt-install.1* %{_mandir}/man1/virt-clone.1* -%{_mandir}/man1/virt-convert.1* %{_mandir}/man1/virt-xml.1* -%{_datadir}/%{name}/virt-install +%{_bindir}/virt-install %{_datadir}/bash-completion/completions/virt-install -%{_datadir}/%{name}/virt-clone +%{_bindir}/virt-clone %{_datadir}/bash-completion/completions/virt-clone -%{_datadir}/%{name}/virt-convert -%{_datadir}/bash-completion/completions/virt-convert -%{_datadir}/%{name}/virt-xml +%{_bindir}/virt-xml %{_datadir}/bash-completion/completions/virt-xml + %dir %{_datadir}/YaST2 %dir %{_datadir}/YaST2/clients %dir %{_datadir}/applications/YaST2 -%dir %{_datadir}/appdata %{_datadir}/YaST2/clients/virt-install.rb -%{_bindir}/virt-install -%{_bindir}/virt-clone -%{_bindir}/virt-convert -%{_bindir}/virt-xml - %changelog diff --git a/virtconv-python2-to-python3-conversion.patch b/virtconv-python2-to-python3-conversion.patch deleted file mode 100644 index e20d99c0..00000000 --- a/virtconv-python2-to-python3-conversion.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: virt-manager-2.2.0/virtconv/vmx.py -=================================================================== ---- virt-manager-2.2.0.orig/virtconv/vmx.py -+++ virt-manager-2.2.0/virtconv/vmx.py -@@ -259,7 +259,7 @@ class vmx_parser(parser_class): - - def _find_keys(prefixes): - ret = [] -- for key, value in config.items(): -+ for key, value in list(config.items()): - for p in xmlutil.listify(prefixes): - if key.startswith(p): - ret.append((key, value)) diff --git a/virtinst-add-caasp-support.patch b/virtinst-add-caasp-support.patch index b28c5b89..983a4b3b 100644 --- a/virtinst-add-caasp-support.patch +++ b/virtinst-add-caasp-support.patch @@ -1,10 +1,10 @@ References: bsc#1010060 -Index: virt-manager-2.2.1/virtinst/install/urldetect.py +Index: virt-manager-3.0.0/virtinst/install/urldetect.py =================================================================== ---- virt-manager-2.2.1.orig/virtinst/install/urldetect.py -+++ virt-manager-2.2.1/virtinst/install/urldetect.py -@@ -273,6 +273,12 @@ class _SUSEContent(object): +--- virt-manager-3.0.0.orig/virtinst/install/urldetect.py ++++ virt-manager-3.0.0/virtinst/install/urldetect.py +@@ -277,6 +277,12 @@ class _SUSEContent(object): self.product_name.strip().rsplit(' ')[5][2]) distro_version = sle_version @@ -17,17 +17,17 @@ Index: virt-manager-2.2.1/virtinst/install/urldetect.py return distro_version -@@ -550,6 +556,9 @@ class _SuseDistro(_RHELDistro): - # Tumbleweed 8 digit date - return "opensusetumbleweed" +@@ -563,6 +569,9 @@ class _SuseDistro(_RHELDistro): + + version = distro_version.split('.', 1)[0].strip() + if self._variant_prefix.startswith(("caasp")): + return self._variant_prefix + distro_version + - if int(version) < 10: - return self._variant_prefix + "9" - -@@ -622,6 +631,14 @@ class _OpensuseDistro(_SuseDistro): + if str(self._variant_prefix).startswith(("sles", "sled", "oes")): + sp_version = "" + if len(distro_version.split('.', 1)) == 2: +@@ -632,6 +641,14 @@ class _OpensuseDistro(_SuseDistro): famregex = ".*openSUSE.*" @@ -42,7 +42,7 @@ Index: virt-manager-2.2.1/virtinst/install/urldetect.py class _OESDistro(_SuseDistro): PRETTY_NAME = "OES" matching_distros = ["oes"] -@@ -838,6 +855,7 @@ def _build_distro_list(osobj): +@@ -869,6 +886,7 @@ def _build_distro_list(osobj): _SLESDistro, _SLEDDistro, _OpensuseDistro, diff --git a/virtinst-add-pvh-support.patch b/virtinst-add-pvh-support.patch index 96b2c287..fcac5100 100644 --- a/virtinst-add-pvh-support.patch +++ b/virtinst-add-pvh-support.patch @@ -1,24 +1,24 @@ References: fate#326698 - Add pvh support to virt-manager At this time support is disabled in this patch. -Index: virt-manager-2.2.1/virtManager/createvm.py +Index: virt-manager-3.0.0/virtManager/createvm.py =================================================================== ---- virt-manager-2.2.1.orig/virtManager/createvm.py -+++ virt-manager-2.2.1/virtManager/createvm.py -@@ -792,6 +792,9 @@ class vmmCreateVM(vmmGObjectUI): - for guest in guests: - if not guest.domains: +--- virt-manager-3.0.0.orig/virtManager/createvm.py ++++ virt-manager-3.0.0/virtManager/createvm.py +@@ -837,6 +837,9 @@ class vmmCreateVM(vmmGObjectUI): + break + if label is None: continue + # xenpvh is currently unsupported + if guest.os_type == "xenpvh": + continue - gtype = guest.os_type - dom = guest.domains[0] -Index: virt-manager-2.2.1/virtinst/domain/os.py + # Determine if this is the default given by guest_lookup + if (gtype == self._capsinfo.os_type and +Index: virt-manager-3.0.0/virtinst/domain/os.py =================================================================== ---- virt-manager-2.2.1.orig/virtinst/domain/os.py -+++ virt-manager-2.2.1/virtinst/domain/os.py +--- virt-manager-3.0.0.orig/virtinst/domain/os.py ++++ virt-manager-3.0.0/virtinst/domain/os.py @@ -32,6 +32,8 @@ class DomainOs(XMLBuilder): return self.os_type == "hvm" def is_xenpv(self): @@ -28,11 +28,11 @@ Index: virt-manager-2.2.1/virtinst/domain/os.py def is_container(self): return self.os_type == "exe" -Index: virt-manager-2.2.1/virtinst/guest.py +Index: virt-manager-3.0.0/virtinst/guest.py =================================================================== ---- virt-manager-2.2.1.orig/virtinst/guest.py -+++ virt-manager-2.2.1/virtinst/guest.py -@@ -824,7 +824,7 @@ class Guest(XMLBuilder): +--- virt-manager-3.0.0.orig/virtinst/guest.py ++++ virt-manager-3.0.0/virtinst/guest.py +@@ -814,7 +814,7 @@ class Guest(XMLBuilder): usb_tablet = False usb_keyboard = False @@ -41,11 +41,11 @@ Index: virt-manager-2.2.1/virtinst/guest.py usb_tablet = self.osinfo.supports_usbtablet() if (self.os.is_arm_machvirt() or self.os.is_riscv_virt() or -Index: virt-manager-2.2.1/virtManager/object/domain.py +Index: virt-manager-3.0.0/virtManager/object/domain.py =================================================================== ---- virt-manager-2.2.1.orig/virtManager/object/domain.py -+++ virt-manager-2.2.1/virtManager/object/domain.py -@@ -1150,6 +1150,8 @@ class vmmDomain(vmmLibvirtObject): +--- virt-manager-3.0.0.orig/virtManager/object/domain.py ++++ virt-manager-3.0.0/virtManager/object/domain.py +@@ -1223,6 +1223,8 @@ class vmmDomain(vmmLibvirtObject): return self.get_xmlobj().os.is_xenpv() def is_hvm(self): return self.get_xmlobj().os.is_hvm() @@ -54,11 +54,11 @@ Index: virt-manager-2.2.1/virtManager/object/domain.py def get_uuid(self): if self._uuid is None: -Index: virt-manager-2.2.1/virtManager/connection.py +Index: virt-manager-3.0.0/virtManager/connection.py =================================================================== ---- virt-manager-2.2.1.orig/virtManager/connection.py -+++ virt-manager-2.2.1/virtManager/connection.py -@@ -223,6 +223,8 @@ class vmmConnection(vmmGObject): +--- virt-manager-3.0.0.orig/virtManager/connection.py ++++ virt-manager-3.0.0/virtManager/connection.py +@@ -211,6 +211,8 @@ class vmmConnection(vmmGObject): label = "xen (paravirt)" elif gtype == "hvm": label = "xen (fullvirt)" diff --git a/virtinst-add-sle15-detection-support.patch b/virtinst-add-sle15-detection-support.patch index 63a1388f..38a0de90 100644 --- a/virtinst-add-sle15-detection-support.patch +++ b/virtinst-add-sle15-detection-support.patch @@ -1,10 +1,10 @@ References: bsc#1054986 -Index: virt-manager-2.2.1/virtinst/install/urldetect.py +Index: virt-manager-3.0.0/virtinst/install/urldetect.py =================================================================== ---- virt-manager-2.2.1.orig/virtinst/install/urldetect.py -+++ virt-manager-2.2.1/virtinst/install/urldetect.py -@@ -586,6 +586,10 @@ class _SuseDistro(_RHELDistro): +--- virt-manager-3.0.0.orig/virtinst/install/urldetect.py ++++ virt-manager-3.0.0/virtinst/install/urldetect.py +@@ -596,6 +596,10 @@ class _SuseDistro(_RHELDistro): if re.search("openSUSE Tumbleweed", self.cache.treeinfo_name): return "opensusetumbleweed" @@ -15,7 +15,7 @@ Index: virt-manager-2.2.1/virtinst/install/urldetect.py version, update = self.cache.split_version() base = self._variant_prefix + str(version) while update >= 0: -@@ -593,7 +597,10 @@ class _SuseDistro(_RHELDistro): +@@ -603,7 +607,10 @@ class _SuseDistro(_RHELDistro): # SLE doesn't use '.0' for initial releases in # osinfo-db (sles11, sles12, etc) if update > 0 or not base.startswith('sle'): @@ -27,7 +27,7 @@ Index: virt-manager-2.2.1/virtinst/install/urldetect.py if OSDB.lookup_os(tryvar): return tryvar update -= 1 -@@ -607,6 +614,14 @@ class _SuseDistro(_RHELDistro): +@@ -617,6 +624,14 @@ class _SuseDistro(_RHELDistro): return var @@ -42,7 +42,7 @@ Index: virt-manager-2.2.1/virtinst/install/urldetect.py class _SLESDistro(_SuseDistro): PRETTY_NAME = "SLES" matching_distros = ["sles"] -@@ -852,6 +867,7 @@ def _build_distro_list(osobj): +@@ -883,6 +898,7 @@ def _build_distro_list(osobj): _FedoraDistro, _RHELDistro, _CentOSDistro, diff --git a/virtinst-change-location-for-grub_xen.patch b/virtinst-change-location-for-grub_xen.patch index 7b96c81d..a12bcb23 100644 --- a/virtinst-change-location-for-grub_xen.patch +++ b/virtinst-change-location-for-grub_xen.patch @@ -1,10 +1,10 @@ References: fate#326960, bsc#1123942 -Index: virt-manager-2.2.1/virtinst/install/installer.py +Index: virt-manager-3.0.0/virtinst/install/installer.py =================================================================== ---- virt-manager-2.2.1.orig/virtinst/install/installer.py -+++ virt-manager-2.2.1/virtinst/install/installer.py -@@ -446,7 +446,10 @@ class Installer(object): +--- virt-manager-3.0.0.orig/virtinst/install/installer.py ++++ virt-manager-3.0.0/virtinst/install/installer.py +@@ -594,7 +594,10 @@ class Installer(object): guest.bootloader = "pygrub" else: guest.bootloader = None @@ -16,16 +16,16 @@ Index: virt-manager-2.2.1/virtinst/install/installer.py log.debug("Using grub.xen to boot guest") on_reboot_value = guest.on_reboot self._alter_bootconfig(guest) -Index: virt-manager-2.2.1/virtManager/delete.py +Index: virt-manager-3.0.0/virtManager/delete.py =================================================================== ---- virt-manager-2.2.1.orig/virtManager/delete.py -+++ virt-manager-2.2.1/virtManager/delete.py -@@ -246,7 +246,7 @@ def populate_storage_list(storage_list, - diskdata.append(("dtb", vm.get_xmlobj().os.dtb, True, False, True)) +--- virt-manager-3.0.0.orig/virtManager/delete.py ++++ virt-manager-3.0.0/virtManager/delete.py +@@ -458,7 +458,7 @@ def _populate_storage_list(storage_list, + model.clear() - for target, path, ro, shared, is_media in diskdata: -- if not path or path == "/usr/lib/grub2/x86_64-xen/grub.xen": -+ if not path or "grub.xen" in path: + for diskdata in diskdatas: +- if not diskdata.path or diskdata.path == "/usr/lib/grub2/x86_64-xen/grub.xen": ++ if not diskdata.path or "grub.xen" in diskdata.path: continue # There are a few pieces here diff --git a/virtinst-default-xen-to-qcow2-format.patch b/virtinst-default-xen-to-qcow2-format.patch index 3c7e91da..06cdcd45 100644 --- a/virtinst-default-xen-to-qcow2-format.patch +++ b/virtinst-default-xen-to-qcow2-format.patch @@ -1,10 +1,10 @@ Reference: bnc#885380 Allow Xen based VMs to default to using qcow2 -Index: virt-manager-2.2.0/virtinst/support.py +Index: virt-manager-3.0.0/virtinst/support.py =================================================================== ---- virt-manager-2.2.0.orig/virtinst/support.py -+++ virt-manager-2.2.0/virtinst/support.py -@@ -249,7 +249,7 @@ class SupportCache: +--- virt-manager-3.0.0.orig/virtinst/support.py ++++ virt-manager-3.0.0/virtinst/support.py +@@ -242,7 +242,7 @@ class SupportCache: # This is an arbitrary check to say whether it's a good idea to # default to qcow2. It might be fine for xen or qemu older than the versions # here, but until someone tests things I'm going to be a bit conservative. diff --git a/virtinst-detect-oes-distros.patch b/virtinst-detect-oes-distros.patch index 0f620d5d..78337f99 100644 --- a/virtinst-detect-oes-distros.patch +++ b/virtinst-detect-oes-distros.patch @@ -1,19 +1,19 @@ Enhancement to correctly detect Open Enterprise Server media is selected as the installation source. -Index: virt-manager-2.2.1/virtinst/install/urldetect.py +Index: virt-manager-3.0.0/virtinst/install/urldetect.py =================================================================== ---- virt-manager-2.2.1.orig/virtinst/install/urldetect.py -+++ virt-manager-2.2.1/virtinst/install/urldetect.py -@@ -553,7 +553,7 @@ class _SuseDistro(_RHELDistro): - if int(version) < 10: - return self._variant_prefix + "9" +--- virt-manager-3.0.0.orig/virtinst/install/urldetect.py ++++ virt-manager-3.0.0/virtinst/install/urldetect.py +@@ -563,7 +563,7 @@ class _SuseDistro(_RHELDistro): + + version = distro_version.split('.', 1)[0].strip() - if str(self._variant_prefix).startswith(("sles", "sled")): + if str(self._variant_prefix).startswith(("sles", "sled", "oes")): sp_version = "" if len(distro_version.split('.', 1)) == 2: sp_version = 'sp' + distro_version.split('.', 1)[1].strip() -@@ -622,6 +622,14 @@ class _OpensuseDistro(_SuseDistro): +@@ -632,6 +632,14 @@ class _OpensuseDistro(_SuseDistro): famregex = ".*openSUSE.*" @@ -28,7 +28,7 @@ Index: virt-manager-2.2.1/virtinst/install/urldetect.py class _DebianDistro(_DistroTree): # ex. http://ftp.egr.msu.edu/debian/dists/sarge/main/installer-i386/ # daily builds: https://d-i.debian.org/daily-images/amd64/ -@@ -830,6 +838,7 @@ def _build_distro_list(osobj): +@@ -861,6 +869,7 @@ def _build_distro_list(osobj): _SLESDistro, _SLEDDistro, _OpensuseDistro, diff --git a/virtinst-dont-use-special-copy-cpu-features.patch b/virtinst-dont-use-special-copy-cpu-features.patch index 69c5a8dc..d4b45c12 100644 --- a/virtinst-dont-use-special-copy-cpu-features.patch +++ b/virtinst-dont-use-special-copy-cpu-features.patch @@ -12,11 +12,11 @@ It should be noted that selecting "Customize configuration before install" and "CPUs" -> "Copy host CPU definition" also inserts 'host-model' so this change mirrors what is already done there. -Index: virt-manager-2.2.0/virtinst/domain/cpu.py +Index: virt-manager-3.0.0/virtinst/domain/cpu.py =================================================================== ---- virt-manager-2.2.0.orig/virtinst/domain/cpu.py -+++ virt-manager-2.2.0/virtinst/domain/cpu.py -@@ -89,12 +89,16 @@ class DomainCpu(XMLBuilder): +--- virt-manager-3.0.0.orig/virtinst/domain/cpu.py ++++ virt-manager-3.0.0/virtinst/domain/cpu.py +@@ -122,12 +122,16 @@ class DomainCpu(XMLBuilder): val = self.SPECIAL_MODE_HOST_MODEL if (val == self.SPECIAL_MODE_HOST_MODEL or diff --git a/virtinst-keep-install-iso-attached.patch b/virtinst-keep-install-iso-attached.patch index 69e87bb6..86c9b818 100644 --- a/virtinst-keep-install-iso-attached.patch +++ b/virtinst-keep-install-iso-attached.patch @@ -2,11 +2,11 @@ Older SLE guests have a two stage installation that need the ISO. Newer SLE PV guests hang when a cdrom device is attached without an ISO file. -Index: virt-manager-2.2.0/virtinst/install/installer.py +Index: virt-manager-3.0.0/virtinst/install/installer.py =================================================================== ---- virt-manager-2.2.0.orig/virtinst/install/installer.py -+++ virt-manager-2.2.0/virtinst/install/installer.py -@@ -111,7 +111,8 @@ class Installer(object): +--- virt-manager-3.0.0.orig/virtinst/install/installer.py ++++ virt-manager-3.0.0/virtinst/install/installer.py +@@ -166,7 +166,8 @@ class Installer(object): def _remove_install_cdrom_media(self, guest): if not self._install_cdrom_device_added: return diff --git a/virtinst-media-detection.patch b/virtinst-media-detection.patch index c45724c7..bf032b0a 100644 --- a/virtinst-media-detection.patch +++ b/virtinst-media-detection.patch @@ -2,11 +2,11 @@ When both the content file and .treeinfo file are missing from the media look in the media.1/products and media.1/media files for information. Caasp 4.0 has not content or .treeinfo file on the media -Index: virt-manager-2.2.0/virtinst/install/urldetect.py +Index: virt-manager-3.0.0/virtinst/install/urldetect.py =================================================================== ---- virt-manager-2.2.0.orig/virtinst/install/urldetect.py -+++ virt-manager-2.2.0/virtinst/install/urldetect.py -@@ -488,8 +488,23 @@ class _SuseDistro(_RHELDistro): +--- virt-manager-3.0.0.orig/virtinst/install/urldetect.py ++++ virt-manager-3.0.0/virtinst/install/urldetect.py +@@ -504,8 +504,23 @@ class _SuseDistro(_RHELDistro): cache.checked_for_suse_content = True content_str = cache.acquire_file_content("content") if content_str is None: @@ -31,4 +31,4 @@ Index: virt-manager-2.2.0/virtinst/install/urldetect.py + content_str = products_str + "\n" + media_str try: cache.suse_content = _SUSEContent(content_str) - except Exception as e: + except Exception as e: # pragma: no cover diff --git a/virtinst-modify-gui-defaults.patch b/virtinst-modify-gui-defaults.patch index b503ce3c..1179aec3 100644 --- a/virtinst-modify-gui-defaults.patch +++ b/virtinst-modify-gui-defaults.patch @@ -1,11 +1,11 @@ Enhancement for the following GUI wizard installation option. 1) If Xen, leave 'Architecture options' expanded so users know PV is the default -Index: virt-manager-2.2.1/virtManager/createvm.py +Index: virt-manager-3.0.0/virtManager/createvm.py =================================================================== ---- virt-manager-2.2.1.orig/virtManager/createvm.py -+++ virt-manager-2.2.1/virtManager/createvm.py -@@ -404,8 +404,20 @@ class vmmCreateVM(vmmGObjectUI): +--- virt-manager-3.0.0.orig/virtManager/createvm.py ++++ virt-manager-3.0.0/virtManager/createvm.py +@@ -460,8 +460,20 @@ class vmmCreateVM(vmmGObjectUI): self.widget("method-local").set_active(True) self.widget("create-conn").set_active(-1) activeconn = self._populate_conn_list(urihint) diff --git a/virtinst-osdict-get_supported.patch b/virtinst-osdict-get_supported.patch deleted file mode 100644 index 256f1d35..00000000 --- a/virtinst-osdict-get_supported.patch +++ /dev/null @@ -1,18 +0,0 @@ -Some distros are out of support for normal customers but continue -to be supported through LTSS contracts for others. Hence the EOL -date in the osinfo-db file may be past but we want the distro to -continue to show up in the list. - -Index: virt-manager-2.2.0/virtinst/osdict.py -=================================================================== ---- virt-manager-2.2.0.orig/virtinst/osdict.py -+++ virt-manager-2.2.0/virtinst/osdict.py -@@ -445,7 +445,7 @@ class _OsVariant(object): - - # If no EOL is present, assume EOL if release was > 5 years ago - if rel is not None: -- rel5 = _glib_to_datetime(rel) + datetime.timedelta(days=365 * 5) -+ rel5 = _glib_to_datetime(rel) + datetime.timedelta(days=365 * 10) - return now > rel5 - return False - diff --git a/virtinst-pvgrub2-bootloader.patch b/virtinst-pvgrub2-bootloader.patch index 0a820e84..5624d95d 100644 --- a/virtinst-pvgrub2-bootloader.patch +++ b/virtinst-pvgrub2-bootloader.patch @@ -2,11 +2,11 @@ Reference: bnc#863821 grub.xen is required to boot PV VMs that use the BTRFS filesystem. This patch forces the use of grub.xen (instead of using pygrub) for suse distros SLE12GA, openSUSE 13.2, and newer. -Index: virt-manager-2.2.1/virtinst/install/installer.py +Index: virt-manager-3.0.0/virtinst/install/installer.py =================================================================== ---- virt-manager-2.2.1.orig/virtinst/install/installer.py -+++ virt-manager-2.2.1/virtinst/install/installer.py -@@ -167,7 +167,8 @@ class Installer(object): +--- virt-manager-3.0.0.orig/virtinst/install/installer.py ++++ virt-manager-3.0.0/virtinst/install/installer.py +@@ -218,7 +218,8 @@ class Installer(object): def _alter_treemedia_bootconfig(self, guest): if not self._treemedia: @@ -16,7 +16,7 @@ Index: virt-manager-2.2.1/virtinst/install/installer.py kernel, initrd, kernel_args = self._treemedia_bootconfig if kernel: -@@ -436,6 +437,20 @@ class Installer(object): +@@ -584,6 +585,20 @@ class Installer(object): install_xml = None if self.has_install_phase(): install_xml = self._get_install_xml(guest, meter) @@ -34,6 +34,6 @@ Index: virt-manager-2.2.1/virtinst/install/installer.py + on_reboot_value = guest.on_reboot + self._alter_bootconfig(guest) + guest.on_reboot = on_reboot_value - final_xml = guest.get_xml() + final_xml = self._pre_reinstall_xml or guest.get_xml() log.debug("Generated install XML: %s", diff --git a/virtinst-python2-to-python3-conversion.patch b/virtinst-python2-to-python3-conversion.patch deleted file mode 100644 index 9e24f227..00000000 --- a/virtinst-python2-to-python3-conversion.patch +++ /dev/null @@ -1,92 +0,0 @@ -Index: virt-manager-2.2.1/virtinst/osdict.py -=================================================================== ---- virt-manager-2.2.1.orig/virtinst/osdict.py -+++ virt-manager-2.2.1/virtinst/osdict.py -@@ -54,7 +54,7 @@ def _sort(tosort): - distro_mappings = {} - retlist = [] - -- for key, osinfo in tosort.items(): -+ for key, osinfo in list(tosort.items()): - # Libosinfo has some duplicate version numbers here, so append .1 - # if there's a collision - sortby = _sortby(osinfo) -Index: virt-manager-2.2.1/virtinst/install/installertreemedia.py -=================================================================== ---- virt-manager-2.2.1.orig/virtinst/install/installertreemedia.py -+++ virt-manager-2.2.1/virtinst/install/installertreemedia.py -@@ -20,7 +20,7 @@ from ..osdict import OSDB - (MEDIA_DIR, - MEDIA_ISO, - MEDIA_URL, -- MEDIA_KERNEL) = range(1, 5) -+ MEDIA_KERNEL) = list(range(1, 5)) - - - def _is_url(url): -Index: virt-manager-2.2.1/virtinst/xmlbuilder.py -=================================================================== ---- virt-manager-2.2.1.orig/virtinst/xmlbuilder.py -+++ virt-manager-2.2.1/virtinst/xmlbuilder.py -@@ -661,7 +661,7 @@ class XMLBuilder(object): - whenever child objects are added or removed - """ - typecount = {} -- for propname, xmlprop in self._all_child_props().items(): -+ for propname, xmlprop in list(self._all_child_props().items()): - for obj in xmlutil.listify(getattr(self, propname)): - idxstr = "" - if not xmlprop.is_single: -Index: virt-manager-2.2.1/virtinst/domcapabilities.py -=================================================================== ---- virt-manager-2.2.1.orig/virtinst/domcapabilities.py -+++ virt-manager-2.2.1/virtinst/domcapabilities.py -@@ -218,7 +218,7 @@ class DomainCapabilities(XMLBuilder): - return _("BIOS") - return _("None") - -- for arch, patterns in self._uefi_arch_patterns.items(): -+ for arch, patterns in list(self._uefi_arch_patterns.items()): - for pattern in patterns: - if re.match(pattern, path): - return (_("UEFI %(arch)s: %(path)s") % -Index: virt-manager-2.2.1/virtinst/devices/disk.py -=================================================================== ---- virt-manager-2.2.1.orig/virtinst/devices/disk.py -+++ virt-manager-2.2.1/virtinst/devices/disk.py -@@ -269,7 +269,7 @@ class DeviceDisk(Device): - digit = 1 - - seen_valid = True -- gen_t += "%c" % (ord('a') + digit - 1) -+ gen_t += "%c" % int(ord('a') + digit - 1) - - return gen_t - -@@ -879,11 +879,11 @@ class DeviceDisk(Device): - def get_target(): - first_found = None - -- ran = range(maxnode) -+ ran = list(range(maxnode)) - if pref_ctrl is not None: - # We assume narrow SCSI bus and libvirt assigning 7 - # (1-7, 8-14, etc.) devices per controller -- ran = range(pref_ctrl * 7, (pref_ctrl + 1) * 7) -+ ran = list(range(pref_ctrl * 7, (pref_ctrl + 1) * 7)) - - for i in ran: - postfix = self.num_to_target(i + 1) -Index: virt-manager-2.2.1/virtinst/pollhelpers.py -=================================================================== ---- virt-manager-2.2.1.orig/virtinst/pollhelpers.py -+++ virt-manager-2.2.1/virtinst/pollhelpers.py -@@ -129,7 +129,7 @@ def fetch_pools(backend, origmap, build_ - for obj in objs: - try: - obj.refresh(0) -- except Exception, e: -+ except Exception as e: - pass - - return _new_poll_helper(origmap, name, diff --git a/virtinst-refresh_before_fetch_pool.patch b/virtinst-refresh_before_fetch_pool.patch index 1a83ef74..d12b885b 100644 --- a/virtinst-refresh_before_fetch_pool.patch +++ b/virtinst-refresh_before_fetch_pool.patch @@ -13,27 +13,27 @@ status affects the hypervisor connection. Signed-off-by: Chunyan Liu -Index: virt-manager-2.2.0/virtinst/pollhelpers.py +Index: virt-manager-3.0.0/virtinst/pollhelpers.py =================================================================== ---- virt-manager-2.2.0.orig/virtinst/pollhelpers.py -+++ virt-manager-2.2.0/virtinst/pollhelpers.py -@@ -119,6 +119,19 @@ def fetch_pools(backend, origmap, build_ - name = "pool" +--- virt-manager-3.0.0.orig/virtinst/pollhelpers.py ++++ virt-manager-3.0.0/virtinst/pollhelpers.py +@@ -48,6 +48,19 @@ def fetch_pools(backend, origmap, build_ + typename = "pool" + list_cb = backend.listAllStoragePools + support_cb = backend.support.conn_storage ++ ++ # Refresh pools before poll_helper. For those ++ # 'active' but target path not exist (or other reasons ++ # causing the pool not working), but libvirtd not ++ # refresh the status, this will make it refreshed ++ # and mark that pool as 'inactive'. ++ objs = backend.listAllStoragePools() ++ for obj in objs: ++ try: ++ obj.refresh(0) ++ except Exception as e: # pragma: no cover ++ pass ++ + return _new_poll_helper(origmap, typename, list_cb, build_cb, support_cb) + - if backend.support.conn_listallstoragepools() and not FORCE_OLD_POLL: -+ -+ # Refresh pools before poll_helper. For those -+ # 'active' but target path not exist (or other reasons -+ # causing the pool not working), but libvirtd not -+ # refresh the status, this will make it refreshed -+ # and mark that pool as 'inactive'. -+ objs = backend.listAllStoragePools() -+ for obj in objs: -+ try: -+ obj.refresh(0) -+ except Exception, e: -+ pass -+ - return _new_poll_helper(origmap, name, - backend.listAllStoragePools, build_func) - else: diff --git a/virtinst-s390x-disable-graphics.patch b/virtinst-s390x-disable-graphics.patch index ea0b0fc7..e40f9d53 100644 --- a/virtinst-s390x-disable-graphics.patch +++ b/virtinst-s390x-disable-graphics.patch @@ -1,10 +1,10 @@ Reference: bnc#869024 Disable graphics on s390x -Index: virt-manager-2.2.1/virtinst/guest.py +Index: virt-manager-3.0.0/virtinst/guest.py =================================================================== ---- virt-manager-2.2.1.orig/virtinst/guest.py -+++ virt-manager-2.2.1/virtinst/guest.py -@@ -225,7 +225,10 @@ class Guest(XMLBuilder): +--- virt-manager-3.0.0.orig/virtinst/guest.py ++++ virt-manager-3.0.0/virtinst/guest.py +@@ -195,7 +195,10 @@ class Guest(XMLBuilder): self.skip_default_channel = False self.skip_default_sound = False self.skip_default_usbredir = False @@ -14,9 +14,9 @@ Index: virt-manager-2.2.1/virtinst/guest.py + else: + self.skip_default_graphics = False self.skip_default_rng = False - self.disable_default_memballoon = False self.x86_cpu_default = self.cpu.SPECIAL_MODE_APP_DEFAULT -@@ -480,7 +483,7 @@ class Guest(XMLBuilder): + +@@ -337,7 +340,7 @@ class Guest(XMLBuilder): if not os_support: return False @@ -24,8 +24,8 @@ Index: virt-manager-2.2.1/virtinst/guest.py + if self.os.is_x86() or self.os.is_s390x(): return True - return False -@@ -864,7 +867,7 @@ class Guest(XMLBuilder): + return False # pragma: no cover +@@ -854,7 +857,7 @@ class Guest(XMLBuilder): self.add_device(dev) def _add_default_video_device(self): diff --git a/virtinst-set-cache-mode-unsafe-for-install.patch b/virtinst-set-cache-mode-unsafe-for-install.patch index 81bf0b1a..cf71a11d 100644 --- a/virtinst-set-cache-mode-unsafe-for-install.patch +++ b/virtinst-set-cache-mode-unsafe-for-install.patch @@ -1,10 +1,10 @@ Set cache mode for target installation disk to unsafe for better performance. -Index: virt-manager-2.2.1/virtinst/install/installer.py +Index: virt-manager-3.0.0/virtinst/install/installer.py =================================================================== ---- virt-manager-2.2.1.orig/virtinst/install/installer.py -+++ virt-manager-2.2.1/virtinst/install/installer.py -@@ -422,11 +422,22 @@ class Installer(object): +--- virt-manager-3.0.0.orig/virtinst/install/installer.py ++++ virt-manager-3.0.0/virtinst/install/installer.py +@@ -570,11 +570,22 @@ class Installer(object): guest.memory) = data def _get_install_xml(self, guest, meter): diff --git a/virtinst-set-default-nic.patch b/virtinst-set-default-nic.patch index b666da74..71562436 100644 --- a/virtinst-set-default-nic.patch +++ b/virtinst-set-default-nic.patch @@ -1,11 +1,11 @@ References: bsc#1172356 Libvirt doesn't accept "Hypervisor default" as a model name -Index: virt-manager-2.2.1/virtinst/devices/interface.py +Index: virt-manager-3.0.0/virtinst/devices/interface.py =================================================================== ---- virt-manager-2.2.1.orig/virtinst/devices/interface.py -+++ virt-manager-2.2.1/virtinst/devices/interface.py -@@ -256,6 +256,8 @@ class DeviceInterface(Device): +--- virt-manager-3.0.0.orig/virtinst/devices/interface.py ++++ virt-manager-3.0.0/virtinst/devices/interface.py +@@ -284,6 +284,8 @@ class DeviceInterface(Device): return "e1000e" if not guest.os.is_x86(): return None diff --git a/virtinst-set-qemu-emulator.patch b/virtinst-set-qemu-emulator.patch index ee20f899..8e08fc68 100644 --- a/virtinst-set-qemu-emulator.patch +++ b/virtinst-set-qemu-emulator.patch @@ -1,11 +1,11 @@ Use the correct qemu emulator based on the architecture. We want to get away from using the old qemu-dm emulator for Xen HVM guests so default to qemu-system-i386. -Index: virt-manager-2.2.1/virtinst/guest.py +Index: virt-manager-3.0.0/virtinst/guest.py =================================================================== ---- virt-manager-2.2.1.orig/virtinst/guest.py -+++ virt-manager-2.2.1/virtinst/guest.py -@@ -740,6 +740,10 @@ class Guest(XMLBuilder): +--- virt-manager-3.0.0.orig/virtinst/guest.py ++++ virt-manager-3.0.0/virtinst/guest.py +@@ -727,6 +727,10 @@ class Guest(XMLBuilder): self._add_default_memballoon() self.clock.set_defaults(self) diff --git a/virtinst-use-qemu-for-cdrom-device.patch b/virtinst-use-qemu-for-cdrom-device.patch index 37d54fc3..e4c4dcf1 100644 --- a/virtinst-use-qemu-for-cdrom-device.patch +++ b/virtinst-use-qemu-for-cdrom-device.patch @@ -2,11 +2,11 @@ References: bsc#989639 When the device added is a cdrom device (/dev/sr0), don't use "phy" as the driver name but instead use "qemu". -Index: virt-manager-2.2.0/virtinst/devices/disk.py +Index: virt-manager-3.0.0/virtinst/devices/disk.py =================================================================== ---- virt-manager-2.2.0.orig/virtinst/devices/disk.py -+++ virt-manager-2.2.0/virtinst/devices/disk.py -@@ -389,7 +389,8 @@ class DeviceDisk(Device): +--- virt-manager-3.0.0.orig/virtinst/devices/disk.py ++++ virt-manager-3.0.0/virtinst/devices/disk.py +@@ -384,7 +384,8 @@ class DeviceDisk(Device): # Recommended xen defaults from here: # https://bugzilla.redhat.com/show_bug.cgi?id=1171550#c9 # If type block, use name=phy. Otherwise do the same as qemu diff --git a/virtinst-use-xenpae-kernel-for-32bit.patch b/virtinst-use-xenpae-kernel-for-32bit.patch index d847ba9f..a268dba5 100644 --- a/virtinst-use-xenpae-kernel-for-32bit.patch +++ b/virtinst-use-xenpae-kernel-for-32bit.patch @@ -4,11 +4,11 @@ a non pae version. The sles10 sp4 32bit kernel will only boot para- virtualized if the pae kernel is selected. Note that sles12 and newer has no 32bit release. -Index: virt-manager-2.2.0/virtinst/install/urldetect.py +Index: virt-manager-3.0.0/virtinst/install/urldetect.py =================================================================== ---- virt-manager-2.2.0.orig/virtinst/install/urldetect.py -+++ virt-manager-2.2.0/virtinst/install/urldetect.py -@@ -533,9 +533,14 @@ class _SuseDistro(_RHELDistro): +--- virt-manager-3.0.0.orig/virtinst/install/urldetect.py ++++ virt-manager-3.0.0/virtinst/install/urldetect.py +@@ -549,9 +549,14 @@ class _SuseDistro(_RHELDistro): if self.type == "xen": # Matches Opensuse > 10.2 and sles 10 diff --git a/virtinst-vol-default-nocow.patch b/virtinst-vol-default-nocow.patch index 28059bb2..df25a007 100644 --- a/virtinst-vol-default-nocow.patch +++ b/virtinst-vol-default-nocow.patch @@ -4,11 +4,11 @@ issue on btrfs. Signed-off-by: Chunyan Liu -Index: virt-manager-2.2.1/virtinst/storage.py +Index: virt-manager-3.0.0/virtinst/storage.py =================================================================== ---- virt-manager-2.2.1.orig/virtinst/storage.py -+++ virt-manager-2.2.1/virtinst/storage.py -@@ -548,6 +548,11 @@ class StorageVolume(_StorageObject): +--- virt-manager-3.0.0.orig/virtinst/storage.py ++++ virt-manager-3.0.0/virtinst/storage.py +@@ -569,6 +569,11 @@ class StorageVolume(_StorageObject): return self._pool_xml.get_disk_type() file_type = property(_get_vol_type) @@ -20,11 +20,11 @@ Index: virt-manager-2.2.1/virtinst/storage.py ################## # XML properties # -Index: virt-manager-2.2.1/virtinst/support.py +Index: virt-manager-3.0.0/virtinst/support.py =================================================================== ---- virt-manager-2.2.1.orig/virtinst/support.py -+++ virt-manager-2.2.1/virtinst/support.py -@@ -283,6 +283,7 @@ class SupportCache: +--- virt-manager-3.0.0.orig/virtinst/support.py ++++ virt-manager-3.0.0/virtinst/support.py +@@ -269,6 +269,7 @@ class SupportCache: conn_vnc_none_auth = _make(hv_version={"qemu": "2.9.0"}) conn_device_boot_order = _make(hv_version={"qemu": 0, "test": 0}) conn_riscv_virt_pci_default = _make(version="5.3.0", hv_version={"qemu": "4.0.0"}) diff --git a/virtinst-xen-drive-type.patch b/virtinst-xen-drive-type.patch index b9a57661..52e2a3ea 100644 --- a/virtinst-xen-drive-type.patch +++ b/virtinst-xen-drive-type.patch @@ -2,11 +2,11 @@ Reference: bnc#813082 Virt-manager on Xen doesn't fill in any type thereby defaulting to 'raw'. This patch will generate the correct XML on Xen. -Index: virt-manager-2.2.0/virtinst/devices/disk.py +Index: virt-manager-3.0.0/virtinst/devices/disk.py =================================================================== ---- virt-manager-2.2.0.orig/virtinst/devices/disk.py -+++ virt-manager-2.2.0/virtinst/devices/disk.py -@@ -406,6 +406,10 @@ class DeviceDisk(Device): +--- virt-manager-3.0.0.orig/virtinst/devices/disk.py ++++ virt-manager-3.0.0/virtinst/devices/disk.py +@@ -401,6 +401,10 @@ class DeviceDisk(Device): https://lists.gnu.org/archive/html/qemu-devel/2008-04/msg00675.html """ if self.driver_name != self.DRIVER_NAME_QEMU: diff --git a/virtinst-xenbus-disk-index-fix.patch b/virtinst-xenbus-disk-index-fix.patch index 8767935f..8324654e 100644 --- a/virtinst-xenbus-disk-index-fix.patch +++ b/virtinst-xenbus-disk-index-fix.patch @@ -6,14 +6,14 @@ types (ide vs xen) it added xvda with hda. These disks were then passed to qemu where it error'ed out with the disks having the same index (in this case both are 0). -Index: virt-manager-2.2.0/virtinst/devices/disk.py +Index: virt-manager-3.0.0/virtinst/devices/disk.py =================================================================== ---- virt-manager-2.2.0.orig/virtinst/devices/disk.py -+++ virt-manager-2.2.0/virtinst/devices/disk.py -@@ -861,6 +861,17 @@ class DeviceDisk(Device): +--- virt-manager-3.0.0.orig/virtinst/devices/disk.py ++++ virt-manager-3.0.0/virtinst/devices/disk.py +@@ -850,6 +850,17 @@ class DeviceDisk(Device): :returns: generated target """ - prefix, maxnode = self.get_target_prefix(skip_targets) + prefix, maxnode = self.get_target_prefix() + postfix_targets = [] + if self.conn.is_xen(): + prefixes = [ "hd", "xvd", "vd", "sd", "fd" ] @@ -28,10 +28,10 @@ Index: virt-manager-2.2.0/virtinst/devices/disk.py skip_targets = [t for t in skip_targets if t and t.startswith(prefix)] skip_targets.sort() -@@ -874,7 +885,12 @@ class DeviceDisk(Device): - ran = range(pref_ctrl * 7, (pref_ctrl + 1) * 7) +@@ -857,7 +868,12 @@ class DeviceDisk(Device): + first_found = None - for i in ran: + for i in range(maxnode): - gen_t = prefix + self.num_to_target(i + 1) + postfix = self.num_to_target(i + 1) + gen_t = prefix + postfix diff --git a/virtman-allow-creating-i686-vm.patch b/virtman-allow-creating-i686-vm.patch index 362bd265..458adab3 100644 --- a/virtman-allow-creating-i686-vm.patch +++ b/virtman-allow-creating-i686-vm.patch @@ -1,11 +1,11 @@ References: bsc#919692 Because openSUSE repos combine 32 and 64 bit sources we need to continue showing the 'Architecture' pop-up. -Index: virt-manager-2.2.1/virtManager/createvm.py +Index: virt-manager-3.0.0/virtManager/createvm.py =================================================================== ---- virt-manager-2.2.1.orig/virtManager/createvm.py -+++ virt-manager-2.2.1/virtManager/createvm.py -@@ -830,11 +830,6 @@ class vmmCreateVM(vmmGObjectUI): +--- virt-manager-3.0.0.orig/virtManager/createvm.py ++++ virt-manager-3.0.0/virtManager/createvm.py +@@ -862,11 +862,6 @@ class vmmCreateVM(vmmGObjectUI): for guest in self.conn.caps.guests: if guest.os_type == self._capsinfo.os_type: archs.append(guest.arch) diff --git a/virtman-allow-destroy-from-shutdown-menu-of-crashed-vm.patch b/virtman-allow-destroy-from-shutdown-menu-of-crashed-vm.patch index eb189ab1..fd828f6b 100644 --- a/virtman-allow-destroy-from-shutdown-menu-of-crashed-vm.patch +++ b/virtman-allow-destroy-from-shutdown-menu-of-crashed-vm.patch @@ -6,11 +6,11 @@ Steps to get a KVM VM in the crashed state: 4) Edit the VM's /etc/default/grub file and remove the crashkernel information and then run grub2-mkconfig /boot/grub2/grub.cfg. 5) Start the VM and within the VM's terminal type "echo 'c' > /proc/sysrq-trigger" -Index: virt-manager-2.2.0/virtManager/manager.py +Index: virt-manager-3.0.0/virtManager/manager.py =================================================================== ---- virt-manager-2.2.0.orig/virtManager/manager.py -+++ virt-manager-2.2.0/virtManager/manager.py -@@ -784,7 +784,7 @@ class vmmManager(vmmGObjectUI): +--- virt-manager-3.0.0.orig/virtManager/manager.py ++++ virt-manager-3.0.0/virtManager/manager.py +@@ -779,7 +779,7 @@ class vmmManager(vmmGObjectUI): show_pause = bool(vm and vm.is_unpauseable()) else: show_pause = bool(vm and vm.is_pauseable()) @@ -19,10 +19,10 @@ Index: virt-manager-2.2.0/virtManager/manager.py if vm and vm.managedsave_supported: self.change_run_text(vm.has_managed_save()) -Index: virt-manager-2.2.0/virtManager/vmmenu.py +Index: virt-manager-3.0.0/virtManager/vmmenu.py =================================================================== ---- virt-manager-2.2.0.orig/virtManager/vmmenu.py -+++ virt-manager-2.2.0/virtManager/vmmenu.py +--- virt-manager-3.0.0.orig/virtManager/vmmenu.py ++++ virt-manager-3.0.0/virtManager/vmmenu.py @@ -21,6 +21,7 @@ class _VMMenu(Gtk.Menu): self._parent = src self._current_vm_cb = current_vm_cb @@ -31,15 +31,15 @@ Index: virt-manager-2.2.0/virtManager/vmmenu.py self._init_state() -@@ -84,6 +85,7 @@ class VMShutdownMenu(_VMMenu): +@@ -85,6 +86,7 @@ class VMShutdownMenu(_VMMenu): name = getattr(child, "vmm_widget_name", None) if name in statemap: child.set_sensitive(statemap[name]) + child.set_visible(statemap[name]) - if name == "reset": - child.set_tooltip_text(None) -@@ -105,7 +107,8 @@ class VMActionMenu(_VMMenu): + + class VMActionMenu(_VMMenu): +@@ -99,7 +101,8 @@ class VMActionMenu(_VMMenu): self._add_action(_("R_esume"), "resume", VMActionUI.resume, Gtk.STOCK_MEDIA_PAUSE) s = self._add_action(_("_Shut Down"), "shutdown", None) @@ -49,7 +49,7 @@ Index: virt-manager-2.2.0/virtManager/vmmenu.py self.add(Gtk.SeparatorMenuItem()) self._add_action(_("Clone..."), "clone", -@@ -125,7 +128,7 @@ class VMActionMenu(_VMMenu): +@@ -120,7 +123,7 @@ class VMActionMenu(_VMMenu): def update_widget_states(self, vm): statemap = { "run": bool(vm and vm.is_runable()), @@ -58,7 +58,7 @@ Index: virt-manager-2.2.0/virtManager/vmmenu.py "suspend": bool(vm and vm.is_stoppable()), "resume": bool(vm and vm.is_paused()), "migrate": bool(vm and vm.is_stoppable()), -@@ -142,6 +145,8 @@ class VMActionMenu(_VMMenu): +@@ -137,6 +140,8 @@ class VMActionMenu(_VMMenu): child.get_submenu().update_widget_states(vm) if name in statemap: child.set_sensitive(statemap[name]) diff --git a/virtman-check-for-valid-display.patch b/virtman-check-for-valid-display.patch index f5c123e0..7d1d1f30 100644 --- a/virtman-check-for-valid-display.patch +++ b/virtman-check-for-valid-display.patch @@ -1,16 +1,16 @@ References: bnc#907958 Sanity check for those who forget '-X' on ssh and try to start virt-manager -Index: virt-manager-2.2.0/virt-manager +Index: virt-manager-3.0.0/virtManager/virtmanager.py =================================================================== ---- virt-manager-2.2.0.orig/virt-manager -+++ virt-manager-2.2.0/virt-manager -@@ -66,8 +66,11 @@ def _import_gtk(leftovers): +--- virt-manager-3.0.0.orig/virtManager/virtmanager.py ++++ virt-manager-3.0.0/virtManager/virtmanager.py +@@ -67,8 +67,11 @@ def _import_gtk(leftovers): print("gtk3 3.22.0 or later is required.") sys.exit(1) - # This will error if Gtk wasn't correctly initialized - Gtk.init() -+ if os.environ.has_key('DISPLAY') and os.environ['DISPLAY']: ++ if 'DISPLAY' in os.environ and os.environ['DISPLAY']: + # This will error if Gtk wasn't correctly initialized + Gtk.Window() + else: diff --git a/virtman-desktop.patch b/virtman-desktop.patch index e7475c32..a934485f 100644 --- a/virtman-desktop.patch +++ b/virtman-desktop.patch @@ -1,12 +1,12 @@ -Index: virt-manager-2.0.0/data/virt-manager.desktop.in +Index: virt-manager-3.0.0/data/virt-manager.desktop.in =================================================================== ---- virt-manager-2.0.0.orig/data/virt-manager.desktop.in -+++ virt-manager-2.0.0/data/virt-manager.desktop.in +--- virt-manager-3.0.0.orig/data/virt-manager.desktop.in ++++ virt-manager-3.0.0/data/virt-manager.desktop.in @@ -1,8 +1,19 @@ [Desktop Entry] - _Name=Virtual Machine Manager --_Comment=Manage virtual machines -+_Comment=Manage Virtual Machines for Xen and KVM + Name=Virtual Machine Manager +-Comment=Manage virtual machines ++Comment=Manage Virtual Machines for Xen and KVM Icon=virt-manager -Exec=virt-manager +Version=1.0 diff --git a/virtman-disallow-adding-floppy-disk.patch b/virtman-disallow-adding-floppy-disk.patch index 358fb234..8d5ad044 100644 --- a/virtman-disallow-adding-floppy-disk.patch +++ b/virtman-disallow-adding-floppy-disk.patch @@ -4,11 +4,11 @@ in this patch anyways to correctly set up a bus if a floppy were added. -Index: virt-manager-2.2.1/virtManager/addhardware.py +Index: virt-manager-3.0.0/virtManager/addhardware.py =================================================================== ---- virt-manager-2.2.1.orig/virtManager/addhardware.py -+++ virt-manager-2.2.1/virtManager/addhardware.py -@@ -528,6 +528,9 @@ class vmmAddHardware(vmmGObjectUI): +--- virt-manager-3.0.0.orig/virtManager/addhardware.py ++++ virt-manager-3.0.0/virtManager/addhardware.py +@@ -481,6 +481,9 @@ class vmmAddHardware(vmmGObjectUI): buses = domcaps.devices.disk.get_enum("bus").get_values() else: buses = vmmAddHardware.disk_old_recommended_buses(guest) @@ -18,16 +18,15 @@ Index: virt-manager-2.2.1/virtManager/addhardware.py bus_map = { "disk": ["ide", "sata", "scsi", "sd", "usb", "virtio", "xen"], -@@ -539,7 +542,7 @@ class vmmAddHardware(vmmGObjectUI): +@@ -500,6 +503,7 @@ class vmmAddHardware(vmmGObjectUI): + "usb": _("USB"), + "virtio": _("VirtIO"), + "xen": _("Xen"), ++ "fdc": _("FDC"), + } + return bus_mappings.get(bus, bus) - @staticmethod - def disk_pretty_bus(bus): -- if bus in ["ide", "sata", "scsi", "usb", "sd"]: -+ if bus in ["ide", "sata", "scsi", "usb", "sd", "fdc"]: - return bus.upper() - if bus in ["xen"]: - return bus.capitalize() -@@ -724,8 +727,9 @@ class vmmAddHardware(vmmGObjectUI): +@@ -681,8 +685,9 @@ class vmmAddHardware(vmmGObjectUI): "drive-harddisk", _("Disk device")]) target_model.append([DeviceDisk.DEVICE_CDROM, "media-optical", _("CDROM device")]) diff --git a/virtman-dont-allow-grub.xen-to-be-deleted.patch b/virtman-dont-allow-grub.xen-to-be-deleted.patch index 0fe0c2b1..31ecdf9a 100644 --- a/virtman-dont-allow-grub.xen-to-be-deleted.patch +++ b/virtman-dont-allow-grub.xen-to-be-deleted.patch @@ -1,16 +1,16 @@ Reference: bnc#885094 grub.xen is required to boot Xen PV VMs using BTRFS. It belongs to the grub2-x86_64-xen RPM and should never be deleted. -Index: virt-manager-2.0.0/virtManager/delete.py +Index: virt-manager-3.0.0/virtManager/delete.py =================================================================== ---- virt-manager-2.0.0.orig/virtManager/delete.py -+++ virt-manager-2.0.0/virtManager/delete.py -@@ -246,7 +246,7 @@ def populate_storage_list(storage_list, - diskdata.append(("dtb", vm.get_xmlobj().os.dtb, True, False, True)) +--- virt-manager-3.0.0.orig/virtManager/delete.py ++++ virt-manager-3.0.0/virtManager/delete.py +@@ -458,7 +458,7 @@ def _populate_storage_list(storage_list, + model.clear() - for target, path, ro, shared, is_media in diskdata: -- if not path: -+ if not path or path == "/usr/lib/grub2/x86_64-xen/grub.xen": + for diskdata in diskdatas: +- if not diskdata.path: ++ if not diskdata.path or diskdata.path == "/usr/lib/grub2/x86_64-xen/grub.xen": continue # There are a few pieces here diff --git a/virtman-dont-specify-gtksource-version.patch b/virtman-dont-specify-gtksource-version.patch index bc7d7298..f753e1e8 100644 --- a/virtman-dont-specify-gtksource-version.patch +++ b/virtman-dont-specify-gtksource-version.patch @@ -1,5 +1,7 @@ ---- virt-manager-2.2.0/virtManager/xmleditor.py.orig 2019-06-25 12:21:53.267971599 -0600 -+++ virt-manager-2.2.0/virtManager/xmleditor.py 2019-06-25 12:22:20.854908884 -0600 +Index: virt-manager-3.0.0/virtManager/xmleditor.py +=================================================================== +--- virt-manager-3.0.0.orig/virtManager/xmleditor.py ++++ virt-manager-3.0.0/virtManager/xmleditor.py @@ -7,12 +7,12 @@ import gi from virtinst import log @@ -7,13 +9,13 @@ -try: - gi.require_version("GtkSource", "4") - log.debug("Using GtkSource 4") --except ValueError: +-except ValueError: # pragma: no cover - gi.require_version("GtkSource", "3.0") - log.debug("Using GtkSource 3.0") +#try: +# gi.require_version("GtkSource", "4") +# log.debug("Using GtkSource 4") -+#except ValueError: ++#except ValueError: # pragma: no cover +# gi.require_version("GtkSource", "3.0") +# log.debug("Using GtkSource 3.0") from gi.repository import GtkSource diff --git a/virtman-dont-specify-vte-version.patch b/virtman-dont-specify-vte-version.patch index 8ee63f95..2d27c230 100644 --- a/virtman-dont-specify-vte-version.patch +++ b/virtman-dont-specify-vte-version.patch @@ -2,10 +2,10 @@ Creates a problem for gobject-introspection identifying what version of vte is really allowed. Vte 2.91 is installed on the host but the RPM is built requiring 2.90. -Index: virt-manager-2.2.0/virtManager/details/serialcon.py +Index: virt-manager-3.0.0/virtManager/details/serialcon.py =================================================================== ---- virt-manager-2.2.0.orig/virtManager/details/serialcon.py -+++ virt-manager-2.2.0/virtManager/details/serialcon.py +--- virt-manager-3.0.0.orig/virtManager/details/serialcon.py ++++ virt-manager-3.0.0/virtManager/details/serialcon.py @@ -12,12 +12,12 @@ from gi.repository import Gtk from virtinst import log @@ -13,13 +13,13 @@ Index: virt-manager-2.2.0/virtManager/details/serialcon.py -try: - gi.require_version("Vte", "2.91") - log.debug("Using VTE API 2.91") --except ValueError: +-except ValueError: # pragma: no cover - gi.require_version("Vte", "2.90") - log.debug("Using VTE API 2.90") +#try: +# gi.require_version("Vte", "2.91") +# log.debug("Using VTE API 2.91") -+#except ValueError: ++#except ValueError: # pragma: no cover +# gi.require_version("Vte", "2.90") +# log.debug("Using VTE API 2.90") from gi.repository import Vte diff --git a/virtman-fix-env-script-interpreter.patch b/virtman-fix-env-script-interpreter.patch deleted file mode 100644 index 00d1e83b..00000000 --- a/virtman-fix-env-script-interpreter.patch +++ /dev/null @@ -1,40 +0,0 @@ ---- virt-manager-2.1.0/virt-clone.orig 2019-02-04 10:40:20.390102363 -0700 -+++ virt-manager-2.1.0/virt-clone 2019-02-04 10:40:41.122360052 -0700 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python3 -+#!/usr/bin/python3 - # - # Copyright(c) FUJITSU Limited 2007. - # ---- virt-manager-2.1.0/virt-convert.orig 2019-02-04 10:41:50.275219728 -0700 -+++ virt-manager-2.1.0/virt-convert 2019-02-04 10:41:55.563285476 -0700 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python3 -+#!/usr/bin/python3 - # - # Copyright 2008, 2013, 2014 Red Hat, Inc. - # ---- virt-manager-2.1.0/virt-install.orig 2019-02-04 10:41:17.258809255 -0700 -+++ virt-manager-2.1.0/virt-install 2019-02-04 10:41:22.370872807 -0700 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python3 -+#!/usr/bin/python3 - # - # Copyright 2005-2014 Red Hat, Inc. - # ---- virt-manager-2.1.0/virt-manager.orig 2019-02-04 10:41:02.902630789 -0700 -+++ virt-manager-2.1.0/virt-manager 2019-02-04 10:41:11.870742273 -0700 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python3 -+#!/usr/bin/python3 - # - # Copyright (C) 2006, 2014 Red Hat, Inc. - # Copyright (C) 2006 Daniel P. Berrange ---- virt-manager-2.1.0/virt-xml.orig 2019-02-04 10:41:32.923003992 -0700 -+++ virt-manager-2.1.0/virt-xml 2019-02-04 10:41:38.803077096 -0700 -@@ -1,4 +1,4 @@ --#!/usr/bin/env python3 -+#!/usr/bin/python3 - # - # Copyright 2013-2014 Red Hat, Inc. - # diff --git a/virtman-fix-restore-vm-menu-selection.patch b/virtman-fix-restore-vm-menu-selection.patch index 20856439..62cb2a8d 100644 --- a/virtman-fix-restore-vm-menu-selection.patch +++ b/virtman-fix-restore-vm-menu-selection.patch @@ -3,11 +3,11 @@ virt-manager no longer tracks the saved state but leaves it up to libvirt. Libvirt returns libvirt.VIR_DOMAIN_PMSUSPENDED after a vm has been 'saved'. -Index: virt-manager-2.2.0/virtManager/object/domain.py +Index: virt-manager-3.0.0/virtManager/object/domain.py =================================================================== ---- virt-manager-2.2.0.orig/virtManager/object/domain.py -+++ virt-manager-2.2.0/virtManager/object/domain.py -@@ -1454,7 +1454,8 @@ class vmmDomain(vmmLibvirtObject): +--- virt-manager-3.0.0.orig/virtManager/object/domain.py ++++ virt-manager-3.0.0/virtManager/object/domain.py +@@ -1530,7 +1530,8 @@ class vmmDomain(vmmLibvirtObject): return (self.is_stoppable() or self.status() in [libvirt.VIR_DOMAIN_CRASHED]) def is_runable(self): diff --git a/virtman-increase-setKeepAlive-count.patch b/virtman-increase-setKeepAlive-count.patch index 7dd6cf7e..de7a400f 100644 --- a/virtman-increase-setKeepAlive-count.patch +++ b/virtman-increase-setKeepAlive-count.patch @@ -2,16 +2,16 @@ References: bnc#892003 For very large memory VMs Xen takes a long time scrubbing memory which causes the libvirt connection to timeout. Upstream was not interested in making this a preferences option (4/11/2015) -Index: virt-manager-2.2.1/virtManager/connection.py +Index: virt-manager-3.0.0/virtManager/connection.py =================================================================== ---- virt-manager-2.2.1.orig/virtManager/connection.py -+++ virt-manager-2.2.1/virtManager/connection.py -@@ -995,7 +995,7 @@ class vmmConnection(vmmGObject): +--- virt-manager-3.0.0.orig/virtManager/connection.py ++++ virt-manager-3.0.0/virtManager/connection.py +@@ -970,7 +970,7 @@ class vmmConnection(vmmGObject): self._add_conn_events() try: - self._backend.setKeepAlive(20, 1) + self._backend.setKeepAlive(20, 10) except Exception as e: - if (not isinstance(e, AttributeError) and - not self.support.is_error_nosupport(e)): + log.debug("Failed to setKeepAlive: %s", str(e)) + diff --git a/virtman-kvm.patch b/virtman-kvm.patch index 1b6ee4a9..6aaea630 100644 --- a/virtman-kvm.patch +++ b/virtman-kvm.patch @@ -1,15 +1,15 @@ /usr/bin/kvm doesn't exist on suse distros so check instead for /usr/bin/qemu-system-x86_64 -Index: virt-manager-2.2.0/virtManager/createconn.py +Index: virt-manager-3.0.0/virtManager/createconn.py =================================================================== ---- virt-manager-2.2.0.orig/virtManager/createconn.py -+++ virt-manager-2.2.0/virtManager/createconn.py -@@ -67,7 +67,7 @@ class vmmCreateConn(vmmGObjectUI): +--- virt-manager-3.0.0.orig/virtManager/createconn.py ++++ virt-manager-3.0.0/virtManager/createconn.py +@@ -33,7 +33,7 @@ def _default_uri(): # pragma: no cover - if (os.path.exists("/usr/bin/qemu") or - os.path.exists("/usr/bin/qemu-kvm") or -- os.path.exists("/usr/bin/kvm") or -+ os.path.exists("/usr/bin/qemu-system-x86_64") or - os.path.exists("/usr/libexec/qemu-kvm") or - glob.glob("/usr/bin/qemu-system-*")): - return "qemu:///system" + if (os.path.exists("/usr/bin/qemu") or + os.path.exists("/usr/bin/qemu-kvm") or +- os.path.exists("/usr/bin/kvm") or ++ os.path.exists("/usr/bin/qemu-system-x86_64") or + os.path.exists("/usr/libexec/qemu-kvm") or + glob.glob("/usr/bin/qemu-system-*")): + return "qemu:///system" diff --git a/virtman-python2-to-python3-conversion.patch b/virtman-python2-to-python3-conversion.patch deleted file mode 100644 index 12fc0ccc..00000000 --- a/virtman-python2-to-python3-conversion.patch +++ /dev/null @@ -1,250 +0,0 @@ -Index: virt-manager-2.2.1/virt-manager -=================================================================== ---- virt-manager-2.2.1.orig/virt-manager -+++ virt-manager-2.2.1/virt-manager -@@ -66,7 +66,7 @@ def _import_gtk(leftovers): - print("gtk3 3.22.0 or later is required.") - sys.exit(1) - -- if os.environ.has_key('DISPLAY') and os.environ['DISPLAY']: -+ if 'DISPLAY' in os.environ and os.environ['DISPLAY']: - # This will error if Gtk wasn't correctly initialized - Gtk.Window() - else: -Index: virt-manager-2.2.1/virtManager/details/console.py -=================================================================== ---- virt-manager-2.2.1.orig/virtManager/details/console.py -+++ virt-manager-2.2.1/virtManager/details/console.py -@@ -21,7 +21,7 @@ from ..vmwindow import DETAILS_PAGE_CONS - (_CONSOLE_PAGE_UNAVAILABLE, - _CONSOLE_PAGE_AUTHENTICATE, - _CONSOLE_PAGE_SERIAL, -- _CONSOLE_PAGE_VIEWER) = range(4) -+ _CONSOLE_PAGE_VIEWER) = list(range(4)) - - - class _TimedRevealer(vmmGObject): -Index: virt-manager-2.2.1/virtManager/connection.py -=================================================================== ---- virt-manager-2.2.1.orig/virtManager/connection.py -+++ virt-manager-2.2.1/virtManager/connection.py -@@ -159,7 +159,7 @@ class vmmConnection(vmmGObject): - - (_STATE_DISCONNECTED, - _STATE_CONNECTING, -- _STATE_ACTIVE) = range(1, 4) -+ _STATE_ACTIVE) = list(range(1, 4)) - - def __init__(self, uri): - self._uri = uri -Index: virt-manager-2.2.1/virtManager/addhardware.py -=================================================================== ---- virt-manager-2.2.1.orig/virtManager/addhardware.py -+++ virt-manager-2.2.1/virtManager/addhardware.py -@@ -44,7 +44,7 @@ from .xmleditor import vmmXMLEditor - PAGE_TPM, - PAGE_RNG, - PAGE_PANIC, -- PAGE_VSOCK) = range(17) -+ PAGE_VSOCK) = list(range(17)) - - - def _build_combo(combo, values, default_value=None, sort=True): -Index: virt-manager-2.2.1/virtManager/details/snapshots.py -=================================================================== ---- virt-manager-2.2.1.orig/virtManager/details/snapshots.py -+++ virt-manager-2.2.1/virtManager/details/snapshots.py -@@ -55,7 +55,7 @@ def _make_screenshot_pixbuf(mime, sdata) - - - def _mime_to_ext(val, reverse=False): -- for m, e in mimemap.items(): -+ for m, e in list(mimemap.items()): - if val == m and not reverse: - return e - if val == e and reverse: -Index: virt-manager-2.2.1/virtManager/engine.py -=================================================================== ---- virt-manager-2.2.1.orig/virtManager/engine.py -+++ virt-manager-2.2.1/virtManager/engine.py -@@ -22,7 +22,7 @@ from .lib.inspection import vmmInspectio - from .systray import vmmSystray - - (PRIO_HIGH, -- PRIO_LOW) = range(1, 3) -+ PRIO_LOW) = list(range(1, 3)) - - - def _show_startup_error(fn): -Index: virt-manager-2.2.1/virtManager/device/mediacombo.py -=================================================================== ---- virt-manager-2.2.1.orig/virtManager/device/mediacombo.py -+++ virt-manager-2.2.1/virtManager/device/mediacombo.py -@@ -22,7 +22,7 @@ class vmmMediaCombo(vmmGObjectUI): - (MEDIA_FIELD_PATH, - MEDIA_FIELD_LABEL, - MEDIA_FIELD_HAS_MEDIA, -- MEDIA_FIELD_KEY) = range(MEDIA_FIELDS_NUM) -+ MEDIA_FIELD_KEY) = list(range(MEDIA_FIELDS_NUM)) - - def __init__(self, conn, builder, topwin): - vmmGObjectUI.__init__(self, None, None, builder=builder, topwin=topwin) -Index: virt-manager-2.2.1/virtManager/manager.py -=================================================================== ---- virt-manager-2.2.1.orig/virtManager/manager.py -+++ virt-manager-2.2.1/virtManager/manager.py -@@ -33,7 +33,7 @@ ROW_IS_CONN_CONNECTED, - ROW_IS_VM, - ROW_IS_VM_RUNNING, - ROW_COLOR, --ROW_INSPECTION_OS_ICON) = range(11) -+ROW_INSPECTION_OS_ICON) = list(range(11)) - - # Columns in the tree view - (COL_NAME, -@@ -41,7 +41,7 @@ COL_GUEST_CPU, - COL_HOST_CPU, - COL_MEM, - COL_DISK, --COL_NETWORK) = range(6) -+COL_NETWORK) = list(range(6)) - - - def _style_get_prop(widget, propname): -Index: virt-manager-2.2.1/virtManager/device/addstorage.py -=================================================================== ---- virt-manager-2.2.1.orig/virtManager/device/addstorage.py -+++ virt-manager-2.2.1/virtManager/device/addstorage.py -@@ -108,7 +108,7 @@ class vmmAddStorage(vmmGObjectUI): - errmsg = _("Errors were encountered changing permissions for the " - "following directories:") - details = "" -- for p, error in errors.items(): -+ for p, error in list(errors.items()): - if p not in broken_paths: - continue - details += "%s : %s\n" % (p, error) -Index: virt-manager-2.2.1/virtManager/details/details.py -=================================================================== ---- virt-manager-2.2.1.orig/virtManager/details/details.py -+++ virt-manager-2.2.1/virtManager/details/details.py -@@ -104,7 +104,7 @@ from ..xmleditor import vmmXMLEditor - - EDIT_FS, - -- EDIT_HOSTDEV_ROMBAR) = range(1, 59) -+ EDIT_HOSTDEV_ROMBAR) = list(range(1, 59)) - - - # Columns in hw list model -@@ -112,7 +112,7 @@ from ..xmleditor import vmmXMLEditor - HW_LIST_COL_ICON_NAME, - HW_LIST_COL_TYPE, - HW_LIST_COL_DEVICE, -- HW_LIST_COL_KEY) = range(5) -+ HW_LIST_COL_KEY) = list(range(5)) - - # Types for the hw list model: numbers specify what order they will be listed - (HW_LIST_TYPE_GENERAL, -@@ -137,7 +137,7 @@ from ..xmleditor import vmmXMLEditor - HW_LIST_TYPE_TPM, - HW_LIST_TYPE_RNG, - HW_LIST_TYPE_PANIC, -- HW_LIST_TYPE_VSOCK) = range(23) -+ HW_LIST_TYPE_VSOCK) = list(range(23)) - - remove_pages = [HW_LIST_TYPE_NIC, HW_LIST_TYPE_INPUT, - HW_LIST_TYPE_GRAPHICS, HW_LIST_TYPE_SOUND, HW_LIST_TYPE_CHAR, -@@ -152,7 +152,7 @@ remove_pages = [HW_LIST_TYPE_NIC, HW_LIS - BOOT_LABEL, - BOOT_ICON, - BOOT_ACTIVE, -- BOOT_CAN_SELECT) = range(5) -+ BOOT_CAN_SELECT) = list(range(5)) - - - def _calculate_disk_bus_index(disklist): -Index: virt-manager-2.2.1/virtManager/createvm.py -=================================================================== ---- virt-manager-2.2.1.orig/virtManager/createvm.py -+++ virt-manager-2.2.1/virtManager/createvm.py -@@ -40,7 +40,7 @@ DEFAULT_MEM = 1024 - PAGE_INSTALL, - PAGE_MEM, - PAGE_STORAGE, -- PAGE_FINISH) = range(5) -+ PAGE_FINISH) = list(range(5)) - - (INSTALL_PAGE_ISO, - INSTALL_PAGE_URL, -@@ -48,13 +48,13 @@ DEFAULT_MEM = 1024 - INSTALL_PAGE_IMPORT, - INSTALL_PAGE_CONTAINER_APP, - INSTALL_PAGE_CONTAINER_OS, -- INSTALL_PAGE_VZ_TEMPLATE) = range(7) -+ INSTALL_PAGE_VZ_TEMPLATE) = list(range(7)) - - # Column numbers for os type/version list models - (OS_COL_ID, - OS_COL_LABEL, - OS_COL_IS_SEP, -- OS_COL_IS_SHOW_ALL) = range(4) -+ OS_COL_IS_SHOW_ALL) = list(range(4)) - - - ##################### -@@ -2123,7 +2123,7 @@ class vmmCreateVM(vmmGObjectUI): - 'insecure': self._get_config_oscontainer_isecure, - 'root_password': self._get_config_oscontainer_root_password, - } -- for key, getter in bootstrap_arg_keys.items(): -+ for key, getter in list(bootstrap_arg_keys.items()): - bootstrap_args[key] = getter() - - parentobj = self._customize_window or self -Index: virt-manager-2.2.1/virtManager/preferences.py -=================================================================== ---- virt-manager-2.2.1.orig/virtManager/preferences.py -+++ virt-manager-2.2.1/virtManager/preferences.py -@@ -129,7 +129,7 @@ class vmmPreferences(vmmGObjectUI): - } - model.append([-1, _("System default (%s)") % - vals[self.config.default_console_resizeguest]]) -- for key, val in vals.items(): -+ for key, val in list(vals.items()): - model.append([key, val]) - combo.set_model(model) - uiutil.init_combo_text_column(combo, 1) -Index: virt-manager-2.2.1/virtManager/migrate.py -=================================================================== ---- virt-manager-2.2.1.orig/virtManager/migrate.py -+++ virt-manager-2.2.1/virtManager/migrate.py -@@ -23,7 +23,7 @@ from .object.domain import vmmDomain - NUM_COLS = 3 - (COL_LABEL, - COL_URI, -- COL_CAN_MIGRATE) = range(NUM_COLS) -+ COL_CAN_MIGRATE) = list(range(NUM_COLS)) - - - class vmmMigrateDialog(vmmGObjectUI): -Index: virt-manager-2.2.1/virtManager/hoststorage.py -=================================================================== ---- virt-manager-2.2.1.orig/virtManager/hoststorage.py -+++ virt-manager-2.2.1/virtManager/hoststorage.py -@@ -32,13 +32,13 @@ VOL_NUM_COLUMNS = 7 - VOL_COLUMN_SIZESTR, - VOL_COLUMN_FORMAT, - VOL_COLUMN_INUSEBY, -- VOL_COLUMN_SENSITIVE) = range(VOL_NUM_COLUMNS) -+ VOL_COLUMN_SENSITIVE) = list(range(VOL_NUM_COLUMNS)) - - POOL_NUM_COLUMNS = 4 - (POOL_COLUMN_CONNKEY, - POOL_COLUMN_LABEL, - POOL_COLUMN_ISACTIVE, -- POOL_COLUMN_PERCENT) = range(POOL_NUM_COLUMNS) -+ POOL_COLUMN_PERCENT) = list(range(POOL_NUM_COLUMNS)) - - ICON_RUNNING = "state_running" - ICON_SHUTOFF = "state_shutoff" diff --git a/virtman-register-delete-event-for-details-dialog.patch b/virtman-register-delete-event-for-details-dialog.patch index d69548bf..56e3f44c 100644 --- a/virtman-register-delete-event-for-details-dialog.patch +++ b/virtman-register-delete-event-for-details-dialog.patch @@ -6,12 +6,12 @@ it is not recognized as a top level dialog on python3 and therefore we explicitl need to set the connection event. Not getting the event to cleanup leaves us in a bad state for when the details dialog is reopened. -Index: virt-manager-2.2.0/virtManager/vmwindow.py +Index: virt-manager-3.0.0/virtManager/vmwindow.py =================================================================== ---- virt-manager-2.2.0.orig/virtManager/vmwindow.py -+++ virt-manager-2.2.0/virtManager/vmwindow.py -@@ -141,6 +141,9 @@ class vmmVMWindow(vmmGObjectUI): - self.console.details_auth_login), +--- virt-manager-3.0.0.orig/virtManager/vmwindow.py ++++ virt-manager-3.0.0/virtManager/vmwindow.py +@@ -131,6 +131,9 @@ class vmmVMWindow(vmmGObjectUI): + "on_details_menu_view_autoconnect_activate": self._autoconnect_ui_changed_cb, }) + # Make sure the delete event is properly registered for the details dialog diff --git a/virtman-show-suse-install-repos.patch b/virtman-show-suse-install-repos.patch index 431e0aa8..1bc1ec93 100644 --- a/virtman-show-suse-install-repos.patch +++ b/virtman-show-suse-install-repos.patch @@ -1,12 +1,12 @@ Enhancement that gets installation repos from zypper. These locations are then presented as potential installation sources when creating a VM. -Index: virt-manager-2.2.1/virtManager/createvm.py +Index: virt-manager-3.0.0/virtManager/createvm.py =================================================================== ---- virt-manager-2.2.1.orig/virtManager/createvm.py -+++ virt-manager-2.2.1/virtManager/createvm.py -@@ -99,6 +99,70 @@ def is_virt_bootstrap_installed(): - return pkgutil.find_loader('virtBootstrap') is not None +--- virt-manager-3.0.0.orig/virtManager/createvm.py ++++ virt-manager-3.0.0/virtManager/createvm.py +@@ -164,6 +164,70 @@ class _GuestData: + return guest +################################################ @@ -76,7 +76,7 @@ Index: virt-manager-2.2.1/virtManager/createvm.py ############## # Main class # ############## -@@ -368,7 +432,13 @@ class vmmCreateVM(vmmGObjectUI): +@@ -422,7 +486,13 @@ class vmmCreateVM(vmmGObjectUI): self.widget("install-url-entry").set_text("") self.widget("install-url-options").set_expanded(False) urlmodel = self.widget("install-url-combo").get_model() diff --git a/virttests-python2-to-python3-conversion.patch b/virttests-python2-to-python3-conversion.patch deleted file mode 100644 index 07bed0f7..00000000 --- a/virttests-python2-to-python3-conversion.patch +++ /dev/null @@ -1,35 +0,0 @@ -Index: virt-manager-2.2.0/tests/clitest.py -=================================================================== ---- virt-manager-2.2.0.orig/tests/clitest.py -+++ virt-manager-2.2.0/tests/clitest.py -@@ -300,7 +300,7 @@ class Command(object): - - def _run(self): - conn = None -- for idx in reversed(range(len(self.argv))): -+ for idx in reversed(list(range(len(self.argv)))): - if self.argv[idx] == "--connect": - conn = utils.URIs.openconn(self.argv[idx + 1]) - break -Index: virt-manager-2.2.0/tests/test_inject.py -=================================================================== ---- virt-manager-2.2.0.orig/tests/test_inject.py -+++ virt-manager-2.2.0/tests/test_inject.py -@@ -15,7 +15,7 @@ FEDORA_URL = "http://dl.fedoraproject.or - - (WARN_RHEL5, - WARN_DEBIAN, -- WARN_FEDORA) = range(1, 4) -+ WARN_FEDORA) = list(range(1, 4)) - - - def prompt(): -@@ -117,7 +117,7 @@ def _make_tests(): - return lambda s: _test_distro(_d) - - idx = 0 -- for dname, dobj in _alldistros.items(): -+ for dname, dobj in list(_alldistros.items()): - idx += 1 - setattr(InjectTests, "testInitrd%.3d_%s" % - (idx, dname.replace("-", "_")), _make_check_cb(dobj))