Blame SOURCES/0198-v2v-Match-any-non-Client-variant-instead-of-just-Ser.patch

ffd6ed
From a6839ba3d1fec25f7c3de3770ff68645351d015a Mon Sep 17 00:00:00 2001
ffd6ed
From: "Richard W.M. Jones" <rjones@redhat.com>
ffd6ed
Date: Wed, 1 Jul 2015 11:14:23 +0100
ffd6ed
Subject: [PATCH] v2v: Match any non-"Client" variant, instead of just "Server"
ffd6ed
 (RHBZ#1234351, RHBZ#1237869).
ffd6ed
ffd6ed
When checking if a Windows variant is a server variant, assume it is a
ffd6ed
server variant unless the i_product_variant field is "Client".
ffd6ed
ffd6ed
Windows 2008 and Windows 2008R2 does not have an InstallationType key
ffd6ed
in the registry at all, so for these the product variant is returned
ffd6ed
as "unknown".
ffd6ed
ffd6ed
Windows "Core" would have, according to the reference below,
ffd6ed
"Server Core".
ffd6ed
ffd6ed
https://msdn.microsoft.com/en-us/library/ee391629%28v=vs.85%29.aspx
ffd6ed
ffd6ed
This fixes commit 47b5f245bec908f803f0a89c3b1e3166cfe33aad.
ffd6ed
ffd6ed
(cherry picked from commit 9f0036a0265417bc7fd6e6d2010f185a4a92d225)
ffd6ed
---
ffd6ed
 v2v/convert_windows.ml |  2 +-
ffd6ed
 v2v/utils.ml           | 12 ++++++------
ffd6ed
 2 files changed, 7 insertions(+), 7 deletions(-)
ffd6ed
ffd6ed
diff --git a/v2v/convert_windows.ml b/v2v/convert_windows.ml
ffd6ed
index c11e838..dc67040 100644
ffd6ed
--- a/v2v/convert_windows.ml
ffd6ed
+++ b/v2v/convert_windows.ml
ffd6ed
@@ -248,7 +248,7 @@ echo uninstalling Xen PV driver
ffd6ed
         os_minor = inspect.i_minor_version &&
ffd6ed
         (match os_variant with
ffd6ed
          | Vwd_client -> inspect.i_product_variant = "Client"
ffd6ed
-         | Vwd_server -> inspect.i_product_variant = "Server"
ffd6ed
+         | Vwd_not_client -> inspect.i_product_variant <> "Client"
ffd6ed
          | Vwd_any_variant -> true)
ffd6ed
       ) drivers in
ffd6ed
 
ffd6ed
diff --git a/v2v/utils.ml b/v2v/utils.ml
ffd6ed
index 000ec12..e49c47b 100644
ffd6ed
--- a/v2v/utils.ml
ffd6ed
+++ b/v2v/utils.ml
ffd6ed
@@ -128,14 +128,14 @@ type virtio_win_driver_file = {
ffd6ed
   (* Original source of file (for debugging only). *)
ffd6ed
   vwd_original_source : string;
ffd6ed
 }
ffd6ed
-and vwd_os_variant = Vwd_client | Vwd_server | Vwd_any_variant
ffd6ed
+and vwd_os_variant = Vwd_client | Vwd_not_client | Vwd_any_variant
ffd6ed
 
ffd6ed
 let print_virtio_win_driver_file vwd =
ffd6ed
   printf "%s [%d,%d,%s,%s,%s] from %s\n"
ffd6ed
          vwd.vwd_filename
ffd6ed
          vwd.vwd_os_major vwd.vwd_os_minor
ffd6ed
          (match vwd.vwd_os_variant with
ffd6ed
-          | Vwd_client -> "client" | Vwd_server -> "server"
ffd6ed
+          | Vwd_client -> "client" | Vwd_not_client -> "not-client"
ffd6ed
           | Vwd_any_variant -> "any")
ffd6ed
          vwd.vwd_os_arch
ffd6ed
          vwd.vwd_extension
ffd6ed
@@ -226,19 +226,19 @@ let find_virtio_win_drivers ~verbose virtio_win =
ffd6ed
             else if pathelem "vista" then
ffd6ed
               (6, 0, Vwd_client)
ffd6ed
             else if pathelem "2k8" || pathelem "win2008" then
ffd6ed
-              (6, 0, Vwd_server)
ffd6ed
+              (6, 0, Vwd_not_client)
ffd6ed
             else if pathelem "w7" || pathelem "win7" then
ffd6ed
               (6, 1, Vwd_client)
ffd6ed
             else if pathelem "2k8r2" || pathelem "win2008r2" then
ffd6ed
-              (6, 1, Vwd_server)
ffd6ed
+              (6, 1, Vwd_not_client)
ffd6ed
             else if pathelem "w8" || pathelem "win8" then
ffd6ed
               (6, 2, Vwd_client)
ffd6ed
             else if pathelem "2k12" || pathelem "win2012" then
ffd6ed
-              (6, 2, Vwd_server)
ffd6ed
+              (6, 2, Vwd_not_client)
ffd6ed
             else if pathelem "w8.1" || pathelem "win8.1" then
ffd6ed
               (6, 3, Vwd_client)
ffd6ed
             else if pathelem "2k12r2" || pathelem "win2012r2" then
ffd6ed
-              (6, 3, Vwd_server)
ffd6ed
+              (6, 3, Vwd_not_client)
ffd6ed
             else if pathelem "w10" || pathelem "win10" then
ffd6ed
               (10, 0, Vwd_client)
ffd6ed
             else
ffd6ed
-- 
ffd6ed
1.8.3.1
ffd6ed