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 - [email protected] + +- 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 - [email protected] + +- Check for SLE15 and Leap 15 bsc#1035779 + virtman-default-guest-from-host-os.patch + +------------------------------------------------------------------- +Mon Apr 24 16:55:36 JST 2017 - [email protected] + +- 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 [email protected] 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 [email protected] 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 <[email protected]> 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 <[email protected]> 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 [email protected] 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 [email protected] 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()
