felix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nicolas Roduit (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FELIX-3844) Native bundles cannot be installed on Windows 8 and Windows Server 2012
Date Sun, 20 Jan 2013 09:54:12 GMT

    [ https://issues.apache.org/jira/browse/FELIX-3844?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13558215#comment-13558215
] 

Nicolas Roduit commented on FELIX-3844:
---------------------------------------

New patch:

Index: src/main/java/org/apache/felix/framework/util/manifestparser/R4LibraryClause.java
===================================================================
--- src/main/java/org/apache/felix/framework/util/manifestparser/R4LibraryClause.java	(revision
1431008)
+++ src/main/java/org/apache/felix/framework/util/manifestparser/R4LibraryClause.java	(working
copy)
@@ -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,19 @@
             {
                 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"))

                
> Native bundles cannot be installed on Windows 8 and Windows Server 2012
> -----------------------------------------------------------------------
>
>                 Key: FELIX-3844
>                 URL: https://issues.apache.org/jira/browse/FELIX-3844
>             Project: Felix
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: framework-4.0.3
>            Reporter: Nicolas Roduit
>              Labels: patch
>             Fix For: framework-4.2.0
>
>
> "osname=win32" in the Bundle-NativeCode entry doe not work, this exception is thrown:org.osgi.framework.BundleException:
Unresolved constraint in bundle native-lib-windows-x86 [6]: No matching native libraries found.
> This osname alias needs to be added to the felix framework. I made some changes according
to the OSGI specifications at http://www.osgi.org/Specifications/Reference .
> Here is the patch:
> Index: src/main/java/org/apache/felix/framework/util/manifestparser/R4LibraryClause.java
> ===================================================================
> --- src/main/java/org/apache/felix/framework/util/manifestparser/R4LibraryClause.java
(revision 1431008)
> +++ src/main/java/org/apache/felix/framework/util/manifestparser/R4LibraryClause.java
(working copy)
> @@ -140,11 +140,13 @@
>              || currentOSName.equals("windowsnt")
>              || currentOSName.equals("windows2000")
>              || currentOSName.equals("windows2003")
> -            || currentOSName.equals("windows2008")
> +            || currentOSName.equals("windowsserver2008")
>              || currentOSName.equals("windowsxp")
>              || currentOSName.equals("windowsce")
>              || currentOSName.equals("windowsvista")
> -            || currentOSName.equals("windows7"));
> +            || currentOSName.equals("windows7")
> +            || currentOSName.equals("windows8")
> +            || currentOSName.equals("windowsserver2012"));
>  
>          for (int i = 0; (osnames != null) && (i < osnames.length); i++)
>          {
> @@ -381,7 +383,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)
>              {
> @@ -396,10 +402,15 @@
>                  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";
> +            }
> +
>              return os;
>          }
>          else if (value.startsWith("linux"))

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message