Hi

I have reported FELIX-4695 [1] with two potential patches. I think the Felix 
class patch is correct, while the ExtensionManager patch is probably sufficient 
for this problem.

I would prefer to patch the Felix class at the expense of the 
org.osgi.framework.os.version property not exposing the correct version.

Maybe we can improve the normalizeOsVersion method to be a bit more intelligent 
like the DefaultMaven2OsgiConverter of the Maven Bundle Plugin does. See 
FELIX-4696 [2] for a proposed patch.

WDYT ?

Regards
Felix

[1] https://issues.apache.org/jira/browse/FELIX-4695
[2] https://issues.apache.org/jira/browse/FELIX-4696

> Am 13.11.2014 um 11:42 schrieb Felix Meschberger <[email protected]>:
> 
> Hi
> 
> Ok, there seems to be a larger problem to this, it seems.
> 
> The ExtensionManager creates native capabilities in the 
> ExtensionManager.buildNativeCapabilites() method. This method gets the 
> PROCESSOR, OS_NAME, and OS_VERSION framework properties to build this 
> capability.
> 
> On the other hand the R4LibraryClause.match(Map) method uses these same 
> properties but before using them applies normalisation to them using its own 
> R4LibraryClause.normalize* methods.
> 
> Applying this normalisation to the ExtensionManager.buildNativeCapabilities() 
> method actually „solves“ the problem.
> 
> Now, I wonder, whether we should actually only have the normalised values in 
> the framework properties ?
> 
> WDYT ?
> 
> Regards
> Felix
> 
>> Am 13.11.2014 um 10:03 schrieb Felix Meschberger <[email protected]>:
>> 
>> Hi
>> 
>> I can reproduce this. And worse still, it actually prevents the framework 
>> from starting under Linux.
>> 
>> The situation is that the ExtensionManager wants to parse the os.version 
>> system property into an OSGi Version. the os.version seems to be based on 
>> the kernel version, which in my case of Ubuntu 14.04.1 LTS is 
>> 3.13.0-39-generic and is not a valid OSGi version string.
>> 
>> In your case I would assume the error message is indicating 
>> 3.14.22-100.fc19.i686.PAE is not valid.
>> 
>> Looks like the os.version system property needs some cleansing before 
>> supplying it to the Version constructor.
>> 
>> Regards
>> Felix
>> 
>>> Am 13.11.2014 um 01:57 schrieb David Bosschaert 
>>> <[email protected]>:
>>> 
>>> Hi Pierre,
>>> 
>>> I don't see your attachment with the errors. Did you forget to attach it?
>>> 
>>> Cheers,
>>> 
>>> David
>>> 
>>> On 12 November 2014 13:49, Pierre De Rop <[email protected]> wrote:
>>>> Hello everyone;
>>>> 
>>>> I would like to test the patch provided by Felix for the FELIX-4692 issue
>>>> ("Improve Service access time").
>>>> But before applying the patch provided by Felix, I just can't compile the
>>>> framework (the tests does not seem to compile):
>>>> 
>>>> I'm on a linux fc19,
>>>> uname -a = Linux nx0012 3.14.22-100.fc19.i686.PAE #1 SMP Wed Oct 15 
>>>> 13:06:27
>>>> UTC 2014 i686 i686 i386 GNU/Linux
>>>> and my jdk is "1.7.0_67":
>>>> 
>>>> I have attached the compile errors I'm having. it looks like there is a
>>>> problem with my framework os version (with the jvm
>>>> org.osgi.framework.os.version system property). But I tried to compile on
>>>> another linux box and I'm having the same kind of errors.
>>>> 
>>>> can anyone please take a look ?
>>>> 
>>>> thanks;
>>>> 
>>>> kind regards
>>>> /Pierre
>>>> 
>>>> 
>>>> 
>>>> 
>> 
> 

Reply via email to