Hello community, here is the log from the commit of package python-virtinst for openSUSE:Factory checked in at 2013-07-27 15:53:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-virtinst (Old) and /work/SRC/openSUSE:Factory/.python-virtinst.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-virtinst" Changes: -------- --- /work/SRC/openSUSE:Factory/python-virtinst/python-virtinst.changes 2013-07-05 15:11:12.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.python-virtinst.new/python-virtinst.changes 2013-07-27 15:53:22.000000000 +0200 @@ -2 +2 @@ -Wed Jul 3 14:52:48 MDT 2013 - [email protected] +Thu Jul 25 14:36:08 MDT 2013 - [email protected] @@ -4 +4,30 @@ -- Allow virt-install to install Xen PV guests from ISO media +- Add a desktop and ycp file for virt-install to allow launch from + yast menu. + virt-install.ycp + virt-install.desktop + +------------------------------------------------------------------- +Tue Jul 24 15:28:34 MDT 2013 - [email protected] + +- Use 'qemu' driver for cdrom device with Xen +- Drop virtinst-s390x-media-paths.diff. It is now part of + virtinst-detect-suse-distros.patch + +------------------------------------------------------------------- +Tue Jul 23 15:31:34 MDT 2013 - [email protected] + +- Fix detection of suse distros +- Add opensuse 13 as a detectable host distro for using as default + +------------------------------------------------------------------- +Fri Jun 13 17:24:08 MDT 2013 - [email protected] + +- bnc#824720 - virt-manager never allocates hdb for emulated ide + disk, always reserves hdb for emulated ide cdrom. + virtinst-allow-ide-hdb.patch + +------------------------------------------------------------------- +Tue Jun 11 14:35:01 MDT 2013 - [email protected] + +- Allow PV ISO installations with virt-install for those distros + that support it @@ -6 +35,4 @@ -- Detect SUSE installation sources and use as default when found +- Use the host as the default guest os until detection can occur + virtman-default-guest-from-host-os.patch +- Look for a 'content' file in an installation source for determining + the type of distro @@ -8 +40 @@ -- Include additional SUSE disto versions in pop up menu +- Add additional suse distros to list of selectable distros @@ -9,0 +42,2 @@ +- Fix no arch error in virt-manager.log + virtinst-none-arch-fix.patch Old: ---- virtinst-s390x-media-paths.patch New: ---- virt-install.desktop virt-install.ycp virtinst-allow-ide-hdb.patch virtinst-none-arch-fix.patch virtinst-use-qemu-driver-cdrom.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-virtinst.spec ++++++ --- /var/tmp/diff_new_pack.C5IxKT/_old 2013-07-27 15:53:28.000000000 +0200 +++ /var/tmp/diff_new_pack.C5IxKT/_new 2013-07-27 15:53:28.000000000 +0200 @@ -40,16 +40,20 @@ Version: 0.600.4 Release: 0 Source0: %{appname}-%{version}.tar.bz2 +Source1: virt-install.ycp +Source2: virt-install.desktop Patch10: virtinst-cdrom.patch Patch12: virtinst-storage-ocfs2.patch Patch13: virtinst-qed.patch Patch14: virtinst-add-cache-modes.patch -Patch15: virtinst-xen-drive-type.patch -Patch16: virtinst-s390x-media-paths.patch -Patch17: virtinst-clone-disks.patch -Patch18: virtinst-allow-pv-iso-install.patch -Patch19: virtinst-support-suse-distros.patch -Patch20: virtinst-detect-suse-distros.patch +Patch15: virtinst-none-arch-fix.patch +Patch16: virtinst-allow-pv-iso-install.patch +Patch17: virtinst-support-suse-distros.patch +Patch18: virtinst-detect-suse-distros.patch +Patch19: virtinst-allow-ide-hdb.patch +Patch20: virtinst-xen-drive-type.patch +Patch21: virtinst-clone-disks.patch +Patch22: virtinst-use-qemu-driver-cdrom.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build #BuildArch: noarch @@ -91,6 +95,8 @@ %patch18 -p1 %patch19 -p1 %patch20 -p1 +%patch21 -p1 +%patch22 -p1 %build python setup.py build @@ -100,6 +106,10 @@ # Back compat in case people hardcoded old /usr/sbin/virt-install location mkdir -p $RPM_BUILD_ROOT/%{_sbindir} ln -s ../bin/virt-install $RPM_BUILD_ROOT/%{_sbindir}/virt-install +mkdir -p $RPM_BUILD_ROOT/%{_datadir}/YaST2/clients/ +install -m644 %SOURCE1 $RPM_BUILD_ROOT/%{_datadir}/YaST2/clients/virt-install.ycp +mkdir -p $RPM_BUILD_ROOT/%{_datadir}/applications/YaST2/ +install -m644 %SOURCE2 $RPM_BUILD_ROOT/%{_datadir}/applications/YaST2/virt-install.desktop %find_lang %{appname} || echo 0 @@ -125,5 +135,9 @@ %{_bindir}/virt-clone %{_bindir}/virt-image %{_bindir}/virt-convert +%dir %{_datadir}/* +%dir %{_datadir}/*/* +%{_datadir}/YaST2/clients/virt-install.ycp +%{_datadir}/applications/YaST2/virt-install.desktop %changelog ++++++ virt-install.desktop ++++++ [Desktop Entry] X-SuSE-translate=true X-SuSE-DocTeamID=ycc_xen Type=Application Categories=Qt;X-SuSE-YaST;X-SuSE-YaST-Virtualization; X-KDE-ModuleType=Library X-KDE-RootOnly=true X-KDE-HasReadOnlyMode=false X-SuSE-YaST-Call=virt-install X-SuSE-YaST-Group=Virtualization X-SuSE-YaST-Argument= X-SuSE-YaST-RootOnly=true X-SuSE-YaST-Geometry= X-SuSE-YaST-SortKey= Icon=yast-create-new-vm Exec=/sbin/yast2 virt-install Name=Create Virtual Machines for Xen and KVM GenericName=Create Virtual Machines X-KDE-SubstituteUID=true ++++++ virt-install.ycp ++++++ /* ------------------------------------------------------------------------------ * Copyright (c) 2013 Novell, Inc. All Rights Reserved. * * * This program is free software; you can redistribute it and/or modify it under * the terms of version 2 of the GNU General Public License as published by the * Free Software Foundation. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along with * this program; if not, contact Novell, Inc. * * To contact Novell about this file by physical or electronic mail, you may find * current contact information at www.novell.com. * ------------------------------------------------------------------------------ */ /** * File: clients/virt-install.ycp * Package: Installation of a virtual machine * Summary: Main VM installation YaST frontend for python based virt-install * Authors: Charles E. Arnold <[email protected]> * * $Id$ */ { // begin import "Popup"; import "Arch"; textdomain "virt-install"; //=================================================================== // Start virt-install (GUI) or vm-install if Text mode (commandline) //------------------------------------------------------------------- integer status = 0; map details = $[]; if (UI::TextMode()) { y2milestone("Running virt-install in text mode is not supported. Running vm-install instead in command line mode."); status = (integer)UI::RunInTerminal("/usr/bin/vm-install"); } else { y2milestone("Launching virt-manager to run virt-install in GUI mode."); if ( Arch::is_xen() == false ) { details = (map)SCR::Execute(.target.bash_output, "/usr/bin/virt-manager --connect=qemu:///system --show-domain-creator"); } else { details = (map)SCR::Execute(.target.bash_output, "/usr/bin/virt-manager --connect=xen:/// --show-domain-creator"); } status = details["exit"]:0; } y2milestone("virt-install finished with exit code: <%1>", status); if (status == 0) { return `next; } else { if (size(details["stderr"]:"") > 0){ Popup::ErrorDetails(_("Failed to start virt-install"), (string)details["stderr"]:""); } else { Popup::Error(_("Failed to start virt-install")); } } return `nil; } // end ++++++ virtinst-allow-ide-hdb.patch ++++++ Index: virtinst-0.600.4/virtinst/VirtualDisk.py =================================================================== --- virtinst-0.600.4.orig/virtinst/VirtualDisk.py +++ virtinst-0.600.4/virtinst/VirtualDisk.py @@ -1870,14 +1870,8 @@ class VirtualDisk(VirtualDevice): if gen_t in except_targets: continue if gen_t not in skip_targets: - if self.device != self.DEVICE_CDROM: - if i != ord('c') - ord('a'): - self.target = gen_t - return self.target - else: - if i >= ord('c') - ord('a'): - self.target = gen_t - return self.target + self.target = gen_t + return self.target # Check except_targets for any options for t in except_targets: ++++++ virtinst-detect-suse-distros.patch ++++++ --- /var/tmp/diff_new_pack.C5IxKT/_old 2013-07-27 15:53:29.000000000 +0200 +++ /var/tmp/diff_new_pack.C5IxKT/_new 2013-07-27 15:53:29.000000000 +0200 @@ -2,23 +2,22 @@ =================================================================== --- virtinst-0.600.4.orig/virtinst/OSDistro.py +++ virtinst-0.600.4/virtinst/OSDistro.py -@@ -68,8 +68,15 @@ def _storeForDistro(fetcher, baseuri, ty +@@ -68,8 +68,14 @@ def _storeForDistro(fetcher, baseuri, ty arch, typ, scratchdir) if dist: return dist -+ else: -+ dist = virtinst.OSDistro.distroFromContent(fetcher, progresscb, baseuri, -+ arch, typ, scratchdir) + skip_treeinfo = True ++ dist = virtinst.OSDistro.distroFromContent(fetcher, progresscb, baseuri, ++ arch, typ, scratchdir) + if dist: + return dist + # FIXME: This 'distro ==' doesn't cut it. 'distro' is from our os # dictionary, so would look like 'fedora9' or 'rhel5', so this needs # to be a bit more intelligent -@@ -225,6 +232,55 @@ def distroFromTreeinfo(fetcher, progress +@@ -225,6 +231,57 @@ def distroFromTreeinfo(fetcher, progress return ob @@ -30,6 +29,7 @@ + return None + + distribution = None ++ distro_version = None + filename = fetcher.acquireFile("content", progresscb) + cbuf = f = None + try: @@ -47,24 +47,25 @@ + for line in lines: + if line.startswith("LABEL "): + distribution = line.split(' ', 1) -+ break -+ if distribution is None or len(distribution) < 2: -+ return None -+ -+ if re.match(".*SUSE Linux Enterprise Server 11.*", distribution[1]): -+ dclass = SLES11Distro -+ elif re.match(".*SUSE Linux Enterprise Server 10.*", distribution[1]): -+ dclass = SLES10Distro -+ elif re.match(".*SUSE Linux Enterprise Desktop 11.*", distribution[1]): -+ dclass = SLED11Distro -+ elif re.match(".*SUSE Linux Enterprise Desktop 10.*", distribution[1]): -+ dclass = SLED10Distro ++ if distro_version: ++ break ++ if line.startswith("VERSION "): ++ distro_version = line.split(' ', 1) ++ if distribution: ++ break ++ if re.match(".*SUSE Linux Enterprise Server*", distribution[1]) or \ ++ re.match(".*SUSE SLES*", distribution[1]): ++ dclass = SLESDistro ++ elif re.match(".*SUSE Linux Enterprise Desktop*", distribution[1]): ++ dclass = SLEDDistro + elif re.match(".*openSUSE.*", distribution[1]): + dclass = OpensuseDistro + else: + dclass = GenericDistro + + ob = dclass(uri, arch, vmtype, scratchdir) ++ if dclass != GenericDistro: ++ ob.content = distro_version + + # Explictly call this, so we populate os_type/variant info + ob.isValidStore(fetcher, progresscb) @@ -74,39 +75,74 @@ # An image store is a base class for retrieving either a bootable # ISO image, or a kernel+initrd pair for a particular OS distribution -@@ -902,6 +958,35 @@ class SuseDistro(Distro): +@@ -668,6 +725,7 @@ class SuseDistro(Distro): + _boot_iso_paths = [ "boot/boot.iso" ] + + def __init__(self, uri, arch, vmtype=None, scratchdir=None): ++ self.content = None + Distro.__init__(self, uri, arch, vmtype, scratchdir) + if re.match(r'i[4-9]86', arch): + self.arch = 'i386' +@@ -678,18 +736,32 @@ class SuseDistro(Distro): + oldkern += "64" + oldinit += "64" + +- # Tested with Opensuse >= 10.2, 11, and sles 10 +- self._hvm_kernel_paths = [ ("boot/%s/loader/linux" % self.arch, +- "boot/%s/loader/initrd" % self.arch) ] +- # Tested with Opensuse 10.0 +- self._hvm_kernel_paths.append(("boot/loader/%s" % oldkern, +- "boot/loader/%s" % oldinit)) +- +- # Matches Opensuse > 10.2 and sles 10 +- self._xen_kernel_paths = [ ("boot/%s/vmlinuz-xen" % self.arch, +- "boot/%s/initrd-xen" % self.arch) ] ++ if self.arch == "s390x": ++ self._hvm_kernel_paths = [ ("boot/%s/vmrdr.ikr" % self.arch, ++ "boot/%s/initrd" % self.arch) ] ++ # No Xen on s390x ++ self._xen_kernel_paths = [] ++ else: ++ # Tested with Opensuse >= 10.2, 11, and sles 10 ++ self._hvm_kernel_paths = [ ("boot/%s/loader/linux" % self.arch, ++ "boot/%s/loader/initrd" % self.arch) ] ++ # Tested with Opensuse 10.0 ++ self._hvm_kernel_paths.append(("boot/loader/%s" % oldkern, ++ "boot/loader/%s" % oldinit)) ++ ++ # Matches Opensuse > 10.2 and sles 10 ++ self._xen_kernel_paths = [ ("boot/%s/vmlinuz-xen" % self.arch, ++ "boot/%s/initrd-xen" % self.arch) ] + + def isValidStore(self, fetcher, progresscb): ++ # self.content is the VERSION line from the contents file ++ distro_version = self.content[1] ++ version = distro_version.split('.', 1)[0].strip() ++ if int(version) >= 10: ++ self.os_variant += version ++ else: ++ self.os_variant += "9" ++ + # Suse distros always have a 'directory.yast' file in the top + # level of install tree, which we use as the magic check + if fetcher.hasFile("directory.yast"): +@@ -896,6 +968,19 @@ class SuseDistro(Distro): #pass os.system("rm -rf " + cpiodir) -+# Suse image store is harder - we fetch the kernel RPM and a helper -+# RPM and then munge bits together to generate a initrd -+class SLED10Distro(SuseDistro): -+ -+ os_variant = "sled10" ++class SLESDistro(SuseDistro): + -+# Suse image store is harder - we fetch the kernel RPM and a helper -+# RPM and then munge bits together to generate a initrd -+class SLED11Distro(SuseDistro): -+ -+ os_variant = "sled11" ++ os_variant = "sles" + -+# Suse image store is harder - we fetch the kernel RPM and a helper -+# RPM and then munge bits together to generate a initrd -+class SLES10Distro(SuseDistro): -+ -+ os_variant = "sles10" -+ -+# Suse image store is harder - we fetch the kernel RPM and a helper -+# RPM and then munge bits together to generate a initrd -+class SLES11Distro(SuseDistro): ++class SLEDDistro(SuseDistro): + -+ os_variant = "sles11" ++ os_variant = "sled" + +# Suse image store is harder - we fetch the kernel RPM and a helper +# RPM and then munge bits together to generate a initrd +class OpensuseDistro(SuseDistro): + -+ os_variant = "opensuse11" ++ os_variant = "opensuse" class DebianDistro(Distro): # ex. http://ftp.egr.msu.edu/debian/dists/sarge/main/installer-i386/ ++++++ virtinst-none-arch-fix.patch ++++++ Index: virtinst-0.600.4/virtinst/CapabilitiesParser.py =================================================================== --- virtinst-0.600.4.orig/virtinst/CapabilitiesParser.py +++ virtinst-0.600.4/virtinst/CapabilitiesParser.py @@ -128,7 +128,9 @@ class CPUValues(object): child = child.next def get_arch(self, arch): - if re.match(r'i[4-9]86', arch): + if arch is None: + arch = "x86" + elif re.match(r'i[4-9]86', arch): arch = "x86" elif arch == "x86_64": arch = "x86" ++++++ virtinst-support-suse-distros.patch ++++++ --- /var/tmp/diff_new_pack.C5IxKT/_old 2013-07-27 15:53:29.000000000 +0200 +++ /var/tmp/diff_new_pack.C5IxKT/_new 2013-07-27 15:53:29.000000000 +0200 @@ -2,26 +2,23 @@ =================================================================== --- virtinst-0.600.4.orig/virtinst/osdict.py +++ virtinst-0.600.4/virtinst/osdict.py -@@ -397,6 +397,7 @@ OS_TYPES = { - "label": "openSuse 11", +@@ -394,33 +394,87 @@ OS_TYPES = { + }, + + "opensuse11": { +- "label": "openSuse 11", ++ "label": "openSUSE 11", "distro": "suse", "supported": True, + "pv_cdrom_install": True, "devices" : { DISK : VIRTIO_DISK, NET : VIRTIO_NET, -@@ -406,6 +407,34 @@ OS_TYPES = { - "label": "openSuse 12", - "distro": "suse", - "supported": True, -+ "pv_cdrom_install": True, -+ "devices" : { -+ DISK : VIRTIO_DISK, -+ NET : VIRTIO_NET, -+ }, -+ }, -+ "opensuse13": { -+ "label": "openSuse 13", + }, + }, + "opensuse12": { +- "label": "openSuse 12", ++ "label": "openSUSE 12", + "distro": "suse", + "supported": True, + "pv_cdrom_install": True, @@ -30,7 +27,17 @@ + NET : VIRTIO_NET, + }, + }, -+ ++ "opensuse13": { ++ "label": "openSUSE 13", + "distro": "suse", + "supported": True, ++ "pv_cdrom_install": True, + "devices" : { + DISK : VIRTIO_DISK, + NET : VIRTIO_NET, + }, + }, + + "oes2l": { + "label": "Novell Open Enterprise Server 2", + "distro": "suse", @@ -42,11 +49,21 @@ + "distro": "suse", + "supported": True, + "pv_cdrom_install": True, - "devices" : { - DISK : VIRTIO_DISK, - NET : VIRTIO_NET, -@@ -416,11 +445,30 @@ OS_TYPES = { - "label": "Suse Linux Enterprise Server", ++ "devices" : { ++ DISK : VIRTIO_DISK, ++ NET : VIRTIO_NET, ++ }, ++ }, ++ ++ "sles9": { ++ "label": "Suse Linux Enterprise Server 9", ++ "distro": "suse", ++ "supported": True, ++ "pv_cdrom_install": False, ++ }, + "sles10": { +- "label": "Suse Linux Enterprise Server", ++ "label": "Suse Linux Enterprise Server 10", "distro": "suse", "supported": True, + "pv_cdrom_install": True, @@ -63,7 +80,7 @@ + }, + + "sled10": { -+ "label": "Suse Linux Enterprise Desktop", ++ "label": "Suse Linux Enterprise Desktop 10", + "distro": "suse", + "supported": True, + "pv_cdrom_install": True, @@ -76,7 +93,7 @@ "devices" : { DISK : VIRTIO_DISK, NET : VIRTIO_NET, -@@ -651,6 +699,12 @@ OS_TYPES = { +@@ -651,6 +705,12 @@ OS_TYPES = { "sortby": "mswinserv2008", "distro": "winserv", }, @@ -89,7 +106,7 @@ "vista": { "label": "Microsoft Windows Vista", "supported": True, -@@ -663,6 +717,12 @@ OS_TYPES = { +@@ -663,6 +723,12 @@ OS_TYPES = { "sortby": "mswin7", "distro": "win", }, @@ -102,7 +119,7 @@ }, }, -@@ -739,6 +799,13 @@ OS_TYPES = { +@@ -739,6 +805,13 @@ OS_TYPES = { "apic": False, }, @@ -116,7 +133,7 @@ "netware4": { "label": "Novell Netware 4", }, -@@ -747,6 +814,7 @@ OS_TYPES = { +@@ -747,6 +820,7 @@ OS_TYPES = { }, "netware6": { "label": "Novell Netware 6", ++++++ virtinst-use-qemu-driver-cdrom.patch ++++++ Index: virtinst-0.600.4/virtinst/VirtualDisk.py =================================================================== --- virtinst-0.600.4.orig/virtinst/VirtualDisk.py +++ virtinst-0.600.4/virtinst/VirtualDisk.py @@ -1192,7 +1192,7 @@ class VirtualDisk(VirtualDevice): if self.conn: is_qemu = self.is_qemu() - if is_qemu and not drvname: + if is_qemu or self.device == VirtualDisk.DEVICE_CDROM and not drvname: drvname = self.DRIVER_QEMU if self.format: -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
