diff --git a/1d2cd306-Fix-incorrect-usage-of-virtio-input.patch b/1d2cd306-Fix-incorrect-usage-of-virtio-input.patch
new file mode 100644
index 00000000..a80a4b0c
--- /dev/null
+++ b/1d2cd306-Fix-incorrect-usage-of-virtio-input.patch
@@ -0,0 +1,78 @@
+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/5a11cf07-virt-manager-generates-invalid-guest-XML.patch b/5a11cf07-virt-manager-generates-invalid-guest-XML.patch
new file mode 100644
index 00000000..dcd11255
--- /dev/null
+++ b/5a11cf07-virt-manager-generates-invalid-guest-XML.patch
@@ -0,0 +1,51 @@
+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
new file mode 100644
index 00000000..689a28b8
--- /dev/null
+++ b/617b9271-dont-return-virtio1.0-net-as-valid-device-name.patch
@@ -0,0 +1,23 @@
+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/7962672c-fix-error-checking-extra_args.patch b/7962672c-fix-error-checking-extra_args.patch
new file mode 100644
index 00000000..419d8fbd
--- /dev/null
+++ b/7962672c-fix-error-checking-extra_args.patch
@@ -0,0 +1,25 @@
+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/b4858842-fix-bad-version-check-regression.patch b/b4858842-fix-bad-version-check-regression.patch
new file mode 100644
index 00000000..a4039434
--- /dev/null
+++ b/b4858842-fix-bad-version-check-regression.patch
@@ -0,0 +1,23 @@
+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/f07a3021-fix-wait-to-behave-like-noautoconsole.patch b/f07a3021-fix-wait-to-behave-like-noautoconsole.patch
new file mode 100644
index 00000000..c606c726
--- /dev/null
+++ b/f07a3021-fix-wait-to-behave-like-noautoconsole.patch
@@ -0,0 +1,22 @@
+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.changes b/virt-manager.changes
index d89d6299..dafef4be 100644
--- a/virt-manager.changes
+++ b/virt-manager.changes
@@ -1,3 +1,25 @@
+-------------------------------------------------------------------
+Thu Jan 26 16:41:16 MST 2017 - carnold@suse.com
+
+- bsc#1022173 - virt-manager: unknown input device type
+ 'virtio1.0-input'
+ 1d2cd306-Fix-incorrect-usage-of-virtio-input.patch
+- bsc#1005848 - KVM: guest can not be started on top of SLES12SP1
+ KVM host ppc64
+ 5a11cf07-virt-manager-generates-invalid-guest-XML.patch
+- Upstream bug fixes
+ 617b9271-dont-return-virtio1.0-net-as-valid-device-name.patch
+ 7962672c-fix-error-checking-extra_args.patch
+ b4858842-fix-bad-version-check-regression.patch
+ f07a3021-fix-wait-to-behave-like-noautoconsole.patch
+
+-------------------------------------------------------------------
+Wed Jan 18 15:36:46 MST 2017 - carnold@suse.com
+
+- bsc#1005861 - virt-manager create new machine dialog box too
+ small to display system type
+ virtinst-expand-combobox.patch
+
-------------------------------------------------------------------
Wed Jan 18 10:54:58 MST 2017 - carnold@suse.com
@@ -1530,9 +1552,9 @@ Mon Feb 4 10:10:30 MST 2013 - carnold@suse.com
-------------------------------------------------------------------
Thu Jan 31 15:32:00 MST 2013 - carnold@suse.com
-- fate##314135: Support PVSCSI on XEN and VirtioSCSI on KVM -
+- fate#314135: Support PVSCSI on XEN and VirtioSCSI on KVM -
Implement pass through block device
-- fate##313076: HBA passthrough for kvm
+- fate#313076: HBA passthrough for kvm
virtman-git-scsi.diff
virtman-git-scsi-lun.diff
diff --git a/virt-manager.spec b/virt-manager.spec
index 2158b7bb..84fa095b 100644
--- a/virt-manager.spec
+++ b/virt-manager.spec
@@ -50,6 +50,12 @@ 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
# SUSE Only
Patch70: virtman-desktop.patch
Patch71: virtman-kvm.patch
@@ -76,6 +82,7 @@ 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
# Bug Fixes
Patch150: virtman-prevent-double-click-starting-vm-twice.patch
Patch151: virtman-increase-setKeepAlive-count.patch
@@ -181,6 +188,12 @@ machine).
%patch11 -p1
%patch12 -p1
%patch13 -p1
+%patch14 -p1
+%patch15 -p1
+%patch16 -p1
+%patch17 -p1
+%patch18 -p1
+%patch19 -p1
# SUSE Only
%patch70 -p1
%patch71 -p1
@@ -207,6 +220,7 @@ machine).
%patch128 -p1
%patch129 -p1
%patch130 -p1
+%patch131 -p1
# Bug Fixes
%patch150 -p1
%patch151 -p1
diff --git a/virtinst-expand-combobox.patch b/virtinst-expand-combobox.patch
new file mode 100644
index 00000000..0c381c41
--- /dev/null
+++ b/virtinst-expand-combobox.patch
@@ -0,0 +1,16 @@
+References: bsc#1005861
+Notes: Just allow the GtkComboBox to be the width of the dialog
+so you can see more of the operating system name.
+
+Index: virt-manager-1.4.0/ui/create.ui
+===================================================================
+--- virt-manager-1.4.0.orig/ui/create.ui
++++ virt-manager-1.4.0/ui/create.ui
+@@ -1741,7 +1741,6 @@ is not yet supported.</small>
+ 1
+ 2
+- GTK_FILL
+
+
+
diff --git a/virtinst-vol-default-nocow.patch b/virtinst-vol-default-nocow.patch
index 444c2373..e4163e5b 100644
--- a/virtinst-vol-default-nocow.patch
+++ b/virtinst-vol-default-nocow.patch
@@ -27,7 +27,7 @@ Index: virt-manager-1.4.0/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",
- 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")
+SUPPORT_CONN_NOCOW = _make(
+ version="1.2.18", hv_version={"qemu": "2.2.0", "test": 0})