Hello community,
here is the log from the commit of package virt-manager for openSUSE:Factory checked in at 2017-04-29 10:53:21
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/virt-manager (Old)
and /work/SRC/openSUSE:Factory/.virt-manager.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "virt-manager"
Sat Apr 29 10:53:21 2017 rev:150 rq:491713 version:1.4.1
Changes:
--------
--- /work/SRC/openSUSE:Factory/virt-manager/virt-manager.changes 2017-04-11 09:36:04.358130577 +0200
+++ /work/SRC/openSUSE:Factory/.virt-manager.new/virt-manager.changes 2017-04-29 10:53:25.045133877 +0200
@@ -1,0 +2,30 @@
+Thu Apr 27 13:53:45 MDT 2017 - carnold@suse.com
+
+- bsc#1027942 - virt-manager: Missing upstream bug fixes
+ f5d709d9-lang-it-1.patch
+ c66098f3-lang-it-2.patch
+ 452a693e-lang-update.patch
+ 6b5106ea-lang-it-ko-fix.patch
+ 9c8ffe51-fix-multiple-warnings-1.patch
+ cb182f7e-skip-authentication-only-for-VNC-with-listen-type-none.patch
+ 0610cd6a-ensure-bool-value-used-for-set_sensitive-call.patch
+ f341352c-remove-redundant-error-string.patch
+ ff3b4dc5-dont-overwrite-install-bootorder.patch
+ 2099a194-reset-guest-domain-to-none-on-domain-creation-error.patch
+ 7aee124d-fix-multiple-warnings-2.patch
+
+-------------------------------------------------------------------
+Mon Apr 24 16:57:50 MDT 2017 - carnold@suse.com
+
+- Check for SLE15 and Leap 15 bsc#1035779
+ virtman-default-guest-from-host-os.patch
+
+-------------------------------------------------------------------
+Mon Apr 24 16:55:36 JST 2017 - jan.hilberath@suse.com
+
+- Fix CaaSP detection (bsc#1010060)
+ Allow installation of "SUSE Container as a Service Platform".
+ virtinst-add-caasp-support.patch
+- Dropped virtinst-add-casp-support.patch
+
+-------------------------------------------------------------------
Old:
----
virtinst-add-casp-support.patch
New:
----
0610cd6a-ensure-bool-value-used-for-set_sensitive-call.patch
2099a194-reset-guest-domain-to-none-on-domain-creation-error.patch
452a693e-lang-update.patch
6b5106ea-lang-it-ko-fix.patch
7aee124d-fix-multiple-warnings-2.patch
9c8ffe51-fix-multiple-warnings-1.patch
c66098f3-lang-it-2.patch
cb182f7e-skip-authentication-only-for-VNC-with-listen-type-none.patch
f341352c-remove-redundant-error-string.patch
f5d709d9-lang-it-1.patch
ff3b4dc5-dont-overwrite-install-bootorder.patch
virtinst-add-caasp-support.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ virt-manager.spec ++++++
--- /var/tmp/diff_new_pack.Dl3dxH/_old 2017-04-29 10:53:26.412940649 +0200
+++ /var/tmp/diff_new_pack.Dl3dxH/_new 2017-04-29 10:53:26.416940084 +0200
@@ -37,6 +37,17 @@
Source1: virt-install.rb
Source2: virt-install.desktop
# Upstream Patches
+Patch0: f5d709d9-lang-it-1.patch
+Patch1: c66098f3-lang-it-2.patch
+Patch2: 452a693e-lang-update.patch
+Patch3: 6b5106ea-lang-it-ko-fix.patch
+Patch4: 9c8ffe51-fix-multiple-warnings-1.patch
+Patch5: cb182f7e-skip-authentication-only-for-VNC-with-listen-type-none.patch
+Patch6: 0610cd6a-ensure-bool-value-used-for-set_sensitive-call.patch
+Patch7: f341352c-remove-redundant-error-string.patch
+Patch8: ff3b4dc5-dont-overwrite-install-bootorder.patch
+Patch9: 2099a194-reset-guest-domain-to-none-on-domain-creation-error.patch
+Patch10: 7aee124d-fix-multiple-warnings-2.patch
# SUSE Only
Patch70: virtman-desktop.patch
Patch71: virtman-kvm.patch
@@ -61,7 +72,7 @@
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
+Patch129: virtinst-add-caasp-support.patch
Patch130: virtinst-expand-combobox.patch
# Bug Fixes
Patch150: virtman-prevent-double-click-starting-vm-twice.patch
@@ -157,6 +168,17 @@
%prep
%setup -q
# Upstream Patches
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+%patch10 -p1
# SUSE Only
%patch70 -p1
%patch71 -p1
++++++ 0610cd6a-ensure-bool-value-used-for-set_sensitive-call.patch ++++++
Subject: console: Ensure bool value used for set_sensitive call
From: Cole Robinson crobinso@redhat.com Wed Mar 29 12:07:02 2017 -0400
Date: Wed Mar 29 12:07:50 2017 -0400:
Git: 0610cd6acb5d59f492070759b01e8ee5ccd082a9
Seen in a bug log file:
[Tue, 28 Mar 2017 12:05:21 virt-manager 2465] DEBUG (cli:251) Uncaught exception:
Traceback (most recent call last):
File "/usr/share/virt-manager/virtManager/details.py", line 1303, in refresh_vm_state
self.console.details_update_widget_states()
File "/usr/share/virt-manager/virtManager/console.py", line 1025, in details_update_widget_states
return self._update_vm_widget_states()
File "/usr/share/virt-manager/virtManager/console.py", line 597, in _update_vm_widget_states
self._refresh_widget_states()
File "/usr/share/virt-manager/virtManager/console.py", line 663, in _refresh_widget_states
self.widget("details-menu-vm-screenshot").set_sensitive(is_viewer)
TypeError: Argument 1 does not allow None as a value
diff --git a/virtManager/console.py b/virtManager/console.py
index 0c051c7f..9bb0295a 100644
--- a/virtManager/console.py
+++ b/virtManager/console.py
@@ -658,7 +658,7 @@ class vmmConsolePages(vmmGObjectUI):
def _refresh_widget_states(self):
pagenum = self.widget("console-pages").get_current_page()
paused = self.vm.is_paused()
- is_viewer = (pagenum == _CONSOLE_PAGE_VIEWER and
+ is_viewer = bool(pagenum == _CONSOLE_PAGE_VIEWER and
self._viewer and self._viewer.console_is_open())
self.widget("details-menu-vm-screenshot").set_sensitive(is_viewer)
++++++ 2099a194-reset-guest-domain-to-none-on-domain-creation-error.patch ++++++
Subject: Reset Guest.domain to None on domain creation error
From: Christophe Fergeau cfergeau@redhat.com Thu Apr 13 11:18:46 2017 +0200
Date: Thu Apr 13 14:24:40 2017 -0400:
Git: 2099a1946e22b62d31b954dc3e7b813404c2d019
When an error occurs when the VM creation wizard tries to start the VM,
it's then not possible to press again the "Finish" button to try again
to start it, as this errors out with:
Traceback (most recent call last):
File "/home/teuf/redhat/virt/virt-manager/virtManager/asyncjob.py", line 88, in cb_wrapper
callback(asyncjob, *args, **kwargs)
File "/home/teuf/redhat/virt/virt-manager/virtManager/create.py", line 2341, in _do_async_install
guest.start_install(meter=meter)
File "/home/teuf/redhat/virt/virt-manager/virtinst/guest.py", line 457, in start_install
raise RuntimeError(_("Domain has already been started!"))
RuntimeError: Domain has already been started!
This is caused by code introduced in commit fc6778 which does not reset
self.domain to None when an exception is caught.
Signed-off-by: Christophe Fergeau
diff --git a/virtinst/guest.py b/virtinst/guest.py
index c8c3d14c..39975199 100644
--- a/virtinst/guest.py
+++ b/virtinst/guest.py
@@ -408,6 +408,7 @@ class Guest(XMLBuilder):
exc_info = sys.exc_info()
try:
self.domain.undefine()
+ self.domain = None
except:
pass
raise exc_info[0], exc_info[1], exc_info[2]
++++++ 452a693e-lang-update.patch ++++++
++++ 4134 lines (skipped)
++++++ 6b5106ea-lang-it-ko-fix.patch ++++++
Subject: Fix format errors in it.po and ko.po
From: Cole Robinson crobinso@redhat.com Tue Mar 21 19:28:36 2017 -0400
Date: Tue Mar 21 19:28:36 2017 -0400:
Git: 6b5106eae6e5f3f34d705de35e6baf0ef7feb02e
diff --git a/po/it.po b/po/it.po
index 3249542d..3e36420b 100644
--- a/po/it.po
+++ b/po/it.po
@@ -2550,7 +2550,7 @@ msgstr "Disabilitato"
#: ../virtManager/details.py:2458
#, 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:2668
msgid "Absolute Movement"
diff --git a/po/ko.po b/po/ko.po
index 37a8ec9d..04b79558 100644
--- a/po/ko.po
+++ b/po/ko.po
@@ -4589,7 +4589,7 @@ msgstr "존재하지 않는 경로 '%s'의 저장소 생성 매개변수를 지
#: ../virtinst/devicedisk.py:1024
#, python-format
msgid "Controller number %d for disk of type %s has no empty slot to use"
-msgstr "유형이 %s인 디스크에 대한 컨트롤러 번호 %d에 사용할 수 있는 빈 슬롯이 없음"
+msgstr "유형이 %d인 디스크에 대한 컨트롤러 번호 %s에 사용할 수 있는 빈 슬롯이 없음"
#: ../virtinst/devicedisk.py:1027
#, python-format
++++++ 7aee124d-fix-multiple-warnings-2.patch ++++++
Subject: cli: Don't double warn when skipping disk size warning (bz 1433239)
From: Cole Robinson crobinso@redhat.com Thu Apr 27 12:19:53 2017 -0400
Date: Thu Apr 27 12:19:53 2017 -0400:
Git: 7aee124d9aed7646e6e95644909c1d1005a92d07
diff --git a/virtinst/cli.py b/virtinst/cli.py
index ac4b4690..a87ac038 100644
--- a/virtinst/cli.py
+++ b/virtinst/cli.py
@@ -359,7 +359,7 @@ def set_prompt(prompt):
def validate_disk(dev, warn_overwrite=False):
- def _optional_fail(msg, checkname):
+ def _optional_fail(msg, checkname, warn_on_skip=True):
do_check = get_global_state().get_validation_check(checkname)
if do_check:
fail(msg + (_(" (Use --check %s=off or "
@@ -367,7 +367,8 @@ def validate_disk(dev, warn_overwrite=False):
logging.debug("Skipping --check %s error condition '%s'",
checkname, msg)
- logging.warn(msg)
+ if warn_on_skip:
+ logging.warn(msg)
def check_path_exists(dev):
"""
@@ -400,7 +401,7 @@ def validate_disk(dev, warn_overwrite=False):
isfatal, errmsg = dev.is_size_conflict()
# The isfatal case should have already caused us to fail
if not isfatal and errmsg:
- _optional_fail(errmsg, "disk_size")
+ _optional_fail(errmsg, "disk_size", warn_on_skip=False)
def check_path_search(dev):
user, broken_paths = dev.check_path_search(dev.conn, dev.path)
++++++ 9c8ffe51-fix-multiple-warnings-1.patch ++++++
Subject: storage: Move alloc/cap validation to validate()
From: Cole Robinson crobinso@redhat.com Fri Mar 17 12:00:03 2017 -0400
Date: Fri Mar 17 12:14:05 2017 -0400:
Git: 9c8ffe51dacee208af4d5d7cc3e439ae7197fc09
Doing this at property set time is overly noisy. Follow the same
pattern of VirtualDisk and only do this in the validate() function.
https://bugzilla.redhat.com/show_bug.cgi?id=1433239
diff --git a/virtinst/diskbackend.py b/virtinst/diskbackend.py
index f70f5b21..5198057c 100644
--- a/virtinst/diskbackend.py
+++ b/virtinst/diskbackend.py
@@ -345,10 +345,11 @@ class _StorageCreator(_StorageBase):
if self._vol_install:
self._vol_install.validate()
- else:
- if self._size is None:
- raise ValueError(_("size is required for non-existent disk "
- "'%s'" % self.get_path()))
+ return
+
+ if self._size is None:
+ raise ValueError(_("size is required for non-existent disk "
+ "'%s'" % self.get_path()))
err, msg = self.is_size_conflict()
if err:
diff --git a/virtinst/storage.py b/virtinst/storage.py
index cd74467a..808891f3 100644
--- a/virtinst/storage.py
+++ b/virtinst/storage.py
@@ -683,22 +683,6 @@ class StorageVolume(_StorageObject):
raise ValueError(_("Name '%s' already in use by another volume." %
name))
- def _validate_allocation(self, val):
- ret = self.is_size_conflict(allocation=val)
- if ret[0]:
- raise ValueError(ret[1])
- elif ret[1]:
- logging.warn(ret[1])
- return val
-
- def _validate_capacity(self, val):
- ret = self.is_size_conflict(capacity=val)
- if ret[0]:
- raise ValueError(ret[1])
- elif ret[1]:
- logging.warn(ret[1])
- return val
-
def _default_format(self):
if self.file_type == self.TYPE_FILE:
return "raw"
@@ -728,10 +712,8 @@ class StorageVolume(_StorageObject):
type = XMLProperty("./@type")
key = XMLProperty("./key")
- capacity = XMLProperty("./capacity", is_int=True,
- validate_cb=_validate_capacity)
- allocation = XMLProperty("./allocation", is_int=True,
- validate_cb=_validate_allocation)
+ capacity = XMLProperty("./capacity", is_int=True)
+ allocation = XMLProperty("./allocation", is_int=True)
format = XMLProperty("./target/format/@type", default_cb=_default_format)
target_path = XMLProperty("./target/path")
backing_store = XMLProperty("./backingStore/path")
@@ -809,6 +791,12 @@ class StorageVolume(_StorageObject):
"setting allocation equal to capacity"))
self.allocation = self.capacity
+ isfatal, errmsg = self.is_size_conflict()
+ if isfatal:
+ raise ValueError(errmsg)
+ if errmsg:
+ logging.warn(errmsg)
+
def install(self, meter=None):
"""
Build and install storage volume from xml
@@ -891,7 +879,7 @@ class StorageVolume(_StorageObject):
time.sleep(1)
- def is_size_conflict(self, capacity=None, allocation=None):
+ def is_size_conflict(self):
"""
Report if requested size exceeds its pool's available amount
@@ -900,27 +888,22 @@ class StorageVolume(_StorageObject):
2. String message if some collision was encountered.
@rtype: 2 element C{tuple}: (C{bool}, C{str})
"""
- if capacity is None:
- capacity = self.capacity
- if allocation is None:
- allocation = self.allocation
-
if not self.pool:
return (False, "")
# pool info is [pool state, capacity, allocation, available]
avail = self.pool.info()[3]
- if allocation > avail:
+ if self.allocation > avail:
return (True, _("There is not enough free space on the storage "
"pool to create the volume. "
"(%d M requested allocation > %d M available)") %
- ((allocation / (1024 * 1024)),
+ ((self.allocation / (1024 * 1024)),
(avail / (1024 * 1024))))
- elif capacity > avail:
+ elif self.capacity > avail:
return (False, _("The requested volume capacity will exceed the "
"available pool space when the volume is fully "
"allocated. "
"(%d M requested capacity > %d M available)") %
- ((capacity / (1024 * 1024)),
+ ((self.capacity / (1024 * 1024)),
(avail / (1024 * 1024))))
return (False, "")
++++++ c66098f3-lang-it-2.patch ++++++
Subject: Fix busted italian translation, again (bug 1433800)
From: Cole Robinson crobinso@redhat.com Mon Mar 20 16:45:47 2017 -0400
Date: Mon Mar 20 16:45:47 2017 -0400:
Git: c66098f3b63d53dec514cf59266f57d32960a3ea
diff --git a/po/it.po b/po/it.po
index b5174c7f..c2763a4a 100644
--- a/po/it.po
+++ b/po/it.po
@@ -1449,7 +1449,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
++++++ cb182f7e-skip-authentication-only-for-VNC-with-listen-type-none.patch ++++++
Subject: graphics: skip authentication only for VNC with listen type none
From: Pavel Hrdina phrdina@redhat.com Thu Mar 23 15:26:19 2017 +0100
Date: Thu Mar 23 15:26:19 2017 +0100:
Git: cb182f7e3a569bde926818a4c55bb8427fba2728
This is in fact a bug in QEMU so we have to workaround this issue
to allow to connect to guest with VNC and listen type none.
Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1434551
Signed-off-by: Pavel Hrdina
diff --git a/virtManager/domain.py b/virtManager/domain.py
index 3478cc58..fc5f54a6 100644
--- a/virtManager/domain.py
+++ b/virtManager/domain.py
@@ -1190,8 +1190,17 @@ class vmmDomain(vmmLibvirtObject):
return self._backend.openConsole(devname, stream, flags)
def open_graphics_fd(self):
- return self._backend.openGraphicsFD(0,
- libvirt.VIR_DOMAIN_OPEN_GRAPHICS_SKIPAUTH)
+ flags = 0
+
+ # Ugly workaround for VNC bug where the display cannot be opened
+ # if the listen type is "none". When this gets fixed in QEMU
+ # we should skip auth only for broken QEMUs.
+ graphics = self.get_graphics_devices()[0]
+ if (graphics.type == "vnc" and
+ graphics.get_first_listen_type() == "none"):
+ flags = libvirt.VIR_DOMAIN_OPEN_GRAPHICS_SKIPAUTH
+
+ return self._backend.openGraphicsFD(0, flags)
def refresh_snapshots(self):
self._snapshot_list = None
++++++ f341352c-remove-redundant-error-string.patch ++++++
Subject: nodedev: Remove redundant error string (bz #1370418)
From: Cole Robinson crobinso@redhat.com Wed Mar 29 14:09:35 2017 -0400
Date: Wed Mar 29 14:09:35 2017 -0400:
Git: f341352cdadeadedab1579d1759ed1387aa28c75
diff --git a/virtinst/nodedev.py b/virtinst/nodedev.py
index 7796ca62..f82ba351 100644
--- a/virtinst/nodedev.py
+++ b/virtinst/nodedev.py
@@ -87,8 +87,7 @@ class NodeDevice(XMLBuilder):
except Exception, e:
logging.debug("Error looking up nodedev from idstring=%s",
idstring, exc_info=True)
- raise RuntimeError(_("Did not find node device matching '%s': %s" %
- (idstring, e)))
+ raise
@staticmethod
++++++ f5d709d9-lang-it-1.patch ++++++
++++ 3378 lines (skipped)
++++++ ff3b4dc5-dont-overwrite-install-bootorder.patch ++++++
Subject: cli: Don't overwrite install bootorder with manual --boot (bz 1438946)
From: Cole Robinson crobinso@redhat.com Tue Apr 4 18:22:15 2017 -0400
Date: Tue Apr 4 18:22:15 2017 -0400:
Git: ff3b4dc5b0b21393dbccc0f5f691b17bf1a761bd
--boot should be for post-install bootorder only
https://bugzilla.redhat.com/show_bug.cgi?id=1438946
diff --git a/tests/cli-test-xml/compare/virt-install-singleton-config-2.xml b/tests/cli-test-xml/compare/virt-install-singleton-config-2.xml
index 5fa0f24e..914403e6 100644
--- a/tests/cli-test-xml/compare/virt-install-singleton-config-2.xml
+++ b/tests/cli-test-xml/compare/virt-install-singleton-config-2.xml
@@ -60,9 +60,6 @@
<os>
<type arch="x86_64">hvm</type>
<loader>/foo/bar</loader>
- <boot dev="cdrom"/>
- <boot dev="fd"/>
- <boot dev="hd"/>
<boot dev="network"/>
<smbios mode="sysinfo"/>
<bootmenu enable="no"/>
diff --git a/virtinst/installer.py b/virtinst/installer.py
index 50c72c73..dd2a593e 100644
--- a/virtinst/installer.py
+++ b/virtinst/installer.py
@@ -113,13 +113,13 @@ class Installer(object):
if isinstall and not self.has_install_phase():
return
- bootorder = self._build_boot_order(isinstall, guest)
-
- if not guest.os.bootorder:
+ bootorder = guest.os.bootorder
+ if isinstall or not bootorder:
# Per device <boot order> is not compatible with os/boot.
if not any(d.boot.order for d in guest.get_all_devices()):
- guest.os.bootorder = bootorder
+ bootorder = self._build_boot_order(isinstall, guest)
+ guest.os.bootorder = bootorder
if not isinstall:
return
++++++ virtinst-add-casp-support.patch -> virtinst-add-caasp-support.patch ++++++
--- /work/SRC/openSUSE:Factory/virt-manager/virtinst-add-casp-support.patch 2017-04-11 09:36:04.814066170 +0200
+++ /work/SRC/openSUSE:Factory/.virt-manager.new/virtinst-add-caasp-support.patch 2017-04-29 10:53:25.141120318 +0200
@@ -1,6 +1,4 @@
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.1/virtinst/urlfetcher.py
===================================================================
@@ -10,8 +8,8 @@
dclass = SLESDistro
if distro_version is None:
distro_version = ['VERSION', distribution[1].strip().rsplit(' ')[4]]
-+ elif re.match(".*SUSE Containers as a Service Platform*", distribution[1]):
-+ dclass = CASPDistro
++ elif re.match(".*SUSE Container as a Service Platform*", distribution[1]):
++ dclass = CAASPDistro
+ if distro_version is None:
+ distro_version = ['VERSION', distribution[1].strip().rsplit(' ')[6]]
elif re.match(".*openSUSE.*", distribution[1]):
@@ -31,8 +29,8 @@
self.os_variant += "tumbleweed"
else:
self.os_variant += distro_version
-+ elif version_int == 1 and self.os_variant.startswith("casp"):
-+ self.os_variant = "casp"
++ elif version_int == 1 and self.os_variant.startswith("caasp"):
++ self.os_variant = "caasp"
else:
self.os_variant += "9"
@@ -40,8 +38,8 @@
class SLEDDistro(SuseDistro):
urldistro = "sled"
-+class CASPDistro(SuseDistro):
-+ urldistro = "casp"
++class CAASPDistro(SuseDistro):
++ urldistro = "caasp"
+
# Suse image store is harder - we fetch the kernel RPM and a helper
++++++ virtinst-pvgrub2-bootloader.patch ++++++
--- /var/tmp/diff_new_pack.Dl3dxH/_old 2017-04-29 10:53:26.720897144 +0200
+++ /var/tmp/diff_new_pack.Dl3dxH/_new 2017-04-29 10:53:26.720897144 +0200
@@ -50,4 +50,4 @@
+ if isinstall and not force_update and not self.has_install_phase():
return
- bootorder = self._build_boot_order(isinstall, guest)
+ bootorder = guest.os.bootorder
++++++ virtinst-s390x-disable-graphics.patch ++++++
--- /var/tmp/diff_new_pack.Dl3dxH/_old 2017-04-29 10:53:26.740894320 +0200
+++ /var/tmp/diff_new_pack.Dl3dxH/_new 2017-04-29 10:53:26.744893755 +0200
@@ -16,7 +16,7 @@
self.skip_default_rng = False
self.x86_cpu_default = self.cpu.SPECIAL_MODE_HOST_MODEL_ONLY
-@@ -619,7 +622,7 @@ class Guest(XMLBuilder):
+@@ -620,7 +623,7 @@ class Guest(XMLBuilder):
self.add_device(dev)
def add_default_video_device(self):
@@ -25,7 +25,7 @@
return
if self.get_devices("video"):
return
-@@ -657,6 +660,8 @@ class Guest(XMLBuilder):
+@@ -658,6 +661,8 @@ class Guest(XMLBuilder):
dev.target_type = "virtio"
dev.target_name = dev.CHANNEL_NAME_QEMUGA
self.add_device(dev)
@@ -34,7 +34,7 @@
def add_default_graphics(self):
if self.skip_default_graphics:
-@@ -665,7 +670,7 @@ class Guest(XMLBuilder):
+@@ -666,7 +671,7 @@ class Guest(XMLBuilder):
return
if self.os.is_container():
return
@@ -43,7 +43,7 @@
return
self.add_device(VirtualGraphics(self.conn))
-@@ -1003,7 +1008,7 @@ class Guest(XMLBuilder):
+@@ -1004,7 +1009,7 @@ class Guest(XMLBuilder):
if self._hv_only_supports_virtio():
return True
++++++ virtinst-set-qemu-emulator.patch ++++++
--- /var/tmp/diff_new_pack.Dl3dxH/_old 2017-04-29 10:53:26.764890930 +0200
+++ /var/tmp/diff_new_pack.Dl3dxH/_new 2017-04-29 10:53:26.768890365 +0200
@@ -5,7 +5,7 @@
===================================================================
--- virt-manager-1.4.1.orig/virtinst/guest.py
+++ virt-manager-1.4.1/virtinst/guest.py
-@@ -816,14 +816,11 @@ class Guest(XMLBuilder):
+@@ -817,14 +817,11 @@ class Guest(XMLBuilder):
self.emulator = None
return
++++++ virtinst-vol-default-nocow.patch ++++++
--- /var/tmp/diff_new_pack.Dl3dxH/_old 2017-04-29 10:53:26.808884715 +0200
+++ /var/tmp/diff_new_pack.Dl3dxH/_new 2017-04-29 10:53:26.816883584 +0200
@@ -8,7 +8,7 @@
===================================================================
--- virt-manager-1.4.1.orig/virtinst/storage.py
+++ virt-manager-1.4.1/virtinst/storage.py
-@@ -717,6 +717,12 @@ class StorageVolume(_StorageObject):
+@@ -701,6 +701,12 @@ class StorageVolume(_StorageObject):
return self._pool_xml.get_disk_type()
file_type = property(_get_vol_type)
++++++ virtman-default-guest-from-host-os.patch ++++++
--- /var/tmp/diff_new_pack.Dl3dxH/_old 2017-04-29 10:53:26.860877370 +0200
+++ /var/tmp/diff_new_pack.Dl3dxH/_new 2017-04-29 10:53:26.860877370 +0200
@@ -23,7 +23,7 @@
for v in variants:
supported = v in supportl or v.name == "generic"
-@@ -1324,6 +1327,59 @@ class vmmCreate(vmmGObjectUI):
+@@ -1324,6 +1327,63 @@ class vmmCreate(vmmGObjectUI):
def _cdrom_changed(self, src):
self._detectable_media_widget_changed(src)
@@ -45,13 +45,17 @@
+ if len(parts) > 2 and len(parts[3]) <= 4:
+ os_ver = "opensuse" + parts[3]
+ return 'linux', os_ver
-+ return 'linux', 'opensuse13.2'
++ return 'linux', 'opensuse42.2'
++ if "SUSE Linux Enterprise Server 15" in line:
++ return 'linux', ('sles15' + _lookup_sp(line))
+ if "SUSE Linux Enterprise Server 12" in line:
+ return 'linux', ('sles12' + _lookup_sp(line))
-+ if "SUSE Linux Enterprise Desktop 12" in line:
-+ return 'linux', ('sled12' + _lookup_sp(line))
+ if "SUSE Linux Enterprise Server 11" in line:
+ return 'linux', ('sles11' + _lookup_sp(line))
++ if "SUSE Linux Enterprise Desktop 15" in line:
++ return 'linux', ('sled15' + _lookup_sp(line))
++ if "SUSE Linux Enterprise Desktop 12" in line:
++ return 'linux', ('sled12' + _lookup_sp(line))
+ if "SUSE Linux Enterprise Desktop 11" in line:
+ return 'linux', ('sled11' + _lookup_sp(line))
+ return None, None
@@ -83,7 +87,7 @@
def _toggle_detect_os(self, src):
dodetect = src.get_active()
-@@ -1336,6 +1392,8 @@ class vmmCreate(vmmGObjectUI):
+@@ -1336,6 +1396,8 @@ class vmmCreate(vmmGObjectUI):
self.widget("install-os-version-entry").set_text("")
self._os_already_detected_for_media = False
self._start_detect_os_if_needed()