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 >>>> >>>> >>>> >>>> >> >
