- 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 - Check for SLE15 and Leap 15 bsc#1035779 virtman-default-guest-from-host-os.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=348
This commit is contained in:
parent
d52b70d314
commit
558728377c
32
0610cd6a-ensure-bool-value-used-for-set_sensitive-call.patch
Normal file
32
0610cd6a-ensure-bool-value-used-for-set_sensitive-call.patch
Normal file
@ -0,0 +1,32 @@
|
||||
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)
|
@ -0,0 +1,35 @@
|
||||
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 <cfergeau@redhat.com>
|
||||
|
||||
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]
|
4134
452a693e-lang-update.patch
Normal file
4134
452a693e-lang-update.patch
Normal file
File diff suppressed because it is too large
Load Diff
32
6b5106ea-lang-it-ko-fix.patch
Normal file
32
6b5106ea-lang-it-ko-fix.patch
Normal file
@ -0,0 +1,32 @@
|
||||
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
|
38
7aee124d-fix-multiple-warnings-2.patch
Normal file
38
7aee124d-fix-multiple-warnings-2.patch
Normal file
@ -0,0 +1,38 @@
|
||||
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)
|
124
9c8ffe51-fix-multiple-warnings-1.patch
Normal file
124
9c8ffe51-fix-multiple-warnings-1.patch
Normal file
@ -0,0 +1,124 @@
|
||||
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, "")
|
19
c66098f3-lang-it-2.patch
Normal file
19
c66098f3-lang-it-2.patch
Normal file
@ -0,0 +1,19 @@
|
||||
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
|
@ -0,0 +1,36 @@
|
||||
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 <phrdina@redhat.com>
|
||||
|
||||
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
|
20
f341352c-remove-redundant-error-string.patch
Normal file
20
f341352c-remove-redundant-error-string.patch
Normal file
@ -0,0 +1,20 @@
|
||||
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
|
3378
f5d709d9-lang-it-1.patch
Normal file
3378
f5d709d9-lang-it-1.patch
Normal file
File diff suppressed because it is too large
Load Diff
45
ff3b4dc5-dont-overwrite-install-bootorder.patch
Normal file
45
ff3b4dc5-dont-overwrite-install-bootorder.patch
Normal file
@ -0,0 +1,45 @@
|
||||
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
|
||||
|
@ -1,3 +1,25 @@
|
||||
-------------------------------------------------------------------
|
||||
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
|
||||
|
||||
|
@ -37,6 +37,17 @@ Source0: %{name}-%{version}.tar.bz2
|
||||
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
|
||||
@ -157,6 +168,17 @@ machine).
|
||||
%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
|
||||
|
@ -50,4 +50,4 @@ Index: virt-manager-1.4.1/virtinst/installer.py
|
||||
+ if isinstall and not force_update and not self.has_install_phase():
|
||||
return
|
||||
|
||||
bootorder = self._build_boot_order(isinstall, guest)
|
||||
bootorder = guest.os.bootorder
|
||||
|
@ -16,7 +16,7 @@ Index: virt-manager-1.4.1/virtinst/guest.py
|
||||
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 @@ Index: virt-manager-1.4.1/virtinst/guest.py
|
||||
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 @@ Index: virt-manager-1.4.1/virtinst/guest.py
|
||||
|
||||
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 @@ Index: virt-manager-1.4.1/virtinst/guest.py
|
||||
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
|
||||
|
||||
|
@ -5,7 +5,7 @@ Index: virt-manager-1.4.1/virtinst/guest.py
|
||||
===================================================================
|
||||
--- 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
|
||||
|
||||
|
@ -8,7 +8,7 @@ Index: virt-manager-1.4.1/virtinst/storage.py
|
||||
===================================================================
|
||||
--- 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)
|
||||
|
||||
|
@ -23,7 +23,7 @@ Index: virt-manager-1.4.1/virtManager/create.py
|
||||
|
||||
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 @@ Index: virt-manager-1.4.1/virtManager/create.py
|
||||
+ 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 @@ Index: virt-manager-1.4.1/virtManager/create.py
|
||||
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()
|
||||
|
Loading…
Reference in New Issue
Block a user