Hello community,

here is the log from the commit of package virt-manager for openSUSE:Factory 
checked in at 2015-06-23 12:00:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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        
2015-06-10 09:16:36.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.virt-manager.new/virt-manager.changes   
2015-06-23 12:00:50.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Jun 15 14:17:50 UTC 2015 - [email protected]
+
+- bnc#934270 - virt-convert cannot handle .ova files
+  virtinst-replace-unar-with-other-archivers.patch
+
+-------------------------------------------------------------------

New:
----
  virtinst-replace-unar-with-other-archivers.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ virt-manager.spec ++++++
--- /var/tmp/diff_new_pack.zTCcpv/_old  2015-06-23 12:00:51.000000000 +0200
+++ /var/tmp/diff_new_pack.zTCcpv/_new  2015-06-23 12:00:51.000000000 +0200
@@ -76,6 +76,7 @@
 Patch160:       virtinst-xen-drive-type.patch
 Patch161:       virtinst-xenbus-disk-index-fix.patch
 Patch162:       virtinst-refresh_before_fetch_pool.patch
+Patch163:       virtinst-replace-unar-with-other-archivers.patch
 BuildArch:      noarch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
@@ -195,6 +196,7 @@
 %patch160 -p1
 %patch161 -p1
 %patch162 -p1
+%patch163 -p1
 
 %build
 %if %{qemu_user}

++++++ virtinst-replace-unar-with-other-archivers.patch ++++++
References: bnc#934270
We don't ship unar with any suse distro (not even in Factory).
Until we do, keep this patch to execute the correct archiver
program.

Index: virt-manager-1.2.1/virtconv/formats.py
===================================================================
--- virt-manager-1.2.1.orig/virtconv/formats.py
+++ virt-manager-1.2.1/virtconv/formats.py
@@ -118,6 +118,8 @@ def _find_input(input_file, parser, prin
     try:
         ext = os.path.splitext(input_file)[1]
         tempdir = None
+        binname = None
+        pkg = None
         if ext and ext[1:] in ["zip", "gz", "ova",
                 "tar", "bz2", "bzip2", "7z", "xz"]:
             basedir = "/var/tmp"
@@ -129,19 +131,40 @@ def _find_input(input_file, parser, prin
 
             base = os.path.basename(input_file)
 
-            # check if 'unar' command existed.
-            if not find_executable("unar"):
+            if (ext[1:] == "zip"):
+                binname = "unzip"
+                pkg = "unzip"
+                cmd = ["unzip", "-o", "-d", tempdir, input_file]
+            elif (ext[1:] == "7z"):
+                binname = "7z"
+                pkg = "p7zip"
+                cmd = ["7z", "-o" + tempdir, "e", input_file]
+            elif (ext[1:] == "ova" or ext[1:] == "tar"):
+                binname = "tar"
+                pkg = "tar"
+                cmd = ["tar", "xf", input_file, "-C", tempdir]
+            elif (ext[1:] == "gz"):
+                binname = "gzip"
+                pkg = "gzip"
+                cmd = ["tar", "zxf", input_file, "-C", tempdir]
+            elif (ext[1:] == "bz2" or ext[1:] == "bzip2"):
+                binname = "bzip2"
+                pkg = "bzip2"
+                cmd = ["tar", "jxf", input_file, "-C", tempdir]
+            elif (ext[1:] == "xz"):
+                binname = "xz"
+                pkg = "xz"
+                cmd = ["tar", "Jxf", input_file, "-C", tempdir]
+            if not find_executable(binname):
                 raise RuntimeError(_("%s appears to be an archive, "
-                    "but 'unar' is not installed. "
-                    "Please either install 'unar', or extract the archive "
+                    "but '%s' is not installed. "
+                    "Please either install '%s', or extract the archive "
                     "yourself and point virt-convert at "
-                    "the extracted directory.") % base)
+                    "the extracted directory.") % (base, pkg, pkg))
 
-            cmd = ["unar", "-o", tempdir, base]
             print_cb(_("%s appears to be an archive, running: %s") %
                 (base, " ".join(cmd)))
 
-            cmd[-1] = input_file
             _run_cmd(cmd)
             force_clean.append(tempdir)
             input_file = tempdir

Reply via email to