File catch_sles12_pkg_not_found.patch of Package virt-v2v

The zypper version included with SLES12 reports an error if a specified
package is not found. This is different than SLES11, where a message was
simply reported. Catch the error with this patch, and ignore it as further
attempts will be made to install the package.

Index: virt-v2v-0.9.1/lib/Sys/VirtConvert/Converter/Linux.pm
===================================================================
--- virt-v2v-0.9.1.orig/lib/Sys/VirtConvert/Converter/Linux.pm
+++ virt-v2v-0.9.1/lib/Sys/VirtConvert/Converter/Linux.pm
@@ -1837,9 +1837,12 @@ sub _install_any
             }
 
             # Fall back to local config if the above didn't work
-            $success = _install_config($kernel, $install, $upgrade,
-                                       $g, $root, $config)
-                unless ($success);
+            if (!$success) {
+                logmsg WARN, __x('Online install failed, trying local '.
+                                 'virt-v2v repository.');
+                $success = _install_config($kernel, $install, $upgrade,
+                                           $g, $root, $config);
+            }
         };
         warn($@) if $@;
     });
@@ -2011,6 +2014,7 @@ sub _install_zypper
 
     my $success = 1;
     # Error when installing: "No provider of 'pkg' found."
+    # Error (new in SLES12) when installing: "Package 'pkg' not found."
     # (Not an) Error when updating: "Package 'pkg' is not available in your
     # repositories. Cannot reinstall, upgrade, or downgrade."
     ZYPPER: foreach my $task (
@@ -2043,7 +2047,7 @@ sub _install_zypper
             if ($@) {
                 # Ignore 'No provider' errors as an install from the virt-v2v
                 # repo will be attempted next.
-                if ($@ !~ /No provider/) {
+                if (($@ !~ /No provider/) && ($@ !~ /not found/)) {
                     logmsg WARN, __x('Failed to install packages. '.
                                    'Error was: {error}', error => $@);
                 }
@@ -2096,7 +2100,7 @@ sub _install_config
                                    \@missing, $g->inspect_get_arch($root), @$user);
 
     # We can't proceed if there are any files missing
-    v2vdie __x('Installation failed because the following '.
+    v2vdie __x('Local package installation failed because the following '.
                'files referenced in the configuration file are '.
                'required, but missing: {list}',
                list => join(' ', @missing)) if scalar(@missing) > 0;