Apply patch (FELIX-3844) to add some more Windows OS aliases.


git-svn-id: https://svn.apache.org/repos/asf/felix/trunk@1441169 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/framework/src/main/java/org/apache/felix/framework/BundleImpl.java b/framework/src/main/java/org/apache/felix/framework/BundleImpl.java
index b2cc828..e46e2ff 100644
--- a/framework/src/main/java/org/apache/felix/framework/BundleImpl.java
+++ b/framework/src/main/java/org/apache/felix/framework/BundleImpl.java
@@ -1014,6 +1014,7 @@
         // Uninstall the bundle.
         getFramework().uninstallBundle(this);
     }
+
     private static final SecurityManagerEx m_smEx = new SecurityManagerEx();
     private static final ClassLoader m_classloader = Felix.class.getClassLoader();
 
diff --git a/framework/src/main/java/org/apache/felix/framework/util/manifestparser/R4LibraryClause.java b/framework/src/main/java/org/apache/felix/framework/util/manifestparser/R4LibraryClause.java
index 3dc9fe8..0299041 100644
--- a/framework/src/main/java/org/apache/felix/framework/util/manifestparser/R4LibraryClause.java
+++ b/framework/src/main/java/org/apache/felix/framework/util/manifestparser/R4LibraryClause.java
@@ -134,17 +134,7 @@
 
     private boolean checkOSNames(String currentOSName, String[] osnames)
     {
-        boolean win32 = currentOSName.startsWith("win") &&
-            (currentOSName.equals("windows95")
-            || currentOSName.equals("windows98")
-            || currentOSName.equals("windowsnt")
-            || currentOSName.equals("windows2000")
-            || currentOSName.equals("windows2003")
-            || currentOSName.equals("windows2008")
-            || currentOSName.equals("windowsxp")
-            || currentOSName.equals("windowsce")
-            || currentOSName.equals("windowsvista")
-            || currentOSName.equals("windows7"));
+        boolean win32 = currentOSName.startsWith("win") && !currentOSName.equals("windowsce");
 
         for (int i = 0; (osnames != null) && (i < osnames.length); i++)
         {
@@ -381,7 +371,11 @@
             }
             else if (value.indexOf("2008") >= 0)
             {
-                os = "windows2008";
+                os = "windowsserver2008";
+            }
+            else if (value.indexOf("2012") >= 0)
+            {
+                os = "windowsserver2012";
             }
             else if (value.indexOf("xp") >= 0)
             {
@@ -395,11 +389,18 @@
             {
                 os = "windowsvista";
             }
-            // will need better test here if any future Windows version has a 7 in it!
-            else if (value.indexOf("7") >= 0)
+            else if ((value.indexOf(" 7") >= 0) || value.equals("win7"))
             {
                 os = "windows7";
             }
+            else if ((value.indexOf(" 8") >= 0) || value.equals("win8"))
+            {
+                os = "windows8";
+            }
+            else if ((value.indexOf(" 9") >= 0) || value.equals("win9"))
+            {
+                os = "windows9";
+            }
             return os;
         }
         else if (value.startsWith("linux"))
@@ -465,7 +466,7 @@
     {
         value = value.toLowerCase();
 
-        if (value.startsWith("x86-64") || value.startsWith("amd64") || 
+        if (value.startsWith("x86-64") || value.startsWith("amd64") ||
             value.startsWith("em64") || value.startsWith("x86_64"))
         {
             return "x86-64";