diff --git a/34db1af7-fix-adding-iscsi-pools.patch b/34db1af7-fix-adding-iscsi-pools.patch deleted file mode 100644 index d31d730d..00000000 --- a/34db1af7-fix-adding-iscsi-pools.patch +++ /dev/null @@ -1,52 +0,0 @@ -Subject: createpool: Fix adding iscsi pools (bz 1231558) -From: Cole Robinson crobinso@redhat.com Sun Jun 21 15:47:31 2015 -0400 -Date: Sun Jun 21 15:47:31 2015 -0400: -Git: 34db1af7b661b7eb5df4c71fc910d31c1ae9f7a4 - - -diff --git a/virtManager/createpool.py b/virtManager/createpool.py -index bd18d43..1eaa805 100644 ---- a/virtManager/createpool.py -+++ b/virtManager/createpool.py -@@ -479,9 +479,11 @@ class vmmCreatePool(vmmGObjectUI): - source_list = self.widget("pool-source-path") - target_list = self.widget("pool-target-path") - -- pool = uiutil.get_list_selection(source_list, column=2) -+ pool = uiutil.get_list_selection(source_list, column=2, -+ check_entry=False) - if pool is None: -- pool = uiutil.get_list_selection(target_list, column=2) -+ pool = uiutil.get_list_selection(target_list, column=2, -+ check_entry=False) - - return pool - -diff --git a/virtManager/uiutil.py b/virtManager/uiutil.py -index 82d2c1d..40b74d4 100644 ---- a/virtManager/uiutil.py -+++ b/virtManager/uiutil.py -@@ -70,17 +70,21 @@ def get_list_selected_row(widget, check_visible=False): - return row - - --def get_list_selection(widget, column=0, check_visible=False): -+def get_list_selection(widget, column=0, -+ check_visible=False, check_entry=True): - """ - Helper to simplify getting the selected row and value in a list/tree/combo. - If nothing is selected, and the widget is a combo box with a text entry, - return the value of that. -+ -+ :param check_entry: If True, attempt to check the widget's text entry -+ using the logic described above. - """ - row = get_list_selected_row(widget, check_visible=check_visible) - if row is not None: - return row[column] - -- if hasattr(widget, "get_has_entry"): -+ if check_entry and hasattr(widget, "get_has_entry"): - if widget.get_has_entry(): - return widget.get_child().get_text().strip() - diff --git a/360fe110-add-s390x-arch-support.patch b/360fe110-add-s390x-arch-support.patch deleted file mode 100644 index 6de85dc2..00000000 --- a/360fe110-add-s390x-arch-support.patch +++ /dev/null @@ -1,71 +0,0 @@ -Subject: virtinst: correctly find the sles s390x kernel and initrd -From: Charles Arnold carnold@suse.com Fri Sep 11 09:41:09 2015 -0600 -Date: Fri Sep 11 12:48:52 2015 -0400: -Git: 360fe11040b0d7dc0235aecf10e96536619c616b - -Allow virt-install to correctly find the SLES kernel/initrd on the media -when installing an s390x VM. - -Signed-off-by: Charles Arnold - -(crobinso: fix minor pep8 issues) - -diff --git a/virtinst/urlfetcher.py b/virtinst/urlfetcher.py -index c48e9d5..40f7c05 100644 ---- a/virtinst/urlfetcher.py -+++ b/virtinst/urlfetcher.py -@@ -369,6 +369,8 @@ def _distroFromSUSEContent(fetcher, arch, vmtype=None): - arch = "x86_64" - elif cbuf.find("i586") != -1: - arch = "i586" -+ elif cbuf.find("s390x") != -1: -+ arch = "s390x" - - dclass = GenericDistro - if distribution: -@@ -934,16 +936,22 @@ class SuseDistro(Distro): - oldkern += "64" - oldinit += "64" - -- # Tested with Opensuse >= 10.2, 11, and sles 10 -- self._hvm_kernel_paths = [("boot/%s/loader/linux" % self.arch, -- "boot/%s/loader/initrd" % self.arch)] -- # Tested with Opensuse 10.0 -- self._hvm_kernel_paths.append(("boot/loader/%s" % oldkern, -- "boot/loader/%s" % oldinit)) -+ if self.arch == "s390x": -+ self._hvm_kernel_paths = [("boot/%s/linux" % self.arch, -+ "boot/%s/initrd" % self.arch)] -+ # No Xen on s390x -+ self._xen_kernel_paths = [] -+ else: -+ # Tested with Opensuse >= 10.2, 11, and sles 10 -+ self._hvm_kernel_paths = [("boot/%s/loader/linux" % self.arch, -+ "boot/%s/loader/initrd" % self.arch)] -+ # Tested with Opensuse 10.0 -+ self._hvm_kernel_paths.append(("boot/loader/%s" % oldkern, -+ "boot/loader/%s" % oldinit)) - -- # Matches Opensuse > 10.2 and sles 10 -- self._xen_kernel_paths = [("boot/%s/vmlinuz-xen" % self.arch, -- "boot/%s/initrd-xen" % self.arch)] -+ # Matches Opensuse > 10.2 and sles 10 -+ self._xen_kernel_paths = [("boot/%s/vmlinuz-xen" % self.arch, -+ "boot/%s/initrd-xen" % self.arch)] - - def _variantFromVersion(self): - distro_version = self.version_from_content[1].strip() -@@ -971,6 +979,13 @@ class SuseDistro(Distro): - self._variantFromVersion() - - self.os_variant = self._detect_osdict_from_url() -+ -+ # Reset kernel name for sle11 source on s390x -+ if self.arch == "s390x": -+ if self.os_variant == "sles11" or self.os_variant == "sled11": -+ self._hvm_kernel_paths = [("boot/%s/vmrdr.ikr" % self.arch, -+ "boot/%s/initrd" % self.arch)] -+ - return True - - def _get_method_arg(self): diff --git a/4970615f-fix-qemu-vs-lxc-detection.patch b/4970615f-fix-qemu-vs-lxc-detection.patch deleted file mode 100644 index 282db45d..00000000 --- a/4970615f-fix-qemu-vs-lxc-detection.patch +++ /dev/null @@ -1,20 +0,0 @@ -Subject: addconnection: Fix qemu:///session vs. lxc:/// detection -From: Cole Robinson crobinso@redhat.com Sun Aug 9 12:27:20 2015 -0400 -Date: Sun Aug 9 12:27:20 2015 -0400: -Git: 4970615f4870cc5394a46ff6a049ac937b3043d6 - - -diff --git a/virtManager/connect.py b/virtManager/connect.py -index b977fea..7493d14 100644 ---- a/virtManager/connect.py -+++ b/virtManager/connect.py -@@ -327,7 +327,8 @@ class vmmConnect(vmmGObjectUI): - self.populate_uri() - - def hypervisor_changed(self, src): -- is_session = (src.get_active() == HV_QEMU_SESSION) -+ hv = uiutil.get_list_selection(self.widget("hypervisor")) -+ is_session = (hv == HV_QEMU_SESSION) - uiutil.set_grid_row_visible( - self.widget("session-warning-box"), is_session) - uiutil.set_grid_row_visible( diff --git a/590f5a52-urlfetcher-Clear-cached-ftp-connection-on-cleanupLoc.patch b/590f5a52-urlfetcher-Clear-cached-ftp-connection-on-cleanupLoc.patch deleted file mode 100644 index 8559755b..00000000 --- a/590f5a52-urlfetcher-Clear-cached-ftp-connection-on-cleanupLoc.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 590f5a525bccded6866461b4ff3e1bb7adae086b Mon Sep 17 00:00:00 2001 -From: Cole Robinson -Date: Mon, 14 Sep 2015 10:34:19 -0400 -Subject: [PATCH] urlfetcher: Clear cached ftp connection on cleanupLocation - -Reported-by: Chun Yan Liu ---- - virtinst/urlfetcher.py | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/virtinst/urlfetcher.py b/virtinst/urlfetcher.py -index 40f7c05..cda67a2 100644 ---- a/virtinst/urlfetcher.py -+++ b/virtinst/urlfetcher.py -@@ -167,6 +167,7 @@ class _FTPImageFetcher(_URIImageFetcher): - except: - logging.debug("Error quitting ftp connection", exc_info=True) - -+ self.ftp = None - - def hasFile(self, filename): - path = self._make_path(filename) --- -1.8.5.6 - diff --git a/5e68b0fc-dont-try-to-set-vmport-on-non-x86.patch b/5e68b0fc-dont-try-to-set-vmport-on-non-x86.patch deleted file mode 100644 index 2381ae89..00000000 --- a/5e68b0fc-dont-try-to-set-vmport-on-non-x86.patch +++ /dev/null @@ -1,68 +0,0 @@ -Subject: guest: Don't try to set vmport on non-x86, it isn't supported (bz 1259998) -From: Cole Robinson crobinso@redhat.com Fri Sep 4 12:14:22 2015 -0400 -Date: Fri Sep 4 12:14:22 2015 -0400: -Git: 5e68b0fc3d9b93491817a3c1914fa9b3633440b6 - - -Index: virt-manager-1.2.1/tests/cli-test-xml/compare/virt-install-ppc64-machdefault-f20.xml -=================================================================== ---- virt-manager-1.2.1.orig/tests/cli-test-xml/compare/virt-install-ppc64-machdefault-f20.xml -+++ virt-manager-1.2.1/tests/cli-test-xml/compare/virt-install-ppc64-machdefault-f20.xml -@@ -8,12 +8,6 @@ - hvm - - -- -- -- -- -- -- - - destroy - restart -Index: virt-manager-1.2.1/tests/cli-test-xml/compare/virt-install-ppc64-pseries-f20.xml -=================================================================== ---- virt-manager-1.2.1.orig/tests/cli-test-xml/compare/virt-install-ppc64-pseries-f20.xml -+++ virt-manager-1.2.1/tests/cli-test-xml/compare/virt-install-ppc64-pseries-f20.xml -@@ -8,12 +8,6 @@ - hvm - - -- -- -- -- -- -- - - destroy - restart -Index: virt-manager-1.2.1/tests/cli-test-xml/compare/virt-install-ppc64le-kvm-import.xml -=================================================================== ---- virt-manager-1.2.1.orig/tests/cli-test-xml/compare/virt-install-ppc64le-kvm-import.xml -+++ virt-manager-1.2.1/tests/cli-test-xml/compare/virt-install-ppc64le-kvm-import.xml -@@ -8,11 +8,6 @@ - hvm - - -- -- -- -- -- - - destroy - restart -Index: virt-manager-1.2.1/virtinst/guest.py -=================================================================== ---- virt-manager-1.2.1.orig/virtinst/guest.py -+++ virt-manager-1.2.1/virtinst/guest.py -@@ -847,6 +847,7 @@ class Guest(XMLBuilder): - self.features.pae = self.conn.caps.supports_pae() - - if (self.features.vmport == "default" and -+ self.os.is_x86() and - self.has_spice() and - self.conn.check_support(self.conn.SUPPORT_CONN_VMPORT)): - self.features.vmport = False diff --git a/601a82cb-fix-console_type-if-xen.patch b/601a82cb-fix-console_type-if-xen.patch deleted file mode 100644 index ffc9bf3d..00000000 --- a/601a82cb-fix-console_type-if-xen.patch +++ /dev/null @@ -1,63 +0,0 @@ -Subject: virt-install: Simplify --extra-args text install warnings -From: Cole Robinson crobinso@redhat.com Tue Sep 22 08:42:09 2015 -0400 -Date: Tue Sep 22 12:44:33 2015 -0400: -Git: 601a82cb87ebc055ba9dd52864317bd513613814 - -- Drop the warnings about incorrect console=, that's a little too fine - grained and was really only about virtio-console default confusion - which doesn't apply anymore -- Skip the check for xenpv which seems to always 'just work' -- Drop the opencoded arm check, use is_arm -- Fix an error when xen HVM is used (reported on virt-tools-list) - -diff --git a/virt-install b/virt-install -index ba9423e..d509256 100755 ---- a/virt-install -+++ b/virt-install -@@ -513,35 +513,20 @@ def _show_nographics_warnings(options, guest): - - serial_arg = "console=ttyS0" - serial_arm_arg = "console=ttyAMA0" -- virtio_arg = "console=hvc0" -- console_type = None -- if guest.conn.is_test() or guest.conn.is_qemu(): -- console_type = serial_arg -- if guest.os.arch.startswith("arm") or guest.os.arch == "aarch64": -- console_type = serial_arm_arg -- if guest.get_devices("console")[0].target_type == "virtio": -- console_type = virtio_arg -- -- if not options.extra_args or "console=" not in options.extra_args: -- logging.warn(_("No 'console' seen in --extra-args, a '%s' kernel " -- "argument is likely required to see text install output from " -- "the guest."), console_type or "console=") -- return -+ hvc_arg = "console=hvc0" - -- if console_type in options.extra_args: -- return -- if (serial_arg not in options.extra_args and -- virtio_arg not in options.extra_args): -+ console_type = serial_arg -+ if guest.os.is_arm(): -+ console_type = serial_arm_arg -+ if guest.get_devices("console")[0].target_type in ["virtio", "xen"]: -+ console_type = hvc_arg -+ -+ if console_type in (options.extra_args or ""): - return - -- has = (serial_arg in options.extra_args) and serial_arg or virtio_arg -- need = (serial_arg in options.extra_args) and virtio_arg or serial_arg -- logging.warn(_("'%s' found in --extra-args, but the device attached " -- "to the guest likely requires '%s'. You may not see text install " -- "output from the guest."), has, need) -- if has == serial_arg: -- logging.warn(_("To make '--extra-args %s' work, you can force a " -- "plain serial device with '--console pty'"), serial_arg) -+ logging.warn(_("Did not find '%(console_string)s' in --extra-args, " -+ "which is likely required to see text install output from the " -+ "guest."), {"console_string": console_type}) - - - def show_warnings(options, guest): diff --git a/76bad650-fix-virt-xml-define-and-update.patch b/76bad650-fix-virt-xml-define-and-update.patch deleted file mode 100644 index 1538ee41..00000000 --- a/76bad650-fix-virt-xml-define-and-update.patch +++ /dev/null @@ -1,114 +0,0 @@ -Subject: virt-xml: refactor the handling of --define and --update options -From: Pavel Hrdina phrdina@redhat.com Thu Jul 2 14:09:46 2015 +0200 -Date: Tue Jul 7 10:42:32 2015 -0400: -Git: 76bad650dea9f83305f4a77bf83dee34d79e5308 - -The code was wrong in many ways. The main issue was, that for live -updates we were using config XML instead of live XML. - -This patch fixes the --update and --define options to work properly as -described in man page. - -Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1192875 - -Signed-off-by: Pavel Hrdina - -diff --git a/virt-xml b/virt-xml -index 744af3d..5dbe2e1 100755 ---- a/virt-xml -+++ b/virt-xml -@@ -295,6 +295,33 @@ def update_changes(domain, devs, action, confirm): - print_stdout("") - - -+def prepare_changes(xmlobj, options, parsermap, parserobj): -+ origxml = xmlobj.get_xml_config() -+ -+ if options.edit != -1: -+ devs = action_edit(xmlobj, options, parsermap, parserobj) -+ action = "update" -+ -+ elif options.add_device: -+ devs = action_add_device(xmlobj, options, parsermap, parserobj) -+ action = "hotplug" -+ -+ elif options.remove_device: -+ devs = action_remove_device(xmlobj, options, parsermap, parserobj) -+ action = "hotunplug" -+ -+ newxml = xmlobj.get_xml_config() -+ diff = get_diff(origxml, newxml) -+ -+ if options.print_diff: -+ if diff: -+ print_stdout(diff) -+ elif options.print_xml: -+ print_stdout(newxml) -+ -+ return devs, action -+ -+ - ####################### - # CLI option handling # - ####################### -@@ -410,10 +437,6 @@ def main(conn=None): - elif not options.build_xml: - inactive_xmlobj = _make_guest(conn, options.stdinxml) - -- origxml = None -- if inactive_xmlobj: -- origxml = inactive_xmlobj.get_xml_config() -- - check_action_collision(options) - parserobj = check_xmlopt_collision(options, parsermap) - -@@ -421,42 +444,25 @@ def main(conn=None): - fail(_("Don't know how to --update for --%s") % - (parserobj.cli_arg_name)) - -- if options.edit != -1: -- devs = action_edit(inactive_xmlobj, options, parsermap, parserobj) -- action = "update" -- -- elif options.add_device: -- devs = action_add_device(inactive_xmlobj, options, -- parsermap, parserobj) -- action = "hotplug" -- -- elif options.remove_device: -- devs = action_remove_device(inactive_xmlobj, options, -- parsermap, parserobj) -- action = "hotunplug" -- -- elif options.build_xml: -+ if options.build_xml: - devs = action_build_xml(conn, options, parsermap, parserobj) - for dev in util.listify(devs): - print_stdout(dev.get_xml_config()) - return 0 - -- newxml = inactive_xmlobj.get_xml_config() -- diff = get_diff(origxml, newxml) -- -- if options.print_diff: -- if diff: -- print_stdout(diff) -- elif options.print_xml: -- print_stdout(newxml) -- - if options.update and active_xmlobj: -+ devs, action = prepare_changes(active_xmlobj, options, -+ parsermap, parserobj) - update_changes(domain, devs, action, options.confirm) - if options.define: -+ devs, action = prepare_changes(inactive_xmlobj, options, -+ parsermap, parserobj) - define_changes(conn, inactive_xmlobj, devs, action, options.confirm) - if not options.update and active_xmlobj: - print_stdout( - _("Changes will take effect after the next domain shutdown.")) -+ if not options.update and not options.define: -+ prepare_changes(inactive_xmlobj, options, parsermap, parserobj) - - return 0 - diff --git a/77423e7a-connection-catch-more-errors-in-filter_nodedevs.patch b/77423e7a-connection-catch-more-errors-in-filter_nodedevs.patch deleted file mode 100644 index 35c63b3c..00000000 --- a/77423e7a-connection-catch-more-errors-in-filter_nodedevs.patch +++ /dev/null @@ -1,27 +0,0 @@ -Subject: connection: catch more errors in filter_nodedevs (bug 1225771) -From: Cole Robinson crobinso@redhat.com Tue Jun 9 11:41:39 2015 -0400 -Date: Tue Jun 9 11:41:39 2015 -0400: -Git: 77423e7a8d2061f06f9f7d0b7a791821a134c8f7 - -https://bugzilla.redhat.com/show_bug.cgi?id=1225771 Has an example of -libvirt failing to generate nodedev XML, so handle that too. - -diff --git a/virtManager/connection.py b/virtManager/connection.py -index d40ace2..3ca13cc 100644 ---- a/virtManager/connection.py -+++ b/virtManager/connection.py -@@ -594,9 +594,11 @@ class vmmConnection(vmmGObject): - try: - xmlobj = dev.get_xmlobj() - except libvirt.libvirtError, e: -- if e.get_error_code() == libvirt.VIR_ERR_NO_NODE_DEVICE: -- continue -- raise -+ # Libvirt nodedev XML fetching can be busted -+ # https://bugzilla.redhat.com/show_bug.cgi?id=1225771 -+ if e.get_error_code() != libvirt.VIR_ERR_NO_NODE_DEVICE: -+ logging.debug("Error fetching nodedev XML", exc_info=True) -+ continue - - if devtype and xmlobj.device_type != devtype: - continue diff --git a/8dbe96fc-add-s390x-arch-support.patch b/8dbe96fc-add-s390x-arch-support.patch deleted file mode 100644 index db6bbc11..00000000 --- a/8dbe96fc-add-s390x-arch-support.patch +++ /dev/null @@ -1,254 +0,0 @@ -Subject: virt-manager : add support for architecture type "s390x". -From: Kevin Zhao kevinzs@linux.vnet.ibm.com Mon Jul 13 07:35:24 2015 -0400 -Date: Tue Jul 14 12:45:32 2015 -0400: -Git: 8dbe96fc01c1b563a3720fd9292bca1fcb97f326 - -For architecture "s390x",the disk and the network device are base -on "virtio" bus.The cdrom is based on "scsi".So set the default -cdrom bus as "scsi",the default bus as "virtio".Also the default -machine type is set to "s390-ccw-virtio" as it is the only supported -in "s390x".Also add a test cast of virt-install by cdrom in s390x. - -(crobinso: Tweak test suite and minor formatting stuff) - -diff --git a/tests/capabilities-xml/kvm-s390x.xml b/tests/capabilities-xml/kvm-s390x.xml -new file mode 100644 -index 0000000..039c2e0 ---- /dev/null -+++ b/tests/capabilities-xml/kvm-s390x.xml -@@ -0,0 +1,73 @@ -+ -+ -+ -+ b88e553c-5920-4aa8-bb09-cc0ab8e6e0c2 -+ -+ s390x -+ host -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ tcp -+ rdma -+ -+ -+ -+ -+ -+ 2878860 -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ selinux -+ 0 -+ system_u:system_r:svirt_t:s0 -+ system_u:system_r:svirt_tcg_t:s0 -+ -+ -+ dac -+ 0 -+ +107:+107 -+ +107:+107 -+ -+ -+ -+ -+ hvm -+ -+ 64 -+ /usr/bin/qemu-system-s390x -+ s390 -+ s390-ccw -+ -+ /usr/bin/qemu-system-s390x -+ -+ -+ /usr/bin/qemu-system-s390x -+ s390 -+ s390-ccw -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -diff --git a/tests/cli-test-xml/compare/virt-install-s390x-cdrom.xml b/tests/cli-test-xml/compare/virt-install-s390x-cdrom.xml -new file mode 100644 -index 0000000..4d7b9c1 ---- /dev/null -+++ b/tests/cli-test-xml/compare/virt-install-s390x-cdrom.xml -@@ -0,0 +1,43 @@ -+ -+ foobar -+ 00000000-1111-2222-3333-444444444444 -+ 65536 -+ 65536 -+ 1 -+ -+ hvm -+ /kernel.img -+ /initrd.img -+ -+ -+ -+ -+ -+ -+ destroy -+ restart -+ restart -+ -+ /usr/bin/qemu-system-s390x -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -+ -diff --git a/tests/clitest.py b/tests/clitest.py -index 2e5df3b..fb63191 100644 ---- a/tests/clitest.py -+++ b/tests/clitest.py -@@ -76,6 +76,7 @@ test_files = { - 'URI-KVM-ARMV7L' : utils.uri_kvm_armv7l, - 'URI-KVM-AARCH64' : utils.uri_kvm_aarch64, - 'URI-KVM-PPC64LE' : utils.uri_kvm_ppc64le, -+ 'URI-KVM-S390X' : utils.uri_kvm_s390x, - 'URI-XEN': utils.uri_xen, - 'URI-LXC': utils.uri_lxc, - -@@ -694,6 +695,9 @@ c.add_compare("--arch ppc64 --machine pseries --boot network --disk %(EXISTIMG1) - c.add_compare("--arch ppc64 --boot network --disk %(EXISTIMG1)s --os-variant fedora20 --network none", "ppc64-machdefault-f20") - c.add_compare("--connect %(URI-KVM-PPC64LE)s --import --disk %(EXISTIMG1)s --os-variant fedora20", "ppc64le-kvm-import") - -+# s390x tests -+c.add_compare("--arch s390x --machine s390-ccw-virtio --connect %(URI-KVM-S390X)s --boot kernel=/kernel.img,initrd=/initrd.img --disk %(EXISTIMG1)s --disk %(EXISTIMG3)s,device=cdrom --os-variant fedora21", "s390x-cdrom") -+ - c.add_compare("--disk none --location %(EXISTIMG3)s --nonetworks", "location-iso") # Using --location iso mounting - c.add_compare("--disk %(EXISTIMG1)s --pxe --os-variant rhel6.4", "kvm-rhel6") # RHEL6 defaults - c.add_compare("--disk %(EXISTIMG1)s --pxe --os-variant rhel7.0", "kvm-rhel7") # RHEL7 defaults -diff --git a/tests/utils.py b/tests/utils.py -index 811016c..fe99155 100644 ---- a/tests/utils.py -+++ b/tests/utils.py -@@ -46,6 +46,7 @@ uri_kvm = (_uri_kvm_domcaps + _capsprefix + "kvm-x86_64.xml") - uri_kvm_armv7l = (_uri_kvm_domcaps + _capsprefix + "kvm-armv7l.xml") - uri_kvm_aarch64 = (_uri_kvm_domcaps + _capsprefix + "kvm-aarch64.xml") - uri_kvm_ppc64le = (_uri_kvm_domcaps + _capsprefix + "kvm-ppc64le.xml") -+uri_kvm_s390x = (_uri_kvm_domcaps + _capsprefix + "kvm-s390x.xml") - - uri_xen = uri_test + _capsprefix + "xen-rhel5.4.xml,xen" - uri_lxc = uri_test + _capsprefix + "lxc.xml,lxc" -diff --git a/virtManager/create.py b/virtManager/create.py -index 8401a7a..1005398 100644 ---- a/virtManager/create.py -+++ b/virtManager/create.py -@@ -409,7 +409,7 @@ class vmmCreate(vmmGObjectUI): - can_remote_url = self.conn.get_backend().support_remote_url_install() - - installable_arch = (self.capsinfo.arch in -- ["i686", "x86_64", "ppc64", "ppc64le", "ia64"]) -+ ["i686", "x86_64", "ppc64", "ppc64le", "ia64", "s390x"]) - - if self.capsinfo.arch == "aarch64": - try: -@@ -676,7 +676,8 @@ class vmmCreate(vmmGObjectUI): - archs.remove("i686") - archs.sort() - -- prios = ["x86_64", "i686", "aarch64", "armv7l", "ppc64", "ppc64le"] -+ prios = ["x86_64", "i686", "aarch64", "armv7l", "ppc64", "ppc64le", -+ "s390x"] - if self.conn.caps.host.cpu.arch not in prios: - prios = [] - else: -diff --git a/virtinst/capabilities.py b/virtinst/capabilities.py -index bed8596..5823da2 100644 ---- a/virtinst/capabilities.py -+++ b/virtinst/capabilities.py -@@ -323,6 +323,10 @@ class _CapsInfo(object): - if "vexpress-a15" in self.machines: - return "vexpress-a15" - -+ if self.arch in ["s390x"]: -+ if "s390-ccw-virtio" in self.machines: -+ return "s390-ccw-virtio" -+ - return None - - -diff --git a/virtinst/devicedisk.py b/virtinst/devicedisk.py -index 6ca76e5..679b0cd 100644 ---- a/virtinst/devicedisk.py -+++ b/virtinst/devicedisk.py -@@ -897,6 +897,9 @@ class VirtualDisk(VirtualDevice): - if self.is_cdrom(): - self.read_only = True - -+ if self.is_cdrom() and guest.os.is_s390x(): -+ self.bus = "scsi" -+ - if (guest.os.is_xenpv() and - self.type == VirtualDisk.TYPE_FILE and - self.driver_name is None and -diff --git a/virtinst/guest.py b/virtinst/guest.py -index bf4b70b..c958068 100644 ---- a/virtinst/guest.py -+++ b/virtinst/guest.py -@@ -987,6 +987,8 @@ class Guest(XMLBuilder): - d.bus = "sd" - elif self.os.is_q35(): - d.bus = "sata" -+ elif self.os.is_s390x(): -+ d.bus = "virtio" - else: - d.bus = "ide" - -diff --git a/virtinst/osxml.py b/virtinst/osxml.py -index 77771bd..f195f19 100644 ---- a/virtinst/osxml.py -+++ b/virtinst/osxml.py -@@ -71,6 +71,9 @@ class OSXML(XMLBuilder): - def is_pseries(self): - return self.is_ppc64() and self.machine == "pseries" - -+ def is_s390x(self): -+ return self.arch == "s390x" -+ - _XML_ROOT_NAME = "os" - _XML_PROP_ORDER = ["arch", "os_type", "loader", "loader_ro", "loader_type", - "nvram", "nvram_template", "kernel", "initrd", diff --git a/a9b303fb-fix-copy-host-cpu-definition.patch b/a9b303fb-fix-copy-host-cpu-definition.patch deleted file mode 100644 index 7db38dda..00000000 --- a/a9b303fb-fix-copy-host-cpu-definition.patch +++ /dev/null @@ -1,29 +0,0 @@ -Subject: virtinst.cpu: fix copy host cpu definition -From: Pavel Hrdina phrdina@redhat.com Tue Jul 14 15:53:25 2015 +0200 -Date: Tue Jul 14 11:53:02 2015 -0400: -Git: a9b303fb141df5b2d2051c6b4ed489dbb09952f8 - -Commit cac4ac14 updated cpu features to use XMLBuilder and this change -removes the 'Features' class. There is no longer any '.names()' -method to return names, so just cycle through all features and use a -name attribute instead. - -Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1240938 - -Signed-off-by: Pavel Hrdina - -diff --git a/virtinst/cpu.py b/virtinst/cpu.py -index b12fd30..fb17bb7 100644 ---- a/virtinst/cpu.py -+++ b/virtinst/cpu.py -@@ -104,8 +104,8 @@ class CPU(XMLBuilder): - - for feature in self.features: - self.remove_feature(feature) -- for name in cpu.features.names(): -- self.add_feature(name) -+ for feature in cpu.features: -+ self.add_feature(feature.name) - - def vcpus_from_topology(self): - """ diff --git a/aebebbf8-report-an-error-for-pxe-install-without-network.patch b/aebebbf8-report-an-error-for-pxe-install-without-network.patch deleted file mode 100644 index cab60803..00000000 --- a/aebebbf8-report-an-error-for-pxe-install-without-network.patch +++ /dev/null @@ -1,41 +0,0 @@ -Subject: virt-install: report an error for pxe install without network -From: Pavel Hrdina phrdina@redhat.com Thu Aug 6 14:43:00 2015 +0200 -Date: Thu Aug 6 14:56:30 2015 +0200: -Git: aebebbf879ff33af38f858aebc01a5de1cafb1a7 - -Fix a regression where we used to report an error message if user -specified pxe installation without any network (--nonetworks or ---network none). - -Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1250382 - -Signed-off-by: Pavel Hrdina - -Index: virt-manager-1.2.1/tests/clitest.py -=================================================================== ---- virt-manager-1.2.1.orig/tests/clitest.py -+++ virt-manager-1.2.1/tests/clitest.py -@@ -746,8 +746,8 @@ c.add_valid("--mac 22:22:33:44:55:AF") - c.add_valid("--bridge mybr0 --mac 22:22:33:44:55:AF") # Old bridge w/ mac - c.add_valid("--network bridge:mybr0,model=e1000") # --network bridge: - c.add_valid("--network network:default --mac RANDOM") # VirtualNetwork with a random macaddr --c.add_valid("--nonetworks") # no networks - c.add_valid("--vnc --keymap=local") # --keymap local -+c.add_invalid("--nonetworks") # no networks - c.add_invalid("--graphics vnc --vnclisten 1.2.3.4") # mixing old and new - c.add_invalid("--network=FOO") # Nonexistent network - c.add_invalid("--mac 1234") # Invalid mac -Index: virt-manager-1.2.1/virt-install -=================================================================== ---- virt-manager-1.2.1.orig/virt-install -+++ virt-manager-1.2.1/virt-install -@@ -226,6 +226,9 @@ def convert_old_networks(options): - fail(_("Cannot use --nonetworks with --network")) - options.network = ["none"] - -+ if options.pxe and options.network and "none" in options.network: -+ fail(_("Can't use --pxe without any network")) -+ - macs = virtinst.util.listify(options.mac) - networks = virtinst.util.listify(options.network) - bridges = virtinst.util.listify(options.bridge) diff --git a/cde2f0ef-Suppress-gi-warnings-about-lack-of-require_version.patch b/cde2f0ef-Suppress-gi-warnings-about-lack-of-require_version.patch deleted file mode 100644 index 1288703f..00000000 --- a/cde2f0ef-Suppress-gi-warnings-about-lack-of-require_version.patch +++ /dev/null @@ -1,31 +0,0 @@ -Subject: Suppress gi warnings about lack of require_version -From: Cole Robinson crobinso@redhat.com Thu Sep 3 17:31:43 2015 -0400 -Date: Thu Sep 3 17:31:43 2015 -0400: -Git: cde2f0ef676583d2bedf75b3717cdf97a74ba837 - - -diff --git a/virt-manager b/virt-manager -index 2f501e4..0a9d4b4 100755 ---- a/virt-manager -+++ b/virt-manager -@@ -28,6 +28,7 @@ import traceback - - import gi - from gi.repository import GObject -+gi.require_version('LibvirtGLib', '1.0') - from gi.repository import LibvirtGLib - - from virtinst import util as util -diff --git a/virtinst/osdict.py b/virtinst/osdict.py -index b70d387..085b27a 100644 ---- a/virtinst/osdict.py -+++ b/virtinst/osdict.py -@@ -23,6 +23,8 @@ import datetime - import logging - import re - -+import gi -+gi.require_version('Libosinfo', '1.0') - from gi.repository import Libosinfo as libosinfo - - diff --git a/eb92178e-virtinst-fix-storage-pool-lookup.patch b/eb92178e-virtinst-fix-storage-pool-lookup.patch deleted file mode 100644 index 38b7b6de..00000000 --- a/eb92178e-virtinst-fix-storage-pool-lookup.patch +++ /dev/null @@ -1,36 +0,0 @@ -Subject: storage: fix default storage pool lookup -From: Charles Arnold carnold@suse.com Wed Aug 12 16:00:14 2015 -0600 -Date: Mon Aug 31 18:25:37 2015 -0400: -Git: eb92178e0c208c20c658dd3f38caf377bb788ae4 - -virt-convert fails when the storage pool is already present but -is not called 'default'. - -If the 'default' pool has been removed but another pool uses the -default location of /var/lib/libvirt/images virt-convert will fail -to find the pool and attempt to create another one with the same -path. This causes the conversion to fail. - -Signed-off-by: Charles Arnold - -(crobinso: Remove now-redundant 'pass') - -diff --git a/virtinst/storage.py b/virtinst/storage.py -index 285acb8..d3d867a 100644 ---- a/virtinst/storage.py -+++ b/virtinst/storage.py -@@ -209,10 +209,12 @@ class StoragePool(_StorageObject): - try: - pool = conn.storagePoolLookupByName(name) - except libvirt.libvirtError: -- pass -+ # Try default pool path when "default" name fails -+ pool = StoragePool.lookup_pool_by_path(conn, path) - - if pool: -- return -+ # This is a libvirt pool object so create a StoragePool from it -+ return StoragePool(conn, parsexml=pool.XMLDesc(0)) - - try: - logging.debug("Attempting to build default pool with target '%s'", diff --git a/f30975c3-drop-cow-support.patch b/f30975c3-drop-cow-support.patch deleted file mode 100644 index bc15d1d3..00000000 --- a/f30975c3-drop-cow-support.patch +++ /dev/null @@ -1,39 +0,0 @@ -Reference: bsc#947288 -Subject: storage: remove cow as supported format -From: Charles Arnold carnold@suse.com Tue Sep 29 11:25:34 2015 -0600 -Date: Tue Sep 29 16:33:16 2015 -0400: -Git: f30975c3f8e2c009d778f143633c37c5656207f5 - -Support for this format was removed about a year ago from -qemu with this commit, - -commit 550830f9351291c585c963204ad9127998b1c1ce -Author: Stefan Hajnoczi -Date: Tue Sep 16 15:24:24 2014 +0100 - - block: delete cow block driver - -Signed-off-by: Charles Arnold - -Index: virt-manager-1.2.1/virtinst/storage.py -=================================================================== ---- virt-manager-1.2.1.orig/virtinst/storage.py -+++ virt-manager-1.2.1/virtinst/storage.py -@@ -542,7 +542,7 @@ class StorageVolume(_StorageObject): - """ - Base class for building and installing libvirt storage volume xml - """ -- ALL_FORMATS = ["raw", "bochs", "cloop", "cow", "dmg", "iso", "qcow", -+ ALL_FORMATS = ["raw", "bochs", "cloop", "dmg", "iso", "qcow", - "qcow2", "qed", "vmdk", "vpc", "fat", "vhd", "vdi"] - - @staticmethod -@@ -743,7 +743,7 @@ class StorageVolume(_StorageObject): - - def list_create_formats(self): - if self._supports_format(): -- return ["raw", "cow", "qcow", "qcow2", "qed", "vmdk", "vpc", "vdi"] -+ return ["raw", "qcow", "qcow2", "qed", "vmdk", "vpc", "vdi"] - return None - - diff --git a/f81358b0-dont-display-error-if-machine-is-missing-in-XML.patch b/f81358b0-dont-display-error-if-machine-is-missing-in-XML.patch deleted file mode 100644 index 4554c09e..00000000 --- a/f81358b0-dont-display-error-if-machine-is-missing-in-XML.patch +++ /dev/null @@ -1,29 +0,0 @@ -Subject: details: don't display error if machine is missing in XML -From: Pavel Hrdina phrdina@redhat.com Fri Jul 31 14:28:00 2015 +0200 -Date: Wed Aug 5 13:32:04 2015 +0200: -Git: f81358b02d58b709529a35268cbaf8ce098d803a - -Commint 0ddec919 updated the details page. Now the detail page of -existing domain cannot update the 'machine' value, only prints that -value. If we cannot get the machine from domain XML, don't pass a None, -but "Unknown" instead. This can happen if you are connecting with -virt-manager to really old libvirt, the machine value is present in -domain XML since libvirt v0.9.5. - -Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1238981 - -Signed-off-by: Pavel Hrdina - -diff --git a/virtManager/details.py b/virtManager/details.py -index 718f50a..8507bd0 100644 ---- a/virtManager/details.py -+++ b/virtManager/details.py -@@ -2457,7 +2457,7 @@ class vmmDetails(vmmGObjectUI): - self.widget("overview-firmware-label").set_text(firmware) - - # Machine settings -- machtype = self.vm.get_machtype() -+ machtype = self.vm.get_machtype() or _("Unknown") - if self.widget("machine-type").is_visible(): - uiutil.set_list_selection( - self.widget("machine-type"), machtype) diff --git a/fc93e154-fix-udp-tcp-host-vs-mode-UI.patch b/fc93e154-fix-udp-tcp-host-vs-mode-UI.patch deleted file mode 100644 index c2a71a37..00000000 --- a/fc93e154-fix-udp-tcp-host-vs-mode-UI.patch +++ /dev/null @@ -1,517 +0,0 @@ -Subject: addhardware: Fix udp/tcp host vs mode UI -From: Cole Robinson crobinso@redhat.com Sun Jun 21 15:14:30 2015 -0400 -Date: Sun Jun 21 15:14:30 2015 -0400: -Git: fc93e154dc522a997689fbb370eac2d87f80b146 - -We had the UI label names swapped, so were showing the incorrect fields - -diff --git a/ui/addhardware.ui b/ui/addhardware.ui -index a42f840..ec6a970 100644 ---- a/ui/addhardware.ui -+++ b/ui/addhardware.ui -@@ -79,13 +79,13 @@ - - True - False -- 0 -- 0 - 6 - 6 - Page title - True - fill -+ 0 -+ 0 - - - -@@ -155,10 +155,10 @@ - True - False - start -- 0 - _Device type: - True - config-storage-devtype -+ 0 - - - 0 -@@ -186,10 +186,10 @@ - - True - False -- 0 - _Bus type: - True - config-storage-bustype -+ 0 - - - 0 -@@ -228,10 +228,10 @@ - - True - False -- 0 - Stor_age format: - True - storage-format-combobox-entry -+ 0 - - - 0 -@@ -242,10 +242,10 @@ - - True - False -- 0 - Cac_he mode: - True - config-storage-cache -+ 0 - - - 0 -@@ -325,10 +325,10 @@ - - True - False -- 0 - _Type: - True - controller-type -+ 0 - - - 0 -@@ -339,10 +339,10 @@ - - True - False -- 0 - _Model: - True - controller-model -+ 0 - - - 0 -@@ -468,11 +468,11 @@ - - True - False -- 0 - _MAC address: - True - True - create-mac-address -+ 0 - - - 0 -@@ -483,10 +483,10 @@ - - True - False -- 0 - Device mode_l: - True - net-model -+ 0 - - - 0 -@@ -590,10 +590,10 @@ - - True - False -- 1 - _Type: - True - input-type -+ 1 - - - GTK_FILL -@@ -674,10 +674,10 @@ - - True - False -- 1 - _Model: - True - sound-model -+ 1 - - - GTK_FILL -@@ -711,11 +711,11 @@ - - True - False -- 0 - 1 - Host _Device: - True - host-device -+ 0 - - - GTK_FILL -@@ -820,10 +820,10 @@ - - True - False -- 0 - _Port: - True - char-port -+ 0 - - - False -@@ -869,10 +869,10 @@ - - True - False -- 0 - Po_rt: - True - char-bind-port -+ 0 - - - False -@@ -902,10 +902,10 @@ - - True - False -- 0 - _Path: - True - char-path -+ 0 - - - 0 -@@ -916,24 +916,24 @@ - - True - False -- 0 - _Mode: - True - char-mode -+ 0 - - - 0 -- 8 -+ 7 - - - - - True - False -- 0 - H_ost: - True - char-host -+ 0 - - - 0 -@@ -944,24 +944,24 @@ - - True - False -- 0 - _Bind Host: - True - char-mode -+ 0 - - - 0 -- 7 -+ 8 - - - - - True - False -- 0 - Use Te_lnet: - True - char-use-telnet -+ 0 - - - 0 -@@ -972,10 +972,10 @@ - - True - False -- 0 - Device _Type: - True - char-device-type -+ 0 - - - 0 -@@ -998,10 +998,10 @@ - - True - False -- 0 - T_ype: - True - char-target-type -+ 0 - - - 0 -@@ -1023,10 +1023,10 @@ - - True - False -- 0 - _Name: - True - combobox-entry -+ 0 - - - 0 -@@ -1083,10 +1083,10 @@ - - True - False -- 0 - _Channel: - True - char-channel -+ 0 - - - 0 -@@ -1142,10 +1142,10 @@ - - True - False -- 0 - _Model: - True - video-model -+ 0 - - - GTK_FILL -@@ -1192,10 +1192,10 @@ - - True - False -- 0 - _Model: - True - watchdog-model -+ 0 - - - GTK_FILL -@@ -1294,10 +1294,10 @@ - - True - False -- 1 - _Mode: - True - smartcard-mode -+ 1 - - - GTK_FILL -@@ -1347,10 +1347,10 @@ - - True - False -- 0 - _Port: - True - usbredir-service -+ 0 - - - False -@@ -1381,10 +1381,10 @@ - - True - False -- 1 - _Type: - True - usbredir-list -+ 1 - - - 0 -@@ -1395,10 +1395,10 @@ - - True - False -- 1 - _Host: - True - usbredir-host -+ 1 - - - 0 -@@ -1455,10 +1455,10 @@ - - True - False -- 0 - Device _Path: - True - tpm-device-path -+ 0 - - - 0 -@@ -1480,10 +1480,10 @@ - - True - False -- 1 - _Backend: - True - tpm-type -+ 1 - - - 0 -@@ -1516,10 +1516,10 @@ - - True - False -- 0 - _Type: - True - rng-type -+ 0 - - - 0 -@@ -1541,10 +1541,10 @@ - - True - False -- 0 - _Backend Type: - True - rng-backend-type -+ 0 - - - 0 -@@ -1566,10 +1566,10 @@ - - True - False -- 0 - Backend _Mode: - True - rng-backend-mode -+ 0 - - - 0 -@@ -1591,10 +1591,10 @@ - - True - False -- 0 - _Host: - True - rng-connect-host -+ 0 - - - 0 -@@ -1622,10 +1622,10 @@ - - True - False -- 0 - _Port: - True - rng-connect-service -+ 0 - - - False -@@ -1656,10 +1656,10 @@ - - True - False -- 0 - B_ind Host: - True - rng-bind-host -+ 0 - - - 0 -@@ -1687,10 +1687,10 @@ - - True - False -- 0 - P_ort: - True - rng-bind-service -+ 0 - - - False -@@ -1721,10 +1721,10 @@ - - True - False -- 0 - _Device: - True - rng-device -+ 0 - - - 0 -@@ -1768,10 +1768,10 @@ - - True - False -- 0 - Address _Type: - True - panic-type -+ 0 - - - 0 -@@ -1792,10 +1792,10 @@ - - True - False -- 0 - _IO Base: - True - panic-iobase -+ 0 - - - 0 diff --git a/virt-manager-1.2.1.tar.bz2 b/virt-manager-1.2.1.tar.bz2 deleted file mode 100644 index af2735df..00000000 --- a/virt-manager-1.2.1.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:d5677d96606ee3878891670d45bff6cb833def9436edbde7de8ff0529c967b80 -size 1357234 diff --git a/virt-manager-1.3.0.tar.bz2 b/virt-manager-1.3.0.tar.bz2 new file mode 100644 index 00000000..6e2f1581 --- /dev/null +++ b/virt-manager-1.3.0.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7fef858b8accf32ca62326b8ae7c5000d1d9e5921d664ca349fe8bd8a166903 +size 1393861 diff --git a/virt-manager.changes b/virt-manager.changes index b11a8854..33d3f891 100644 --- a/virt-manager.changes +++ b/virt-manager.changes @@ -1,3 +1,43 @@ +------------------------------------------------------------------- +Wed Nov 25 09:46:33 MST 2015 - carnold@suse.com + +- Update to virt-manager 1.3.0 + virt-manager-1.3.0.tar.bz2 + * Git hosting moved to http://github.com/virt-manager/virt-manager + * Switch translation infrastructure from transifex to fedora.zanata.org + * Add dogtail UI tests and infrastructure + * Improved support for s390x kvm (Kevin Zhao) + * virt-install and virt-manager now remove created disk images if VM install startup fails + * Replace urlgrabber usage with requests and urllib2 + * virt-install: add –network virtualport support for openvswitch (Daniel P. Berrange) + * virt-install: support multiple –security labels + * virt-install: support –features kvm_hidden=on|off (Pavel Hrdina) + * virt-install: add –features pmu=on|off + * virt-install: add –features pvspinlock=on|off (Abhijeet Kasurde) + * virt-install: add –events on_lockfailure=on|off (Abhijeet Kasurde) + * virt-install: add –network link_state=up|down + * virt-install: add –vcpu placement=static|auto +- Dropped + virt-manager-1.2.1.tar.bz2 + 34db1af7-fix-adding-iscsi-pools.patch + 360fe110-add-s390x-arch-support.patch + 4970615f-fix-qemu-vs-lxc-detection.patch + 590f5a52-urlfetcher-Clear-cached-ftp-connection-on-cleanupLoc.patch + 5e68b0fc-dont-try-to-set-vmport-on-non-x86.patch + 601a82cb-fix-console_type-if-xen.patch + 76bad650-fix-virt-xml-define-and-update.patch + 77423e7a-connection-catch-more-errors-in-filter_nodedevs.patch + 8dbe96fc-add-s390x-arch-support.patch + a9b303fb-fix-copy-host-cpu-definition.patch + aebebbf8-report-an-error-for-pxe-install-without-network.patch + cde2f0ef-Suppress-gi-warnings-about-lack-of-require_version.patch + eb92178e-virtinst-fix-storage-pool-lookup.patch + f30975c3-drop-cow-support.patch + f81358b0-dont-display-error-if-machine-is-missing-in-XML.patch + fc93e154-fix-udp-tcp-host-vs-mode-UI.patch + virtman-autoyast-support.patch + virtman-supported-disk-formats.patch + ------------------------------------------------------------------- Tue Nov 17 09:00:28 MST 2015 - carnold@suse.com diff --git a/virt-manager.spec b/virt-manager.spec index 3fc8f4d0..0eb47d1f 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -21,13 +21,13 @@ %define qemu_user "qemu" %define libvirt_kvm_packages "" %define libvirt_xen_packages "" -%define preferred_distros "sles12,opensuse13.2" +%define preferred_distros "sles12sp1,opensuse42.1" %define kvm_packages "" -%define _version 1.2.1 -%define _release 1 +%define _version 1.3.0 +%define _release 0 Name: virt-manager -Version: 1.2.1 +Version: 1.3.0 Release: 0 Summary: Virtual Machine Manager License: GPL-2.0+ @@ -37,22 +37,6 @@ Source0: %{name}-%{version}.tar.bz2 Source1: virt-install.rb Source2: virt-install.desktop # Upstream Patches -Patch1: 77423e7a-connection-catch-more-errors-in-filter_nodedevs.patch -Patch2: fc93e154-fix-udp-tcp-host-vs-mode-UI.patch -Patch3: 34db1af7-fix-adding-iscsi-pools.patch -Patch4: 76bad650-fix-virt-xml-define-and-update.patch -Patch5: a9b303fb-fix-copy-host-cpu-definition.patch -Patch6: 8dbe96fc-add-s390x-arch-support.patch -Patch7: f81358b0-dont-display-error-if-machine-is-missing-in-XML.patch -Patch8: aebebbf8-report-an-error-for-pxe-install-without-network.patch -Patch9: 4970615f-fix-qemu-vs-lxc-detection.patch -Patch10: eb92178e-virtinst-fix-storage-pool-lookup.patch -Patch11: 5e68b0fc-dont-try-to-set-vmport-on-non-x86.patch -Patch12: 360fe110-add-s390x-arch-support.patch -Patch13: 590f5a52-urlfetcher-Clear-cached-ftp-connection-on-cleanupLoc.patch -Patch14: 601a82cb-fix-console_type-if-xen.patch -Patch15: f30975c3-drop-cow-support.patch -Patch16: cde2f0ef-Suppress-gi-warnings-about-lack-of-require_version.patch # SUSE Only Patch70: virtman-desktop.patch Patch71: virtman-kvm.patch @@ -66,10 +50,9 @@ Patch77: virtinst-nfs-install-sanitize.patch Patch100: virtman-eepro100.patch Patch101: virtman-default-guest-from-host-os.patch Patch102: virtman-default-to-xen-pv.patch -Patch103: virtman-autoyast-support.patch -Patch104: virtman-packages.patch -Patch105: virtman-load-stored-uris.patch -Patch106: virtman-add-connect-default.patch +Patch103: virtman-packages.patch +Patch104: virtman-load-stored-uris.patch +Patch105: virtman-add-connect-default.patch Patch120: virtinst-storage-ocfs2.patch Patch121: virtinst-default-xen-to-qcow2-format.patch Patch122: virtinst-detect-oes-distros.patch @@ -81,12 +64,11 @@ Patch127: virtinst-set-qemu-emulator.patch Patch128: virtinst-add-ppc64-arch-support.patch Patch129: virtinst-s390x-disable-graphics.patch # Bug Fixes -Patch150: virtman-supported-disk-formats.patch -Patch151: virtman-prevent-double-click-starting-vm-twice.patch -Patch152: virtman-increase-setKeepAlive-count.patch -Patch153: virtman-allow-destroy-from-shutdown-menu-of-crashed-vm.patch -Patch154: virtman-check-for-valid-display.patch -Patch155: virtman-allow-creating-i686-vm.patch +Patch150: virtman-prevent-double-click-starting-vm-twice.patch +Patch151: virtman-increase-setKeepAlive-count.patch +Patch152: virtman-allow-destroy-from-shutdown-menu-of-crashed-vm.patch +Patch153: virtman-check-for-valid-display.patch +Patch154: virtman-allow-creating-i686-vm.patch Patch160: virtinst-xen-drive-type.patch Patch161: virtinst-xenbus-disk-index-fix.patch Patch162: virtinst-refresh_before_fetch_pool.patch @@ -112,6 +94,7 @@ Requires: python-libguestfs %endif BuildRequires: glib2-devel +BuildRequires: gtk2-tools BuildRequires: intltool BuildRequires: perl BuildRequires: python @@ -158,6 +141,7 @@ Group: System/Monitoring Requires: virt-manager-common = %{verrel} +Requires: python-requests Provides: python-virtinst Provides: virt-clone Provides: virt-convert @@ -173,22 +157,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 # SUSE Only %patch70 -p1 %patch71 -p1 @@ -205,7 +173,6 @@ machine). %patch103 -p1 %patch104 -p1 %patch105 -p1 -%patch106 -p1 %patch120 -p1 %patch121 -p1 %patch122 -p1 @@ -217,12 +184,11 @@ machine). %patch128 -p1 %patch129 -p1 # Bug Fixes -%patch150 -p1 +%patch150 -p1 Removed upstream %patch151 -p1 %patch152 -p1 %patch153 -p1 %patch154 -p1 -%patch155 -p1 %patch160 -p1 %patch161 -p1 %patch162 -p1 @@ -308,9 +274,11 @@ fi %dir /usr/share/icons/hicolor/*/apps %{_datadir}/%{name}/icons %{_datadir}/icons/hicolor/*/apps/* +%{_datadir}/icons/hicolor/icon-theme.cache %{_datadir}/appdata/%{name}.appdata.xml %{_datadir}/applications/%{name}.desktop +%{_datadir}/glib-2.0/schemas/gschemas.compiled %{_datadir}/glib-2.0/schemas/org.virt-manager.virt-manager.gschema.xml %{_datadir}/GConf/gsettings/org.virt-manager.virt-manager.convert diff --git a/virtinst-add-default-rng-device.patch b/virtinst-add-default-rng-device.patch index 2552f225..e0b58344 100644 --- a/virtinst-add-default-rng-device.patch +++ b/virtinst-add-default-rng-device.patch @@ -1,9 +1,9 @@ References: bnc#885308 Enhancement to add a virtio RNG device to non windows VMs. -Index: virt-manager-1.2.1/virtinst/guest.py +Index: virt-manager-1.3.0/virtinst/guest.py =================================================================== ---- virt-manager-1.2.1.orig/virtinst/guest.py -+++ virt-manager-1.2.1/virtinst/guest.py +--- virt-manager-1.3.0.orig/virtinst/guest.py ++++ virt-manager-1.3.0/virtinst/guest.py @@ -54,6 +54,7 @@ from .pm import PM from .seclabel import Seclabel from .xmlbuilder import XMLBuilder, XMLProperty, XMLChildProperty @@ -12,7 +12,7 @@ Index: virt-manager-1.2.1/virtinst/guest.py class Guest(XMLBuilder): -@@ -674,6 +675,15 @@ class Guest(XMLBuilder): +@@ -711,6 +712,15 @@ class Guest(XMLBuilder): return self.add_device(VirtualGraphics(self.conn)) @@ -28,7 +28,7 @@ Index: virt-manager-1.2.1/virtinst/guest.py def add_default_devices(self): self.add_default_graphics() self.add_default_video_device() -@@ -681,6 +691,7 @@ class Guest(XMLBuilder): +@@ -718,6 +728,7 @@ class Guest(XMLBuilder): self.add_default_console_device() self.add_default_usb_controller() self.add_default_channels() diff --git a/virtinst-add-ppc64-arch-support.patch b/virtinst-add-ppc64-arch-support.patch index c9baf44d..c88a5b5c 100644 --- a/virtinst-add-ppc64-arch-support.patch +++ b/virtinst-add-ppc64-arch-support.patch @@ -1,10 +1,10 @@ Reference: bnc#869024 Add s390x and ppc64 support -Index: virt-manager-1.2.1/virtinst/urlfetcher.py +Index: virt-manager-1.3.0/virtinst/urlfetcher.py =================================================================== ---- virt-manager-1.2.1.orig/virtinst/urlfetcher.py -+++ virt-manager-1.2.1/virtinst/urlfetcher.py -@@ -374,6 +374,10 @@ def _distroFromSUSEContent(fetcher, arch +--- virt-manager-1.3.0.orig/virtinst/urlfetcher.py ++++ virt-manager-1.3.0/virtinst/urlfetcher.py +@@ -427,6 +427,10 @@ def _distroFromSUSEContent(fetcher, arch arch = "i586" elif cbuf.find("s390x") != -1: arch = "s390x" @@ -15,7 +15,7 @@ Index: virt-manager-1.2.1/virtinst/urlfetcher.py dclass = GenericDistro if distribution: -@@ -943,10 +947,12 @@ class SuseDistro(Distro): +@@ -966,10 +970,12 @@ class SuseDistro(Distro): oldkern += "64" oldinit += "64" diff --git a/virtinst-default-xen-to-qcow2-format.patch b/virtinst-default-xen-to-qcow2-format.patch index eae2e2ef..53aa763e 100644 --- a/virtinst-default-xen-to-qcow2-format.patch +++ b/virtinst-default-xen-to-qcow2-format.patch @@ -1,9 +1,9 @@ Reference: bnc#885380 Allow Xen based VMs to default to using qcow2 -Index: virt-manager-1.1.0/virtinst/support.py +Index: virt-manager-1.3.0/virtinst/support.py =================================================================== ---- virt-manager-1.1.0.orig/virtinst/support.py -+++ virt-manager-1.1.0/virtinst/support.py +--- virt-manager-1.3.0.orig/virtinst/support.py ++++ virt-manager-1.3.0/virtinst/support.py @@ -258,7 +258,7 @@ SUPPORT_CONN_DISK_SD = _make(version="1. # 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 c1f2d633..7ef3c990 100644 --- a/virtinst-detect-oes-distros.patch +++ b/virtinst-detect-oes-distros.patch @@ -1,10 +1,10 @@ Enhancement to correctly detect Open Enterprise Server media is selected as the installation source. -Index: virt-manager-1.2.1/virtinst/urlfetcher.py +Index: virt-manager-1.3.0/virtinst/urlfetcher.py =================================================================== ---- virt-manager-1.2.1.orig/virtinst/urlfetcher.py -+++ virt-manager-1.2.1/virtinst/urlfetcher.py -@@ -386,6 +386,10 @@ def _distroFromSUSEContent(fetcher, arch +--- virt-manager-1.3.0.orig/virtinst/urlfetcher.py ++++ virt-manager-1.3.0/virtinst/urlfetcher.py +@@ -439,6 +439,10 @@ def _distroFromSUSEContent(fetcher, arch dclass = SLEDDistro if distro_version is None: distro_version = ['VERSION', distribution[1].strip().rsplit(' ')[4]] diff --git a/virtinst-modify-gui-defaults.patch b/virtinst-modify-gui-defaults.patch index 1e8fa06c..f5c49321 100644 --- a/virtinst-modify-gui-defaults.patch +++ b/virtinst-modify-gui-defaults.patch @@ -3,14 +3,14 @@ Enhancement for the following GUI wizard installation options. is the default 2) Under 'Network selection' default to a bridge that has an actual IP address if available (not just the first one found). -Index: virt-manager-1.1.0/virtManager/create.py +Index: virt-manager-1.3.0/virtManager/create.py =================================================================== ---- virt-manager-1.1.0.orig/virtManager/create.py -+++ virt-manager-1.1.0/virtManager/create.py -@@ -331,7 +331,19 @@ class vmmCreate(vmmGObjectUI): +--- virt-manager-1.3.0.orig/virtManager/create.py ++++ virt-manager-1.3.0/virtManager/create.py +@@ -371,7 +371,19 @@ class vmmCreate(vmmGObjectUI): self.widget("method-local").set_active(True) self.widget("create-conn").set_active(-1) - activeconn = self.populate_conn_list(urihint) + activeconn = self._populate_conn_list(urihint) - self.widget("arch-expander").set_expanded(False) + # For Xen have the expander open so users can see PV is the default + if activeconn and activeconn.is_xen(): @@ -26,12 +26,12 @@ Index: virt-manager-1.1.0/virtManager/create.py + self.widget("method-local").set_active(False) + self.widget("method-tree").set_active(True) - try: - self.set_conn(activeconn, force_validate=True) -Index: virt-manager-1.1.0/virtManager/netlist.py + if self._set_conn(activeconn) is False: + return False +Index: virt-manager-1.3.0/virtManager/netlist.py =================================================================== ---- virt-manager-1.1.0.orig/virtManager/netlist.py -+++ virt-manager-1.1.0/virtManager/netlist.py +--- virt-manager-1.3.0.orig/virtManager/netlist.py ++++ virt-manager-1.3.0/virtManager/netlist.py @@ -167,9 +167,19 @@ class vmmNetworkList(vmmGObjectUI): return rows, vnet_bridges, default_label @@ -70,4 +70,4 @@ Index: virt-manager-1.1.0/virtManager/netlist.py + return rows, default_label - def _populate_network_list(self): + def _populate_network_model(self, model): diff --git a/virtinst-nfs-install-sanitize.patch b/virtinst-nfs-install-sanitize.patch index cfb27738..586fff3c 100644 --- a/virtinst-nfs-install-sanitize.patch +++ b/virtinst-nfs-install-sanitize.patch @@ -5,14 +5,14 @@ A fix for accessing nfs mounted media. A comment in the code states, and carry the latter form around internally" We need the RFC version to work correctly whereas redhat's anaconda needs their own modified version. -Index: virt-manager-1.2.1/virtinst/util.py +Index: virt-manager-1.3.0/virtinst/util.py =================================================================== ---- virt-manager-1.2.1.orig/virtinst/util.py -+++ virt-manager-1.2.1/virtinst/util.py -@@ -561,3 +561,22 @@ def getInstallRepos(enabled_sources_only - zypper_output.insert(0, dom0_inst_source) +--- virt-manager-1.3.0.orig/virtinst/util.py ++++ virt-manager-1.3.0/virtinst/util.py +@@ -552,3 +552,22 @@ def getInstallRepos(enabled_sources_only return (index_dom0, zypper_output) + +def sanitize_url(url): + """ + Do nothing for http or ftp, but make sure nfs is in the expected format @@ -32,11 +32,11 @@ Index: virt-manager-1.2.1/virtinst/util.py + + return url + -Index: virt-manager-1.2.1/virtinst/distroinstaller.py +Index: virt-manager-1.3.0/virtinst/distroinstaller.py =================================================================== ---- virt-manager-1.2.1.orig/virtinst/distroinstaller.py -+++ virt-manager-1.2.1/virtinst/distroinstaller.py -@@ -51,6 +51,8 @@ def _sanitize_url(url): +--- virt-manager-1.3.0.orig/virtinst/distroinstaller.py ++++ virt-manager-1.3.0/virtinst/distroinstaller.py +@@ -49,6 +49,8 @@ def _sanitize_url(url): """ Do nothing for http or ftp, but make sure nfs is in the expected format """ @@ -45,25 +45,25 @@ Index: virt-manager-1.2.1/virtinst/distroinstaller.py if url.startswith("nfs://"): # Convert RFC compliant NFS nfs://server/path/to/distro # to what mount/anaconda expect nfs:server:/path/to/distro -Index: virt-manager-1.2.1/virtinst/urlfetcher.py +Index: virt-manager-1.3.0/virtinst/urlfetcher.py =================================================================== ---- virt-manager-1.2.1.orig/virtinst/urlfetcher.py -+++ virt-manager-1.2.1/virtinst/urlfetcher.py -@@ -33,6 +33,7 @@ import urlparse - import urlgrabber.grabber as grabber +--- virt-manager-1.3.0.orig/virtinst/urlfetcher.py ++++ virt-manager-1.3.0/virtinst/urlfetcher.py +@@ -33,6 +33,7 @@ import urllib2 + import urlparse from .osdict import OSDB +from virtinst import util ######################################################################### -@@ -219,7 +220,8 @@ class _MountedImageFetcher(_LocalImageFe +@@ -295,7 +296,8 @@ class _MountedURLFetcher(_LocalURLFetche - logging.debug("Preparing mount at " + self.srcdir) + logging.debug("Preparing mount at " + self._srcdir) if self.location.startswith("nfs:"): -- cmd = [mountcmd, "-o", "ro", self.location[4:], self.srcdir] +- cmd = [mountcmd, "-o", "ro", self.location[4:], self._srcdir] + url = util.sanitize_url(self.location) -+ cmd = [mountcmd, "-o", "ro", url[4:], self.srcdir] ++ cmd = [mountcmd, "-o", "ro", url[4:], self._srcdir] else: if stat.S_ISBLK(os.stat(self.location)[stat.ST_MODE]): mountopt = "ro" diff --git a/virtinst-pvgrub2-bootloader.patch b/virtinst-pvgrub2-bootloader.patch index 6a7121c0..2d0c871e 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 newer suse distros like SLE12 and openSUSE 13.2. -Index: virt-manager-1.2.1/virtinst/guest.py +Index: virt-manager-1.3.0/virtinst/guest.py =================================================================== ---- virt-manager-1.2.1.orig/virtinst/guest.py -+++ virt-manager-1.2.1/virtinst/guest.py -@@ -358,8 +358,19 @@ class Guest(XMLBuilder): +--- virt-manager-1.3.0.orig/virtinst/guest.py ++++ virt-manager-1.3.0/virtinst/guest.py +@@ -365,8 +365,19 @@ class Guest(XMLBuilder): if (not install and self.os.is_xenpv() and not self.os.kernel): @@ -28,10 +28,10 @@ Index: virt-manager-1.2.1/virtinst/guest.py return self.get_xml_config() -Index: virt-manager-1.2.1/virtinst/installer.py +Index: virt-manager-1.3.0/virtinst/installer.py =================================================================== ---- virt-manager-1.2.1.orig/virtinst/installer.py -+++ virt-manager-1.2.1/virtinst/installer.py +--- virt-manager-1.3.0.orig/virtinst/installer.py ++++ virt-manager-1.3.0/virtinst/installer.py @@ -99,7 +99,7 @@ class Installer(object): break return bootorder diff --git a/virtinst-refresh_before_fetch_pool.patch b/virtinst-refresh_before_fetch_pool.patch index 96f9bf9c..e684e04e 100644 --- a/virtinst-refresh_before_fetch_pool.patch +++ b/virtinst-refresh_before_fetch_pool.patch @@ -13,14 +13,14 @@ status affects the hypervisor connection. Signed-off-by: Chunyan Liu -Index: virt-manager-1.1.0/virtinst/pollhelpers.py +Index: virt-manager-1.3.0/virtinst/pollhelpers.py =================================================================== ---- virt-manager-1.1.0.orig/virtinst/pollhelpers.py -+++ virt-manager-1.1.0/virtinst/pollhelpers.py -@@ -132,6 +132,19 @@ def fetch_pools(backend, origmap, build_ +--- virt-manager-1.3.0.orig/virtinst/pollhelpers.py ++++ virt-manager-1.3.0/virtinst/pollhelpers.py +@@ -133,6 +133,19 @@ def fetch_pools(backend, origmap, build_ if backend.check_support( - backend.SUPPORT_CONN_LISTALLSTORAGEPOOLS) and not _force_old_poll: + 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 diff --git a/virtinst-replace-unar-with-other-archivers.patch b/virtinst-replace-unar-with-other-archivers.patch index 22764c3b..f9008eec 100644 --- a/virtinst-replace-unar-with-other-archivers.patch +++ b/virtinst-replace-unar-with-other-archivers.patch @@ -3,10 +3,10 @@ We don't ship unar with any suse distro (not even in Factory). Until we do, keep this patch to execute the correct archiver program. -Index: virt-manager-1.2.1/virtconv/formats.py +Index: virt-manager-1.3.0/virtconv/formats.py =================================================================== ---- virt-manager-1.2.1.orig/virtconv/formats.py -+++ virt-manager-1.2.1/virtconv/formats.py +--- virt-manager-1.3.0.orig/virtconv/formats.py ++++ virt-manager-1.3.0/virtconv/formats.py @@ -118,6 +118,8 @@ def _find_input(input_file, parser, prin try: ext = os.path.splitext(input_file)[1] diff --git a/virtinst-s390x-disable-graphics.patch b/virtinst-s390x-disable-graphics.patch index 58d52d34..e255c825 100644 --- a/virtinst-s390x-disable-graphics.patch +++ b/virtinst-s390x-disable-graphics.patch @@ -1,9 +1,9 @@ Reference: bnc#869024 Disable graphics on s390x -Index: virt-manager-1.2.1/virtinst/guest.py +Index: virt-manager-1.3.0/virtinst/guest.py =================================================================== ---- virt-manager-1.2.1.orig/virtinst/guest.py -+++ virt-manager-1.2.1/virtinst/guest.py +--- virt-manager-1.3.0.orig/virtinst/guest.py ++++ virt-manager-1.3.0/virtinst/guest.py @@ -123,7 +123,10 @@ class Guest(XMLBuilder): self.skip_default_channel = False self.skip_default_sound = False @@ -16,13 +16,7 @@ Index: virt-manager-1.2.1/virtinst/guest.py self.x86_cpu_default = self.cpu.SPECIAL_MODE_HOST_MODEL_ONLY self.__os_object = None -@@ -623,11 +626,13 @@ class Guest(XMLBuilder): - self.conn.check_support( - self.conn.SUPPORT_CONN_VIRTIO_CONSOLE)): - dev.target_type = "virtio" -+ elif self.os.is_s390x(): -+ dev.target_type = "sclp" - +@@ -662,7 +665,7 @@ class Guest(XMLBuilder): self.add_device(dev) def add_default_video_device(self): @@ -31,7 +25,16 @@ Index: virt-manager-1.2.1/virtinst/guest.py return if self.get_devices("video"): return -@@ -672,7 +677,7 @@ class Guest(XMLBuilder): +@@ -700,6 +703,8 @@ class Guest(XMLBuilder): + dev.target_type = "virtio" + dev.target_name = dev.CHANNEL_NAME_QEMUGA + self.add_device(dev) ++ elif self.os.is_s390x(): ++ dev.target_type = "sclp" + + def add_default_graphics(self): + if self.skip_default_graphics: +@@ -708,7 +713,7 @@ class Guest(XMLBuilder): return if self.os.is_container(): return @@ -40,7 +43,7 @@ Index: virt-manager-1.2.1/virtinst/guest.py return self.add_device(VirtualGraphics(self.conn)) -@@ -1000,7 +1005,7 @@ class Guest(XMLBuilder): +@@ -1052,7 +1057,7 @@ class Guest(XMLBuilder): if self._hv_only_supports_virtio(): return True diff --git a/virtinst-set-cache-mode-unsafe-for-install.patch b/virtinst-set-cache-mode-unsafe-for-install.patch index 9c874297..3d2f0a63 100644 --- a/virtinst-set-cache-mode-unsafe-for-install.patch +++ b/virtinst-set-cache-mode-unsafe-for-install.patch @@ -1,9 +1,9 @@ Set cache mode for target installation disk to unsafe for better performance. -Index: virt-manager-1.2.1/virtinst/guest.py +Index: virt-manager-1.3.0/virtinst/guest.py =================================================================== ---- virt-manager-1.2.1.orig/virtinst/guest.py -+++ virt-manager-1.2.1/virtinst/guest.py +--- virt-manager-1.3.0.orig/virtinst/guest.py ++++ virt-manager-1.3.0/virtinst/guest.py @@ -53,6 +53,7 @@ from .osxml import OSXML from .pm import PM from .seclabel import Seclabel @@ -12,7 +12,7 @@ Index: virt-manager-1.2.1/virtinst/guest.py class Guest(XMLBuilder): -@@ -354,6 +355,17 @@ class Guest(XMLBuilder): +@@ -361,6 +362,17 @@ class Guest(XMLBuilder): self._set_osxml_defaults() @@ -30,7 +30,7 @@ Index: virt-manager-1.2.1/virtinst/guest.py self.bootloader = None if (not install and self.os.is_xenpv() and -@@ -372,7 +384,10 @@ class Guest(XMLBuilder): +@@ -379,7 +391,10 @@ class Guest(XMLBuilder): self.bootloader = "/usr/bin/pygrub" self.os.clear() @@ -41,4 +41,4 @@ Index: virt-manager-1.2.1/virtinst/guest.py + return xml_config - ############## + ########################### diff --git a/virtinst-set-qemu-emulator.patch b/virtinst-set-qemu-emulator.patch index 33bfa0e6..44951262 100644 --- a/virtinst-set-qemu-emulator.patch +++ b/virtinst-set-qemu-emulator.patch @@ -1,19 +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-1.2.1/virtinst/guest.py +Index: virt-manager-1.3.0/virtinst/guest.py =================================================================== ---- virt-manager-1.2.1.orig/virtinst/guest.py -+++ virt-manager-1.2.1/virtinst/guest.py -@@ -19,6 +19,7 @@ - # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, - # MA 02110-1301 USA. - -+import os - import logging - - import urlgrabber.progress as progress -@@ -810,14 +811,29 @@ class Guest(XMLBuilder): +--- virt-manager-1.3.0.orig/virtinst/guest.py ++++ virt-manager-1.3.0/virtinst/guest.py +@@ -849,14 +849,29 @@ class Guest(XMLBuilder): self.emulator = None return diff --git a/virtinst-storage-ocfs2.patch b/virtinst-storage-ocfs2.patch index 963dd1ee..25810da6 100644 --- a/virtinst-storage-ocfs2.patch +++ b/virtinst-storage-ocfs2.patch @@ -1,9 +1,9 @@ Enhancement to add ocfs2 as a supported FS type -Index: virt-manager-1.2.1/virtinst/storage.py +Index: virt-manager-1.3.0/virtinst/storage.py =================================================================== ---- virt-manager-1.2.1.orig/virtinst/storage.py -+++ virt-manager-1.2.1/virtinst/storage.py -@@ -449,7 +449,7 @@ class StoragePool(_StorageObject): +--- virt-manager-1.3.0.orig/virtinst/storage.py ++++ virt-manager-1.3.0/virtinst/storage.py +@@ -448,7 +448,7 @@ class StoragePool(_StorageObject): def list_formats(self): if self.type == self.TYPE_FS: return ["auto", "ext2", "ext3", "ext4", "ufs", "iso9660", "udf", diff --git a/virtinst-vol-default-nocow.patch b/virtinst-vol-default-nocow.patch index c9ee28c7..49386c54 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-1.2.1/virtinst/storage.py +Index: virt-manager-1.3.0/virtinst/storage.py =================================================================== ---- virt-manager-1.2.1.orig/virtinst/storage.py -+++ virt-manager-1.2.1/virtinst/storage.py -@@ -718,6 +718,11 @@ class StorageVolume(_StorageObject): +--- virt-manager-1.3.0.orig/virtinst/storage.py ++++ virt-manager-1.3.0/virtinst/storage.py +@@ -716,6 +716,11 @@ class StorageVolume(_StorageObject): lazy_refcounts = XMLProperty("./target/features/lazy_refcounts", is_bool=True, default_cb=_lazy_refcounts_default_cb) diff --git a/virtinst-xen-drive-type.patch b/virtinst-xen-drive-type.patch index fc3a794c..3a7e4d7a 100644 --- a/virtinst-xen-drive-type.patch +++ b/virtinst-xen-drive-type.patch @@ -2,27 +2,14 @@ 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-1.1.0/virtinst/devicedisk.py +Index: virt-manager-1.3.0/virtinst/devicedisk.py =================================================================== ---- virt-manager-1.1.0.orig/virtinst/devicedisk.py -+++ virt-manager-1.1.0/virtinst/devicedisk.py -@@ -572,6 +572,12 @@ class VirtualDisk(VirtualDevice): - return None - if self.conn.is_qemu(): - return self.DRIVER_QEMU -+ else: -+ drvtypes = ['qcow2', 'vmdk'] -+ if self.type in drvtypes: -+ return 'tap' -+ else: -+ return self.DRIVER_QEMU - return None - - def _get_default_driver_type(self): -@@ -585,6 +591,8 @@ class VirtualDisk(VirtualDevice): +--- virt-manager-1.3.0.orig/virtinst/devicedisk.py ++++ virt-manager-1.3.0/virtinst/devicedisk.py +@@ -557,6 +557,8 @@ class VirtualDisk(VirtualDevice): http://lists.gnu.org/archive/html/qemu-devel/2008-04/msg00675.html """ - if self.driver_name != self.DRIVER_QEMU: + if self.driver_name != self.DRIVER_NAME_QEMU: + if self.driver_name and self.type != 'file': + return self.type return None diff --git a/virtinst-xenbus-disk-index-fix.patch b/virtinst-xenbus-disk-index-fix.patch index a8dee054..c9ccf78d 100644 --- a/virtinst-xenbus-disk-index-fix.patch +++ b/virtinst-xenbus-disk-index-fix.patch @@ -6,11 +6,11 @@ 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-1.2.1/virtinst/devicedisk.py +Index: virt-manager-1.3.0/virtinst/devicedisk.py =================================================================== ---- virt-manager-1.2.1.orig/virtinst/devicedisk.py -+++ virt-manager-1.2.1/virtinst/devicedisk.py -@@ -1015,6 +1015,17 @@ class VirtualDisk(VirtualDevice): +--- virt-manager-1.3.0.orig/virtinst/devicedisk.py ++++ virt-manager-1.3.0/virtinst/devicedisk.py +@@ -976,6 +976,17 @@ class VirtualDisk(VirtualDevice): @rtype C{str} """ prefix, maxnode = self.get_target_prefix(skip_targets) @@ -28,7 +28,7 @@ Index: virt-manager-1.2.1/virtinst/devicedisk.py skip_targets = [t for t in skip_targets if t and t.startswith(prefix)] skip_targets.sort() -@@ -1028,7 +1039,12 @@ class VirtualDisk(VirtualDevice): +@@ -989,7 +1000,12 @@ class VirtualDisk(VirtualDevice): ran = range(pref_ctrl * 7, (pref_ctrl + 1) * 7) for i in ran: diff --git a/virtman-add-connect-default.patch b/virtman-add-connect-default.patch index 562ef71f..232e2d72 100644 --- a/virtman-add-connect-default.patch +++ b/virtman-add-connect-default.patch @@ -1,10 +1,10 @@ Enhancement for when no hypervisor can be found locally it opens the new connection dialog. -Index: virt-manager-1.2.1/virtManager/engine.py +Index: virt-manager-1.3.0/virtManager/engine.py =================================================================== ---- virt-manager-1.2.1.orig/virtManager/engine.py -+++ virt-manager-1.2.1/virtManager/engine.py -@@ -199,9 +199,6 @@ class vmmEngine(vmmGObject): +--- virt-manager-1.3.0.orig/virtManager/engine.py ++++ virt-manager-1.3.0/virtManager/engine.py +@@ -207,9 +207,6 @@ class vmmEngine(vmmGObject): except: logging.exception("Error talking to PackageKit") @@ -14,7 +14,7 @@ Index: virt-manager-1.2.1/virtManager/engine.py warnmsg = _("The 'libvirtd' service will need to be started.\n\n" "After that, virt-manager will connect to libvirt on\n" "the next application start up.") -@@ -215,7 +212,11 @@ class vmmEngine(vmmGObject): +@@ -223,7 +220,11 @@ class vmmEngine(vmmGObject): if not connected and do_start: manager.err.ok(_("Libvirt service must be started"), warnmsg) diff --git a/virtman-allow-creating-i686-vm.patch b/virtman-allow-creating-i686-vm.patch index f52dc063..84405409 100644 --- a/virtman-allow-creating-i686-vm.patch +++ b/virtman-allow-creating-i686-vm.patch @@ -1,13 +1,13 @@ References: bsc#919692 Because openSUSE repos combine 32 and 64 bit sources we need to continue showing the 'Architecture' pop-up. -Index: virt-manager-1.2.1/virtManager/create.py +Index: virt-manager-1.3.0/virtManager/create.py =================================================================== ---- virt-manager-1.2.1.orig/virtManager/create.py -+++ virt-manager-1.2.1/virtManager/create.py -@@ -689,11 +689,6 @@ class vmmCreate(vmmGObjectUI): +--- virt-manager-1.3.0.orig/virtManager/create.py ++++ virt-manager-1.3.0/virtManager/create.py +@@ -775,11 +775,6 @@ class vmmCreate(vmmGObjectUI): for guest in self.conn.caps.guests: - if guest.os_type == self.capsinfo.os_type: + if guest.os_type == self._capsinfo.os_type: archs.append(guest.arch) - - # Combine x86/i686 to avoid confusion 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 cd952e04..54a42307 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-1.2.1/virtManager/manager.py +Index: virt-manager-1.3.0/virtManager/manager.py =================================================================== ---- virt-manager-1.2.1.orig/virtManager/manager.py -+++ virt-manager-1.2.1/virtManager/manager.py -@@ -859,7 +859,7 @@ class vmmManager(vmmGObjectUI): +--- virt-manager-1.3.0.orig/virtManager/manager.py ++++ virt-manager-1.3.0/virtManager/manager.py +@@ -857,7 +857,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-1.2.1/virtManager/manager.py if vm and vm.managedsave_supported: self.change_run_text(vm.has_managed_save()) -Index: virt-manager-1.2.1/virtManager/vmmenu.py +Index: virt-manager-1.3.0/virtManager/vmmenu.py =================================================================== ---- virt-manager-1.2.1.orig/virtManager/vmmenu.py -+++ virt-manager-1.2.1/virtManager/vmmenu.py +--- virt-manager-1.3.0.orig/virtManager/vmmenu.py ++++ virt-manager-1.3.0/virtManager/vmmenu.py @@ -31,6 +31,7 @@ class _VMMenu(Gtk.Menu): self._parent = src self._current_vm_cb = current_vm_cb diff --git a/virtman-autoyast-support.patch b/virtman-autoyast-support.patch deleted file mode 100644 index 8abb05d4..00000000 --- a/virtman-autoyast-support.patch +++ /dev/null @@ -1,74 +0,0 @@ -Enhancement to switch the label from 'Kickstart' to 'Autoyast' when -a suse distro is selected. -Index: virt-manager-1.2.1/virtManager/create.py -=================================================================== ---- virt-manager-1.2.1.orig/virtManager/create.py -+++ virt-manager-1.2.1/virtManager/create.py -@@ -1257,11 +1257,34 @@ class vmmCreate(vmmGObjectUI): - self.populate_os_type_model() - return - -+ def _update_kickstart_label(self): -+ # Update label based on os version selected to either kickstart or autoyast -+ combo = self.widget("install-os-version") -+ if combo.get_active() != -1: -+ tree_iter = combo.get_active_iter() -+ if tree_iter != None: -+ model = combo.get_model() -+ unused, os_name = model[tree_iter][:2] -+ else: -+ entry = combo.get_child() -+ os_name = entry.get_text() -+ if os_name: -+ os_name = os_name.lower() -+ label = self.widget("kickstart-url-label") -+ if label and os_name: -+ if os_name.startswith('opensuse') or os_name.startswith('suse') or os_name.startswith('novell'): -+ label.set_text("AutoYaST URL:") -+ else: -+ label.set_text("Kickstart URL:") -+ label.show() -+ - def change_os_version(self, box): - show_all = uiutil.get_list_selection(box, column=3) - if not show_all: - return - -+ self._update_kickstart_label() -+ - # 'show all OS' was clicked - # Get previous type to reselect it later - type_row = self._selected_os_row() -@@ -1626,7 +1649,10 @@ class vmmCreate(vmmGObjectUI): - if extra: - extraargs += extra - if ks: -- extraargs += " ks=%s" % ks -+ if variant.startswith('opensuse') or variant.startswith('sle') or variant.startswith('oes'): -+ extraargs += " autoyast=%s" % ks -+ else: -+ extraargs += " ks=%s" % ks - - if extraargs: - self.guest.installer.extraargs = extraargs -@@ -2069,6 +2095,7 @@ class vmmCreate(vmmGObjectUI): - dl = self.set_os_val(self.widget("install-os-type"), distro_type) - vl = self.set_os_val(self.widget("install-os-version"), distro_var) - self.set_distro_labels(dl, vl) -+ self._update_kickstart_label() - - def check_detection(self, idx, forward): - results = None -Index: virt-manager-1.2.1/ui/create.ui -=================================================================== ---- virt-manager-1.2.1.orig/ui/create.ui -+++ virt-manager-1.2.1/ui/create.ui -@@ -843,7 +843,7 @@ bar - 6 - 4 - -- -+ - True - False - Kickstart URL: diff --git a/virtman-check-for-valid-display.patch b/virtman-check-for-valid-display.patch index 79625f20..6721f740 100644 --- a/virtman-check-for-valid-display.patch +++ b/virtman-check-for-valid-display.patch @@ -1,10 +1,10 @@ References: bnc#907958 Sanity check for those who forget '-X' on ssh and try to start virt-manager -Index: virt-manager-1.2.1/virt-manager +Index: virt-manager-1.3.0/virt-manager =================================================================== ---- virt-manager-1.2.1.orig/virt-manager -+++ virt-manager-1.2.1/virt-manager -@@ -182,8 +182,11 @@ def main(): +--- virt-manager-1.3.0.orig/virt-manager ++++ virt-manager-1.3.0/virt-manager +@@ -171,8 +171,11 @@ def main(): from gi.repository import Gtk leftovers = sys.argv[1:] diff --git a/virtman-default-guest-from-host-os.patch b/virtman-default-guest-from-host-os.patch index 1a014e68..5fcafe9b 100644 --- a/virtman-default-guest-from-host-os.patch +++ b/virtman-default-guest-from-host-os.patch @@ -1,9 +1,9 @@ Enhancement to default to the host os version when creating a VM and media detection of the install source is turned off. -Index: virt-manager-1.2.1/virtManager/create.py +Index: virt-manager-1.3.0/virtManager/create.py =================================================================== ---- virt-manager-1.2.1.orig/virtManager/create.py -+++ virt-manager-1.2.1/virtManager/create.py +--- virt-manager-1.3.0.orig/virtManager/create.py ++++ virt-manager-1.3.0/virtManager/create.py @@ -21,6 +21,8 @@ import logging import threading @@ -13,7 +13,7 @@ Index: virt-manager-1.2.1/virtManager/create.py from gi.repository import GObject from gi.repository import Gtk -@@ -843,7 +845,7 @@ class vmmCreate(vmmGObjectUI): +@@ -963,7 +965,7 @@ class vmmCreate(vmmGObjectUI): preferred = self.config.preferred_distros variants = virtinst.OSDB.list_os(typename=_type, sortpref=preferred) supportl = virtinst.OSDB.list_os(typename=_type, sortpref=preferred, @@ -22,9 +22,9 @@ Index: virt-manager-1.2.1/virtManager/create.py for v in variants: supported = v in supportl or v.name == "generic" -@@ -1174,6 +1176,53 @@ class vmmCreate(vmmGObjectUI): - return - self.start_detection(forward=forward) +@@ -1320,6 +1322,53 @@ class vmmCreate(vmmGObjectUI): + def _cdrom_changed(self, src): + self._detectable_media_widget_changed(src) + def _lookup_host_os(self): + if sys.platform == 'linux2': @@ -73,13 +73,13 @@ Index: virt-manager-1.2.1/virtManager/create.py + break + index += 1 + - def toggle_detect_os(self, src): + def _toggle_detect_os(self, src): dodetect = src.get_active() -@@ -1186,6 +1235,8 @@ class vmmCreate(vmmGObjectUI): +@@ -1332,6 +1381,8 @@ class vmmCreate(vmmGObjectUI): self.widget("install-os-version-entry").set_text("") - self.mediaDetected = False - self.detect_media_os() + self._os_already_detected_for_media = False + self._start_detect_os_if_needed() + else: + self.detect_host_os() diff --git a/virtman-default-to-xen-pv.patch b/virtman-default-to-xen-pv.patch index 85aa09d5..6b476b60 100644 --- a/virtman-default-to-xen-pv.patch +++ b/virtman-default-to-xen-pv.patch @@ -1,9 +1,9 @@ Enhancement to default to PV instead of HVM on Xen host. -Index: virt-manager-1.2.1/virtManager/create.py +Index: virt-manager-1.3.0/virtManager/create.py =================================================================== ---- virt-manager-1.2.1.orig/virtManager/create.py -+++ virt-manager-1.2.1/virtManager/create.py -@@ -878,7 +878,12 @@ class vmmCreate(vmmGObjectUI): +--- virt-manager-1.3.0.orig/virtManager/create.py ++++ virt-manager-1.3.0/virtManager/create.py +@@ -685,7 +685,12 @@ class vmmCreate(vmmGObjectUI): if gtype is None: # If none specified, prefer HVM so install options aren't limited # with a default PV choice. diff --git a/virtman-desktop.patch b/virtman-desktop.patch index 8e7a0849..620eb6d0 100644 --- a/virtman-desktop.patch +++ b/virtman-desktop.patch @@ -1,7 +1,7 @@ -Index: virt-manager-1.1.0/data/virt-manager.desktop.in +Index: virt-manager-1.3.0/data/virt-manager.desktop.in =================================================================== ---- virt-manager-1.1.0.orig/data/virt-manager.desktop.in -+++ virt-manager-1.1.0/data/virt-manager.desktop.in +--- virt-manager-1.3.0.orig/data/virt-manager.desktop.in ++++ virt-manager-1.3.0/data/virt-manager.desktop.in @@ -1,8 +1,19 @@ [Desktop Entry] _Name=Virtual Machine Manager diff --git a/virtman-dont-allow-grub.xen-to-be-deleted.patch b/virtman-dont-allow-grub.xen-to-be-deleted.patch index 64cb4bf8..4e3ec87e 100644 --- a/virtman-dont-allow-grub.xen-to-be-deleted.patch +++ b/virtman-dont-allow-grub.xen-to-be-deleted.patch @@ -1,11 +1,11 @@ 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-1.2.1/virtManager/delete.py +Index: virt-manager-1.3.0/virtManager/delete.py =================================================================== ---- virt-manager-1.2.1.orig/virtManager/delete.py -+++ virt-manager-1.2.1/virtManager/delete.py -@@ -253,7 +253,7 @@ def populate_storage_list(storage_list, +--- virt-manager-1.3.0.orig/virtManager/delete.py ++++ virt-manager-1.3.0/virtManager/delete.py +@@ -242,7 +242,7 @@ def populate_storage_list(storage_list, diskdata.append(("dtb", vm.get_xmlobj().os.dtb, True, False)) for target, path, ro, shared in diskdata: diff --git a/virtman-eepro100.patch b/virtman-eepro100.patch index 7498c8f3..44694c58 100644 --- a/virtman-eepro100.patch +++ b/virtman-eepro100.patch @@ -1,9 +1,9 @@ Enhancement to add the eepro100 NIC for KVM -Index: virt-manager-1.2.1/virtManager/addhardware.py +Index: virt-manager-1.3.0/virtManager/addhardware.py =================================================================== ---- virt-manager-1.2.1.orig/virtManager/addhardware.py -+++ virt-manager-1.2.1/virtManager/addhardware.py -@@ -571,6 +571,7 @@ class vmmAddHardware(vmmGObjectUI): +--- virt-manager-1.3.0.orig/virtManager/addhardware.py ++++ virt-manager-1.3.0/virtManager/addhardware.py +@@ -565,6 +565,7 @@ class vmmAddHardware(vmmGObjectUI): if vm.is_hvm(): mod_list = [] if vm.get_hv_type() in ["kvm", "qemu", "test"]: diff --git a/virtman-increase-setKeepAlive-count.patch b/virtman-increase-setKeepAlive-count.patch index 13b3077c..7f295108 100644 --- a/virtman-increase-setKeepAlive-count.patch +++ b/virtman-increase-setKeepAlive-count.patch @@ -2,11 +2,11 @@ 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-1.2.1/virtManager/connection.py +Index: virt-manager-1.3.0/virtManager/connection.py =================================================================== ---- virt-manager-1.2.1.orig/virtManager/connection.py -+++ virt-manager-1.2.1/virtManager/connection.py -@@ -906,7 +906,7 @@ class vmmConnection(vmmGObject): +--- virt-manager-1.3.0.orig/virtManager/connection.py ++++ virt-manager-1.3.0/virtManager/connection.py +@@ -945,7 +945,7 @@ class vmmConnection(vmmGObject): self.caps.get_cpu_values("x86_64") try: diff --git a/virtman-keycombo.patch b/virtman-keycombo.patch index 5e7be3bc..359edd0e 100644 --- a/virtman-keycombo.patch +++ b/virtman-keycombo.patch @@ -1,9 +1,9 @@ Enhancement adding Send Keys for mostly NetWare and also Windows -Index: virt-manager-1.1.0/virtManager/console.py +Index: virt-manager-1.3.0/virtManager/console.py =================================================================== ---- virt-manager-1.1.0.orig/virtManager/console.py -+++ virt-manager-1.1.0/virtManager/console.py -@@ -140,6 +140,16 @@ class vmmConsolePages(vmmGObjectUI): +--- virt-manager-1.3.0.orig/virtManager/console.py ++++ virt-manager-1.3.0/virtManager/console.py +@@ -141,6 +141,16 @@ class vmmConsolePages(vmmGObjectUI): make_item("Ctrl+Alt+_Backspace", ["Control_L", "Alt_L", "BackSpace"]) make_item("Ctrl+Alt+_Delete", ["Control_L", "Alt_L", "Delete"]) menu.add(Gtk.SeparatorMenuItem()) diff --git a/virtman-kvm.patch b/virtman-kvm.patch index ff9f696d..e0d751bd 100644 --- a/virtman-kvm.patch +++ b/virtman-kvm.patch @@ -1,9 +1,9 @@ /usr/bin/kvm doesn't exist on suse distros so check instead for /usr/bin/qemu-system-x86_64 -Index: virt-manager-1.1.0/virtManager/connect.py +Index: virt-manager-1.3.0/virtManager/connect.py =================================================================== ---- virt-manager-1.1.0.orig/virtManager/connect.py -+++ virt-manager-1.1.0/virtManager/connect.py +--- virt-manager-1.3.0.orig/virtManager/connect.py ++++ virt-manager-1.3.0/virtManager/connect.py @@ -114,7 +114,7 @@ class vmmConnect(vmmGObjectUI): if (os.path.exists("/usr/bin/qemu") or diff --git a/virtman-libvirtd-not-running.patch b/virtman-libvirtd-not-running.patch index 047f910a..81766d4d 100644 --- a/virtman-libvirtd-not-running.patch +++ b/virtman-libvirtd-not-running.patch @@ -1,8 +1,8 @@ Use the correct systemd to start libvirt. -Index: virt-manager-1.2.0/virtManager/packageutils.py +Index: virt-manager-1.3.0/virtManager/packageutils.py =================================================================== ---- virt-manager-1.2.0.orig/virtManager/packageutils.py -+++ virt-manager-1.2.0/virtManager/packageutils.py +--- virt-manager-1.3.0.orig/virtManager/packageutils.py ++++ virt-manager-1.3.0/virtManager/packageutils.py @@ -154,8 +154,8 @@ def start_libvirtd(): logging.debug("libvirtd not running, asking system-config-services " "to start it") diff --git a/virtman-load-stored-uris.patch b/virtman-load-stored-uris.patch index eb1ce770..d16e9c08 100644 --- a/virtman-load-stored-uris.patch +++ b/virtman-load-stored-uris.patch @@ -2,11 +2,11 @@ Reference: bnc#867749 When booted into the native kernel don't ask libvirt to make a local Xen connection and likewise when booted into the Xen kernel don't ask libvirt to connect to the local qemu. -Index: virt-manager-1.2.1/virtManager/engine.py +Index: virt-manager-1.3.0/virtManager/engine.py =================================================================== ---- virt-manager-1.2.1.orig/virtManager/engine.py -+++ virt-manager-1.2.1/virtManager/engine.py -@@ -223,9 +223,22 @@ class vmmEngine(vmmGObject): +--- virt-manager-1.3.0.orig/virtManager/engine.py ++++ virt-manager-1.3.0/virtManager/engine.py +@@ -231,9 +231,22 @@ class vmmEngine(vmmGObject): if not uris: return logging.debug("About to connect to uris %s", uris) diff --git a/virtman-packages.patch b/virtman-packages.patch index 03db9c4c..29d08403 100644 --- a/virtman-packages.patch +++ b/virtman-packages.patch @@ -4,11 +4,11 @@ This is not a normal situation on a suse distro. Split out required libvirt packages (kvm vs xen). Only install those libvirt packages for which the host is booted. This patch has a corresponding spec file change (%define libvirt_kvm_packages and %define libvirt_xen_packages). -Index: virt-manager-1.2.1/setup.py +Index: virt-manager-1.3.0/setup.py =================================================================== ---- virt-manager-1.2.1.orig/setup.py -+++ virt-manager-1.2.1/setup.py -@@ -280,8 +280,11 @@ class configure(Command): +--- virt-manager-1.3.0.orig/setup.py ++++ virt-manager-1.3.0/setup.py +@@ -299,8 +299,11 @@ class configure(distutils.core.Command): ("prefix=", None, "installation prefix"), ("qemu-user=", None, "user libvirt uses to launch qemu processes (default=root)"), @@ -22,7 +22,7 @@ Index: virt-manager-1.2.1/setup.py "first run. comma separated string (default=none)"), ("kvm-package-names=", None, "recommended kvm packages virt-manager will check for on first run " -@@ -307,7 +310,8 @@ class configure(Command): +@@ -326,7 +329,8 @@ class configure(distutils.core.Command): def initialize_options(self): self.prefix = sysprefix self.qemu_user = None @@ -32,7 +32,7 @@ Index: virt-manager-1.2.1/setup.py self.kvm_package_names = None self.askpass_package_names = None self.preferred_distros = None -@@ -322,8 +326,10 @@ class configure(Command): +@@ -341,8 +345,10 @@ class configure(distutils.core.Command): template += "prefix = %s\n" % self.prefix if self.qemu_user is not None: template += "default_qemu_user = %s\n" % self.qemu_user @@ -45,11 +45,11 @@ Index: virt-manager-1.2.1/setup.py if self.kvm_package_names is not None: template += "hv_packages = %s\n" % self.kvm_package_names if self.askpass_package_names is not None: -Index: virt-manager-1.2.1/virtcli/cliconfig.py +Index: virt-manager-1.3.0/virtcli/cliconfig.py =================================================================== ---- virt-manager-1.2.1.orig/virtcli/cliconfig.py -+++ virt-manager-1.2.1/virtcli/cliconfig.py -@@ -84,7 +84,8 @@ class _CLIConfig(object): +--- virt-manager-1.3.0.orig/virtcli/cliconfig.py ++++ virt-manager-1.3.0/virtcli/cliconfig.py +@@ -83,7 +83,8 @@ class _CLIConfig(object): _get_param("preferred_distros", "")) self.hv_packages = _split_list(_get_param("hv_packages", "")) self.askpass_package = _split_list(_get_param("askpass_packages", "")) @@ -59,11 +59,11 @@ Index: virt-manager-1.2.1/virtcli/cliconfig.py self.default_graphics = _get_param("default_graphics", "spice") self.default_hvs = _split_list(_get_param("default_hvs", "")) -Index: virt-manager-1.2.1/virtManager/config.py +Index: virt-manager-1.3.0/virtManager/config.py =================================================================== ---- virt-manager-1.2.1.orig/virtManager/config.py -+++ virt-manager-1.2.1/virtManager/config.py -@@ -165,7 +165,8 @@ class vmmConfig(object): +--- virt-manager-1.3.0.orig/virtManager/config.py ++++ virt-manager-1.3.0/virtManager/config.py +@@ -172,7 +172,8 @@ class vmmConfig(object): self.default_qemu_user = CLIConfig.default_qemu_user self.preferred_distros = CLIConfig.preferred_distros self.hv_packages = CLIConfig.hv_packages @@ -73,11 +73,11 @@ Index: virt-manager-1.2.1/virtManager/config.py self.askpass_package = CLIConfig.askpass_package self.default_graphics_from_config = CLIConfig.default_graphics self.default_hvs = CLIConfig.default_hvs -Index: virt-manager-1.2.1/virtManager/engine.py +Index: virt-manager-1.3.0/virtManager/engine.py =================================================================== ---- virt-manager-1.2.1.orig/virtManager/engine.py -+++ virt-manager-1.2.1/virtManager/engine.py -@@ -189,21 +189,18 @@ class vmmEngine(vmmGObject): +--- virt-manager-1.3.0.orig/virtManager/engine.py ++++ virt-manager-1.3.0/virtManager/engine.py +@@ -197,21 +197,18 @@ class vmmEngine(vmmGObject): ret = None try: diff --git a/virtman-prevent-double-click-starting-vm-twice.patch b/virtman-prevent-double-click-starting-vm-twice.patch index df9c8ffb..d06e5f46 100644 --- a/virtman-prevent-double-click-starting-vm-twice.patch +++ b/virtman-prevent-double-click-starting-vm-twice.patch @@ -3,11 +3,11 @@ When the 'Power on virtual machine' button is double clicked, virt-manager issues two start commands to start the VM which results in a failure. There is code elsewhere to desensitize the button but this patch does it earlier. -Index: virt-manager-1.2.1/virtManager/details.py +Index: virt-manager-1.3.0/virtManager/details.py =================================================================== ---- virt-manager-1.2.1.orig/virtManager/details.py -+++ virt-manager-1.2.1/virtManager/details.py -@@ -1465,6 +1465,9 @@ class vmmDetails(vmmGObjectUI): +--- virt-manager-1.3.0.orig/virtManager/details.py ++++ virt-manager-1.3.0/virtManager/details.py +@@ -1414,6 +1414,9 @@ class vmmDetails(vmmGObjectUI): self.widget("details-menu-usb-redirection").set_sensitive(can_usb) def control_vm_run(self, src_ignore): diff --git a/virtman-show-suse-install-repos.patch b/virtman-show-suse-install-repos.patch index 3a421a78..355ff497 100644 --- a/virtman-show-suse-install-repos.patch +++ b/virtman-show-suse-install-repos.patch @@ -2,48 +2,46 @@ Enhancement that gets the hosts installation location from install.inf and also collects the repos provided by zypper. These locations are then presented as potential installation locations when creating a VM. -Index: virt-manager-1.2.1/virtManager/create.py +Index: virt-manager-1.3.0/virtManager/create.py =================================================================== ---- virt-manager-1.2.1.orig/virtManager/create.py -+++ virt-manager-1.2.1/virtManager/create.py -@@ -359,7 +359,13 @@ class vmmCreate(vmmGObjectUI): +--- virt-manager-1.3.0.orig/virtManager/create.py ++++ virt-manager-1.3.0/virtManager/create.py +@@ -398,7 +398,13 @@ class vmmCreate(vmmGObjectUI): + self.widget("install-url-entry").set_text("") self.widget("install-url-options").set_expanded(False) - urlmodel = self.widget("install-url-box").get_model() - ksmodel = self.widget("install-ks-box").get_model() -- self.populate_media_model(urlmodel, self.config.get_media_urls()) + urlmodel = self.widget("install-url-combo").get_model() +- _populate_media_model(urlmodel, self.config.get_media_urls()) + urllist = self.config.get_media_urls() + (index, inst_repos) = util.getInstallRepos() + for u in urllist: + if u in inst_repos: + inst_repos.remove(u) + media_urllist = urllist + inst_repos -+ self.populate_media_model(urlmodel, media_urllist) - self.populate_media_model(ksmodel, self.config.get_kickstart_urls()) - self.set_distro_labels("-", "-", force=True) ++ _populate_media_model(urlmodel, media_urllist) + self._set_distro_labels("-", "-") -Index: virt-manager-1.2.1/virtinst/util.py + # Install import +Index: virt-manager-1.3.0/virtinst/util.py =================================================================== ---- virt-manager-1.2.1.orig/virtinst/util.py -+++ virt-manager-1.2.1/virtinst/util.py -@@ -23,11 +23,14 @@ import os - import random +--- virt-manager-1.3.0.orig/virtinst/util.py ++++ virt-manager-1.3.0/virtinst/util.py +@@ -24,9 +24,12 @@ import random import re import stat + import sys +import subprocess +from subprocess import Popen, PIPE import libvirt - - _host_blktap_capable = None +_host_repo_url = None - def listify(l): -@@ -462,3 +465,99 @@ def register_libvirt_error_handler(): - ignore = userdata - ignore = err - libvirt.registerErrorHandler(f=libvirt_callback, ctx=None) + if l is None: +@@ -452,3 +455,100 @@ def make_meter(quiet): + if quiet: + return progress.BaseMeter() + return progress.TextMeter(fo=sys.stdout) + +def getHostInstallSource(): + global _host_repo_url @@ -140,3 +138,4 @@ Index: virt-manager-1.2.1/virtinst/util.py + zypper_output.insert(0, dom0_inst_source) + return (index_dom0, zypper_output) + ++ diff --git a/virtman-supported-disk-formats.patch b/virtman-supported-disk-formats.patch deleted file mode 100644 index 2284ead0..00000000 --- a/virtman-supported-disk-formats.patch +++ /dev/null @@ -1,26 +0,0 @@ -Reference: bnc#885380 -Xen no longer supports vmdk and never supported qed. -See /usr/share/doc/packages/xen/misc/xl-disk-configuration.txt -Index: virt-manager-1.2.1/virtManager/addhardware.py -=================================================================== ---- virt-manager-1.2.1.orig/virtManager/addhardware.py -+++ virt-manager-1.2.1/virtManager/addhardware.py -@@ -751,11 +751,14 @@ class vmmAddHardware(vmmGObjectUI): - combo.set_model(model) - uiutil.init_combo_text_column(combo, 0) - -- formats = ["raw", "qcow2", "qed"] - no_create_formats = [] -- if not vm.stable_defaults(): -- formats.append("vmdk") -- no_create_formats.append("vdi") -+ if vm.conn.is_xen(): -+ formats = ["raw", "qcow2"] -+ else: -+ formats = ["raw", "qcow2", "qed"] -+ if not vm.stable_defaults(): -+ formats.append("vmdk") -+ no_create_formats.append("vdi") - - for m in formats: - model.append([m])