Details
-
Bug
-
Status: Closed
-
Blocker
-
Resolution: Fixed
-
subsystem-2.0.6
-
None
-
Patch, Important
Description
According to http://wiki.osgi.org/wiki/Fragment-Host we can specify Fragment-host headers using version ranges. When we do that the requirement no longer matches on the capabilities in the aries subsystem implementation. It results in the errors below.
Reason for this is that the FragmentHostCapability only uses 'string' attributes which results in versions "9.6.1" and "10.0.0" being compared as if "10.0.0" is earlier than "9.6.1". A bundle host with version 9.6.1 therefore does not match the version range [9.6.0, 10.0.0). It should not do string comparison but have a real 'Version' instance to compare with.
Error installing subsystem: org.osgi.service.subsystem.SubsystemException: org.osgi.service.resolver.ResolutionException: Unable to resolve /var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract8702582580344751163.zip/ui-main-13.3.1.jar: missing requirement org.apache.aries.subsystem.core.archive.FragmentHostRequirement: namespace=osgi.wiring.host, attributes={}, directives={filter=(&(osgi.wiring.host=be.aca.ui-framework)(&(bundle-version>=9.3.0)(!(bundle-version>=10.0.0))))}, resource=/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract8702582580344751163.zip/ui-main-13.3.1.jar g! at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:477) at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:403) at org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108) at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183) at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120) at org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:92) at org.apache.felix.gogo.shell.Activator.run(Activator.java:75) at java.lang.Thread.run(Thread.java:745) Caused by: org.osgi.service.subsystem.SubsystemException: org.osgi.service.resolver.ResolutionException: Unable to resolve /var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract8702582580344751163.zip/ui-main-13.3.1.jar: missing requirement org.apache.aries.subsystem.core.archive.FragmentHostRequirement: namespace=osgi.wiring.host, attributes={}, directives={filter=(&(osgi.wiring.host=be.aca.ui-framework)(&(bundle-version>=9.3.0)(!(bundle-version>=10.0.0))))}, resource=/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract8702582580344751163.zip/ui-main-13.3.1.jar at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:395) at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:356) at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:98) at org.apache.aries.subsystem.core.internal.SubsystemResource.<init>(SubsystemResource.java:90) at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:54) at org.apache.aries.subsystem.core.internal.InstallAction.run(InstallAction.java:30) at java.security.AccessController.doPrivileged(Native Method) at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:646) at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:690) at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:278) at org.apache.aries.subsystem.core.internal.BasicSubsystem.install(BasicSubsystem.java:65) at be.aca.subsystem.internal.DefaultSubsystemService.installFromRepo(DefaultSubsystemService.java:86) at be.aca.subsystem.internal.DefaultSubsystemService.install(DefaultSubsystemService.java:47) ... 30 more Caused by: org.osgi.service.resolver.ResolutionException: Unable to resolve /var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract8702582580344751163.zip/ui-main-13.3.1.jar: missing requirement org.apache.aries.subsystem.core.archive.FragmentHostRequirement: namespace=osgi.wiring.host, attributes={}, directives={filter=(&(osgi.wiring.host=be.aca.ui-framework)(&(bundle-version>=9.3.0)(!(bundle-version>=10.0.0))))}, resource=/var/folders/9b/nqy6w5xs6gz1m1q4g6gpfr_c0000gn/T/inputStreamExtract8702582580344751163.zip/ui-main-13.3.1.jar at org.apache.felix.resolver.Candidates.populateResource(Candidates.java:285) at org.apache.felix.resolver.Candidates.populate(Candidates.java:153) at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:148) at org.apache.aries.subsystem.core.internal.SubsystemResource.computeDependencies(SubsystemResource.java:373) ... 42 more
Attachments
Issue Links
- blocks
-
ARIES-1458 Subsystems 2.0.8 Release
- Closed