diff --git a/1856c1fa-support-Fix-minimum-version-check.patch b/1856c1fa-support-Fix-minimum-version-check.patch new file mode 100644 index 00000000..22b6cdd1 --- /dev/null +++ b/1856c1fa-support-Fix-minimum-version-check.patch @@ -0,0 +1,34 @@ +Subject: support: Fix minimum version check +From: Cole Robinson crobinso@redhat.com Wed Mar 6 13:05:47 2019 -0500 +Date: Wed Mar 6 13:06:54 2019 -0500: +Git: 1856c1fa6501c7d37d360377937a82cfa2d1cd20 + +The original code for this was about version 0.7.3, but a refactor +accidentally changed it to 0.7.9 which is a libvirt version that +doesn't exist. Fix it + +diff --git a/virtinst/support.py b/virtinst/support.py +index 0f0f6104..fabcfe7d 100644 +--- a/virtinst/support.py ++++ b/virtinst/support.py +@@ -131,7 +131,7 @@ class _SupportCheck(object): + for an 'unsupported' error from libvirt. + + @flag: A flag to check exists. This will be appended to the argument +- list if run_args are provided, otherwise we will only check against ++ :list if run_args are provided, otherwise we will only check against + that the flag is present in the python bindings. + + @hv_version: A dictionary with hypervisor names for keys, and +@@ -157,9 +157,9 @@ class _SupportCheck(object): + versions = ([self.version] + list(self.hv_libvirt_version.values())) + for vstr in versions: + v = _version_str_to_int(vstr) +- if vstr is not None and v != 0 and v < 7009: ++ if vstr is not None and v != 0 and v < 7003: + raise RuntimeError("programming error: Cannot enforce " +- "support checks for libvirt versions less than 0.7.9, " ++ "support checks for libvirt versions less than 0.7.3, " + "since required APIs were not available. ver=%s" % vstr) + + def check_support(self, conn, data): diff --git a/26a433fc-virtManager-clone-check-which-storage-pools-supports-volume-cloning.patch b/26a433fc-virtManager-clone-check-which-storage-pools-supports-volume-cloning.patch new file mode 100644 index 00000000..9a9dc1ac --- /dev/null +++ b/26a433fc-virtManager-clone-check-which-storage-pools-supports-volume-cloning.patch @@ -0,0 +1,96 @@ +Subject: virtManager: clone: check which storage pools supports volume cloning +From: Pavel Hrdina phrdina@redhat.com Thu Feb 28 11:47:40 2019 +0100 +Date: Mon Mar 4 13:23:45 2019 +0100: +Git: 26a433fc421b7c23e02deb8fe84cdedc21fd8f95 + +When cloning a guest in virt-manager the GUI shows a list of disks and +select default cloning policy for every disk. For storage pools where +we know that cloning is not possible we should not select that option +as default one. + +Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1463066 + +Reviewed-by: Cole Robinson +Signed-off-by: Pavel Hrdina + +diff --git a/virtManager/clone.py b/virtManager/clone.py +index 895d258a..4148fca0 100644 +--- a/virtManager/clone.py ++++ b/virtManager/clone.py +@@ -64,6 +64,11 @@ def can_we_clone(conn, vol, path): + elif not os.path.exists(path): + msg = _("Path does not exist.") + ++ else: ++ pool = vol.get_parent_pool() ++ if not pool.supports_volume_creation(clone=True): ++ msg = _("Cannot clone %s storage pool.") % pool.get_type() ++ + if msg: + ret = False + +@@ -94,12 +99,8 @@ def do_we_default(conn, vol, path, ro, shared, devtype): + + if vol: + pool_type = vol.get_parent_pool().get_type() +- if pool_type == virtinst.StoragePool.TYPE_SCSI: +- info = append_str(info, _("SCSI device")) +- elif pool_type == virtinst.StoragePool.TYPE_DISK: ++ if pool_type == virtinst.StoragePool.TYPE_DISK: + info = append_str(info, _("Disk device")) +- elif pool_type == virtinst.StoragePool.TYPE_ISCSI: +- info = append_str(info, _("iSCSI share")) + + if shared: + info = append_str(info, _("Shareable")) +diff --git a/virtManager/storagepool.py b/virtManager/storagepool.py +index bf79b161..d0d26cc2 100644 +--- a/virtManager/storagepool.py ++++ b/virtManager/storagepool.py +@@ -238,8 +238,8 @@ class vmmStoragePool(vmmLibvirtObject): + def can_change_alloc(self): + typ = self.get_type() + return (typ in [StoragePool.TYPE_LOGICAL, StoragePool.TYPE_ZFS]) +- def supports_volume_creation(self): +- return self.get_xmlobj().supports_volume_creation() ++ def supports_volume_creation(self, clone=False): ++ return self.get_xmlobj().supports_volume_creation(clone=clone) + + def get_type(self): + return self.get_xmlobj().type +diff --git a/virtinst/storage.py b/virtinst/storage.py +index 5781e4a7..3249c454 100644 +--- a/virtinst/storage.py ++++ b/virtinst/storage.py +@@ -395,13 +395,25 @@ class StoragePool(_StorageObject): + return self.type in users[propname] + return hasattr(self, propname) + +- def supports_volume_creation(self): +- return self.type in [ +- StoragePool.TYPE_DIR, StoragePool.TYPE_FS, +- StoragePool.TYPE_NETFS, StoragePool.TYPE_LOGICAL, ++ def supports_volume_creation(self, clone=False): ++ """ ++ Returns if pool supports volume creation. If @clone is set to True ++ returns if pool supports volume cloning (virVolCreateXMLFrom). ++ """ ++ supported = [ ++ StoragePool.TYPE_DIR, ++ StoragePool.TYPE_FS, ++ StoragePool.TYPE_NETFS, + StoragePool.TYPE_DISK, +- StoragePool.TYPE_RBD, StoragePool.TYPE_SHEEPDOG, +- StoragePool.TYPE_ZFS] ++ StoragePool.TYPE_LOGICAL, ++ StoragePool.TYPE_RBD, ++ ] ++ if not clone: ++ supported.extend([ ++ StoragePool.TYPE_SHEEPDOG, ++ StoragePool.TYPE_ZFS, ++ ]) ++ return self.type in supported + + def get_disk_type(self): + if (self.type == StoragePool.TYPE_DISK or diff --git a/4f66c423-cloner-Handle-nonsparse-for-qcow2-images.patch b/4f66c423-cloner-Handle-nonsparse-for-qcow2-images.patch new file mode 100644 index 00000000..d288541b --- /dev/null +++ b/4f66c423-cloner-Handle-nonsparse-for-qcow2-images.patch @@ -0,0 +1,57 @@ +Subject: cloner: Handle --nonsparse for qcow2 images (bz 1675743) +From: Cole Robinson crobinso@redhat.com Mon Mar 4 13:20:51 2019 -0500 +Date: Mon Mar 4 14:04:34 2019 -0500: +Git: 4f66c423f7833e270b61536d53a0772ce1242abc + +https://bugzilla.redhat.com/show_bug.cgi?id=1675743 + +diff --git a/tests/clone-xml/cross-pool-disks-out.xml b/tests/clone-xml/cross-pool-disks-out.xml +index 260f321c..6093e240 100644 +--- a/tests/clone-xml/cross-pool-disks-out.xml ++++ b/tests/clone-xml/cross-pool-disks-out.xml +@@ -1,7 +1,7 @@ + + new1.img + 1000000 +- 50000 ++ 1000000 + + + +@@ -12,7 +12,7 @@ + + new2.img + 1000000 +- 50000 ++ 1000000 + + + +diff --git a/virtinst/cloner.py b/virtinst/cloner.py +index ba89a26f..b29027e3 100644 +--- a/virtinst/cloner.py ++++ b/virtinst/cloner.py +@@ -330,6 +330,8 @@ class Cloner(object): + vol_install.input_vol = orig_disk.get_vol_object() + vol_install.sync_input_vol(only_format=True) + ++ if self.clone_sparse: ++ vol_install.allocation = vol_install.capacity + vol_install.reflink = self.reflink + clone_disk.set_vol_install(vol_install) + elif orig_disk.path: +diff --git a/virtinst/storage.py b/virtinst/storage.py +index 3249c454..2e92c5d6 100644 +--- a/virtinst/storage.py ++++ b/virtinst/storage.py +@@ -744,6 +744,10 @@ class StorageVolume(_StorageObject): + self.conn.check_support( + self.conn.SUPPORT_POOL_METADATA_PREALLOC, self.pool)): + createflags |= libvirt.VIR_STORAGE_VOL_CREATE_PREALLOC_METADATA ++ if self.capacity == self.allocation: ++ # For cloning, this flag will make libvirt+qemu-img preallocate ++ # the new disk image ++ cloneflags |= libvirt.VIR_STORAGE_VOL_CREATE_PREALLOC_METADATA + + if self.reflink: + cloneflags |= getattr(libvirt, diff --git a/57db4185-virt-clone-fix-force-copy-of-empty-cdrom-or-floppy-disk.patch b/57db4185-virt-clone-fix-force-copy-of-empty-cdrom-or-floppy-disk.patch new file mode 100644 index 00000000..8d6cc805 --- /dev/null +++ b/57db4185-virt-clone-fix-force-copy-of-empty-cdrom-or-floppy-disk.patch @@ -0,0 +1,41 @@ +Subject: virt-clone: fix force-copy of empty cdrom or floppy disk +From: Pavel Hrdina phrdina@redhat.com Thu Feb 28 17:53:58 2019 +0100 +Date: Thu Feb 28 18:05:31 2019 +0100: +Git: 57db41854c86704af331d283810db0d86786825a + +There is nothing to copy so don't try to generate new path. + +Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1564863 + +Signed-off-by: Pavel Hrdina + +Index: virt-manager-2.1.0/tests/clitest.py +=================================================================== +--- virt-manager-2.1.0.orig/tests/clitest.py ++++ virt-manager-2.1.0/tests/clitest.py +@@ -1047,6 +1047,7 @@ c.add_invalid("--original-xml " + _CLONE + c.add_invalid("--original-xml " + _CLONE_UNMANAGED + " --file %(NEWCLONEIMG1)s --file %(NEWCLONEIMG2)s --force-copy=hdc") # XML w/ disks, force copy but not enough disks passed + c.add_invalid("--original-xml " + _CLONE_MANAGED + " --file /tmp/clonevol") # XML w/ managed storage, specify unmanaged path (should fail) + c.add_invalid("--original-xml " + _CLONE_NOEXIST + " --file %(EXISTIMG1)s") # XML w/ non-existent storage, WITHOUT --preserve ++c.add_valid("--original-xml " + _CLONE_MANAGED + " --auto-clone --force-copy fda") # force copy empty floppy drive + + + +Index: virt-manager-2.1.0/virt-clone +=================================================================== +--- virt-manager-2.1.0.orig/virt-clone ++++ virt-manager-2.1.0/virt-clone +@@ -67,11 +67,10 @@ def get_clone_diskfile(new_diskfiles, de + new_diskfiles.append(None) + newpath = new_diskfiles[newidx] + +- if newpath is None and auto_clone: +- newpath = design.generate_clone_disk_path(origpath) +- + if origpath is None: + newpath = None ++ elif newpath is None and auto_clone: ++ newpath = design.generate_clone_disk_path(origpath) + + clonepaths.append(newpath) + newidx += 1 diff --git a/708af01c-osdict-Add-supports_virtioinput.patch b/708af01c-osdict-Add-supports_virtioinput.patch new file mode 100644 index 00000000..4a9c2e53 --- /dev/null +++ b/708af01c-osdict-Add-supports_virtioinput.patch @@ -0,0 +1,27 @@ +Subject: osdict: Add supports_virtioinput() +From: Andrea Bolognani abologna@redhat.com Wed Mar 20 16:52:34 2019 +0100 +Date: Thu Mar 21 15:31:20 2019 +0100: +Git: 708af01c145dcaf5146901d18e22d1da61e09444 + +We can use this function to figure out whether the guest OS +supports VirtIO input devices (virtio-tablet, virtio-keyboard +and virtio-mouse). + +Signed-off-by: Andrea Bolognani + +Index: virt-manager-2.1.0/virtinst/osdict.py +=================================================================== +--- virt-manager-2.1.0.orig/virtinst/osdict.py ++++ virt-manager-2.1.0/virtinst/osdict.py +@@ -390,6 +390,11 @@ class _OsVariant(object): + # Remove this hack after 6 months or so + return self._is_related_to("rhel6.0") + ++ def supports_virtioinput(self): ++ # virtio1.0-input ++ devids = ["http://pcisig.com/pci/1af4/1052"] ++ return bool(self._device_filter(devids=devids)) ++ + def supports_usb3(self): + # qemu-xhci + devids = ["http://pcisig.com/pci/1b36/0004"] diff --git a/74bbc3db-urldetect-Check-also-for-treeinfo.patch b/74bbc3db-urldetect-Check-also-for-treeinfo.patch new file mode 100644 index 00000000..0b896ac3 --- /dev/null +++ b/74bbc3db-urldetect-Check-also-for-treeinfo.patch @@ -0,0 +1,37 @@ +Subject: urldetect: Check also for 'treeinfo' (bz 1689252) +From: Cole Robinson crobinso@redhat.com Mon Mar 18 14:22:25 2019 -0400 +Date: Mon Mar 18 14:24:07 2019 -0400: +Git: 74bbc3db15d5e9a1b4d21c276f7d3f435b83d2fd + +Trees published to akamai CDN via Red Hat Satellite can't have .dotfiles +in them. More details here: + + https://bugzilla.redhat.com/show_bug.cgi?id=635065 + +So we also need to check for .treeinfo. Anaconda does this too so it's +a long known issue. + +https://bugzilla.redhat.com/show_bug.cgi?id=1689252 + +diff --git a/virtinst/urldetect.py b/virtinst/urldetect.py +index 3033e6ea..4d301ef3 100644 +--- a/virtinst/urldetect.py ++++ b/virtinst/urldetect.py +@@ -48,7 +48,16 @@ class _DistroCache(object): + if self._treeinfo: + return self._treeinfo + +- treeinfostr = self.acquire_file_content(".treeinfo") ++ # Vast majority of trees here use .treeinfo. However, trees via ++ # Red Hat satellite on akamai CDN will use treeinfo, because akamai ++ # doesn't do dotfiles apparently: ++ # ++ # https://bugzilla.redhat.com/show_bug.cgi?id=635065 ++ # ++ # Anaconda is the canonical treeinfo consumer and they check for both ++ # locations, so we need to do the same ++ treeinfostr = (self.acquire_file_content(".treeinfo") or ++ self.acquire_file_content("treeinfo")) + if treeinfostr is None: + return None + diff --git a/7afbb90b-virt-xml-Handle-VM-names-that-look-like-id-uuid.patch b/7afbb90b-virt-xml-Handle-VM-names-that-look-like-id-uuid.patch new file mode 100644 index 00000000..0c277e40 --- /dev/null +++ b/7afbb90b-virt-xml-Handle-VM-names-that-look-like-id-uuid.patch @@ -0,0 +1,53 @@ +Subject: virt-xml: Handle VM names that look like id/uuid (bz 1679025) +From: Cole Robinson crobinso@redhat.com Thu Mar 21 13:34:52 2019 -0400 +Date: Thu Mar 21 13:45:58 2019 -0400: +Git: 7afbb90b4ddfa449e4efc2d57e726d477f96637b + +Previously we assume they are id/uuid, so if it's actually the VM +name then the command fails. Now we always check for a name first, + +https://bugzilla.redhat.com/show_bug.cgi?id=1679025 + +Index: virt-manager-2.1.0/tests/clitest.py +=================================================================== +--- virt-manager-2.1.0.orig/tests/clitest.py ++++ virt-manager-2.1.0/tests/clitest.py +@@ -908,8 +908,8 @@ c.add_compare("--build-xml --cpu pentium + c.add_compare("--build-xml --tpm /dev/tpm", "build-tpm") + c.add_compare("--build-xml --blkiotune weight=100,device_path=/dev/sdf,device_weight=200", "build-blkiotune") + c.add_compare("--build-xml --idmap uid_start=0,uid_target=1000,uid_count=10,gid_start=0,gid_target=1000,gid_count=10", "build-idmap") +-c.add_compare("test --edit --boot network,cdrom", "edit-bootorder") +-c.add_compare("--confirm test --edit --cpu host-passthrough", "prompt-response") ++c.add_compare("4a64cc71-19c4-2fd0-2323-3050941ea3c3 --edit --boot network,cdrom", "edit-bootorder") # basic bootorder test, also using UUID lookup ++c.add_compare("--confirm 1 --edit --cpu host-passthrough", "prompt-response") # prompt response, also using domid lookup + c.add_compare("--edit --print-diff --qemu-commandline clearxml=yes", "edit-clearxml-qemu-commandline", input_file=(XMLDIR + "/virtxml-qemu-commandline-clear.xml")) + c.add_compare("--connect %(URI-KVM)s test-hyperv-uefi --edit --boot uefi", "hyperv-uefi-collision") + +Index: virt-manager-2.1.0/virt-xml +=================================================================== +--- virt-manager-2.1.0.orig/virt-xml ++++ virt-manager-2.1.0/virt-xml +@@ -73,12 +73,18 @@ def get_domain_and_guest(conn, domstr): + isuuid = bool(re.match(uuidre, domstr)) + + try: +- if isint: +- domain = conn.lookupByID(int(domstr)) +- elif isuuid: +- domain = conn.lookupByUUIDString(domstr) +- else: ++ domain = None ++ try: + domain = conn.lookupByName(domstr) ++ except Exception: ++ # Incase the VM has a UUID or ID for a name ++ logging.debug("Error looking up domain by name", exc_info=True) ++ if isint: ++ domain = conn.lookupByID(int(domstr)) ++ elif isuuid: ++ domain = conn.lookupByUUIDString(domstr) ++ else: ++ raise + except libvirt.libvirtError as e: + fail(_("Could not find domain '%s': %s") % (domstr, e)) + diff --git a/a02fc0d0-virtManager-clone-build-default-clone-path-if-we-know-how.patch b/a02fc0d0-virtManager-clone-build-default-clone-path-if-we-know-how.patch new file mode 100644 index 00000000..6c72741e --- /dev/null +++ b/a02fc0d0-virtManager-clone-build-default-clone-path-if-we-know-how.patch @@ -0,0 +1,63 @@ +Subject: virtManager: clone: build default clone path if we know how +From: Pavel Hrdina phrdina@redhat.com Tue Mar 5 10:16:06 2019 +0100 +Date: Wed Mar 6 17:19:00 2019 +0100: +Git: a02fc0d02272ade8aea851be4e0f7c7ec38de2fe + +Function do_we_default returns only if we want to default to clone disk +even if we know how to create default clone path. Only in case that the +storage pool is TYPE_DISK we don't know how to create default path and +we cannot default to clone that disk. In all other cases as ReadOnly +disk or Shareable and so on we can prepare the default path for user if +they decide to clone it. + +Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1565106 + +Reviewed-by: Cole Robinson +Signed-off-by: Pavel Hrdina + +diff --git a/virtManager/clone.py b/virtManager/clone.py +index 4148fca0..1adc59c9 100644 +--- a/virtManager/clone.py ++++ b/virtManager/clone.py +@@ -79,6 +79,7 @@ def do_we_default(conn, vol, path, ro, shared, devtype): + """ Returns (do we clone by default?, info string if not)""" + ignore = conn + info = "" ++ can_default = True + + def append_str(str1, str2, delim=", "): + if not str2: +@@ -101,11 +102,12 @@ def do_we_default(conn, vol, path, ro, shared, devtype): + pool_type = vol.get_parent_pool().get_type() + if pool_type == virtinst.StoragePool.TYPE_DISK: + info = append_str(info, _("Disk device")) ++ can_default = False + + if shared: + info = append_str(info, _("Shareable")) + +- return (not info, info) ++ return (not info, info, can_default) + + + class vmmCloneVM(vmmGObjectUI): +@@ -390,8 +392,8 @@ class vmmCloneVM(vmmGObjectUI): + skip_targets.remove(force_target) + + vol = self.conn.get_vol_by_path(path) +- default, definfo = do_we_default(self.conn, vol, path, ro, shared, +- devtype) ++ default, definfo, can_default = do_we_default(self.conn, vol, path, ++ ro, shared, devtype) + + def storage_add(failinfo=None): + # pylint: disable=cell-var-from-loop +@@ -426,7 +428,7 @@ class vmmCloneVM(vmmGObjectUI): + storage_row[STORAGE_INFO_CAN_CLONE] = True + + # If we cannot create default clone_path don't even try to do that +- if not default: ++ if not can_default: + storage_add() + continue + diff --git a/a0ca387a-cli-Fix-pool-default-when-path-belongs-to-another-pool.patch b/a0ca387a-cli-Fix-pool-default-when-path-belongs-to-another-pool.patch new file mode 100644 index 00000000..da266ca4 --- /dev/null +++ b/a0ca387a-cli-Fix-pool-default-when-path-belongs-to-another-pool.patch @@ -0,0 +1,31 @@ +Subject: cli: Fix pool=default when path belongs to another pool (bz 1692489) +From: Cole Robinson crobinso@redhat.com Tue Mar 26 10:44:58 2019 -0400 +Date: Tue Mar 26 11:15:46 2019 -0400: +Git: a0ca387aad0fde19683aa8b5b5636add6455b8b4 + +Using 'virt-install --disk size=X' implicitly uses pool=default. If +a pool named 'default' exists we use that; if not, and a pool using +the default path exists under a different name, we attempt to use +that as well, and if that doesn't exist, we create pool=default + +The second case is broken, so if there's no pool=default and eg. +pool=FOO points to /var/lib/libvirt/images, we still attempt to +look up pool=default which understandably fails + +https://bugzilla.redhat.com/show_bug.cgi?id=1692489 + +Index: virt-manager-2.1.0/virtinst/cli.py +=================================================================== +--- virt-manager-2.1.0.orig/virtinst/cli.py ++++ virt-manager-2.1.0/virtinst/cli.py +@@ -2263,7 +2263,9 @@ class ParserDisk(VirtCLIParser): + poolobj = None + if poolname: + if poolname == "default": +- StoragePool.build_default_pool(self.guest.conn) ++ poolxml = StoragePool.build_default_pool(self.guest.conn) ++ if poolxml: ++ poolname = poolxml.name + poolobj = self.guest.conn.storagePoolLookupByName(poolname) + + if volname: diff --git a/f23b01be-guest-Add-VirtIO-input-devices-to-s390x-guests-with-graphics.patch b/f23b01be-guest-Add-VirtIO-input-devices-to-s390x-guests-with-graphics.patch new file mode 100644 index 00000000..db8c5dd0 --- /dev/null +++ b/f23b01be-guest-Add-VirtIO-input-devices-to-s390x-guests-with-graphics.patch @@ -0,0 +1,43 @@ +Subject: guest: Add VirtIO input devices to s390x guests with graphics +From: Andrea Bolognani abologna@redhat.com Wed Mar 20 16:52:35 2019 +0100 +Date: Thu Mar 21 15:31:20 2019 +0100: +Git: f23b01be53aa8b5b8d91aadbfb0c06268fa5c7b9 + +We're not including any input devices in the generated XML +for s390x guests, and the results is that it's not possible +to interact with them short of using the serial console or +connecting through ssh, which is fine but probably not what +is expected when graphics are present. + +USB input devices are not a good fit for s390x guests: USB +requires PCI, and PCI is not widely available or used on +s390x; VirtIO devices, on the other hand, are a perfect +match since s390x guests use basically no emulated devices +and rely on VirtIO for most functionality. + +https://bugzilla.redhat.com/show_bug.cgi?id=1683609 + +Signed-off-by: Andrea Bolognani + +Index: virt-manager-2.1.0/virtinst/guest.py +=================================================================== +--- virt-manager-2.1.0.orig/virtinst/guest.py ++++ virt-manager-2.1.0/virtinst/guest.py +@@ -588,6 +588,17 @@ class Guest(XMLBuilder): + dev.bus = "usb" + self.add_device(dev) + ++ # s390x guests need VirtIO input devices ++ if self.os.is_s390x() and self.osinfo.supports_virtioinput(): ++ dev = DeviceInput(self.conn) ++ dev.type = "tablet" ++ dev.bus = "virtio" ++ self.add_device(dev) ++ dev = DeviceInput(self.conn) ++ dev.type = "keyboard" ++ dev.bus = "virtio" ++ self.add_device(dev) ++ + def _add_default_console_device(self): + if self.skip_default_console: + return diff --git a/virt-manager.changes b/virt-manager.changes index cf883659..81d4a00b 100644 --- a/virt-manager.changes +++ b/virt-manager.changes @@ -1,3 +1,18 @@ +------------------------------------------------------------------- +Wed Apr 3 11:08:16 MDT 2019 - carnold@suse.com + +- Upstream bug fixes (bsc#1027942) + 57db4185-virt-clone-fix-force-copy-of-empty-cdrom-or-floppy-disk.patch + 26a433fc-virtManager-clone-check-which-storage-pools-supports-volume-cloning.patch + 4f66c423-cloner-Handle-nonsparse-for-qcow2-images.patch + a02fc0d0-virtManager-clone-build-default-clone-path-if-we-know-how.patch + 1856c1fa-support-Fix-minimum-version-check.patch + 74bbc3db-urldetect-Check-also-for-treeinfo.patch + 708af01c-osdict-Add-supports_virtioinput.patch + f23b01be-guest-Add-VirtIO-input-devices-to-s390x-guests-with-graphics.patch + 7afbb90b-virt-xml-Handle-VM-names-that-look-like-id-uuid.patch + a0ca387a-cli-Fix-pool-default-when-path-belongs-to-another-pool.patch + ------------------------------------------------------------------- Mon Mar 25 05:29:39 MDT 2019 - carnold@suse.com diff --git a/virt-manager.spec b/virt-manager.spec index a776a285..fd48d170 100644 --- a/virt-manager.spec +++ b/virt-manager.spec @@ -12,7 +12,7 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# Please submit bugfixes or comments via http://bugs.opensuse.org/ # @@ -35,8 +35,18 @@ Source3: virt-manager-supportconfig Patch1: f7508d02-addhardware-Fix-setting-optimal-default-net-model.patch Patch2: 1018ab44-inspection-handle-failures-in-application-listing.patch Patch3: ae8a4f3d-engine-Fix-first-run-startup-error.patch -Patch4: 5bc847eb-virt-install-Do-not-warn-about-consoles-on-s390x.patch -Patch5: 8d9743d6-virt-install-Add-support-for-xenbus-controller.patch +Patch4: 57db4185-virt-clone-fix-force-copy-of-empty-cdrom-or-floppy-disk.patch +Patch5: 26a433fc-virtManager-clone-check-which-storage-pools-supports-volume-cloning.patch +Patch6: 4f66c423-cloner-Handle-nonsparse-for-qcow2-images.patch +Patch7: a02fc0d0-virtManager-clone-build-default-clone-path-if-we-know-how.patch +Patch8: 1856c1fa-support-Fix-minimum-version-check.patch +Patch9: 5bc847eb-virt-install-Do-not-warn-about-consoles-on-s390x.patch +Patch10: 74bbc3db-urldetect-Check-also-for-treeinfo.patch +Patch11: 708af01c-osdict-Add-supports_virtioinput.patch +Patch12: f23b01be-guest-Add-VirtIO-input-devices-to-s390x-guests-with-graphics.patch +Patch13: 7afbb90b-virt-xml-Handle-VM-names-that-look-like-id-uuid.patch +Patch14: 8d9743d6-virt-install-Add-support-for-xenbus-controller.patch +Patch15: a0ca387a-cli-Fix-pool-default-when-path-belongs-to-another-pool.patch # SUSE Only Patch70: virtman-desktop.patch Patch71: virtman-kvm.patch @@ -170,6 +180,16 @@ machine). %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 # SUSE Only %patch70 -p1 %patch71 -p1