- bnc#881551 - virt-manage: default storage image called
opensuse13.img for SLE-Server virtinst-detect-suse-distros.patch - bnc#881549 - virt-manager/xen: Error changing VM configuration: 'NoneType' object has no attribute 'split' virtinst-xenbus-disk-index-fix.patch - Upstream bug fix 538edb3b-manpage-fix-incorrect-description.patch - Upstream bug fixes 536677aa-better-handling-of-keyboard-input-type.patch 5385d602-lxc-no-default-disk.patch 53869170-virt-install-add-events-support.patch 538a11dc-raise-error-if-populating-summary-page-fails.patch 538a3609-virtconv-fix-use-of-relative-OVF-file.patch 538a3ba9-diskbackend-start-pool-if-not-running.patch 538ca3f3-use-correct-dictionary-keys-for-old-pool-net-polling.patch 538d00a4-xen-keyboard-cant-be-removed.patch 538e2f74-fix-pool-create-call.patch - Dropped 531e0a82-reverse-keyboard-grab-commit.patch. Fixed instead with this patch. 538a6862-vnc-dont-force-keyboard-grab-before-widget-is-realized.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=182
This commit is contained in:
parent
d1212d53d0
commit
766768c9d2
@ -1,139 +0,0 @@
|
|||||||
Note: This is a reverse patch of the original commit
|
|
||||||
See bnc#877907 - when starting guest in virt--manager with details
|
|
||||||
pane open, keyboard is grabbed erroneously
|
|
||||||
|
|
||||||
Subject: Add a gsetting key to disable keyboard grabbing
|
|
||||||
From: Kjö Hansi Glaz kjo@a4nancy.net.eu.org Mon Mar 10 18:07:15 2014 +0100
|
|
||||||
Date: Mon Mar 10 14:54:58 2014 -0400:
|
|
||||||
Git: 66d146aceec7d6b4301f1795d8bea25d2d8306b8
|
|
||||||
|
|
||||||
Add a gsetting key to disable keyboard grabbing that works the same way
|
|
||||||
as spicy when unchecking "Options" > "Grab keyboard when active and
|
|
||||||
focused".
|
|
||||||
|
|
||||||
diff --git b/data/org.virt-manager.virt-manager.gschema.xml a/data/org.virt-manager.virt-manager.gschema.xml
|
|
||||||
index 2fede6c..d755f6e 100644
|
|
||||||
--- b/data/org.virt-manager.virt-manager.gschema.xml
|
|
||||||
+++ a/data/org.virt-manager.virt-manager.gschema.xml
|
|
||||||
@@ -188,13 +188,6 @@
|
|
||||||
<description>Grab keyboard sequence for the graphical console</description>
|
|
||||||
</key>
|
|
||||||
|
|
||||||
- <!--This key is not intended to be exposed in the UI yet-->
|
|
||||||
- <key name="grab-keyboard" type="b">
|
|
||||||
- <default>true</default>
|
|
||||||
- <summary>Enable grab keyboard when active and focused</summary>
|
|
||||||
- <description>Enable grab keyboard when active and focused</description>
|
|
||||||
- </key>
|
|
||||||
-
|
|
||||||
<key name="auto-redirect" type="b">
|
|
||||||
<default>true</default>
|
|
||||||
<summary>Enable SPICE Auto USB redirection in console window</summary>
|
|
||||||
diff --git b/virtManager/config.py a/virtManager/config.py
|
|
||||||
index 5c9c127..dd624e9 100644
|
|
||||||
--- b/virtManager/config.py
|
|
||||||
+++ a/virtManager/config.py
|
|
||||||
@@ -286,14 +286,6 @@ class vmmConfig(object):
|
|
||||||
def on_keys_combination_changed(self, cb):
|
|
||||||
return self.conf.notify_add("/console/grab-keys", cb)
|
|
||||||
|
|
||||||
- # This key is not intended to be exposed in the UI yet
|
|
||||||
- def get_grab_keyboard(self):
|
|
||||||
- return self.conf.get("/console/grab-keyboard")
|
|
||||||
- def set_grab_keyboard(self, val):
|
|
||||||
- self.conf.set("/console/grab-keyboard", val)
|
|
||||||
- def on_grab_keyboard_changed(self, cb):
|
|
||||||
- return self.conf.notify_add("/console/grab-keyboard", cb)
|
|
||||||
-
|
|
||||||
# Confirmation preferences
|
|
||||||
def get_confirm_forcepoweroff(self):
|
|
||||||
return self.conf.get("/confirm/forcepoweroff")
|
|
||||||
diff --git b/virtManager/console.py a/virtManager/console.py
|
|
||||||
index ee12390..6513645 100644
|
|
||||||
--- b/virtManager/console.py
|
|
||||||
+++ a/virtManager/console.py
|
|
||||||
@@ -360,9 +360,6 @@ class Viewer(vmmGObject):
|
|
||||||
def send_keys(self, keys):
|
|
||||||
raise NotImplementedError()
|
|
||||||
|
|
||||||
- def set_grab_keyboard(self):
|
|
||||||
- raise NotImplementedError()
|
|
||||||
-
|
|
||||||
def open_host(self, ginfo):
|
|
||||||
raise NotImplementedError()
|
|
||||||
|
|
||||||
@@ -397,7 +394,6 @@ class VNCViewer(Viewer):
|
|
||||||
|
|
||||||
def init_widget(self):
|
|
||||||
self.set_grab_keys()
|
|
||||||
- self.set_grab_keyboard()
|
|
||||||
|
|
||||||
self.display.realize()
|
|
||||||
|
|
||||||
@@ -407,6 +403,7 @@ class VNCViewer(Viewer):
|
|
||||||
self.console.sync_scaling_with_display()
|
|
||||||
self.console.refresh_resizeguest_from_settings()
|
|
||||||
|
|
||||||
+ self.display.set_keyboard_grab(True)
|
|
||||||
self.display.set_pointer_grab(True)
|
|
||||||
|
|
||||||
self.display.connect("size-allocate",
|
|
||||||
@@ -464,10 +461,6 @@ class VNCViewer(Viewer):
|
|
||||||
def send_keys(self, keys):
|
|
||||||
return self.display.send_keys([Gdk.keyval_from_name(k) for k in keys])
|
|
||||||
|
|
||||||
- def set_grab_keyboard(self):
|
|
||||||
- self.display.set_keyboard_grab(self.config.get_grab_keyboard())
|
|
||||||
- self.display.force_grab(self.config.get_grab_keyboard())
|
|
||||||
-
|
|
||||||
def _desktop_resize(self, src_ignore, w, h):
|
|
||||||
self.desktop_resolution = (w, h)
|
|
||||||
self.console.widget("console-gfx-scroll").queue_resize()
|
|
||||||
@@ -578,7 +571,6 @@ class SpiceViewer(Viewer):
|
|
||||||
|
|
||||||
def _init_widget(self):
|
|
||||||
self.set_grab_keys()
|
|
||||||
- self.set_grab_keyboard()
|
|
||||||
self.console.sync_scaling_with_display()
|
|
||||||
self.console.refresh_resizeguest_from_settings()
|
|
||||||
|
|
||||||
@@ -625,9 +617,6 @@ class SpiceViewer(Viewer):
|
|
||||||
return self.display.send_keys([Gdk.keyval_from_name(k) for k in keys],
|
|
||||||
SpiceClientGtk.DisplayKeyEvent.CLICK)
|
|
||||||
|
|
||||||
- def set_grab_keyboard(self):
|
|
||||||
- self.display.set_property("grab-keyboard", self.config.get_grab_keyboard())
|
|
||||||
-
|
|
||||||
def close(self):
|
|
||||||
if self.spice_session is not None:
|
|
||||||
self.spice_session.disconnect()
|
|
||||||
@@ -886,8 +875,6 @@ class vmmConsolePages(vmmGObjectUI):
|
|
||||||
self.config.on_console_accels_changed(self.set_enable_accel))
|
|
||||||
self.add_gconf_handle(
|
|
||||||
self.config.on_keys_combination_changed(self.grab_keys_changed))
|
|
||||||
- self.add_gconf_handle(
|
|
||||||
- self.config.on_grab_keyboard_changed(self.grab_keyboard_changed))
|
|
||||||
|
|
||||||
self.page_changed()
|
|
||||||
|
|
||||||
@@ -1040,9 +1027,6 @@ class vmmConsolePages(vmmGObjectUI):
|
|
||||||
def pointer_grabbed(self, src_ignore):
|
|
||||||
self.pointer_is_grabbed = True
|
|
||||||
self.change_title()
|
|
||||||
- if not self.config.get_grab_keyboard():
|
|
||||||
- self.viewer.display.force_grab(False)
|
|
||||||
- self.viewer.display.set_keyboard_grab(self.config.get_grab_keyboard())
|
|
||||||
|
|
||||||
def pointer_ungrabbed(self, src_ignore):
|
|
||||||
self.pointer_is_grabbed = False
|
|
||||||
@@ -1083,10 +1067,6 @@ class vmmConsolePages(vmmGObjectUI):
|
|
||||||
if self.viewer:
|
|
||||||
self.viewer.set_grab_keys()
|
|
||||||
|
|
||||||
- def grab_keyboard_changed(self):
|
|
||||||
- if self.viewer:
|
|
||||||
- self.viewer.set_grab_keyboard()
|
|
||||||
-
|
|
||||||
def set_enable_accel(self):
|
|
||||||
# Make sure modifiers are up to date
|
|
||||||
self.viewer_focus_changed()
|
|
121
536677aa-better-handling-of-keyboard-input-type.patch
Normal file
121
536677aa-better-handling-of-keyboard-input-type.patch
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
Subject: details: Better handling for <input type=keyboard>
|
||||||
|
From: Cole Robinson crobinso@redhat.com Sun May 4 13:23:54 2014 -0400
|
||||||
|
Date: Sun May 4 13:23:54 2014 -0400:
|
||||||
|
Git: 9fd0ef5c8876ded12d9356cb38db29dace261084
|
||||||
|
|
||||||
|
|
||||||
|
Index: virt-manager-1.0.1/ui/details.ui
|
||||||
|
===================================================================
|
||||||
|
--- virt-manager-1.0.1.orig/ui/details.ui
|
||||||
|
+++ virt-manager-1.0.1/ui/details.ui
|
||||||
|
@@ -4208,14 +4208,12 @@
|
||||||
|
<property name="top_padding">3</property>
|
||||||
|
<property name="left_padding">12</property>
|
||||||
|
<child>
|
||||||
|
- <object class="GtkTable" id="table33">
|
||||||
|
+ <object class="GtkGrid" id="table33">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="can_focus">False</property>
|
||||||
|
<property name="border_width">3</property>
|
||||||
|
- <property name="n_rows">2</property>
|
||||||
|
- <property name="n_columns">2</property>
|
||||||
|
- <property name="column_spacing">8</property>
|
||||||
|
<property name="row_spacing">4</property>
|
||||||
|
+ <property name="column_spacing">8</property>
|
||||||
|
<child>
|
||||||
|
<object class="GtkLabel" id="label402">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
@@ -4225,8 +4223,10 @@
|
||||||
|
<property name="use_underline">True</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
- <property name="x_options">GTK_FILL</property>
|
||||||
|
- <property name="y_options"/>
|
||||||
|
+ <property name="left_attach">0</property>
|
||||||
|
+ <property name="top_attach">0</property>
|
||||||
|
+ <property name="width">1</property>
|
||||||
|
+ <property name="height">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
@@ -4237,10 +4237,10 @@
|
||||||
|
<property name="label" translatable="yes">Mode:</property>
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
+ <property name="left_attach">0</property>
|
||||||
|
<property name="top_attach">1</property>
|
||||||
|
- <property name="bottom_attach">2</property>
|
||||||
|
- <property name="x_options">GTK_FILL</property>
|
||||||
|
- <property name="y_options"/>
|
||||||
|
+ <property name="width">1</property>
|
||||||
|
+ <property name="height">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
@@ -4253,11 +4253,9 @@
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left_attach">1</property>
|
||||||
|
- <property name="right_attach">2</property>
|
||||||
|
<property name="top_attach">1</property>
|
||||||
|
- <property name="bottom_attach">2</property>
|
||||||
|
- <property name="x_options">GTK_FILL</property>
|
||||||
|
- <property name="y_options"/>
|
||||||
|
+ <property name="width">1</property>
|
||||||
|
+ <property name="height">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
<child>
|
||||||
|
@@ -4270,8 +4268,9 @@
|
||||||
|
</object>
|
||||||
|
<packing>
|
||||||
|
<property name="left_attach">1</property>
|
||||||
|
- <property name="right_attach">2</property>
|
||||||
|
- <property name="y_options"/>
|
||||||
|
+ <property name="top_attach">0</property>
|
||||||
|
+ <property name="width">1</property>
|
||||||
|
+ <property name="height">1</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
|
</object>
|
||||||
|
Index: virt-manager-1.0.1/virtManager/details.py
|
||||||
|
===================================================================
|
||||||
|
--- virt-manager-1.0.1.orig/virtManager/details.py
|
||||||
|
+++ virt-manager-1.0.1/virtManager/details.py
|
||||||
|
@@ -349,6 +349,8 @@ def _label_for_device(dev):
|
||||||
|
return _("Tablet")
|
||||||
|
elif dev.type == "mouse":
|
||||||
|
return _("Mouse")
|
||||||
|
+ elif dev.type == "keyboard":
|
||||||
|
+ return _("Keyboard")
|
||||||
|
return _("Input")
|
||||||
|
|
||||||
|
if devtype in ["serial", "parallel", "console"]:
|
||||||
|
@@ -2746,19 +2748,24 @@ class vmmDetails(vmmGObjectUI):
|
||||||
|
dev = _("Xen Mouse")
|
||||||
|
elif ident == "mouse:ps2":
|
||||||
|
dev = _("PS/2 Mouse")
|
||||||
|
+ elif ident == "keyboard:ps2":
|
||||||
|
+ dev = _("PS/2 Keyboard")
|
||||||
|
else:
|
||||||
|
dev = inp.bus + " " + inp.type
|
||||||
|
|
||||||
|
+ mode = None
|
||||||
|
if inp.type == "tablet":
|
||||||
|
mode = _("Absolute Movement")
|
||||||
|
- else:
|
||||||
|
+ elif inp.type == "mouse":
|
||||||
|
mode = _("Relative Movement")
|
||||||
|
|
||||||
|
self.widget("input-dev-type").set_text(dev)
|
||||||
|
- self.widget("input-dev-mode").set_text(mode)
|
||||||
|
+ self.widget("input-dev-mode").set_text(mode or "")
|
||||||
|
+ uiutil.set_grid_row_visible(self.widget("input-dev-mode"), bool(mode))
|
||||||
|
|
||||||
|
# Can't remove primary Xen or PS/2 mice
|
||||||
|
- if inp.type == "mouse" and inp.bus in ("xen", "ps2"):
|
||||||
|
+ if ((inp.type == "mouse" and inp.bus in ("xen", "ps2")) or
|
||||||
|
+ (inp.type == "keyboard" and inp.bus == "ps2")):
|
||||||
|
self.widget("config-remove").set_sensitive(False)
|
||||||
|
else:
|
||||||
|
self.widget("config-remove").set_sensitive(True)
|
@ -9,11 +9,11 @@ but not visible as this is the case for containers
|
|||||||
virtManager/addstorage.py | 3 ++-
|
virtManager/addstorage.py | 3 ++-
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/virtManager/addstorage.py b/virtManager/addstorage.py
|
Index: virt-manager-1.0.1/virtManager/addstorage.py
|
||||||
index b481fcb..654b620 100644
|
===================================================================
|
||||||
--- a/virtManager/addstorage.py
|
--- virt-manager-1.0.1.orig/virtManager/addstorage.py
|
||||||
+++ b/virtManager/addstorage.py
|
+++ virt-manager-1.0.1/virtManager/addstorage.py
|
||||||
@@ -256,7 +256,8 @@ class vmmAddStorage(vmmGObjectUI):
|
@@ -258,7 +258,8 @@ class vmmAddStorage(vmmGObjectUI):
|
||||||
return path
|
return path
|
||||||
|
|
||||||
def is_default_storage(self):
|
def is_default_storage(self):
|
||||||
@ -23,6 +23,3 @@ index b481fcb..654b620 100644
|
|||||||
|
|
||||||
def _check_ideal_path(self, path, vmname, collidelist):
|
def _check_ideal_path(self, path, vmname, collidelist):
|
||||||
# See if the ideal disk path (/default/pool/vmname.img)
|
# See if the ideal disk path (/default/pool/vmname.img)
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
94
53869170-virt-install-add-events-support.patch
Normal file
94
53869170-virt-install-add-events-support.patch
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
Subject: virt-install: add --events support
|
||||||
|
From: Chen Hanxiao chenhanxiao@cn.fujitsu.com Thu May 29 09:46:24 2014 +0800
|
||||||
|
Date: Thu May 29 09:46:24 2014 +0800:
|
||||||
|
Git: 3c45262526ccf9115713917a7d9b771bf36127a3
|
||||||
|
|
||||||
|
This patch will enable setting event configuration:
|
||||||
|
on_poweroff, on_reboot and on_crash.
|
||||||
|
|
||||||
|
Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
|
||||||
|
|
||||||
|
Index: virt-manager-1.0.1/man/virt-install.pod
|
||||||
|
===================================================================
|
||||||
|
--- virt-manager-1.0.1.orig/man/virt-install.pod
|
||||||
|
+++ virt-manager-1.0.1/man/virt-install.pod
|
||||||
|
@@ -123,6 +123,12 @@ Specify metadata values for the guest. P
|
||||||
|
|
||||||
|
Use --metadata=? to see a list of all available sub options. Complete details at L<http://libvirt.org/formatdomain.html#elementsMetadata>
|
||||||
|
|
||||||
|
+=item --events OPT=VAL,[...]
|
||||||
|
+
|
||||||
|
+Specify events values for the guest. Possible options include on_poweroff, on_reboot, and on_crash.
|
||||||
|
+
|
||||||
|
+Use --events=? to see a list of all available sub options. Complete details at L<http://libvirt.org/formatdomain.html#elementsEvents>
|
||||||
|
+
|
||||||
|
=item --vcpus=VCPUS[,maxvcpus=MAX][,sockets=#][,cores=#][,threads=#][,cpuset=CPUSET]
|
||||||
|
|
||||||
|
Number of virtual cpus to configure for the guest. If 'maxvcpus' is specified,
|
||||||
|
Index: virt-manager-1.0.1/tests/cli-test-xml/compare/virt-xml-edit-simple-events.xml
|
||||||
|
===================================================================
|
||||||
|
--- /dev/null
|
||||||
|
+++ virt-manager-1.0.1/tests/cli-test-xml/compare/virt-xml-edit-simple-events.xml
|
||||||
|
@@ -0,0 +1,11 @@
|
||||||
|
+ </clock>
|
||||||
|
+ <on_poweroff>destroy</on_poweroff>
|
||||||
|
+ <on_reboot>restart</on_reboot>
|
||||||
|
+- <on_crash>restart</on_crash>
|
||||||
|
++ <on_crash>preserve</on_crash>
|
||||||
|
+ <pm>
|
||||||
|
+ <suspend-to-mem enabled="no"/>
|
||||||
|
+ </pm>
|
||||||
|
+
|
||||||
|
+Domain 'test-many-devices' defined successfully.
|
||||||
|
+Changes will take effect after the next domain shutdown.
|
||||||
|
\ No newline at end of file
|
||||||
|
Index: virt-manager-1.0.1/tests/clitest.py
|
||||||
|
===================================================================
|
||||||
|
--- virt-manager-1.0.1.orig/tests/clitest.py
|
||||||
|
+++ virt-manager-1.0.1/tests/clitest.py
|
||||||
|
@@ -805,6 +805,7 @@ c = vixml.add_category("simple edit diff
|
||||||
|
c.add_compare("""--metadata name=foo-my-new-name,uuid=12345678-12F4-1234-1234-123456789AFA,description="hey this is my
|
||||||
|
new
|
||||||
|
very,very=new desc\\\'",title="This is my,funky=new title" """, "edit-simple-metadata")
|
||||||
|
+c.add_compare("--events on_poweroff=destroy,on_reboot=restart,on_crash=preserve", "edit-simple-events")
|
||||||
|
c.add_compare("--memory 500,maxmemory=1000,hugepages=off", "edit-simple-memory")
|
||||||
|
c.add_compare("--vcpus 10,maxvcpus=20,cores=5,sockets=4,threads=1", "edit-simple-vcpus")
|
||||||
|
c.add_compare("--cpu model=pentium2,+x2apic,forbid=pbe", "edit-simple-cpu")
|
||||||
|
Index: virt-manager-1.0.1/virtinst/cli.py
|
||||||
|
===================================================================
|
||||||
|
--- virt-manager-1.0.1.orig/virtinst/cli.py
|
||||||
|
+++ virt-manager-1.0.1/virtinst/cli.py
|
||||||
|
@@ -797,6 +797,7 @@ def add_guest_xml_options(geng):
|
||||||
|
help=_("Set domain <clock> XML. Ex:\n"
|
||||||
|
"--clock offset=localtime,rtc_tickpolicy=catchup"))
|
||||||
|
geng.add_argument("--pm", help=_("Config power management features"))
|
||||||
|
+ geng.add_argument("--events", help=_("Config OS lifecycle operation management features"))
|
||||||
|
|
||||||
|
|
||||||
|
def add_boot_options(insg):
|
||||||
|
@@ -1225,6 +1226,17 @@ class ParserMetadata(VirtCLIParser):
|
||||||
|
|
||||||
|
|
||||||
|
######################
|
||||||
|
+# --events parsing #
|
||||||
|
+######################
|
||||||
|
+
|
||||||
|
+class ParserEvents(VirtCLIParser):
|
||||||
|
+ def _init_params(self):
|
||||||
|
+ self.set_param("on_poweroff", "on_poweroff")
|
||||||
|
+ self.set_param("on_reboot", "on_reboot")
|
||||||
|
+ self.set_param("on_crash", "on_crash")
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+######################
|
||||||
|
# --numatune parsing #
|
||||||
|
######################
|
||||||
|
|
||||||
|
@@ -2210,6 +2222,7 @@ def build_parser_map(options, skip=None,
|
||||||
|
parsermap[parserobj.option_variable_name] = parserobj
|
||||||
|
|
||||||
|
register_parser("metadata", ParserMetadata)
|
||||||
|
+ register_parser("events", ParserEvents)
|
||||||
|
register_parser("memory", ParserMemory)
|
||||||
|
register_parser("memtune", ParserMemorytune)
|
||||||
|
register_parser("vcpus", ParserVCPU)
|
43
538a11dc-raise-error-if-populating-summary-page-fails.patch
Normal file
43
538a11dc-raise-error-if-populating-summary-page-fails.patch
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
Subject: create: Raise error if populating summary page fails
|
||||||
|
From: Cole Robinson crobinso@redhat.com Sat May 31 13:31:08 2014 -0400
|
||||||
|
Date: Sat May 31 13:31:08 2014 -0400:
|
||||||
|
Git: 3654d56aa6a7f6749f74924a33a35ebdebdb8b8d
|
||||||
|
|
||||||
|
|
||||||
|
Index: virt-manager-1.0.1/virtManager/create.py
|
||||||
|
===================================================================
|
||||||
|
--- virt-manager-1.0.1.orig/virtManager/create.py
|
||||||
|
+++ virt-manager-1.0.1/virtManager/create.py
|
||||||
|
@@ -1340,20 +1340,24 @@ class vmmCreate(vmmGObjectUI):
|
||||||
|
self.widget("header-pagenum").set_markup(page_lbl)
|
||||||
|
|
||||||
|
def page_changed(self, ignore1, ignore2, pagenum):
|
||||||
|
- # Update page number
|
||||||
|
- self.set_page_num_text(pagenum)
|
||||||
|
-
|
||||||
|
- self.widget("create-back").set_sensitive(pagenum != PAGE_NAME)
|
||||||
|
- self.widget("create-forward").set_visible(pagenum != PAGE_FINISH)
|
||||||
|
- self.widget("create-finish").set_visible(pagenum == PAGE_FINISH)
|
||||||
|
-
|
||||||
|
if pagenum == PAGE_INSTALL:
|
||||||
|
self.detect_media_os()
|
||||||
|
self.widget("install-os-distro-box").set_visible(
|
||||||
|
not self.container_install())
|
||||||
|
elif pagenum == PAGE_FINISH:
|
||||||
|
+ try:
|
||||||
|
+ self.populate_summary()
|
||||||
|
+ except Exception, e:
|
||||||
|
+ self.err.show_err(_("Error populating summary page: %s") %
|
||||||
|
+ str(e))
|
||||||
|
+ return
|
||||||
|
+
|
||||||
|
self.widget("create-finish").grab_focus()
|
||||||
|
- self.populate_summary()
|
||||||
|
+
|
||||||
|
+ self.set_page_num_text(pagenum)
|
||||||
|
+ self.widget("create-back").set_sensitive(pagenum != PAGE_NAME)
|
||||||
|
+ self.widget("create-forward").set_visible(pagenum != PAGE_FINISH)
|
||||||
|
+ self.widget("create-finish").set_visible(pagenum == PAGE_FINISH)
|
||||||
|
|
||||||
|
for nr in range(self.widget("create-pages").get_n_pages()):
|
||||||
|
page = self.widget("create-pages").get_nth_page(nr)
|
19
538a3609-virtconv-fix-use-of-relative-OVF-file.patch
Normal file
19
538a3609-virtconv-fix-use-of-relative-OVF-file.patch
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
Subject: virt-convert: Fix use of relative OVF file
|
||||||
|
From: Cole Robinson crobinso@redhat.com Sat May 31 16:05:29 2014 -0400
|
||||||
|
Date: Sat May 31 16:05:29 2014 -0400:
|
||||||
|
Git: 876c721d8e3045d35c942d96caac28abff1b8219
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/virtconv/formats.py b/virtconv/formats.py
|
||||||
|
index 0663190..2af6b6b 100644
|
||||||
|
--- a/virtconv/formats.py
|
||||||
|
+++ b/virtconv/formats.py
|
||||||
|
@@ -195,7 +195,7 @@ class VirtConverter(object):
|
||||||
|
(self._input_file,
|
||||||
|
self.parser,
|
||||||
|
self._force_clean) = _find_input(input_file, parser, self.print_cb)
|
||||||
|
- self._top_dir = os.path.dirname(self._input_file)
|
||||||
|
+ self._top_dir = os.path.dirname(os.path.abspath(self._input_file))
|
||||||
|
|
||||||
|
logging.debug("converter not input_file=%s parser=%s",
|
||||||
|
self._input_file, self.parser)
|
24
538a3ba9-diskbackend-start-pool-if-not-running.patch
Normal file
24
538a3ba9-diskbackend-start-pool-if-not-running.patch
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
Subject: diskbackend: If pool not running, start it
|
||||||
|
From: Cole Robinson crobinso@redhat.com Sat May 31 16:29:29 2014 -0400
|
||||||
|
Date: Sat May 31 16:29:29 2014 -0400:
|
||||||
|
Git: d6f063d0b888cabdf8a348bbd86e2f5353b040fd
|
||||||
|
|
||||||
|
Nowadays we depend on the pool existing and running, so better to get
|
||||||
|
an error up front if pool startup will fail
|
||||||
|
|
||||||
|
diff --git a/virtinst/diskbackend.py b/virtinst/diskbackend.py
|
||||||
|
index 3d5aed8..118f649 100644
|
||||||
|
--- a/virtinst/diskbackend.py
|
||||||
|
+++ b/virtinst/diskbackend.py
|
||||||
|
@@ -86,9 +86,9 @@ def check_if_path_managed(conn, path):
|
||||||
|
if not vol:
|
||||||
|
pool = StoragePool.lookup_pool_by_path(conn, os.path.dirname(path))
|
||||||
|
|
||||||
|
- # Is pool running?
|
||||||
|
+ # Ensure pool is running
|
||||||
|
if pool and pool.info()[0] != libvirt.VIR_STORAGE_POOL_RUNNING:
|
||||||
|
- pool = None
|
||||||
|
+ pool.start()
|
||||||
|
|
||||||
|
# Attempt to lookup path as a storage volume
|
||||||
|
if pool and not vol:
|
@ -0,0 +1,19 @@
|
|||||||
|
Subject: console: vnc: Don't force keyboard grab before widget is realized
|
||||||
|
From: Cole Robinson crobinso@redhat.com Sat May 31 19:40:18 2014 -0400
|
||||||
|
Date: Sat May 31 19:40:18 2014 -0400:
|
||||||
|
Git: d17cf4a22352659bc22e012286380b6481faad89
|
||||||
|
|
||||||
|
Causes gtk warnings on the console, and the code was mistaken anyways
|
||||||
|
|
||||||
|
Index: virt-manager-1.0.1/virtManager/console.py
|
||||||
|
===================================================================
|
||||||
|
--- virt-manager-1.0.1.orig/virtManager/console.py
|
||||||
|
+++ virt-manager-1.0.1/virtManager/console.py
|
||||||
|
@@ -466,7 +466,6 @@ class VNCViewer(Viewer):
|
||||||
|
|
||||||
|
def set_grab_keyboard(self):
|
||||||
|
self.display.set_keyboard_grab(self.config.get_grab_keyboard())
|
||||||
|
- self.display.force_grab(self.config.get_grab_keyboard())
|
||||||
|
|
||||||
|
def _desktop_resize(self, src_ignore, w, h):
|
||||||
|
self.desktop_resolution = (w, h)
|
@ -0,0 +1,75 @@
|
|||||||
|
Subject: pollhelpers: Use correct dictionary keys for old pool/net polling (bz 1099827)
|
||||||
|
From: Cole Robinson crobinso@redhat.com Mon Jun 2 12:17:21 2014 -0400
|
||||||
|
Date: Mon Jun 2 12:18:59 2014 -0400:
|
||||||
|
Git: d3e9af832899088a17aeb44441e8316177f563ae
|
||||||
|
|
||||||
|
We were inadvertently using the object name rather than UUID when libvirt
|
||||||
|
didn't support new style polling APIs.
|
||||||
|
|
||||||
|
Index: virt-manager-1.0.1/virtinst/pollhelpers.py
|
||||||
|
===================================================================
|
||||||
|
--- virt-manager-1.0.1.orig/virtinst/pollhelpers.py
|
||||||
|
+++ virt-manager-1.0.1/virtinst/pollhelpers.py
|
||||||
|
@@ -52,7 +52,8 @@ def _new_poll_helper(origmap, typename,
|
||||||
|
|
||||||
|
def _old_poll_helper(origmap, typename,
|
||||||
|
active_list, inactive_list,
|
||||||
|
- lookup_func, build_func):
|
||||||
|
+ lookup_func, build_func,
|
||||||
|
+ key_is_uuid=False):
|
||||||
|
"""
|
||||||
|
Helper routine for old style split API libvirt polling.
|
||||||
|
@origmap: Pre-existing mapping of objects, with key->obj mapping.
|
||||||
|
@@ -64,6 +65,8 @@ def _old_poll_helper(origmap, typename,
|
||||||
|
@lookup_func: Function to get an object handle for the passed name
|
||||||
|
@build_func: Function that builds a new object class. It is passed
|
||||||
|
args of (raw libvirt object, key (usually UUID))
|
||||||
|
+ @key_is_uuid: If True, we use the object UUID as the returned dictionary
|
||||||
|
+ keys
|
||||||
|
"""
|
||||||
|
current = {}
|
||||||
|
new = {}
|
||||||
|
@@ -79,8 +82,10 @@ def _old_poll_helper(origmap, typename,
|
||||||
|
except Exception, e:
|
||||||
|
logging.debug("Unable to list inactive %ss: %s", typename, e)
|
||||||
|
|
||||||
|
- def check_obj(key):
|
||||||
|
- if key not in origmap:
|
||||||
|
+ def check_obj(name):
|
||||||
|
+ obj = None
|
||||||
|
+ key = name
|
||||||
|
+ if key not in origmap or key_is_uuid:
|
||||||
|
try:
|
||||||
|
obj = lookup_func(key)
|
||||||
|
except Exception, e:
|
||||||
|
@@ -88,6 +93,10 @@ def _old_poll_helper(origmap, typename,
|
||||||
|
typename, key, e)
|
||||||
|
return
|
||||||
|
|
||||||
|
+ if key_is_uuid:
|
||||||
|
+ key = obj.UUIDString()
|
||||||
|
+
|
||||||
|
+ if key not in origmap:
|
||||||
|
# Object is brand new this period
|
||||||
|
current[key] = build_func(obj, key)
|
||||||
|
new[key] = current[key]
|
||||||
|
@@ -120,7 +129,8 @@ def fetch_nets(backend, origmap, build_f
|
||||||
|
|
||||||
|
return _old_poll_helper(origmap, name,
|
||||||
|
active_list, inactive_list,
|
||||||
|
- lookup_func, build_func)
|
||||||
|
+ lookup_func, build_func,
|
||||||
|
+ key_is_uuid=True)
|
||||||
|
|
||||||
|
|
||||||
|
def fetch_pools(backend, origmap, build_func):
|
||||||
|
@@ -138,7 +148,8 @@ def fetch_pools(backend, origmap, build_
|
||||||
|
|
||||||
|
return _old_poll_helper(origmap, name,
|
||||||
|
active_list, inactive_list,
|
||||||
|
- lookup_func, build_func)
|
||||||
|
+ lookup_func, build_func,
|
||||||
|
+ key_is_uuid=True)
|
||||||
|
|
||||||
|
|
||||||
|
def fetch_volumes(backend, pool, origmap, build_func):
|
19
538d00a4-xen-keyboard-cant-be-removed.patch
Normal file
19
538d00a4-xen-keyboard-cant-be-removed.patch
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
Subject: details: xen keyboard can't be removed either
|
||||||
|
From: Cole Robinson crobinso@redhat.com Mon Jun 2 18:54:28 2014 -0400
|
||||||
|
Date: Mon Jun 2 18:54:28 2014 -0400:
|
||||||
|
Git: 03670c38dc085ddf7b68edceda738ca6b506a2ba
|
||||||
|
|
||||||
|
|
||||||
|
Index: virt-manager-1.0.1/virtManager/details.py
|
||||||
|
===================================================================
|
||||||
|
--- virt-manager-1.0.1.orig/virtManager/details.py
|
||||||
|
+++ virt-manager-1.0.1/virtManager/details.py
|
||||||
|
@@ -2765,7 +2765,7 @@ class vmmDetails(vmmGObjectUI):
|
||||||
|
|
||||||
|
# Can't remove primary Xen or PS/2 mice
|
||||||
|
if ((inp.type == "mouse" and inp.bus in ("xen", "ps2")) or
|
||||||
|
- (inp.type == "keyboard" and inp.bus == "ps2")):
|
||||||
|
+ (inp.type == "keyboard" and inp.bus in ("xen", "ps2"))):
|
||||||
|
self.widget("config-remove").set_sensitive(False)
|
||||||
|
else:
|
||||||
|
self.widget("config-remove").set_sensitive(True)
|
19
538e2f74-fix-pool-create-call.patch
Normal file
19
538e2f74-fix-pool-create-call.patch
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
Subject: diskbackend: Fix pool 'create' call (bz 1103442)
|
||||||
|
From: Cole Robinson crobinso@redhat.com Tue Jun 3 16:25:48 2014 -0400
|
||||||
|
Date: Tue Jun 3 16:26:28 2014 -0400:
|
||||||
|
Git: 809c5a81e5b92c335e586041af91618693724721
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/virtinst/diskbackend.py b/virtinst/diskbackend.py
|
||||||
|
index 118f649..5f72d00 100644
|
||||||
|
--- a/virtinst/diskbackend.py
|
||||||
|
+++ b/virtinst/diskbackend.py
|
||||||
|
@@ -88,7 +88,7 @@ def check_if_path_managed(conn, path):
|
||||||
|
|
||||||
|
# Ensure pool is running
|
||||||
|
if pool and pool.info()[0] != libvirt.VIR_STORAGE_POOL_RUNNING:
|
||||||
|
- pool.start()
|
||||||
|
+ pool.create(0)
|
||||||
|
|
||||||
|
# Attempt to lookup path as a storage volume
|
||||||
|
if pool and not vol:
|
22
538edb3b-manpage-fix-incorrect-description.patch
Normal file
22
538edb3b-manpage-fix-incorrect-description.patch
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
Subject: man: fix an incorrect description in virt-install man page
|
||||||
|
From: Chen Hanxiao chenhanxiao@cn.fujitsu.com Wed Jun 4 16:38:29 2014 +0800
|
||||||
|
Date: Wed Jun 4 16:39:23 2014 +0800:
|
||||||
|
Git: 99df0057f50e55fccb42d50ca299399888e5f1f2
|
||||||
|
|
||||||
|
Actually --pm accepts suspend_to_mem rather than suspend_to_ram.
|
||||||
|
|
||||||
|
Signed-off-by: Chen Hanxiao <chenhanxiao@cn.fujitsu.com>
|
||||||
|
|
||||||
|
Index: virt-manager-1.0.1/man/virt-install.pod
|
||||||
|
===================================================================
|
||||||
|
--- virt-manager-1.0.1.orig/man/virt-install.pod
|
||||||
|
+++ virt-manager-1.0.1/man/virt-install.pod
|
||||||
|
@@ -270,7 +270,7 @@ Use --clock=? to see a list of all avail
|
||||||
|
|
||||||
|
=item --pm=PMOPTS
|
||||||
|
|
||||||
|
-Configure guest power management features. Example suboptions include suspend_to_ram=on|off and suspend_to_disk=on|off
|
||||||
|
+Configure guest power management features. Example suboptions include suspend_to_mem=on|off and suspend_to_disk=on|off
|
||||||
|
|
||||||
|
Use --pm=? to see a list of all available sub options. Complete details at L<http://libvirt.org/formatdomain.html#elementsPowerManagement>
|
||||||
|
|
@ -1,3 +1,40 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jun 6 10:15:34 MDT 2014 - carnold@suse.com
|
||||||
|
|
||||||
|
- bnc#881551 - virt-manage: default storage image called
|
||||||
|
opensuse13.img for SLE-Server
|
||||||
|
virtinst-detect-suse-distros.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jun 5 09:58:34 MDT 2014 - carnold@suse.com
|
||||||
|
|
||||||
|
- bnc#881549 - virt-manager/xen: Error changing VM configuration:
|
||||||
|
'NoneType' object has no attribute 'split'
|
||||||
|
virtinst-xenbus-disk-index-fix.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jun 4 09:11:03 MDT 2014 - carnold@suse.com
|
||||||
|
|
||||||
|
- Upstream bug fix
|
||||||
|
538edb3b-manpage-fix-incorrect-description.patch
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jun 3 14:50:49 MDT 2014 - carnold@suse.com
|
||||||
|
|
||||||
|
- Upstream bug fixes
|
||||||
|
536677aa-better-handling-of-keyboard-input-type.patch
|
||||||
|
5385d602-lxc-no-default-disk.patch
|
||||||
|
53869170-virt-install-add-events-support.patch
|
||||||
|
538a11dc-raise-error-if-populating-summary-page-fails.patch
|
||||||
|
538a3609-virtconv-fix-use-of-relative-OVF-file.patch
|
||||||
|
538a3ba9-diskbackend-start-pool-if-not-running.patch
|
||||||
|
538ca3f3-use-correct-dictionary-keys-for-old-pool-net-polling.patch
|
||||||
|
538d00a4-xen-keyboard-cant-be-removed.patch
|
||||||
|
538e2f74-fix-pool-create-call.patch
|
||||||
|
- Dropped 531e0a82-reverse-keyboard-grab-commit.patch. Fixed instead
|
||||||
|
with this patch.
|
||||||
|
538a6862-vnc-dont-force-keyboard-grab-before-widget-is-realized.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu May 29 10:30:15 MDT 2014 - carnold@suse.com
|
Thu May 29 10:30:15 MDT 2014 - carnold@suse.com
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
|
|
||||||
Name: virt-manager
|
Name: virt-manager
|
||||||
Version: 1.0.1
|
Version: 1.0.1
|
||||||
Release: 0
|
Release: 8.2
|
||||||
Summary: Virtual Machine Manager
|
Summary: Virtual Machine Manager
|
||||||
License: GPL-2.0+
|
License: GPL-2.0+
|
||||||
Group: System/Monitoring
|
Group: System/Monitoring
|
||||||
@ -61,8 +61,17 @@ Patch22: 535ff0b7-fix-install-when-one-package-is-already-installed.patch
|
|||||||
Patch23: 536152fe-fix-error-detecting-OS-in-show-all-list.patch
|
Patch23: 536152fe-fix-error-detecting-OS-in-show-all-list.patch
|
||||||
Patch24: 536154d8-show-error-if-launching-delete-dialog-fails.patch
|
Patch24: 536154d8-show-error-if-launching-delete-dialog-fails.patch
|
||||||
Patch25: 53615662-call-path_exists-before-getting-storage-volume.patch
|
Patch25: 53615662-call-path_exists-before-getting-storage-volume.patch
|
||||||
Patch26: 5385d602-lxc-no-default-disk.patch
|
Patch26: 536677aa-better-handling-of-keyboard-input-type.patch
|
||||||
Patch45: 531e0a82-reverse-keyboard-grab-commit.patch
|
Patch27: 5385d602-lxc-no-default-disk.patch
|
||||||
|
Patch28: 53869170-virt-install-add-events-support.patch
|
||||||
|
Patch29: 538a11dc-raise-error-if-populating-summary-page-fails.patch
|
||||||
|
Patch30: 538a3609-virtconv-fix-use-of-relative-OVF-file.patch
|
||||||
|
Patch31: 538a3ba9-diskbackend-start-pool-if-not-running.patch
|
||||||
|
Patch32: 538a6862-vnc-dont-force-keyboard-grab-before-widget-is-realized.patch
|
||||||
|
Patch33: 538ca3f3-use-correct-dictionary-keys-for-old-pool-net-polling.patch
|
||||||
|
Patch34: 538d00a4-xen-keyboard-cant-be-removed.patch
|
||||||
|
Patch35: 538e2f74-fix-pool-create-call.patch
|
||||||
|
Patch36: 538edb3b-manpage-fix-incorrect-description.patch
|
||||||
Patch50: virtman-desktop.patch
|
Patch50: virtman-desktop.patch
|
||||||
Patch51: virtman-cdrom.patch
|
Patch51: virtman-cdrom.patch
|
||||||
Patch52: virtman-kvm.patch
|
Patch52: virtman-kvm.patch
|
||||||
@ -210,7 +219,16 @@ machine).
|
|||||||
%patch24 -p1
|
%patch24 -p1
|
||||||
%patch25 -p1
|
%patch25 -p1
|
||||||
%patch26 -p1
|
%patch26 -p1
|
||||||
%patch45 -p1
|
%patch27 -p1
|
||||||
|
%patch28 -p1
|
||||||
|
%patch29 -p1
|
||||||
|
%patch30 -p1
|
||||||
|
%patch31 -p1
|
||||||
|
%patch32 -p1
|
||||||
|
%patch33 -p1
|
||||||
|
%patch34 -p1
|
||||||
|
%patch35 -p1
|
||||||
|
%patch36 -p1
|
||||||
%patch50 -p1
|
%patch50 -p1
|
||||||
%patch51 -p1
|
%patch51 -p1
|
||||||
%patch52 -p1
|
%patch52 -p1
|
||||||
@ -240,7 +258,7 @@ machine).
|
|||||||
%patch156 -p1
|
%patch156 -p1
|
||||||
%patch157 -p1
|
%patch157 -p1
|
||||||
%patch158 -p1
|
%patch158 -p1
|
||||||
###%patch159 -p1 nocow flag
|
%patch159 -p1
|
||||||
%patch160 -p1
|
%patch160 -p1
|
||||||
%patch161 -p1
|
%patch161 -p1
|
||||||
%patch162 -p1
|
%patch162 -p1
|
||||||
|
@ -2,7 +2,7 @@ Index: virt-manager-1.0.1/virtinst/urlfetcher.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-1.0.1.orig/virtinst/urlfetcher.py
|
--- virt-manager-1.0.1.orig/virtinst/urlfetcher.py
|
||||||
+++ virt-manager-1.0.1/virtinst/urlfetcher.py
|
+++ virt-manager-1.0.1/virtinst/urlfetcher.py
|
||||||
@@ -303,6 +303,85 @@ def _distroFromTreeinfo(fetcher, arch, v
|
@@ -303,6 +303,88 @@ def _distroFromTreeinfo(fetcher, arch, v
|
||||||
|
|
||||||
return ob
|
return ob
|
||||||
|
|
||||||
@ -77,6 +77,9 @@ Index: virt-manager-1.0.1/virtinst/urlfetcher.py
|
|||||||
+ if distro_version is None:
|
+ if distro_version is None:
|
||||||
+ distro_version = ['VERSION', '13.1']
|
+ distro_version = ['VERSION', '13.1']
|
||||||
+
|
+
|
||||||
|
+ if distro_version is None:
|
||||||
|
+ return None
|
||||||
|
+
|
||||||
+ ob = dclass(fetcher, arch, vmtype)
|
+ ob = dclass(fetcher, arch, vmtype)
|
||||||
+ if dclass != GenericDistro:
|
+ if dclass != GenericDistro:
|
||||||
+ ob.content = distro_version
|
+ ob.content = distro_version
|
||||||
@ -88,7 +91,7 @@ Index: virt-manager-1.0.1/virtinst/urlfetcher.py
|
|||||||
|
|
||||||
def getDistroStore(guest, fetcher):
|
def getDistroStore(guest, fetcher):
|
||||||
stores = []
|
stores = []
|
||||||
@@ -319,6 +398,10 @@ def getDistroStore(guest, fetcher):
|
@@ -319,6 +401,10 @@ def getDistroStore(guest, fetcher):
|
||||||
if dist:
|
if dist:
|
||||||
return dist
|
return dist
|
||||||
|
|
||||||
@ -99,7 +102,7 @@ Index: virt-manager-1.0.1/virtinst/urlfetcher.py
|
|||||||
# FIXME: This 'distro ==' doesn't cut it. 'distro' is from our os
|
# FIXME: This 'distro ==' doesn't cut it. 'distro' is from our os
|
||||||
# dictionary, so would look like 'fedora9' or 'rhel5', so this needs
|
# dictionary, so would look like 'fedora9' or 'rhel5', so this needs
|
||||||
# to be a bit more intelligent
|
# to be a bit more intelligent
|
||||||
@@ -815,12 +898,11 @@ class SLDistro(RHELDistro):
|
@@ -815,12 +901,11 @@ class SLDistro(RHELDistro):
|
||||||
|
|
||||||
class SuseDistro(Distro):
|
class SuseDistro(Distro):
|
||||||
name = "SUSE"
|
name = "SUSE"
|
||||||
@ -113,7 +116,7 @@ Index: virt-manager-1.0.1/virtinst/urlfetcher.py
|
|||||||
Distro.__init__(self, *args, **kwargs)
|
Distro.__init__(self, *args, **kwargs)
|
||||||
if re.match(r'i[4-9]86', self.arch):
|
if re.match(r'i[4-9]86', self.arch):
|
||||||
self.arch = 'i386'
|
self.arch = 'i386'
|
||||||
@@ -831,22 +913,44 @@ class SuseDistro(Distro):
|
@@ -831,22 +916,44 @@ class SuseDistro(Distro):
|
||||||
oldkern += "64"
|
oldkern += "64"
|
||||||
oldinit += "64"
|
oldinit += "64"
|
||||||
|
|
||||||
@ -168,7 +171,7 @@ Index: virt-manager-1.0.1/virtinst/urlfetcher.py
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
def _get_method_arg(self):
|
def _get_method_arg(self):
|
||||||
@@ -867,6 +971,27 @@ class SuseDistro(Distro):
|
@@ -867,6 +974,27 @@ class SuseDistro(Distro):
|
||||||
return name
|
return name
|
||||||
return self.os_variant
|
return self.os_variant
|
||||||
|
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
bnc#872789
|
bnc#872789
|
||||||
|
|
||||||
--- virt-manager-1.0.1/virtinst/devicedisk.py.orig 2014-04-14 11:41:36.904354483 -0600
|
Index: virt-manager-1.0.1/virtinst/devicedisk.py
|
||||||
+++ virt-manager-1.0.1/virtinst/devicedisk.py 2014-04-14 11:45:39.565744657 -0600
|
===================================================================
|
||||||
@@ -931,6 +931,15 @@ class VirtualDisk(VirtualDevice):
|
--- virt-manager-1.0.1.orig/virtinst/devicedisk.py
|
||||||
|
+++ virt-manager-1.0.1/virtinst/devicedisk.py
|
||||||
|
@@ -931,6 +931,17 @@ class VirtualDisk(VirtualDevice):
|
||||||
@rtype C{str}
|
@rtype C{str}
|
||||||
"""
|
"""
|
||||||
prefix, maxnode = self.get_target_prefix(skip_targets)
|
prefix, maxnode = self.get_target_prefix(skip_targets)
|
||||||
@ -10,6 +12,8 @@ bnc#872789
|
|||||||
+ if self.conn.is_xen():
|
+ if self.conn.is_xen():
|
||||||
+ prefixes = [ "hd", "xvd", "vd", "sd", "fd" ]
|
+ prefixes = [ "hd", "xvd", "vd", "sd", "fd" ]
|
||||||
+ for x in skip_targets:
|
+ for x in skip_targets:
|
||||||
|
+ if x is None:
|
||||||
|
+ continue
|
||||||
+ for p in prefixes:
|
+ for p in prefixes:
|
||||||
+ found = x.split(p,1)
|
+ found = x.split(p,1)
|
||||||
+ if found and len(found) == 2:
|
+ if found and len(found) == 2:
|
||||||
@ -18,7 +22,7 @@ bnc#872789
|
|||||||
skip_targets = [t for t in skip_targets if t and t.startswith(prefix)]
|
skip_targets = [t for t in skip_targets if t and t.startswith(prefix)]
|
||||||
skip_targets.sort()
|
skip_targets.sort()
|
||||||
|
|
||||||
@@ -944,7 +953,12 @@ class VirtualDisk(VirtualDevice):
|
@@ -944,7 +955,12 @@ class VirtualDisk(VirtualDevice):
|
||||||
ran = range(pref_ctrl * 7, (pref_ctrl + 1) * 7)
|
ran = range(pref_ctrl * 7, (pref_ctrl + 1) * 7)
|
||||||
|
|
||||||
for i in ran:
|
for i in ran:
|
||||||
|
@ -2,7 +2,7 @@ Index: virt-manager-1.0.1/virtManager/details.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-1.0.1.orig/virtManager/details.py
|
--- virt-manager-1.0.1.orig/virtManager/details.py
|
||||||
+++ virt-manager-1.0.1/virtManager/details.py
|
+++ virt-manager-1.0.1/virtManager/details.py
|
||||||
@@ -2047,10 +2047,10 @@ class vmmDetails(vmmGObjectUI):
|
@@ -2049,10 +2049,10 @@ class vmmDetails(vmmGObjectUI):
|
||||||
return self._change_config_helper(self.vm.define_memory, kwargs,
|
return self._change_config_helper(self.vm.define_memory, kwargs,
|
||||||
hotplug_args=hotplug_args)
|
hotplug_args=hotplug_args)
|
||||||
|
|
||||||
@ -17,7 +17,7 @@ Index: virt-manager-1.0.1/virtManager/details.py
|
|||||||
auto = self.widget("config-autostart")
|
auto = self.widget("config-autostart")
|
||||||
try:
|
try:
|
||||||
self.vm.set_autostart(auto.get_active())
|
self.vm.set_autostart(auto.get_active())
|
||||||
@@ -2059,6 +2059,9 @@ class vmmDetails(vmmGObjectUI):
|
@@ -2061,6 +2061,9 @@ class vmmDetails(vmmGObjectUI):
|
||||||
(_("Error changing autostart value: %s") % str(e)))
|
(_("Error changing autostart value: %s") % str(e)))
|
||||||
return False
|
return False
|
||||||
|
|
||||||
@ -27,7 +27,7 @@ Index: virt-manager-1.0.1/virtManager/details.py
|
|||||||
if self.edited(EDIT_BOOTORDER):
|
if self.edited(EDIT_BOOTORDER):
|
||||||
kwargs["boot_order"] = self.get_config_boot_order()
|
kwargs["boot_order"] = self.get_config_boot_order()
|
||||||
|
|
||||||
@@ -2372,6 +2375,8 @@ class vmmDetails(vmmGObjectUI):
|
@@ -2374,6 +2377,8 @@ class vmmDetails(vmmGObjectUI):
|
||||||
buttons=Gtk.ButtonsType.OK,
|
buttons=Gtk.ButtonsType.OK,
|
||||||
dialog_type=dtype)
|
dialog_type=dtype)
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@ Index: virt-manager-1.0.1/virtManager/create.py
|
|||||||
# Get previous
|
# Get previous
|
||||||
type_row = self._selected_os_row()
|
type_row = self._selected_os_row()
|
||||||
if not type_row:
|
if not type_row:
|
||||||
@@ -1590,7 +1613,10 @@ class vmmCreate(vmmGObjectUI):
|
@@ -1594,7 +1617,10 @@ class vmmCreate(vmmGObjectUI):
|
||||||
if extra:
|
if extra:
|
||||||
extraargs += extra
|
extraargs += extra
|
||||||
if ks:
|
if ks:
|
||||||
@ -49,7 +49,7 @@ Index: virt-manager-1.0.1/virtManager/create.py
|
|||||||
|
|
||||||
if extraargs:
|
if extraargs:
|
||||||
self.guest.installer.extraargs = extraargs
|
self.guest.installer.extraargs = extraargs
|
||||||
@@ -1986,6 +2012,7 @@ class vmmCreate(vmmGObjectUI):
|
@@ -1990,6 +2016,7 @@ class vmmCreate(vmmGObjectUI):
|
||||||
dl = self.set_os_val(self.widget("install-os-type"), distro_type)
|
dl = self.set_os_val(self.widget("install-os-type"), distro_type)
|
||||||
vl = self.set_os_val(self.widget("install-os-version"), distro_var)
|
vl = self.set_os_val(self.widget("install-os-version"), distro_var)
|
||||||
self.set_distro_labels(dl, vl)
|
self.set_distro_labels(dl, vl)
|
||||||
|
@ -25,7 +25,7 @@ Index: virt-manager-1.0.1/virtManager/details.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-1.0.1.orig/virtManager/details.py
|
--- virt-manager-1.0.1.orig/virtManager/details.py
|
||||||
+++ virt-manager-1.0.1/virtManager/details.py
|
+++ virt-manager-1.0.1/virtManager/details.py
|
||||||
@@ -2281,6 +2281,17 @@ class vmmDetails(vmmGObjectUI):
|
@@ -2283,6 +2283,17 @@ class vmmDetails(vmmGObjectUI):
|
||||||
text1=(_("Are you sure you want to remove this device?"))):
|
text1=(_("Are you sure you want to remove this device?"))):
|
||||||
return
|
return
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ Index: virt-manager-1.0.1/virtManager/console.py
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- virt-manager-1.0.1.orig/virtManager/console.py
|
--- virt-manager-1.0.1.orig/virtManager/console.py
|
||||||
+++ virt-manager-1.0.1/virtManager/console.py
|
+++ virt-manager-1.0.1/virtManager/console.py
|
||||||
@@ -922,6 +922,16 @@ class vmmConsolePages(vmmGObjectUI):
|
@@ -934,6 +934,16 @@ class vmmConsolePages(vmmGObjectUI):
|
||||||
make_item("Ctrl+Alt+_Backspace", ["Control_L", "Alt_L", "BackSpace"])
|
make_item("Ctrl+Alt+_Backspace", ["Control_L", "Alt_L", "BackSpace"])
|
||||||
make_item("Ctrl+Alt+_Delete", ["Control_L", "Alt_L", "Delete"])
|
make_item("Ctrl+Alt+_Delete", ["Control_L", "Alt_L", "Delete"])
|
||||||
menu.add(Gtk.SeparatorMenuItem())
|
menu.add(Gtk.SeparatorMenuItem())
|
||||||
|
@ -1,8 +1,10 @@
|
|||||||
bnc#874594 - virt-manager allows issuing of start for xen domain twice, resulting in failure
|
bnc#874594 - virt-manager allows issuing of start for xen domain twice, resulting in failure
|
||||||
|
|
||||||
--- virt-manager-1.0.1/virtManager/details.py.orig 2014-05-15 17:04:23.580176420 -0600
|
Index: virt-manager-1.0.1/virtManager/details.py
|
||||||
+++ virt-manager-1.0.1/virtManager/details.py 2014-05-15 17:07:55.444521681 -0600
|
===================================================================
|
||||||
@@ -1459,6 +1459,9 @@ class vmmDetails(vmmGObjectUI):
|
--- virt-manager-1.0.1.orig/virtManager/details.py
|
||||||
|
+++ virt-manager-1.0.1/virtManager/details.py
|
||||||
|
@@ -1461,6 +1461,9 @@ class vmmDetails(vmmGObjectUI):
|
||||||
self.widget("details-menu-usb-redirection").set_sensitive(can_usb)
|
self.widget("details-menu-usb-redirection").set_sensitive(can_usb)
|
||||||
|
|
||||||
def control_vm_run(self, src_ignore):
|
def control_vm_run(self, src_ignore):
|
||||||
|
Loading…
Reference in New Issue
Block a user