Hello community, here is the log from the commit of package virt-manager for openSUSE:Factory checked in at 2013-07-08 12:36:53 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/virt-manager (Old) and /work/SRC/openSUSE:Factory/.virt-manager.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "virt-manager" Changes: -------- --- /work/SRC/openSUSE:Factory/virt-manager/virt-manager.changes 2013-06-07 10:12:26.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.virt-manager.new/virt-manager.changes 2013-07-08 12:36:54.000000000 +0200 @@ -1,0 +2,11 @@ +Wed Jul 3 14:52:48 MDT 2013 - [email protected] + +- Default to virt-install when installation icon is selected +- Allow virt-install to install Xen PV guests from ISO media + virtman-allow-pv-iso-install.patch +- Detect SUSE installation sources and use as default when found + virtman-default-guest-from-host-os.patch +- Use 'Autoyast' instead of 'Kickstart' if installing SUSE distro + virtman-autoyast-label.patch + +------------------------------------------------------------------- Old: ---- virtman-storage-pool.patch virtman-virtinstall.patch New: ---- virtman-allow-pv-iso-install.patch virtman-autoyast-label.patch virtman-default-guest-from-host-os.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ virt-manager.spec ++++++ --- /var/tmp/diff_new_pack.a2Y1on/_old 2013-07-08 12:36:55.000000000 +0200 +++ /var/tmp/diff_new_pack.a2Y1on/_new 2013-07-08 12:36:55.000000000 +0200 @@ -34,20 +34,21 @@ Url: http://virt-manager.et.redhat.com Source0: virt-manager-%{version}.tar.bz2 Patch50: virtman-desktop.patch -Patch51: virtman-vminstall.patch -Patch52: virtman-cdrom.patch -Patch53: virtman-kvm.patch -Patch54: virtman-keycombo.patch -Patch55: virtman-autoconnect.patch +Patch51: virtman-cdrom.patch +Patch52: virtman-kvm.patch +Patch53: virtman-keycombo.patch +Patch54: virtman-autoconnect.patch Patch60: virtman-device-flags.patch Patch61: virtman-autorestart.patch -Patch62: virtman-storage-pool.patch -Patch63: virtman-eepro100.patch -Patch64: virtman-qed.patch -Patch65: virtman-update-backend.patch -Patch66: virtman-slow-mouse.patch -Patch67: virtman-virtinstall.patch -Patch68: virtman-reverse-serialcon.patch +Patch62: virtman-eepro100.patch +Patch63: virtman-qed.patch +Patch64: virtman-update-backend.patch +Patch65: virtman-slow-mouse.patch +Patch66: virtman-vminstall.patch +Patch67: virtman-reverse-serialcon.patch +Patch68: virtman-default-guest-from-host-os.patch +Patch69: virtman-allow-pv-iso-install.patch +Patch70: virtman-autoyast-label.patch ExclusiveArch: %{ix86} x86_64 s390x BuildRoot: %{_tmppath}/%{name}-%{version}-build %gconf_schemas_prereq @@ -72,13 +73,13 @@ %endif Requires: librsvg Requires: netcat-openbsd -Requires: scrollkeeper -Requires: python-gtk-vnc -Requires: python-urlgrabber Requires: python-gconf Requires: python-gobject2 Requires: python-gtk +Requires: python-gtk-vnc +Requires: python-urlgrabber Requires: python-virtinst == %{virtinst_maj}.%{virtinst_min}.%{virtinst_rel} +Requires: scrollkeeper Requires: xorg-x11-fonts Recommends: python-SpiceClientGtk @@ -104,16 +105,17 @@ %patch52 -p1 %patch53 -p1 %patch54 -p1 -%patch55 -p1 %patch60 -p1 %patch61 -p1 -#%patch62 -p1 +%patch62 -p1 %patch63 -p1 %patch64 -p1 %patch65 -p1 %patch66 -p1 %patch67 -p1 %patch68 -p1 +%patch69 -p1 +%patch70 -p1 %build # autoreconf -i ++++++ virtman-allow-pv-iso-install.patch ++++++ Index: virt-manager-0.9.5/src/virtManager/create.py =================================================================== --- virt-manager-0.9.5.orig/src/virtManager/create.py +++ virt-manager-0.9.5/src/virtManager/create.py @@ -686,8 +686,13 @@ class vmmCreate(vmmGObjectUI): default = len(model) if gtype == "xen": + pv_cdrom = False + if self.guest and self.guest._lookup_osdict_key('pv_cdrom_install'): + pv_cdrom = True + if (instmethod == INSTALL_PAGE_PXE or - instmethod == INSTALL_PAGE_ISO): + instmethod == INSTALL_PAGE_ISO and + pv_cdrom == False): sensitive = False tooltip = _("Only URL or import installs are supported " "for paravirt.") @@ -700,6 +705,7 @@ class vmmCreate(vmmGObjectUI): util.tooltip_wrapper(hv_info, tooltip) else: hv_info.hide() + default = 0 hv_list.set_active(default) ++++++ virtman-autoyast-label.patch ++++++ Index: virt-manager-0.9.5/src/virtManager/create.py =================================================================== --- virt-manager-0.9.5.orig/src/virtManager/create.py +++ virt-manager-0.9.5/src/virtManager/create.py @@ -1248,12 +1248,25 @@ class vmmCreate(vmmGObjectUI): variant = self.widget("install-os-version") variant.set_active(0) + def _update_kickstart_label(self): + # Update label based on os version selected to either kickstart vs autoyast + combo = self.widget("install-os-version") + if combo.get_active() != -1: + ver = combo.get_active_text() + label = self.widget("kickstart-url-label") + if ver.startswith('opensuse') or ver.startswith('sle') or ver.startswith('oes'): + label.set_text("AutoYaST file:") + else: + label.set_text("Kickstart URL:") + def change_os_version(self, box): model = box.get_model() idx = box.get_active() if idx == -1: return + self._update_kickstart_label() + # Get previous os_type_list = self.widget("install-os-type") os_type_model = os_type_list.get_model() @@ -2116,6 +2129,7 @@ class vmmCreate(vmmGObjectUI): dl = self.set_os_val(self.widget("install-os-type"), distro) vl = self.set_os_val(self.widget("install-os-version"), ver) self.set_distro_labels(dl, vl) + self._update_kickstart_label() def check_detection(self, idx, forward): results = None ++++++ virtman-default-guest-from-host-os.patch ++++++ Index: virt-manager-0.9.5/src/virtManager/create.py =================================================================== --- virt-manager-0.9.5.orig/src/virtManager/create.py +++ virt-manager-0.9.5/src/virtManager/create.py @@ -20,6 +20,8 @@ import threading import logging +import sys +import os import gtk @@ -1159,6 +1161,47 @@ class vmmCreate(vmmGObjectUI): return self.start_detection(forward=forward) + def _lookup_host_os(self): + if sys.platform == 'linux2': + if os.path.exists('/etc/issue'): + f = open('/etc/issue') + lines = f.readlines() + f.close() + for line in lines: + if "openSUSE" in line: + return 'linux', 'opensuse12' + if "SUSE Linux Enterprise Server" in line: + return 'linux', 'sles11' + if "Fedora" in line: + return 'linux', 'fedora17' + if "Red Hat Enterprise Linux Server" in line: + return 'linux', 'rhel6' + return None, None + + def detect_host_os(self): + box = self.widget('install-os-type') + if box.get_active() <= 0: + os_type, os_variant = self._lookup_host_os() + if os_type is None: + return + model = box.get_model() + index = 0 + for row in model: + if row[0] == 'linux': + box.set_active(index) + break + index += 1 + if os_variant is None: + return + box = self.widget('install-os-version') + model = box.get_model() + index = 0 + for row in model: + if row[0] == os_variant: + box.set_active(index) + break + index += 1 + def toggle_detect_os(self, src): dodetect = src.get_active() @@ -1174,6 +1217,7 @@ class vmmCreate(vmmGObjectUI): self.widget("install-os-version-label").hide() self.widget("install-os-type").show() self.widget("install-os-version").show() + self.detect_host_os() def _selected_os_row(self): box = self.widget("install-os-type") ++++++ virtman-vminstall.patch ++++++ --- /var/tmp/diff_new_pack.a2Y1on/_old 2013-07-08 12:36:55.000000000 +0200 +++ /var/tmp/diff_new_pack.a2Y1on/_new 2013-07-08 12:36:55.000000000 +0200 @@ -1,3 +1,103 @@ +Index: virt-manager-0.9.5/src/vmm-manager.ui +=================================================================== +--- virt-manager-0.9.5.orig/src/vmm-manager.ui ++++ virt-manager-0.9.5/src/vmm-manager.ui +@@ -293,7 +293,7 @@ + <property name="can_focus">False</property> + <property name="show_arrow">False</property> + <child> +- <object class="GtkToolButton" id="vm-new"> ++ <object class="GtkMenuToolButton" id="vm-new"> + <property name="visible">True</property> + <property name="can_focus">False</property> + <property name="has_tooltip">True</property> +@@ -306,7 +306,6 @@ + </object> + <packing> + <property name="expand">False</property> +- <property name="homogeneous">True</property> + </packing> + </child> + <child> +Index: virt-manager-0.9.5/src/virtManager/manager.py +=================================================================== +--- virt-manager-0.9.5.orig/src/virtManager/manager.py ++++ virt-manager-0.9.5/src/virtManager/manager.py +@@ -260,7 +260,8 @@ class vmmManager(vmmGObjectUI): + self.config.is_vmlist_network_traffic_visible()) + + def init_toolbar(self): +- self.widget("vm-new").set_icon_name("vm_new") ++ uihelpers.build_new_button_menu(self.widget("vm-new"), ++ self.vminstall_new_vm) + self.widget("vm-open").set_icon_name("icon_console") + uihelpers.build_shutdown_button_menu(self.widget("vm-shutdown"), + self.poweroff_vm, +@@ -510,6 +511,9 @@ class vmmManager(vmmGObjectUI): + def new_vm(self, src_ignore=None): + self.emit("action-show-create", self.current_conn_uri()) + ++ def vminstall_new_vm(self, src_ignore=None): ++ self.emit("action-show-create-vminstall", self.current_conn_uri()) ++ + def show_about(self, src_ignore): + self.emit("action-show-about") + +@@ -1238,6 +1242,7 @@ vmmManager.signal_new(vmmManager, "actio + vmmManager.signal_new(vmmManager, "action-show-host", [str]) + vmmManager.signal_new(vmmManager, "action-show-preferences", []) + vmmManager.signal_new(vmmManager, "action-show-create", [str]) ++vmmManager.signal_new(vmmManager, "action-show-create-vminstall", [str]) + vmmManager.signal_new(vmmManager, "action-suspend-domain", [str, str]) + vmmManager.signal_new(vmmManager, "action-resume-domain", [str, str]) + vmmManager.signal_new(vmmManager, "action-run-domain", [str, str]) +Index: virt-manager-0.9.5/src/virtManager/uihelpers.py +=================================================================== +--- virt-manager-0.9.5.orig/src/virtManager/uihelpers.py ++++ virt-manager-0.9.5/src/virtManager/uihelpers.py +@@ -837,6 +837,24 @@ def mediadev_set_default_selection(widge + + + #################################################################### ++# Build toolbar new button menu (manager and details toolbar) # ++#################################################################### ++ ++def build_new_button_menu(widget, vminstall_cb): ++ icon_name = util.running_config.get_new_icon_name() ++ widget.set_icon_name(icon_name) ++ menu = gtk.Menu() ++ widget.set_menu(menu) ++ ++ vminstallimg = gtk.image_new_from_icon_name(icon_name, gtk.ICON_SIZE_MENU) ++ ++ vminstall = gtk.ImageMenuItem(_("_Vm-install")) ++ vminstall.set_image(vminstallimg) ++ vminstall.show() ++ vminstall.connect("activate", vminstall_cb) ++ menu.add(vminstall) ++ ++#################################################################### + # Build toolbar shutdown button menu (manager and details toolbar) # + #################################################################### + +Index: virt-manager-0.9.5/src/virtManager/config.py +=================================================================== +--- virt-manager-0.9.5.orig/src/virtManager/config.py ++++ virt-manager-0.9.5/src/virtManager/config.py +@@ -150,6 +150,13 @@ class vmmConfig(object): + + # General app wide helpers (gconf agnostic) + ++ def get_new_icon_name(self): ++ theme = gtk.icon_theme_get_default() ++ iconname = "vm_new" ++ if theme.has_icon(iconname): ++ return iconname ++ return "media-record" ++ + def get_shutdown_icon_name(self): + theme = gtk.icon_theme_get_default() + iconname = "system-shutdown" Index: virt-manager-0.9.5/src/virtManager/engine.py =================================================================== --- virt-manager-0.9.5.orig/src/virtManager/engine.py @@ -18,25 +118,37 @@ from virtManager.host import vmmHost from virtManager.error import vmmErrorDialog from virtManager.systray import vmmSystray -@@ -676,11 +676,47 @@ class vmmEngine(vmmGObject): +@@ -634,6 +634,7 @@ class vmmEngine(vmmGObject): + obj.connect("action-show-vm", self._do_show_vm) + obj.connect("action-show-preferences", self._do_show_preferences) + obj.connect("action-show-create", self._do_show_create) ++ obj.connect("action-show-create-vminstall", self._do_show_create_vminstall) + obj.connect("action-show-help", self._do_show_help) + obj.connect("action-show-about", self._do_show_about) + obj.connect("action-show-host", self._do_show_host) +@@ -677,11 +678,50 @@ class vmmEngine(vmmGObject): self.windowCreate = obj return self.windowCreate -+ def _vmmcreate_closing(self,signal,key): -+ self.windowCreate = None -+ - def _do_show_create(self, src, uri): +- def _do_show_create(self, src, uri): - try: - self._get_create_dialog().show(src.topwin, uri) - except Exception, e: - src.err.show_err(_("Error launching manager: %s") % str(e)) ++ def _vmmcreate_closing(self,signal,key): ++ self.windowCreate = None ++ ++ def _do_show_create_vminstall(self, src, uri): ++ self._do_show_create(src, uri, True) ++ ++ def _do_show_create(self, src, uri, use_vminstall=False): + if uri is None: + uri = default_uri() + conn = self._lookup_conn(uri) + do_remote = conn.is_remote() + if self.windowCreate == None or do_remote != self.remote_install: + try: -+ if do_remote: ++ if do_remote or not use_vminstall: + from virtManager.create import vmmCreate + create = vmmCreate(self) + create.connect("action-show-vm", self._do_show_vm) -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
