diff --git a/0425975f-use-virDomainMigrate3-API.patch b/0425975f-use-virDomainMigrate3-API.patch deleted file mode 100644 index a8f9d2c2..00000000 --- a/0425975f-use-virDomainMigrate3-API.patch +++ /dev/null @@ -1,36 +0,0 @@ -References: bsc#996020 - -Subject: virt-manager: use virDomainMigrate3 API -From: Jim Fehlig jfehlig@suse.com Wed Aug 31 11:26:24 2016 -0600 -Date: Thu Sep 8 11:47:45 2016 -0400: -Git: 0425975f38cec8fca6fd6ad600985403b9d24adb - -libvirt has supported the migration V3 protocol for many years now. -A nice feature of the virDomainMigrate3 API is that it will detect -the protocol version supported by the underlying hypervisor, -including whether it supports the extensible parameters variant, -and call the hypervisor API with parameters fixed up as needed. - -Change virt-manager to use the virDomainMigrate3 API, allowing -migration to work with hypervisors that only support the extensible -parameters variant of the migration V3 API. - -Signed-off-by: Jim Fehlig - -Index: virt-manager-1.4.0/virtManager/domain.py -=================================================================== ---- virt-manager-1.4.0.orig/virtManager/domain.py -+++ virt-manager-1.4.0/virtManager/domain.py -@@ -1487,7 +1487,11 @@ class vmmDomain(vmmLibvirtObject): - if meter: - start_job_progress_thread(self, meter, _("Migrating domain")) - -- self._backend.migrate(libvirt_destconn, flags, None, interface, 0) -+ params = {} -+ if interface: -+ params[libvirt.VIR_MIGRATE_PARAM_URI] = interface -+ -+ self._backend.migrate3(libvirt_destconn, params, flags) - - # Don't schedule any conn update, migrate dialog handles it for us - diff --git a/0910c8dc-black-display-if-graphic-mode-vnc-and-listen-type-none.patch b/0910c8dc-black-display-if-graphic-mode-vnc-and-listen-type-none.patch deleted file mode 100644 index a656fea8..00000000 --- a/0910c8dc-black-display-if-graphic-mode-vnc-and-listen-type-none.patch +++ /dev/null @@ -1,24 +0,0 @@ -Subject: domain: Use libvirt.VIR_DOMAIN_OPEN_GRAPHICS_SKIPAUTH (bug 1379581) -From: Cole Robinson crobinso@redhat.com Thu Mar 2 15:08:32 2017 -0500 -Date: Thu Mar 2 15:08:32 2017 -0500: -Git: 0910c8dcfc38d03178d0cb6f2beb41a192eb45be - -It's what virt-viewer uses, and apparently it's needed for VNC -listen type=none - -https://bugzilla.redhat.com/show_bug.cgi?id=1379581 - -Index: virt-manager-1.4.0/virtManager/domain.py -=================================================================== ---- virt-manager-1.4.0.orig/virtManager/domain.py -+++ virt-manager-1.4.0/virtManager/domain.py -@@ -1117,7 +1117,8 @@ class vmmDomain(vmmLibvirtObject): - return self._backend.openConsole(devname, stream, flags) - - def open_graphics_fd(self): -- return self._backend.openGraphicsFD(0) -+ return self._backend.openGraphicsFD(0, -+ libvirt.VIR_DOMAIN_OPEN_GRAPHICS_SKIPAUTH) - - def refresh_snapshots(self): - self._snapshot_list = None diff --git a/1d2cd306-Fix-incorrect-usage-of-virtio-input.patch b/1d2cd306-Fix-incorrect-usage-of-virtio-input.patch deleted file mode 100644 index a80a4b0c..00000000 --- a/1d2cd306-Fix-incorrect-usage-of-virtio-input.patch +++ /dev/null @@ -1,78 +0,0 @@ -Subject: osdict: Fix incorrect usage of virtio input -From: Cole Robinson crobinso@redhat.com Fri Jul 29 13:17:36 2016 -0400 -Date: Fri Jul 29 13:17:36 2016 -0400: -Git: 1d2cd306773064258f5d02c980b09a683ae77798 - -Regression reported with latest libosinfo, when the OS reports -virtio-input support: - -http://www.redhat.com/archives/virt-tools-list/2016-July/msg00109.html - -Really our code presently only cares about the USB tablet, so adjust -our libosinfo lookup to explicitly check for it - -Index: virt-manager-1.4.0/virtinst/guest.py -=================================================================== ---- virt-manager-1.4.0.orig/virtinst/guest.py -+++ virt-manager-1.4.0/virtinst/guest.py -@@ -1033,15 +1033,14 @@ class Guest(XMLBuilder): - return False - return all([c.model == "none" for c in controllers]) - -- input_type = self._os_object.default_inputtype() -- input_bus = self._os_object.default_inputbus() -+ input_type = "mouse" -+ input_bus = "ps2" - if self.os.is_xenpv(): - input_type = VirtualInputDevice.TYPE_MOUSE - input_bus = VirtualInputDevice.BUS_XEN -- elif _usb_disabled() and input_bus == "usb": -- input_bus = "ps2" -- if input_type == "tablet": -- input_type = "mouse" -+ elif self._os_object.supports_usbtablet() and not _usb_disabled(): -+ input_type = "tablet" -+ input_bus = "usb" - - for inp in self.get_devices("input"): - if (inp.type == inp.TYPE_DEFAULT and -Index: virt-manager-1.4.0/virtinst/osdict.py -=================================================================== ---- virt-manager-1.4.0.orig/virtinst/osdict.py -+++ virt-manager-1.4.0/virtinst/osdict.py -@@ -457,23 +457,19 @@ class _OsVariant(object): - return devname - return None - -- def default_inputtype(self): -- if self._os: -- fltr = libosinfo.Filter() -- fltr.add_constraint("class", "input") -- devs = self._os.get_all_devices(fltr) -- if devs.get_length(): -- return devs.get_nth(0).get_name() -- return "mouse" -+ def supports_usbtablet(self): -+ if not self._os: -+ return False - -- def default_inputbus(self): -- if self._os: -- fltr = libosinfo.Filter() -- fltr.add_constraint("class", "input") -- devs = self._os.get_all_devices(fltr) -- if devs.get_length(): -- return devs.get_nth(0).get_bus_type() -- return "ps2" -+ fltr = libosinfo.Filter() -+ fltr.add_constraint("class", "input") -+ fltr.add_constraint("name", "tablet") -+ devs = self._os.get_all_devices(fltr) -+ for idx in range(devs.get_length()): -+ dev = devs.get_nth(idx) -+ if devs.get_nth(idx).get_bus_type() == "usb": -+ return True -+ return False - - def supports_virtiodisk(self): - if self._os: diff --git a/2df8dc39-detect-whether-IP-address-comes-from-DHCP-server.patch b/2df8dc39-detect-whether-IP-address-comes-from-DHCP-server.patch deleted file mode 100644 index b959f1b9..00000000 --- a/2df8dc39-detect-whether-IP-address-comes-from-DHCP-server.patch +++ /dev/null @@ -1,61 +0,0 @@ -Subject: virtManager/interface: detect whether IP address comes from DHCP server -From: Pavel Hrdina phrdina@redhat.com Thu Jan 19 18:00:36 2017 +0100 -Date: Mon Feb 6 09:11:00 2017 +0100: -Git: 2df8dc39e8cab71752f7cb28a66f7a0db8aafe04 - -When the network interface is up the active XML contains only IP address -even in case that the inactive XML was configured to get the IP address -from DHCP server. To propagate this information back to UI we need to -get both XMLs to figure out current IP addresses and the configuration. - -Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1410722 - -Signed-off-by: Pavel Hrdina - -Index: virt-manager-1.4.0/virtManager/interface.py -=================================================================== ---- virt-manager-1.4.0.orig/virtManager/interface.py -+++ virt-manager-1.4.0/virtManager/interface.py -@@ -117,24 +117,35 @@ class vmmInterface(vmmLibvirtObject): - return [x[0] for x in self.get_slaves()] - - def _get_ip(self, iptype): -- obj = self.get_xmlobj() -- found = None -- for protocol in obj.protocols: -+ # Get list of IP addresses from active XML and protocol configuration -+ # from inactive XML to figure out whether the IP address is static or -+ # from DHCP server. -+ activeObj = self.get_xmlobj() -+ inactiveObj = self.get_xmlobj(inactive=True) -+ -+ activeProto = None -+ inactiveProto = None -+ for protocol in activeObj.protocols: -+ if protocol.family == iptype: -+ activeProto = protocol -+ break -+ for protocol in inactiveObj.protocols: - if protocol.family == iptype: -- found = protocol -+ inactiveProto = protocol - break -- if not found: -+ -+ if not activeProto and not inactiveProto: - return None, [] - - ret = [] -- for ip in found.ips: -+ for ip in activeProto.ips: - ipstr = ip.address - if not ipstr: - continue - if ip.prefix: - ipstr += "/%s" % ip.prefix - ret.append(ipstr) -- return found, ret -+ return inactiveProto or activeProto, ret - - def get_ipv4(self): - proto, ips = self._get_ip("ipv4") diff --git a/559e813b-xmlbuilder-02.patch b/559e813b-xmlbuilder-02.patch deleted file mode 100644 index 8107454e..00000000 --- a/559e813b-xmlbuilder-02.patch +++ /dev/null @@ -1,134 +0,0 @@ -References: fate#319621 - -Subject: xmlbuilder: Clarify the node 'pretty' helper function -From: Cole Robinson crobinso@redhat.com Mon Jul 18 13:23:43 2016 -0400 -Date: Mon Jul 18 14:46:50 2016 -0400: -Git: 559e813b966c8e062740dd64d87f3193b0413771 - - -Index: virt-manager-1.4.0/virtinst/xmlbuilder.py -=================================================================== ---- virt-manager-1.4.0.orig/virtinst/xmlbuilder.py -+++ virt-manager-1.4.0/virtinst/xmlbuilder.py -@@ -98,14 +98,13 @@ def _get_xpath_node(ctx, xpath): - return (node and node[0] or None) - - --def _build_xpath_node(ctx, xpath, addnode=None): -+def _add_pretty_child(parentnode, newnode): - """ -- Build all nodes required to set an xpath. If we have XML , and want -- to set xpath /foo/bar/baz@booyeah, we create node 'bar' and 'baz' -- returning the last node created. -+ Add 'newnode' as a child of 'parentnode', but try to preserve -+ whitespace and nicely format the result. - """ -- parentpath = "" -- parentnode = None -+ def node_is_text(n): -+ return bool(n and n.type == "text" and not n.content.count("<")) - - def prevSibling(node): - parent = node.get_parent() -@@ -120,47 +119,51 @@ def _build_xpath_node(ctx, xpath, addnod - - return None - -- def make_node(parentnode, newnode): -- # Add the needed parent node, try to preserve whitespace by -- # looking for a starting TEXT node, and copying it -- def node_is_text(n): -- return bool(n and n.type == "text" and not n.content.count("<")) -- -- sib = parentnode.get_last() -- if not node_is_text(sib): -- # This case is when we add a child element to a node for the -- # first time, like: -- # -- # -- # to -- # -- # -- # -- prevsib = prevSibling(parentnode) -- if node_is_text(prevsib): -- sib = libxml2.newText(prevsib.content) -- else: -- sib = libxml2.newText("\n") -- parentnode.addChild(sib) -- -- # This case is adding a child element to an already properly -- # spaced element. Example: -- # -- # -- # -+ sib = parentnode.get_last() -+ if not node_is_text(sib): -+ # This case is when we add a child element to a node for the -+ # first time, like: -+ # -+ # - # to - # - # -- # - # -- sib = parentnode.get_last() -- content = sib.content -- sib = sib.addNextSibling(libxml2.newText(" ")) -- txt = libxml2.newText(content) -- -- sib.addNextSibling(newnode) -- newnode.addNextSibling(txt) -- return newnode -+ prevsib = prevSibling(parentnode) -+ if node_is_text(prevsib): -+ sib = libxml2.newText(prevsib.content) -+ else: -+ sib = libxml2.newText("\n") -+ parentnode.addChild(sib) -+ -+ # This case is adding a child element to an already properly -+ # spaced element. Example: -+ # -+ # -+ # -+ # to -+ # -+ # -+ # -+ # -+ sib = parentnode.get_last() -+ content = sib.content -+ sib = sib.addNextSibling(libxml2.newText(" ")) -+ txt = libxml2.newText(content) -+ -+ sib.addNextSibling(newnode) -+ newnode.addNextSibling(txt) -+ return newnode -+ -+ -+def _build_xpath_node(ctx, xpath, addnode=None): -+ """ -+ Build all nodes required to set an xpath. If we have XML , and want -+ to set xpath /foo/bar/baz@booyeah, we create node 'bar' and 'baz' -+ returning the last node created. -+ """ -+ parentpath = "" -+ parentnode = None - - nodelist = xpath.split("/") - for nodename in nodelist: -@@ -192,10 +195,10 @@ def _build_xpath_node(ctx, xpath, addnod - nodename = nodename[:nodename.index("[")] - - newnode = libxml2.newNode(nodename) -- parentnode = make_node(parentnode, newnode) -+ parentnode = _add_pretty_child(parentnode, newnode) - - if addnode: -- parentnode = make_node(parentnode, addnode) -+ parentnode = _add_pretty_child(parentnode, addnode) - - return parentnode - diff --git a/561f5cd3-drop-xenmigr-scheme-from-Xen-migration-URI.patch b/561f5cd3-drop-xenmigr-scheme-from-Xen-migration-URI.patch deleted file mode 100644 index 5a68eaa3..00000000 --- a/561f5cd3-drop-xenmigr-scheme-from-Xen-migration-URI.patch +++ /dev/null @@ -1,35 +0,0 @@ -References: bsc#996020 - -Subject: virt-manager: drop 'xenmigr' scheme from Xen migration URI -From: Jim Fehlig jfehlig@suse.com Tue Sep 6 22:55:42 2016 -0600 -Date: Thu Sep 8 11:47:52 2016 -0400: -Git: 561f5cd3e68fa3f1fb6745463a5c1a486171d8c9 - -For Xen, virt-manager uses a 'xenmigr' URI scheme, which is not -supported by the libvirt libxl driver. Attempting migration -fails with - -libvirtError: invalid argument: unable to parse URI: xenmigr://myhost - -The old xend-based libvirt driver supports this scheme, but also -supports an empty scheme. It's not clear what the 'xenmigr' scheme -is used for. 'xenmigr' is not referenced by any files in the Xen -code-base, including old branches with xend. - -Drop setting scheme to 'xenmigr' when creating the Xen migration URI. - -Signed-off-by: Jim Fehlig - -Index: virt-manager-1.4.0/virtManager/migrate.py -=================================================================== ---- virt-manager-1.4.0.orig/virtManager/migrate.py -+++ virt-manager-1.4.0/virtManager/migrate.py -@@ -344,7 +344,7 @@ class vmmMigrateDialog(vmmGObjectUI): - return - - if self.conn.is_xen(): -- uri = "xenmigr://%s" % address -+ uri = "%s" % address - else: - uri = "tcp:%s" % address - if port: diff --git a/5a11cf07-virt-manager-generates-invalid-guest-XML.patch b/5a11cf07-virt-manager-generates-invalid-guest-XML.patch deleted file mode 100644 index dcd11255..00000000 --- a/5a11cf07-virt-manager-generates-invalid-guest-XML.patch +++ /dev/null @@ -1,51 +0,0 @@ -Subject: virt-manager generates invalid guest XML -From: Seeteena Thoufeek s1seetee@linux.vnet.ibm.com Mon Dec 12 17:48:50 2016 +0530 -Date: Mon Dec 12 21:12:09 2016 -0500: -Git: 5a11cf0782998a36eef42718231bcb4c2de8ebba - -The virt-manager application generates invalid guest XML when a - spapr-vio SCSI model controller is changed to a virtio-scsi model controller. - -1. Create a guest -2. Add an spapr-vio controller to the guest via this gui path: -->Add Hardware -->Controller -->Type SCSI -->Model Hypervisor default -At this point, there will be a valid spapr-vio SCSI controller defined: - -
- -3.Now modify the above SCSI controller using this gui path: -->Choose "Controller sPAPR SCSI" on left pane -->Choose "VirtIO SCSI" for the Model on the right pane -->Apply -At this point, there will be a SCSI controller definition which is invalid due to an incorrect address type: -~# virsh dumpxml dotg2|grep -A2 -i scsi - -
- -Any attempt to start the guest will throw this error: -error: Failed to start domain dotg2 -error: internal error: process exited while connecting to monitor: 2016-12-02T17:45:12.989165Z qemu-system-ppc64le: -device virtio-scsi-pci,id=scsi0,reg=0x2000: Property '.reg' not found - -virt-manager fails to realize that the address type needs to be changed to a PCI address for a virtio-scsi controller. - -If you change the model, you are supposed to leave the address field empty, so that libvirt sets it correctly. Or change the address field also appropriately. - -Note that this bug can be reproduced entirely within virt-manager. No manual editing of guest XML is being done here. So, fix is to make virt-manager delete the address field when the SCSI controller model is changed, allowing libvirt to automatically assign a new address with the correct type. - -Signed-off-by: Seeteena Thoufeek - -Index: virt-manager-1.4.0/virtManager/domain.py -=================================================================== ---- virt-manager-1.4.0.orig/virtManager/domain.py -+++ virt-manager-1.4.0/virtManager/domain.py -@@ -949,6 +949,7 @@ class vmmDomain(vmmLibvirtObject): - - else: - editdev.model = model -+ editdev.address.clear() - self.hotplug(device=editdev) - - if model != _SENTINEL: diff --git a/617b9271-dont-return-virtio1.0-net-as-valid-device-name.patch b/617b9271-dont-return-virtio1.0-net-as-valid-device-name.patch deleted file mode 100644 index 689a28b8..00000000 --- a/617b9271-dont-return-virtio1.0-net-as-valid-device-name.patch +++ /dev/null @@ -1,23 +0,0 @@ -Subject: osdict: Don't return virtio1.0-net as a valid device name (bug 1399083) -From: Cole Robinson crobinso@redhat.com Tue Dec 13 12:58:14 2016 -0500 -Date: Tue Dec 13 12:58:14 2016 -0500: -Git: 617b92710f50015c5df5f9db15d25de18867957d - -We can't depend on libosinfo device names being valid libvirt network -model names, so use a whitelist - -https://bugzilla.redhat.com/show_bug.cgi?id=1399083 - -Index: virt-manager-1.4.0/virtinst/osdict.py -=================================================================== ---- virt-manager-1.4.0.orig/virtinst/osdict.py -+++ virt-manager-1.4.0/virtinst/osdict.py -@@ -453,7 +453,7 @@ class _OsVariant(object): - devs = self._os.get_all_devices(fltr) - for idx in range(devs.get_length()): - devname = devs.get_nth(idx).get_name() -- if devname != "virtio-net": -+ if devname in ["pcnet", "ne2k_pci", "rtl8139", "e1000"]: - return devname - return None - diff --git a/63784f4d-document-new-sysinfo-option.patch b/63784f4d-document-new-sysinfo-option.patch deleted file mode 100644 index 2e4d8090..00000000 --- a/63784f4d-document-new-sysinfo-option.patch +++ /dev/null @@ -1,23 +0,0 @@ -Subject: man: Document new --sysinfo option -From: Cole Robinson crobinso@redhat.com Thu Sep 8 11:42:45 2016 -0400 -Date: Thu Sep 8 11:42:45 2016 -0400: -Git: 63784f4dd82caaf164fa93a1685cbe5272b68404 - - -Index: virt-manager-1.4.0/man/virt-install.pod -=================================================================== ---- virt-manager-1.4.0.orig/man/virt-install.pod -+++ virt-manager-1.4.0/man/virt-install.pod -@@ -135,6 +135,12 @@ Specify resource partitioning for the gu - - Use --resource=? to see a list of all available sub options. Complete details at L - -+=item B<--sysinfo> OPT=VAL,[...] -+ -+Configure sysinfo/SMBIOS values exposed to the guest OS. '--sysinfo host' can be used to expose the host's SMBIOS info to the VM, otherwise values can be manually specified. -+ -+Use --sysinfo=? to see a list of all available sub options. Complete details at L -+ - =item B<--vcpus> OPTIONS - - Number of virtual cpus to configure for the guest. If 'maxvcpus' is specified, diff --git a/6daff68a-fix-italian-lang-file.patch b/6daff68a-fix-italian-lang-file.patch deleted file mode 100644 index ce1d10d4..00000000 --- a/6daff68a-fix-italian-lang-file.patch +++ /dev/null @@ -1,31 +0,0 @@ -Note: This is just a part of the upstream patch - -Subject: Update translations, and fix it.po problems -From: Cole Robinson crobinso@redhat.com Wed Jun 29 08:49:00 2016 -0400 -Date: Wed Jun 29 08:49:00 2016 -0400: -Git: 6daff68a3f04fd166d555e4ad632564adc0e57a2 - -https://bugzilla.redhat.com/show_bug.cgi?id=1350185 - -Index: virt-manager-1.4.0/po/it.po -=================================================================== ---- virt-manager-1.4.0.orig/po/it.po -+++ virt-manager-1.4.0/po/it.po -@@ -1460,7 +1460,7 @@ msgstr "Invia combinazione di tasti" - #: ../virtManager/console.py:289 - #, python-format - msgid "%(vm-name)s on %(connection-name)s" --msgstr "%(nome-mv)s su %(nome-connessione)s" -+msgstr "%(vm-name)s su %(connection-name)s" - - #: ../virtManager/console.py:296 - #, python-format -@@ -2515,7 +2515,7 @@ msgstr "Disabilitato" - #: ../virtManager/details.py:2435 - #, python-format - msgid "%(current-memory)s of %(total-memory)s" --msgstr "%(memoria-corrente)s di %(memoria-totale)s" -+msgstr "%(current-memory)s di %(total-memory)s" - - #: ../virtManager/details.py:2645 - msgid "Absolute Movement" diff --git a/7962672c-fix-error-checking-extra_args.patch b/7962672c-fix-error-checking-extra_args.patch deleted file mode 100644 index 419d8fbd..00000000 --- a/7962672c-fix-error-checking-extra_args.patch +++ /dev/null @@ -1,25 +0,0 @@ -Subject: virt-install: Fix error checking extra_args -From: Cole Robinson crobinso@redhat.com Wed Nov 2 10:27:14 2016 -0400 -Date: Wed Nov 2 10:27:14 2016 -0400: -Git: 7962672c713cf6d35e770f0d00068dee707b6ec9 - -Later bits in the code that want to warn based on extra_args content -don't handle the None case. Be consistent and convert it to a list -everywhere. - -Mentioned at https://bugzilla.redhat.com/show_bug.cgi?id=1376547#c9 - -Index: virt-manager-1.4.0/virt-install -=================================================================== ---- virt-manager-1.4.0.orig/virt-install -+++ virt-manager-1.4.0/virt-install -@@ -595,7 +595,8 @@ def build_guest_instance(conn, options): - convert_old_os_options(options) - - # non-xml install options -- guest.installer.extraargs = options.extra_args or [] -+ options.extra_args = options.extra_args or [] -+ guest.installer.extraargs = options.extra_args - guest.installer.initrd_injections = options.initrd_inject - guest.autostart = options.autostart - diff --git a/835ddc5f-xmlbuilder-04.patch b/835ddc5f-xmlbuilder-04.patch deleted file mode 100644 index dfa598a6..00000000 --- a/835ddc5f-xmlbuilder-04.patch +++ /dev/null @@ -1,87 +0,0 @@ -References: fate#319621 - -Subject: xmlbuilder: More comments for _build_xpath_node -From: Cole Robinson crobinso@redhat.com Mon Jul 18 13:50:25 2016 -0400 -Date: Mon Jul 18 14:46:50 2016 -0400: -Git: 835ddc5f7710d195a8d069358693712e68f2b353 - - -Index: virt-manager-1.4.0/virtinst/xmlbuilder.py -=================================================================== ---- virt-manager-1.4.0.orig/virtinst/xmlbuilder.py -+++ virt-manager-1.4.0/virtinst/xmlbuilder.py -@@ -158,44 +158,56 @@ def _add_pretty_child(parentnode, newnod - - def _build_xpath_node(ctx, xpath): - """ -- Build all nodes required to set an xpath. If we have XML , and want -- to set xpath /foo/bar/baz@booyeah, we create node 'bar' and 'baz' -- returning the last node created. -- """ -- parentpath = "" -- parentnode = None -+ Build all nodes for the passed xpath. For example, if 'ctx' xml=, -+ and xpath=./bar/@baz, after this function the 'ctx' XML will be: - -- nodelist = xpath.split("/") -- for nodename in nodelist: -- if not nodename: -- continue -+ -+ -+ -+ -+ And the node pointing to @baz will be returned, for the caller to -+ do with as they please. -+ """ -+ def _handle_node(nodename, parentnode, parentpath): -+ # If the passed xpath snippet (nodename) exists, return the node -+ # If it doesn't exist, create it, and return the new node - -- # If xpath is a node property, set it and move on -+ # If nodename is a node property, we can handle it up front - if nodename.startswith("@"): - nodename = nodename.strip("@") -- parentnode = parentnode.setProp(nodename, "") -- continue -+ return parentnode.setProp(nodename, ""), parentpath - - if not parentpath: - parentpath = nodename - else: - parentpath += "/%s" % nodename - -- # Node found, nothing to create for now -+ # See if the xpath node already exists - node = _get_xpath_node(ctx, parentpath) - if node: -- parentnode = node -- continue -+ # xpath node already exists, so we don't need to create anything -+ return node, parentpath - -+ # If we don't have a parentnode by this point, the root of the -+ # xpath didn't find anything. Usually a coding error - if not parentnode: - raise RuntimeError("Could not find XML root node") - -- # Remove conditional xpath elements for node creation -+ # Remove conditional xpath elements for node creation. We preserved -+ # them up until this point since it was needed for proper xpath -+ # lookup, but they aren't valid syntax when creating the node - if nodename.count("["): - nodename = nodename[:nodename.index("[")] - - newnode = libxml2.newNode(nodename) -- parentnode = _add_pretty_child(parentnode, newnode) -+ return _add_pretty_child(parentnode, newnode), parentpath -+ -+ -+ # Split the xpath and lookup/create each individual piece -+ parentpath = None -+ parentnode = None -+ for nodename in xpath.split("/"): -+ parentnode, parentpath = _handle_node(nodename, parentnode, parentpath) - - return parentnode - diff --git a/a3206f89-Add-the-sysinfo-option.patch b/a3206f89-Add-the-sysinfo-option.patch deleted file mode 100644 index 65c1d066..00000000 --- a/a3206f89-Add-the-sysinfo-option.patch +++ /dev/null @@ -1,258 +0,0 @@ -Subject: virtinst: Add the --sysinfo option -From: Charles Arnold carnold@suse.com Tue Sep 6 16:12:20 2016 -0600 -Date: Thu Sep 8 11:36:59 2016 -0400: -Git: a3206f89c89ff4f197748f2a7d1040380afc835d - -Allow passing SMBios information to the guest using the new sysinfo -option. Also update the appropriate files with test cases. - -Index: virt-manager-1.4.0/tests/cli-test-xml/compare/virt-install-singleton-config-2.xml -=================================================================== ---- virt-manager-1.4.0.orig/tests/cli-test-xml/compare/virt-install-singleton-config-2.xml -+++ virt-manager-1.4.0/tests/cli-test-xml/compare/virt-install-singleton-config-2.xml -@@ -36,6 +36,7 @@ - - - -+ - - - -@@ -122,6 +123,31 @@ - - - -+ -+ -+ Acme LLC -+ 1.2.3 -+ 01/01/1970 -+ 10.22 -+ -+ -+ Acme Inc. -+ Computer -+ 3.2.1 -+ 123456789 -+ 00000000-1111-2222-3333-444444444444 -+ abc-123 -+ Server -+ -+ -+ Acme Corp. -+ Motherboard -+ A01 -+ 1234-5678 -+ Tag -+ Chassis -+ -+ - ignore - - -@@ -162,6 +188,7 @@ - - - -+ - - - -@@ -248,5 +275,30 @@ - - - -+ -+ -+ Acme LLC -+ 1.2.3 -+ 01/01/1970 -+ 10.22 -+ -+ -+ Acme Inc. -+ Computer -+ 3.2.1 -+ 123456789 -+ 00000000-1111-2222-3333-444444444444 -+ abc-123 -+ Server -+ -+ -+ Acme Corp. -+ Motherboard -+ A01 -+ 1234-5678 -+ Tag -+ Chassis -+ -+ - ignore - -Index: virt-manager-1.4.0/tests/clitest.py -=================================================================== ---- virt-manager-1.4.0.orig/tests/clitest.py -+++ virt-manager-1.4.0/tests/clitest.py -@@ -427,6 +427,9 @@ c.add_compare("""--pxe \ - --memorybacking size=1,unit='G',nodeset='1,2-5',nosharepages=yes,locked=yes \ - --features acpi=off,eoi=on,privnet=on,hyperv_spinlocks=on,hyperv_spinlocks_retries=1234,vmport=off,pmu=off \ - --clock offset=utc,hpet_present=no,rtc_tickpolicy=merge \ -+--sysinfo type=smbios,bios_vendor="Acme LLC",bios_version=1.2.3,bios_date=01/01/1970,bios_release=10.22 \ -+--sysinfo type=smbios,system_manufacturer="Acme Inc.",system_product=Computer,system_version=3.2.1,system_serial=123456789,system_uuid=00000000-1111-2222-3333-444444444444,system_sku=abc-123,system_family=Server \ -+--sysinfo type=smbios,baseBoard_manufacturer="Acme Corp.",baseBoard_product=Motherboard,baseBoard_version=A01,baseBoard_serial=1234-5678,baseBoard_asset=Tag,baseBoard_location=Chassis \ - --pm suspend_to_mem=yes,suspend_to_disk=no \ - --resource partition=/virtualmachines/production \ - --events on_poweroff=destroy,on_reboot=restart,on_crash=preserve,on_lockfailure=ignore \ -Index: virt-manager-1.4.0/virtinst/cli.py -=================================================================== ---- virt-manager-1.4.0.orig/virtinst/cli.py -+++ virt-manager-1.4.0/virtinst/cli.py -@@ -21,6 +21,7 @@ - - import argparse - import collections -+import datetime - import logging - import logging.handlers - import os -@@ -67,6 +68,7 @@ from .osxml import OSXML - from .pm import PM - from .seclabel import Seclabel - from .storage import StoragePool, StorageVolume -+from .sysinfo import SYSInfo - - - ########################## -@@ -722,6 +724,13 @@ def add_guest_xml_options(geng): - help=_("Configure VM lifecycle management policy")) - geng.add_argument("--resource", action="append", - help=_("Configure VM resource partitioning (cgroups)")) -+ geng.add_argument("--sysinfo", action="append", -+ help=_("Configure SMBIOS System Information. Ex:\n" -+ "--sysinfo emulate\n" -+ "--sysinfo host\n" -+ "--sysinfo bios_vendor=Vendor_Inc.,bios_version=1.2.3-abc,...\n" -+ "--sysinfo system_manufacturer=System_Corp.,system_product=Computer,...\n" -+ "--sysinfo baseBoard_manufacturer=Baseboard_Corp.,baseBoard_product=Motherboard,...\n")) - - - def add_boot_options(insg): -@@ -1541,6 +1550,13 @@ class ParserBoot(VirtCLIParser): - def set_initargs_cb(self, inst, val, virtarg): - inst.os.set_initargs_string(val) - -+ def set_smbios_mode_cb(self, inst, val, virtarg): -+ if not val.startswith("emulate") and not val.startswith("host"): -+ inst.sysinfo.parse(val) -+ val = "sysinfo" -+ inst.os.smbios_mode = val -+ self.optdict["smbios_mode"] = val -+ - def noset_cb(self, inst, val, virtarg): - pass - -@@ -1584,6 +1600,8 @@ ParserBoot.add_arg("os.kernel_args", "ke - ParserBoot.add_arg("os.init", "init") - ParserBoot.add_arg("os.machine", "machine") - ParserBoot.add_arg("os.initargs", "initargs", cb=ParserBoot.set_initargs_cb) -+ParserBoot.add_arg("os.smbios_mode", "smbios_mode", -+ can_comma=True, cb=ParserBoot.set_smbios_mode_cb) - - # This is simply so the boot options are advertised with --boot help, - # actual processing is handled by _parse -@@ -1702,6 +1720,95 @@ ParserPM.add_arg("suspend_to_mem", "susp - ParserPM.add_arg("suspend_to_disk", "suspend_to_disk", is_onoff=True) - - -+##################### -+# --sysinfo parsing # -+##################### -+ -+class ParserSYSInfo(VirtCLIParser): -+ cli_arg_name = "sysinfo" -+ objclass = SYSInfo -+ remove_first = "type" -+ -+ def set_type_cb(self, inst, val, virtarg): -+ if val == "host" or val == "emulate": -+ self.guest.os.smbios_mode = val -+ elif val == "smbios": -+ self.guest.os.smbios_mode = "sysinfo" -+ inst.type = val -+ else: -+ fail(_("Unknown sysinfo flag '%s'") % val) -+ -+ def validate_date_cb(self, inst, val, virtarg): -+ # If supplied, date must be in either mm/dd/yy or mm/dd/yyyy format -+ try: -+ datetime.datetime.strptime(val, '%m/%d/%Y') -+ except ValueError: -+ try: -+ datetime.datetime.strptime(val, '%m/%d/%y') -+ except ValueError: -+ raise RuntimeError(_("SMBios date string '%s' is invalid.") -+ % val) -+ inst.bios_date = val -+ return val -+ -+ def validate_uuid_cb(self, inst, val, virtarg): -+ # If a uuid is supplied it must match the guest UUID. This would be -+ # impossible to guess if the guest uuid is autogenerated so just -+ # overwrite the guest uuid with what is passed in assuming it passes -+ # the sanity checking below. -+ try: -+ util.validate_uuid(val) -+ except ValueError: -+ raise ValueError(_("Invalid uuid for SMBios: %s") % val) -+ -+ if util.vm_uuid_collision(self.guest.conn, val): -+ raise ValueError(_("UUID '%s' is in use by another guest.") % -+ val) -+ -+ # Override guest uuid with passed in SMBios value (they must match) -+ self.guest.uuid = val -+ inst.system_uuid = val -+ -+ def _parse(self, inst): -+ if self.optstr == "none": -+ self.guest.skip_default_sysinfo = True -+ return -+ if self.optstr == "host" or self.optstr == "emulate": -+ self.optdict['type'] = self.optstr -+ -+ return VirtCLIParser._parse(self, inst) -+ -+_register_virt_parser(ParserSYSInfo) -+# -+ParserSYSInfo.add_arg("type", "type", -+ cb=ParserSYSInfo.set_type_cb, can_comma=True) -+ -+# type 0 BIOS Information -+ParserSYSInfo.add_arg("bios_vendor", "bios_vendor") -+ParserSYSInfo.add_arg("bios_version", "bios_version") -+ParserSYSInfo.add_arg("bios_date", "bios_date", -+ cb=ParserSYSInfo.validate_date_cb) -+ParserSYSInfo.add_arg("bios_release", "bios_release") -+ -+# type 1 System Information -+ParserSYSInfo.add_arg("system_manufacturer", "system_manufacturer") -+ParserSYSInfo.add_arg("system_product", "system_product") -+ParserSYSInfo.add_arg("system_version", "system_version") -+ParserSYSInfo.add_arg("system_serial", "system_serial") -+ParserSYSInfo.add_arg("system_uuid", "system_uuid", -+ cb=ParserSYSInfo.validate_uuid_cb) -+ParserSYSInfo.add_arg("system_sku", "system_sku") -+ParserSYSInfo.add_arg("system_family", "system_family") -+ -+# type 2 Baseboard (or Module) Information -+ParserSYSInfo.add_arg("baseBoard_manufacturer", "baseBoard_manufacturer") -+ParserSYSInfo.add_arg("baseBoard_product", "baseBoard_product") -+ParserSYSInfo.add_arg("baseBoard_version", "baseBoard_version") -+ParserSYSInfo.add_arg("baseBoard_serial", "baseBoard_serial") -+ParserSYSInfo.add_arg("baseBoard_asset", "baseBoard_asset") -+ParserSYSInfo.add_arg("baseBoard_location", "baseBoard_location") -+ -+ - ########################## - # Guest parsing # - ########################## diff --git a/a931a1a6-xmlbuilder-03.patch b/a931a1a6-xmlbuilder-03.patch deleted file mode 100644 index 9f1dba6e..00000000 --- a/a931a1a6-xmlbuilder-03.patch +++ /dev/null @@ -1,42 +0,0 @@ -References: fate#319621 - -Subject: xmlbuilder: Opencode single addnode= usage -From: Cole Robinson crobinso@redhat.com Mon Jul 18 13:34:06 2016 -0400 -Date: Mon Jul 18 14:46:50 2016 -0400: -Git: a931a1a6adf768f73c223f9b8d78fb7ca25cb0a3 - - -Index: virt-manager-1.4.0/virtinst/xmlbuilder.py -=================================================================== ---- virt-manager-1.4.0.orig/virtinst/xmlbuilder.py -+++ virt-manager-1.4.0/virtinst/xmlbuilder.py -@@ -156,7 +156,7 @@ def _add_pretty_child(parentnode, newnod - return newnode - - --def _build_xpath_node(ctx, xpath, addnode=None): -+def _build_xpath_node(ctx, xpath): - """ - Build all nodes required to set an xpath. If we have XML , and want - to set xpath /foo/bar/baz@booyeah, we create node 'bar' and 'baz' -@@ -197,9 +197,6 @@ def _build_xpath_node(ctx, xpath, addnod - newnode = libxml2.newNode(nodename) - parentnode = _add_pretty_child(parentnode, newnode) - -- if addnode: -- parentnode = _add_pretty_child(parentnode, addnode) -- - return parentnode - - -@@ -989,7 +986,9 @@ class XMLBuilder(object): - use_xpath = obj.get_root_xpath().rsplit("/", 1)[0] - indent = 2 * obj.get_root_xpath().count("/") - newnode = libxml2.parseDoc(util.xml_indent(xml, indent)).children -- _build_xpath_node(self._xmlstate.xml_ctx, use_xpath, newnode) -+ parentnode = _build_xpath_node(self._xmlstate.xml_ctx, use_xpath) -+ # Tack newnode on the end -+ _add_pretty_child(parentnode, newnode) - obj._parse_with_children(None, self._xmlstate.xml_node) - - def remove_child(self, obj): diff --git a/b08647c2-xmlbuilder-05.patch b/b08647c2-xmlbuilder-05.patch deleted file mode 100644 index 20000468..00000000 --- a/b08647c2-xmlbuilder-05.patch +++ /dev/null @@ -1,63 +0,0 @@ -References: fate#319621 - -Subject: xmlbuilder: Handle setting conditional xpaths correctly -From: Cole Robinson crobinso@redhat.com Mon Jul 18 14:40:58 2016 -0400 -Date: Mon Jul 18 14:46:50 2016 -0400: -Git: b08647c2f277e463971ae1e4430aaed28a4619f3 - -So if xml= and xpath=./bar[@baz='foo'] and val=XXX, xmlbuilder -previously would generate XML - - - XXX - - -But now generates the expected - - - XXX - - -No users yet, but they are incoming - -Index: virt-manager-1.4.0/virtinst/xmlbuilder.py -=================================================================== ---- virt-manager-1.4.0.orig/virtinst/xmlbuilder.py -+++ virt-manager-1.4.0/virtinst/xmlbuilder.py -@@ -167,6 +167,16 @@ def _build_xpath_node(ctx, xpath): - - And the node pointing to @baz will be returned, for the caller to - do with as they please. -+ -+ There's also special handling to ensure that setting -+ xpath=./bar[@baz='foo']/frob will create -+ -+ -+ -+ -+ -+ Even if didn't exist before. So we fill in the dependent property -+ expression values - """ - def _handle_node(nodename, parentnode, parentpath): - # If the passed xpath snippet (nodename) exists, return the node -@@ -209,6 +219,19 @@ def _build_xpath_node(ctx, xpath): - for nodename in xpath.split("/"): - parentnode, parentpath = _handle_node(nodename, parentnode, parentpath) - -+ # Check if the xpath snippet had an '=' expression in it, example: -+ # -+ # ./foo[@bar='baz'] -+ # -+ # If so, we also want to set , so that setting -+ # this XML element works as expected in this case. -+ if "[" not in nodename or "=" not in nodename: -+ continue -+ -+ propname, val = nodename.split("[")[1].strip("]").split("=") -+ propobj, ignore = _handle_node(propname, parentnode, parentpath) -+ propobj.setContent(val.strip("'")) -+ - return parentnode - - diff --git a/b31c0b44-Add-classes-for-defining-SMBios-information.patch b/b31c0b44-Add-classes-for-defining-SMBios-information.patch deleted file mode 100644 index bad7ec8e..00000000 --- a/b31c0b44-Add-classes-for-defining-SMBios-information.patch +++ /dev/null @@ -1,125 +0,0 @@ -Subject: virtinst: Add classes for defining SMBios information -From: Charles Arnold carnold@suse.com Tue Sep 6 16:12:19 2016 -0600 -Date: Thu Sep 8 11:36:59 2016 -0400: -Git: b31c0b442e9b1295d86cc49bd77c31919ab0cc02 - -This includes adding an smbios sub-element to the guest os element and a -sysinfo sub-element to the guest. The sysinfo sub-element contains the SMBios -specific data. - -Index: virt-manager-1.4.0/virtinst/guest.py -=================================================================== ---- virt-manager-1.4.0.orig/virtinst/guest.py -+++ virt-manager-1.4.0/virtinst/guest.py -@@ -52,6 +52,7 @@ from .idmap import IdMap - from .osxml import OSXML - from .pm import PM - from .seclabel import Seclabel -+from .sysinfo import SYSInfo - from .xmlbuilder import XMLBuilder, XMLProperty, XMLChildProperty - - -@@ -106,7 +107,7 @@ class Guest(XMLBuilder): - "vcpus", "curvcpus", "vcpu_placement", "cpuset", - "numatune", "bootloader", "os", "idmap", - "features", "cpu", "clock", "on_poweroff", "on_reboot", "on_crash", -- "resource", "pm", "emulator", "_devices", "seclabels"] -+ "resource", "pm", "emulator", "_devices", "seclabels", "sysinfo"] - - def __init__(self, *args, **kwargs): - XMLBuilder.__init__(self, *args, **kwargs) -@@ -212,6 +213,7 @@ class Guest(XMLBuilder): - memoryBacking = XMLChildProperty(DomainMemorybacking, is_single=True) - idmap = XMLChildProperty(IdMap, is_single=True) - resource = XMLChildProperty(DomainResource, is_single=True) -+ sysinfo = XMLChildProperty(SYSInfo, is_single=True) - - - ############################### -Index: virt-manager-1.4.0/virtinst/osxml.py -=================================================================== ---- virt-manager-1.4.0.orig/virtinst/osxml.py -+++ virt-manager-1.4.0/virtinst/osxml.py -@@ -77,7 +77,7 @@ class OSXML(XMLBuilder): - _XML_ROOT_NAME = "os" - _XML_PROP_ORDER = ["arch", "os_type", "loader", "loader_ro", "loader_type", - "nvram", "nvram_template", "kernel", "initrd", -- "kernel_args", "dtb", "_bootdevs"] -+ "kernel_args", "dtb", "_bootdevs", "smbios_mode"] - - def _get_bootorder(self): - return [dev.dev for dev in self._bootdevs] -@@ -116,6 +116,7 @@ class OSXML(XMLBuilder): - loader = XMLProperty("./loader") - loader_ro = XMLProperty("./loader/@readonly", is_yesno=True) - loader_type = XMLProperty("./loader/@type") -+ smbios_mode = XMLProperty("./smbios/@mode") - nvram = XMLProperty("./nvram") - nvram_template = XMLProperty("./nvram/@template") - arch = XMLProperty("./type/@arch", -Index: virt-manager-1.4.0/virtinst/sysinfo.py -=================================================================== ---- /dev/null -+++ virt-manager-1.4.0/virtinst/sysinfo.py -@@ -0,0 +1,61 @@ -+# -+# Copyright (C) 2016 Red Hat, Inc. -+# Copyright (C) 2016 SUSE LINUX Products GmbH, Nuernberg, Germany. -+# Charles Arnold -+# -+# This program is free software; you can redistribute it and/or modify -+# it under the terms of the GNU General Public License as published by -+# the Free Software Foundation; either version 2 of the License, or -+# (at your option) any later version. -+# -+# This program is distributed in the hope that it will be useful, -+# but WITHOUT ANY WARRANTY; without even the implied warranty of -+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+# GNU General Public License for more details. -+# -+# You should have received a copy of the GNU General Public License -+# along with this program; if not, write to the Free Software -+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, -+# MA 02110-1301 USA. -+""" -+Classes for building and installing with libvirt XML -+""" -+ -+from .xmlbuilder import XMLBuilder, XMLProperty -+ -+ -+class SYSInfo(XMLBuilder): -+ """ -+ Top level class for object XML -+ """ -+ -+ _XML_ROOT_NAME = "sysinfo" -+ _XML_PROP_ORDER = ["type", -+ "bios_vendor", "bios_version", "bios_date", "bios_release", -+ "system_manufacturer", "system_product", "system_version", -+ "system_serial", "system_uuid", "system_sku", "system_family", -+ "baseBoard_manufacturer", "baseBoard_product", "baseBoard_version", -+ "baseBoard_serial", "baseBoard_asset", "baseBoard_location"] -+ -+ type = XMLProperty("./@type") -+ -+ bios_vendor = XMLProperty("./bios/entry[@name='vendor']") -+ bios_version = XMLProperty("./bios/entry[@name='version']") -+ bios_date = XMLProperty("./bios/entry[@name='date']") -+ bios_release = XMLProperty("./bios/entry[@name='release']") -+ -+ system_manufacturer = XMLProperty("./system/entry[@name='manufacturer']") -+ system_product = XMLProperty("./system/entry[@name='product']") -+ system_version = XMLProperty("./system/entry[@name='version']") -+ system_serial = XMLProperty("./system/entry[@name='serial']") -+ system_uuid = XMLProperty("./system/entry[@name='uuid']") -+ system_sku = XMLProperty("./system/entry[@name='sku']") -+ system_family = XMLProperty("./system/entry[@name='family']") -+ -+ baseBoard_manufacturer = XMLProperty( -+ "./baseBoard/entry[@name='manufacturer']") -+ baseBoard_product = XMLProperty("./baseBoard/entry[@name='product']") -+ baseBoard_version = XMLProperty("./baseBoard/entry[@name='version']") -+ baseBoard_serial = XMLProperty("./baseBoard/entry[@name='serial']") -+ baseBoard_asset = XMLProperty("./baseBoard/entry[@name='asset']") -+ baseBoard_location = XMLProperty("./baseBoard/entry[@name='location']") diff --git a/b4858842-fix-bad-version-check-regression.patch b/b4858842-fix-bad-version-check-regression.patch deleted file mode 100644 index a4039434..00000000 --- a/b4858842-fix-bad-version-check-regression.patch +++ /dev/null @@ -1,23 +0,0 @@ -Subject: virtinst: fix bad version check regression from 55327c81b7 -From: Marc-André Lureau marcandre.lureau@redhat.com Wed Nov 9 11:21:32 2016 +0400 -Date: Mon Nov 14 09:03:30 2016 +0100: -Git: b4858842f9e2f4f39ca81ad596fb777d11537a0f - -Signed-off-by: Marc-André Lureau - -Index: virt-manager-1.4.0/virtinst/support.py -=================================================================== ---- virt-manager-1.4.0.orig/virtinst/support.py -+++ virt-manager-1.4.0/virtinst/support.py -@@ -312,9 +312,9 @@ SUPPORT_CONN_MEM_STATS_PERIOD = _make( - function="virDomain.setMemoryStatsPeriod", - version="1.1.1", hv_version={"qemu": 0}) - SUPPORT_CONN_SPICE_GL = _make(version="1.3.3", -- hv_version={"qemu": "2.7.92", "test": 0}) -+ hv_version={"qemu": "2.6.0", "test": 0}) - SUPPORT_CONN_VIDEO_VIRTIO_ACCEL3D = _make(version="1.3.0", -- hv_version={"qemu": "2.7.0", "test": 0}) -+ hv_version={"qemu": "2.5.0", "test": 0}) - SUPPORT_CONN_GRAPHICS_LISTEN_NONE = _make(version="2.0.0") - - diff --git a/b8dccf6a-fix-connection-to-remote-spice-with-password.patch b/b8dccf6a-fix-connection-to-remote-spice-with-password.patch deleted file mode 100644 index 95918d19..00000000 --- a/b8dccf6a-fix-connection-to-remote-spice-with-password.patch +++ /dev/null @@ -1,43 +0,0 @@ -Subject: virtManager/viewers: fix connection to remote SPICE with password -From: Pavel Hrdina phrdina@redhat.com Tue Feb 7 17:46:25 2017 +0100 -Date: Fri Feb 10 09:43:20 2017 +0100: -Git: b8dccf6aca6ba5e5523749b54cf5040404b5ff26 - -When connecting to remote SPICE we use ssh tunnel if the SPICE is -listening only on "localhost". Our ssh tunnel scheduler uses locks -to serialize the requests for FD in order to not spam user for ssh -password. - -However when the main_channel is connected and emits AUTH_ERROR -we ask user for password and request for new FD. Unfortunately -after the new request is handled we didn't unlock the scheduler -and all other request would remain waiting for the lock. - -We need to unlock every FD request for the SPICE main channel not -only the first one when the channel itself is created. - -Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1401790 - -Signed-off-by: Pavel Hrdina - -Index: virt-manager-1.4.0/virtManager/viewers.py -=================================================================== ---- virt-manager-1.4.0.orig/virtManager/viewers.py -+++ virt-manager-1.4.0/virtManager/viewers.py -@@ -562,6 +562,8 @@ class SpiceViewer(Viewer): - ##################### - - def _main_channel_event_cb(self, channel, event): -+ self._tunnels.unlock() -+ - if event == SpiceClientGLib.ChannelEvent.CLOSED: - self._emit_disconnected() - elif event == SpiceClientGLib.ChannelEvent.ERROR_AUTH: -@@ -614,7 +616,6 @@ class SpiceViewer(Viewer): - - if (type(channel) == SpiceClientGLib.MainChannel and - not self._main_channel): -- self._tunnels.unlock() - self._main_channel = channel - hid = self._main_channel.connect_after("channel-event", - self._main_channel_event_cb) diff --git a/c5ce0ab5-connection-fix-transport-detection.patch b/c5ce0ab5-connection-fix-transport-detection.patch deleted file mode 100644 index 79ff83c9..00000000 --- a/c5ce0ab5-connection-fix-transport-detection.patch +++ /dev/null @@ -1,23 +0,0 @@ -Subject: connection: Fix transport detection for qemu://$HOST/system -From: Cole Robinson crobinso@redhat.com Tue Jun 21 11:31:26 2016 -0400 -Date: Tue Jun 21 11:31:26 2016 -0400: -Git: c5ce0ab512b0d8a3045b9d09329648559f825b86 - -In this case, when a host is specified but not a transport, libvirt -defaults to transport=tls - -diff --git a/virtinst/connection.py b/virtinst/connection.py -index a09f4df..2efc3eb 100644 ---- a/virtinst/connection.py -+++ b/virtinst/connection.py -@@ -355,6 +355,10 @@ class VirtualConnection(object): - def get_uri_username(self): - return self._uriobj.username - def get_uri_transport(self): -+ if self.get_uri_hostname() and not self._uriobj.transport: -+ # Libvirt defaults to transport=tls if hostname specified but -+ # no transport is specified -+ return "tls" - return self._uriobj.transport - def get_uri_path(self): - return self._uriobj.path diff --git a/d8a0a788-xmlbuilder-01.patch b/d8a0a788-xmlbuilder-01.patch deleted file mode 100644 index 462c45a8..00000000 --- a/d8a0a788-xmlbuilder-01.patch +++ /dev/null @@ -1,36 +0,0 @@ -References: fate#319621 - -Subject: xmlbuilder: Update XMLProperty docs -From: Cole Robinson crobinso@redhat.com Mon Jul 18 12:46:59 2016 -0400 -Date: Mon Jul 18 14:46:50 2016 -0400: -Git: d8a0a78805b17778c37d181f7b3a0be145536e9b - - -Index: virt-manager-1.4.0/virtinst/xmlbuilder.py -=================================================================== ---- virt-manager-1.4.0.orig/virtinst/xmlbuilder.py -+++ virt-manager-1.4.0/virtinst/xmlbuilder.py -@@ -340,15 +340,16 @@ class XMLProperty(property): - is_bool=False, is_int=False, is_yesno=False, is_onoff=False, - default_cb=None, default_name=None, do_abspath=False): - """ -- Set a XMLBuilder class property that represents a value in the -- XML. For example -+ Set a XMLBuilder class property that maps to a value in an XML -+ document, indicated by the passed xpath. For example, for a -+ the definition may look like: - -- name = XMLProperty(get_name, set_name, xpath="/domain/name") -+ name = XMLProperty("./name") - -- When building XML from scratch (virt-install), name is a regular -- class property. When parsing and editting existing guest XML, we -- use the xpath value to map the name property to the underlying XML -- definition. -+ When building XML from scratch (virt-install), 'name' works -+ similar to a regular class property(). When parsing and editing -+ existing guest XML, we use the xpath value to get/set the value -+ in the parsed XML document. - - @param doc: option doc string for the property - @param xpath: xpath string which maps to the associated property diff --git a/e69cc002-spice-catch-failure-to-setup-usbdev-manager.patch b/e69cc002-spice-catch-failure-to-setup-usbdev-manager.patch deleted file mode 100644 index 0c0d9703..00000000 --- a/e69cc002-spice-catch-failure-to-setup-usbdev-manager.patch +++ /dev/null @@ -1,48 +0,0 @@ -Subject: viewers: spice: Catch failure to setup usbdev manager -From: Cole Robinson crobinso@redhat.com Tue Jun 21 09:01:32 2016 -0400 -Date: Tue Jun 21 09:01:32 2016 -0400: -Git: e69cc002b10b49a77f1cd5170931e5e9209ab240 - -Since some distros like openbsd don't compile support for -usb redirection, which makes this fail - -https://bugzilla.redhat.com/show_bug.cgi?id=1348479 - -diff --git a/virtManager/viewers.py b/virtManager/viewers.py -index 403c316..2f7d2e9 100644 ---- a/virtManager/viewers.py -+++ b/virtManager/viewers.py -@@ -538,16 +538,23 @@ class SpiceViewer(Viewer): - GObject.GObject.connect(self._spice_session, "channel-new", - self._channel_new_cb) - -- self._usbdev_manager = SpiceClientGLib.UsbDeviceManager.get( -- self._spice_session) -- self._usbdev_manager.connect("auto-connect-failed", -- self._usbdev_redirect_error) -- self._usbdev_manager.connect("device-error", -- self._usbdev_redirect_error) -- -- autoredir = self.config.get_auto_redirection() -- if autoredir: -- gtk_session.set_property("auto-usbredir", True) -+ # Distros might have usb redirection compiled out, like OpenBSD -+ # https://bugzilla.redhat.com/show_bug.cgi?id=1348479 -+ try: -+ self._usbdev_manager = SpiceClientGLib.UsbDeviceManager.get( -+ self._spice_session) -+ self._usbdev_manager.connect("auto-connect-failed", -+ self._usbdev_redirect_error) -+ self._usbdev_manager.connect("device-error", -+ self._usbdev_redirect_error) -+ -+ autoredir = self.config.get_auto_redirection() -+ if autoredir: -+ gtk_session.set_property("auto-usbredir", True) -+ except: -+ self._usbdev_manager = None -+ logging.debug("Error initializing spice usb device manager", -+ exc_info=True) - - - ##################### diff --git a/f07a3021-fix-wait-to-behave-like-noautoconsole.patch b/f07a3021-fix-wait-to-behave-like-noautoconsole.patch deleted file mode 100644 index c606c726..00000000 --- a/f07a3021-fix-wait-to-behave-like-noautoconsole.patch +++ /dev/null @@ -1,22 +0,0 @@ -Subject: virt-install: fix --wait=0 to behave like --noautoconsole -From: Pavel Hrdina phrdina@redhat.com Wed Jan 18 13:11:43 2017 +0100 -Date: Wed Jan 18 13:11:43 2017 +0100: -Git: f07a3021d99298e3b157f6c18b880dcb3ac19b62 - -Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1371781 - -Signed-off-by: Pavel Hrdina - -Index: virt-manager-1.4.0/virt-install -=================================================================== ---- virt-manager-1.4.0.orig/virt-install -+++ virt-manager-1.4.0/virt-install -@@ -647,7 +647,7 @@ def build_guest_instance(conn, options): - ########################### - - def start_install(guest, options): -- if options.wait: -+ if options.wait is not None: - wait_on_install = True - wait_time = options.wait * 60 - if "VIRTINST_TEST_SUITE" in os.environ and wait_time: diff --git a/virt-manager-1.4.0.tar.bz2 b/virt-manager-1.4.0.tar.bz2 deleted file mode 100644 index b28e8132..00000000 --- a/virt-manager-1.4.0.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:217e45f882d082d27dbbf2c0e1e5e6bcdeeaf473490934aecf1e8a647e732c7a -size 1460026 diff --git a/virt-manager-1.4.1.tar.bz2 b/virt-manager-1.4.1.tar.bz2 new file mode 100644 index 00000000..9931fa69 --- /dev/null +++ b/virt-manager-1.4.1.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b3a4feacb42b4615b7bb98f73cb621c91c92879c1f77cc6ad4943b25cc29779b +size 1492542 diff --git a/virt-manager.changes b/virt-manager.changes index e2190960..800dfbb2 100644 --- a/virt-manager.changes +++ b/virt-manager.changes @@ -1,3 +1,41 @@ +------------------------------------------------------------------- +Thu Mar 9 08:34:24 MST 2017 - carnold@suse.com + +- Update to virt-manager 1.4.1 + virt-manager-1.4.1.tar.bz2 + * storage/nodedev event API support (Jovanka Gulicoska) + * UI options for enabling spice GL (Marc-André Lureau) + * Add default virtio-rng /dev/urandom for supported guest OS + * Cloning and rename support for UEFI VMs (Pavel Hrdina) + * libguestfs inspection UI improvements (Pino Toscano) + * virt-install: Add –qemu-commandline + * virt-install: Add –network vhostuser (Chen Hanxiao) + * virt-install: Add –sysinfo (Charles Arnold) +- Dropped the following patches contained in new tarball + 0425975f-use-virDomainMigrate3-API.patch + 0910c8dc-black-display-if-graphic-mode-vnc-and-listen-type-none.patch + 1d2cd306-Fix-incorrect-usage-of-virtio-input.patch + 2df8dc39-detect-whether-IP-address-comes-from-DHCP-server.patch + 559e813b-xmlbuilder-02.patch + 561f5cd3-drop-xenmigr-scheme-from-Xen-migration-URI.patch + 5a11cf07-virt-manager-generates-invalid-guest-XML.patch + 617b9271-dont-return-virtio1.0-net-as-valid-device-name.patch + 63784f4d-document-new-sysinfo-option.patch + 6daff68a-fix-italian-lang-file.patch + 7962672c-fix-error-checking-extra_args.patch + 835ddc5f-xmlbuilder-04.patch + a3206f89-Add-the-sysinfo-option.patch + a931a1a6-xmlbuilder-03.patch + b08647c2-xmlbuilder-05.patch + b31c0b44-Add-classes-for-defining-SMBios-information.patch + b4858842-fix-bad-version-check-regression.patch + b8dccf6a-fix-connection-to-remote-spice-with-password.patch + c5ce0ab5-connection-fix-transport-detection.patch + d8a0a788-xmlbuilder-01.patch + e69cc002-spice-catch-failure-to-setup-usbdev-manager.patch + f07a3021-fix-wait-to-behave-like-noautoconsole.patch + virtinst-add-default-rng-device.patch + ------------------------------------------------------------------- Fri Mar 3 11:55:53 MST 2017 - carnold@suse.com diff --git a/virt-manager.spec b/virt-manager.spec index a4578194..e03b2785 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -23,11 +23,11 @@ %define libvirt_xen_packages "" %define preferred_distros "sles12sp3,opensuse42.3" %define kvm_packages "" -%define _version 1.4.0 +%define _version 1.4.1 %define _release 0 Name: virt-manager -Version: 1.4.0 +Version: 1.4.1 Release: 0 Summary: Virtual Machine Manager License: GPL-2.0+ @@ -37,28 +37,6 @@ Source0: %{name}-%{version}.tar.bz2 Source1: virt-install.rb Source2: virt-install.desktop # Upstream Patches -Patch1: e69cc002-spice-catch-failure-to-setup-usbdev-manager.patch -Patch2: c5ce0ab5-connection-fix-transport-detection.patch -Patch3: 6daff68a-fix-italian-lang-file.patch -Patch4: d8a0a788-xmlbuilder-01.patch -Patch5: 559e813b-xmlbuilder-02.patch -Patch6: a931a1a6-xmlbuilder-03.patch -Patch7: 835ddc5f-xmlbuilder-04.patch -Patch8: b08647c2-xmlbuilder-05.patch -Patch9: b31c0b44-Add-classes-for-defining-SMBios-information.patch -Patch10: a3206f89-Add-the-sysinfo-option.patch -Patch11: 63784f4d-document-new-sysinfo-option.patch -Patch12: 0425975f-use-virDomainMigrate3-API.patch -Patch13: 561f5cd3-drop-xenmigr-scheme-from-Xen-migration-URI.patch -Patch14: 1d2cd306-Fix-incorrect-usage-of-virtio-input.patch -Patch15: 7962672c-fix-error-checking-extra_args.patch -Patch16: b4858842-fix-bad-version-check-regression.patch -Patch17: 5a11cf07-virt-manager-generates-invalid-guest-XML.patch -Patch18: 617b9271-dont-return-virtio1.0-net-as-valid-device-name.patch -Patch19: f07a3021-fix-wait-to-behave-like-noautoconsole.patch -Patch20: 2df8dc39-detect-whether-IP-address-comes-from-DHCP-server.patch -Patch21: b8dccf6a-fix-connection-to-remote-spice-with-password.patch -Patch22: 0910c8dc-black-display-if-graphic-mode-vnc-and-listen-type-none.patch # SUSE Only Patch70: virtman-desktop.patch Patch71: virtman-kvm.patch @@ -80,12 +58,11 @@ Patch122: virtinst-detect-oes-distros.patch Patch123: virtinst-modify-gui-defaults.patch Patch124: virtinst-vol-default-nocow.patch Patch125: virtinst-set-cache-mode-unsafe-for-install.patch -Patch126: virtinst-add-default-rng-device.patch -Patch127: virtinst-set-qemu-emulator.patch -Patch128: virtinst-add-ppc64-arch-support.patch -Patch129: virtinst-s390x-disable-graphics.patch -Patch130: virtinst-add-casp-support.patch -Patch131: virtinst-expand-combobox.patch +Patch126: virtinst-set-qemu-emulator.patch +Patch127: virtinst-add-ppc64-arch-support.patch +Patch128: virtinst-s390x-disable-graphics.patch +Patch129: virtinst-add-casp-support.patch +Patch130: virtinst-expand-combobox.patch # Bug Fixes Patch150: virtman-prevent-double-click-starting-vm-twice.patch Patch151: virtman-increase-setKeepAlive-count.patch @@ -180,28 +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 -%patch17 -p1 -%patch18 -p1 -%patch19 -p1 -%patch20 -p1 -%patch21 -p1 -%patch22 -p1 # SUSE Only %patch70 -p1 %patch71 -p1 @@ -228,7 +183,6 @@ machine). %patch128 -p1 %patch129 -p1 %patch130 -p1 -%patch131 -p1 # Bug Fixes %patch150 -p1 %patch151 -p1 @@ -309,7 +263,6 @@ fi %files %defattr(-,root,root,-) -%doc README COPYING NEWS %{_bindir}/%{name} %{_mandir}/man1/%{name}.1* diff --git a/virtinst-add-casp-support.patch b/virtinst-add-casp-support.patch index b3ad768c..7fb6820a 100644 --- a/virtinst-add-casp-support.patch +++ b/virtinst-add-casp-support.patch @@ -2,10 +2,10 @@ References: bsc#1010060 Notes: SUSE Containers as a Service Platform and 'CASP' are not names set in stone yet and could change before the product ships. -Index: virt-manager-1.4.0/virtinst/urlfetcher.py +Index: virt-manager-1.4.1/virtinst/urlfetcher.py =================================================================== ---- virt-manager-1.4.0.orig/virtinst/urlfetcher.py -+++ virt-manager-1.4.0/virtinst/urlfetcher.py +--- virt-manager-1.4.1.orig/virtinst/urlfetcher.py ++++ virt-manager-1.4.1/virtinst/urlfetcher.py @@ -464,6 +464,10 @@ def _distroFromSUSEContent(fetcher, arch dclass = SLESDistro if distro_version is None: @@ -17,7 +17,7 @@ Index: virt-manager-1.4.0/virtinst/urlfetcher.py elif re.match(".*openSUSE.*", distribution[1]): dclass = OpensuseDistro if distro_version is None: -@@ -1019,7 +1023,8 @@ class SuseDistro(Distro): +@@ -1021,7 +1025,8 @@ class SuseDistro(Distro): distro_version = self.version_from_content[1].strip() version = distro_version.split('.', 1)[0].strip() self.os_variant = self.urldistro @@ -27,7 +27,7 @@ Index: virt-manager-1.4.0/virtinst/urlfetcher.py if self.os_variant.startswith(("sles", "sled")): sp_version = None if len(distro_version.split('.', 1)) == 2: -@@ -1033,6 +1038,8 @@ class SuseDistro(Distro): +@@ -1035,6 +1040,8 @@ class SuseDistro(Distro): self.os_variant += "tumbleweed" else: self.os_variant += distro_version @@ -36,7 +36,7 @@ Index: virt-manager-1.4.0/virtinst/urlfetcher.py else: self.os_variant += "9" -@@ -1079,6 +1086,9 @@ class SLESDistro(SuseDistro): +@@ -1081,6 +1088,9 @@ class SLESDistro(SuseDistro): class SLEDDistro(SuseDistro): urldistro = "sled" diff --git a/virtinst-add-default-rng-device.patch b/virtinst-add-default-rng-device.patch deleted file mode 100644 index fae46af8..00000000 --- a/virtinst-add-default-rng-device.patch +++ /dev/null @@ -1,38 +0,0 @@ -References: bnc#885308 -Enhancement to add a virtio RNG device to non windows VMs. -Index: virt-manager-1.4.0/virtinst/guest.py -=================================================================== ---- virt-manager-1.4.0.orig/virtinst/guest.py -+++ virt-manager-1.4.0/virtinst/guest.py -@@ -39,6 +39,7 @@ from .devicedisk import VirtualDisk - from .devicegraphics import VirtualGraphics - from .deviceinput import VirtualInputDevice - from .deviceredirdev import VirtualRedirDevice -+from .devicerng import VirtualRNGDevice - from .devicevideo import VirtualVideoDevice - from .distroinstaller import DistroInstaller - from .domainblkiotune import DomainBlkiotune -@@ -655,6 +656,15 @@ class Guest(XMLBuilder): - return - self.add_device(VirtualGraphics(self.conn)) - -+ def add_default_rng(self): -+ osvar = self._get_os_variant() -+ if not self.conn.is_qemu() or not osvar or osvar.startswith("win"): -+ return -+ rng_dev = VirtualRNGDevice(True) -+ rng_dev.type = VirtualRNGDevice.TYPE_RANDOM -+ setattr(rng_dev, "device", "/dev/random") -+ self.add_device(rng_dev) -+ - def add_default_devices(self): - self.add_default_graphics() - self.add_default_video_device() -@@ -662,6 +672,7 @@ class Guest(XMLBuilder): - self.add_default_console_device() - self.add_default_usb_controller() - self.add_default_channels() -+ self.add_default_rng() - - def _add_install_cdrom(self): - if self._install_cdrom_device: diff --git a/virtinst-add-ppc64-arch-support.patch b/virtinst-add-ppc64-arch-support.patch index 8dd82827..5912978a 100644 --- a/virtinst-add-ppc64-arch-support.patch +++ b/virtinst-add-ppc64-arch-support.patch @@ -1,9 +1,9 @@ Reference: bnc#869024 Add s390x and ppc64 support -Index: virt-manager-1.4.0/virtinst/urlfetcher.py +Index: virt-manager-1.4.1/virtinst/urlfetcher.py =================================================================== ---- virt-manager-1.4.0.orig/virtinst/urlfetcher.py -+++ virt-manager-1.4.0/virtinst/urlfetcher.py +--- virt-manager-1.4.1.orig/virtinst/urlfetcher.py ++++ virt-manager-1.4.1/virtinst/urlfetcher.py @@ -438,6 +438,10 @@ def _distroFromSUSEContent(fetcher, arch arch = "i586" elif cbuf.find("s390x") != -1: @@ -15,7 +15,7 @@ Index: virt-manager-1.4.0/virtinst/urlfetcher.py def _parse_sle_distribution(d): sle_version = d[1].strip().rsplit(' ')[4] -@@ -989,10 +993,12 @@ class SuseDistro(Distro): +@@ -991,10 +995,12 @@ class SuseDistro(Distro): oldkern += "64" oldinit += "64" diff --git a/virtinst-nfs-install-sanitize.patch b/virtinst-nfs-install-sanitize.patch index 0e1eb4c9..5d75f017 100644 --- a/virtinst-nfs-install-sanitize.patch +++ b/virtinst-nfs-install-sanitize.patch @@ -5,11 +5,11 @@ 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.4.0/virtinst/util.py +Index: virt-manager-1.4.1/virtinst/util.py =================================================================== ---- virt-manager-1.4.0.orig/virtinst/util.py -+++ virt-manager-1.4.0/virtinst/util.py -@@ -553,3 +553,22 @@ def getInstallRepos(enabled_sources_only +--- virt-manager-1.4.1.orig/virtinst/util.py ++++ virt-manager-1.4.1/virtinst/util.py +@@ -444,3 +444,22 @@ def getInstallRepos(enabled_sources_only return (index_dom0, zypper_output) @@ -32,10 +32,10 @@ Index: virt-manager-1.4.0/virtinst/util.py + + return url + -Index: virt-manager-1.4.0/virtinst/distroinstaller.py +Index: virt-manager-1.4.1/virtinst/distroinstaller.py =================================================================== ---- virt-manager-1.4.0.orig/virtinst/distroinstaller.py -+++ virt-manager-1.4.0/virtinst/distroinstaller.py +--- virt-manager-1.4.1.orig/virtinst/distroinstaller.py ++++ virt-manager-1.4.1/virtinst/distroinstaller.py @@ -44,6 +44,8 @@ def _sanitize_url(url): """ Do nothing for http or ftp, but make sure nfs is in the expected format @@ -45,10 +45,10 @@ Index: virt-manager-1.4.0/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.4.0/virtinst/urlfetcher.py +Index: virt-manager-1.4.1/virtinst/urlfetcher.py =================================================================== ---- virt-manager-1.4.0.orig/virtinst/urlfetcher.py -+++ virt-manager-1.4.0/virtinst/urlfetcher.py +--- virt-manager-1.4.1.orig/virtinst/urlfetcher.py ++++ virt-manager-1.4.1/virtinst/urlfetcher.py @@ -34,6 +34,7 @@ import urlparse import requests diff --git a/virtinst-pvgrub2-bootloader.patch b/virtinst-pvgrub2-bootloader.patch index 7058940b..5892ddfc 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.4.0/virtinst/guest.py +Index: virt-manager-1.4.1/virtinst/guest.py =================================================================== ---- virt-manager-1.4.0.orig/virtinst/guest.py -+++ virt-manager-1.4.0/virtinst/guest.py -@@ -364,8 +364,20 @@ class Guest(XMLBuilder): +--- virt-manager-1.4.1.orig/virtinst/guest.py ++++ virt-manager-1.4.1/virtinst/guest.py +@@ -363,8 +363,20 @@ class Guest(XMLBuilder): if (not install and self.os.is_xenpv() and not self.os.kernel): @@ -29,10 +29,10 @@ Index: virt-manager-1.4.0/virtinst/guest.py return self.get_xml_config() -Index: virt-manager-1.4.0/virtinst/installer.py +Index: virt-manager-1.4.1/virtinst/installer.py =================================================================== ---- virt-manager-1.4.0.orig/virtinst/installer.py -+++ virt-manager-1.4.0/virtinst/installer.py +--- virt-manager-1.4.1.orig/virtinst/installer.py ++++ virt-manager-1.4.1/virtinst/installer.py @@ -99,7 +99,7 @@ class Installer(object): break return bootorder diff --git a/virtinst-s390x-disable-graphics.patch b/virtinst-s390x-disable-graphics.patch index cef30c70..c681fac6 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-1.4.0/virtinst/guest.py +Index: virt-manager-1.4.1/virtinst/guest.py =================================================================== ---- virt-manager-1.4.0.orig/virtinst/guest.py -+++ virt-manager-1.4.0/virtinst/guest.py -@@ -123,7 +123,10 @@ class Guest(XMLBuilder): +--- virt-manager-1.4.1.orig/virtinst/guest.py ++++ virt-manager-1.4.1/virtinst/guest.py +@@ -124,7 +124,10 @@ class Guest(XMLBuilder): self.skip_default_channel = False self.skip_default_sound = False self.skip_default_usbredir = False @@ -13,10 +13,10 @@ Index: virt-manager-1.4.0/virtinst/guest.py + self.skip_default_graphics = True + else: + self.skip_default_graphics = False + self.skip_default_rng = False self.x86_cpu_default = self.cpu.SPECIAL_MODE_HOST_MODEL_ONLY - self.__os_object = None -@@ -606,7 +609,7 @@ class Guest(XMLBuilder): +@@ -619,7 +622,7 @@ class Guest(XMLBuilder): self.add_device(dev) def add_default_video_device(self): @@ -25,7 +25,7 @@ Index: virt-manager-1.4.0/virtinst/guest.py return if self.get_devices("video"): return -@@ -644,6 +647,8 @@ class Guest(XMLBuilder): +@@ -657,6 +660,8 @@ class Guest(XMLBuilder): dev.target_type = "virtio" dev.target_name = dev.CHANNEL_NAME_QEMUGA self.add_device(dev) @@ -34,7 +34,7 @@ Index: virt-manager-1.4.0/virtinst/guest.py def add_default_graphics(self): if self.skip_default_graphics: -@@ -652,7 +657,7 @@ class Guest(XMLBuilder): +@@ -665,7 +670,7 @@ class Guest(XMLBuilder): return if self.os.is_container(): return @@ -43,7 +43,7 @@ Index: virt-manager-1.4.0/virtinst/guest.py return self.add_device(VirtualGraphics(self.conn)) -@@ -980,7 +985,7 @@ class Guest(XMLBuilder): +@@ -1003,7 +1008,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 e83e8336..5b55cd97 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-1.4.0/virtinst/guest.py +Index: virt-manager-1.4.1/virtinst/guest.py =================================================================== ---- virt-manager-1.4.0.orig/virtinst/guest.py -+++ virt-manager-1.4.0/virtinst/guest.py -@@ -360,6 +360,17 @@ class Guest(XMLBuilder): +--- virt-manager-1.4.1.orig/virtinst/guest.py ++++ virt-manager-1.4.1/virtinst/guest.py +@@ -359,6 +359,17 @@ class Guest(XMLBuilder): self._set_osxml_defaults() @@ -22,7 +22,7 @@ Index: virt-manager-1.4.0/virtinst/guest.py self.bootloader = None if (not install and self.os.is_xenpv() and -@@ -379,7 +390,10 @@ class Guest(XMLBuilder): +@@ -378,7 +389,10 @@ class Guest(XMLBuilder): self.installer.alter_bootconfig(self, True, True) logging.info("Using grub.xen to boot guest") diff --git a/virtinst-set-qemu-emulator.patch b/virtinst-set-qemu-emulator.patch index a63f87dc..b744da6b 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-1.4.0/virtinst/guest.py +Index: virt-manager-1.4.1/virtinst/guest.py =================================================================== ---- virt-manager-1.4.0.orig/virtinst/guest.py -+++ virt-manager-1.4.0/virtinst/guest.py -@@ -793,14 +793,11 @@ class Guest(XMLBuilder): +--- virt-manager-1.4.1.orig/virtinst/guest.py ++++ virt-manager-1.4.1/virtinst/guest.py +@@ -816,14 +816,11 @@ class Guest(XMLBuilder): self.emulator = None return diff --git a/virtinst-storage-ocfs2.patch b/virtinst-storage-ocfs2.patch index 15db5b14..66f44df4 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.4.0/virtinst/storage.py +Index: virt-manager-1.4.1/virtinst/storage.py =================================================================== ---- virt-manager-1.4.0.orig/virtinst/storage.py -+++ virt-manager-1.4.0/virtinst/storage.py -@@ -459,7 +459,7 @@ class StoragePool(_StorageObject): +--- virt-manager-1.4.1.orig/virtinst/storage.py ++++ virt-manager-1.4.1/virtinst/storage.py +@@ -462,7 +462,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-use-xenpae-kernel-for-32bit.patch b/virtinst-use-xenpae-kernel-for-32bit.patch index dc651a7a..c9a6a6d6 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-1.4.0/virtinst/urlfetcher.py +Index: virt-manager-1.4.1/virtinst/urlfetcher.py =================================================================== ---- virt-manager-1.4.0.orig/virtinst/urlfetcher.py -+++ virt-manager-1.4.0/virtinst/urlfetcher.py -@@ -1016,8 +1016,12 @@ class SuseDistro(Distro): +--- virt-manager-1.4.1.orig/virtinst/urlfetcher.py ++++ virt-manager-1.4.1/virtinst/urlfetcher.py +@@ -1018,8 +1018,12 @@ class SuseDistro(Distro): "boot/%s/initrd" % self.arch)) # Matches Opensuse > 10.2 and sles 10 diff --git a/virtinst-vol-default-nocow.patch b/virtinst-vol-default-nocow.patch index e4163e5b..ad517b2f 100644 --- a/virtinst-vol-default-nocow.patch +++ b/virtinst-vol-default-nocow.patch @@ -4,12 +4,12 @@ issue on btrfs. Signed-off-by: Chunyan Liu -Index: virt-manager-1.4.0/virtinst/storage.py +Index: virt-manager-1.4.1/virtinst/storage.py =================================================================== ---- virt-manager-1.4.0.orig/virtinst/storage.py -+++ virt-manager-1.4.0/virtinst/storage.py -@@ -707,6 +707,12 @@ class StorageVolume(_StorageObject): - return self.TYPE_FILE +--- virt-manager-1.4.1.orig/virtinst/storage.py ++++ virt-manager-1.4.1/virtinst/storage.py +@@ -717,6 +717,12 @@ class StorageVolume(_StorageObject): + return self._pool_xml.get_disk_type() file_type = property(_get_vol_type) + def _nocow_default_cb(self): @@ -21,14 +21,14 @@ Index: virt-manager-1.4.0/virtinst/storage.py ################## # XML properties # -Index: virt-manager-1.4.0/virtinst/support.py +Index: virt-manager-1.4.1/virtinst/support.py =================================================================== ---- virt-manager-1.4.0.orig/virtinst/support.py -+++ virt-manager-1.4.0/virtinst/support.py -@@ -316,6 +316,8 @@ SUPPORT_CONN_SPICE_GL = _make(version="1 - SUPPORT_CONN_VIDEO_VIRTIO_ACCEL3D = _make(version="1.3.0", +--- virt-manager-1.4.1.orig/virtinst/support.py ++++ virt-manager-1.4.1/virtinst/support.py +@@ -321,6 +321,8 @@ SUPPORT_CONN_VIDEO_VIRTIO_ACCEL3D = _mak hv_version={"qemu": "2.5.0", "test": 0}) SUPPORT_CONN_GRAPHICS_LISTEN_NONE = _make(version="2.0.0") + SUPPORT_CONN_RNG_URANDOM = _make(version="1.3.4") +SUPPORT_CONN_NOCOW = _make( + version="1.2.18", hv_version={"qemu": "2.2.0", "test": 0}) diff --git a/virtman-increase-setKeepAlive-count.patch b/virtman-increase-setKeepAlive-count.patch index 29f1a506..33b1a24e 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.4.0/virtManager/connection.py +Index: virt-manager-1.4.1/virtManager/connection.py =================================================================== ---- virt-manager-1.4.0.orig/virtManager/connection.py -+++ virt-manager-1.4.0/virtManager/connection.py -@@ -947,7 +947,7 @@ class vmmConnection(vmmGObject): +--- virt-manager-1.4.1.orig/virtManager/connection.py ++++ virt-manager-1.4.1/virtManager/connection.py +@@ -1051,7 +1051,7 @@ class vmmConnection(vmmGObject): self.caps.get_cpu_values("x86_64") try: diff --git a/virtman-prevent-double-click-starting-vm-twice.patch b/virtman-prevent-double-click-starting-vm-twice.patch index 0c342261..80c492f9 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.4.0/virtManager/details.py +Index: virt-manager-1.4.1/virtManager/details.py =================================================================== ---- virt-manager-1.4.0.orig/virtManager/details.py -+++ virt-manager-1.4.0/virtManager/details.py -@@ -1418,6 +1418,9 @@ class vmmDetails(vmmGObjectUI): +--- virt-manager-1.4.1.orig/virtManager/details.py ++++ virt-manager-1.4.1/virtManager/details.py +@@ -1459,6 +1459,9 @@ class vmmDetails(vmmGObjectUI): def control_vm_run(self, src_ignore): if self.has_unapplied_changes(self.get_hw_row()): return diff --git a/virtman-show-suse-install-repos.patch b/virtman-show-suse-install-repos.patch index 898b8c68..2dc4616c 100644 --- a/virtman-show-suse-install-repos.patch +++ b/virtman-show-suse-install-repos.patch @@ -2,10 +2,10 @@ 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.4.0/virtManager/create.py +Index: virt-manager-1.4.1/virtManager/create.py =================================================================== ---- virt-manager-1.4.0.orig/virtManager/create.py -+++ virt-manager-1.4.0/virtManager/create.py +--- virt-manager-1.4.1.orig/virtManager/create.py ++++ virt-manager-1.4.1/virtManager/create.py @@ -403,7 +403,13 @@ class vmmCreate(vmmGObjectUI): self.widget("install-url-entry").set_text("") self.widget("install-url-options").set_expanded(False) @@ -21,13 +21,13 @@ Index: virt-manager-1.4.0/virtManager/create.py self._set_distro_labels("-", "-") # Install import -Index: virt-manager-1.4.0/virtinst/util.py +Index: virt-manager-1.4.1/virtinst/util.py =================================================================== ---- virt-manager-1.4.0.orig/virtinst/util.py -+++ virt-manager-1.4.0/virtinst/util.py -@@ -24,9 +24,12 @@ import random +--- virt-manager-1.4.1.orig/virtinst/util.py ++++ virt-manager-1.4.1/virtinst/util.py +@@ -23,9 +23,12 @@ import os + import random import re - import stat import sys +import subprocess +from subprocess import Popen, PIPE @@ -38,7 +38,7 @@ Index: virt-manager-1.4.0/virtinst/util.py def listify(l): if l is None: -@@ -452,3 +455,101 @@ def make_meter(quiet): +@@ -343,3 +346,101 @@ def make_meter(quiet): if quiet: return progress.BaseMeter() return progress.TextMeter(fo=sys.stdout)