You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "John Ross (JIRA)" <ji...@apache.org> on 2013/08/23 14:51:51 UTC
[jira] [Commented] (ARIES-1102) Aries Subsystem/Application chokes
on installed bundles without Bundle-ManifestVersion
[ https://issues.apache.org/jira/browse/ARIES-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13748512#comment-13748512 ]
John Ross commented on ARIES-1102:
----------------------------------
I agree that, strictly speaking, the Bundle-ManifestVersion header is optional with a default value of 1. However, note this is a statement by the bundle that it is only compatible with OSGi R3 (March 2003) or earlier releases. For a bundle to be treated as an R4 or later bundle, the Bundle-ManifestVersion header is required and must be set to 2.
It's possible the modeller code was (indirectly) making a statement that it does not support R3 or earlier bundles. One problem with R3 bundles is that the Bundle-SymbolicName header is also not required. There are other differences in headers between R3 and R4 that you would need to be prepared to handle as well.
> Aries Subsystem/Application chokes on installed bundles without Bundle-ManifestVersion
> --------------------------------------------------------------------------------------
>
> Key: ARIES-1102
> URL: https://issues.apache.org/jira/browse/ARIES-1102
> Project: Aries
> Issue Type: Bug
> Components: Application
> Reporter: Stephan Siano
> Attachments: patch.diff
>
>
> I am trying aries-subsystem. The installation fails, if a bundle without Bundle-ManifestVersion in the manifest is installed.
> I actually was trying to install a feature subsystem containing a bundle that had a package import to org.slf4j. This failed if the org.slf4j:log4s-over-slf4j:1.6.5 bundle was installed. That latter bundle does not export (but import) the package required by the subsystem and does not have a Bundle-ManifestVersion in its manifest.
> The code failed at line 81 of ExportedBundleImpl from the org.apache.aries.application.modeling bundle. The offending code is:
> String bmVersion = attrs.getValue(Constants.BUNDLE_MANIFESTVERSION);
> if (symbolicName == null || bmVersion == null) {
> InvalidAttributeException iax = new InvalidAttributeException(MessageUtil.getMessage("INCORRECT_MANDATORY_HEADERS",
> new Object[] {symbolicName, bmVersion}));
> logger.debug(LOG_EXIT, "ExportedBundleImpl", iax);
> throw iax;
> }
> I think the Bundle-ManifestVersion is not a required manifest header (in contrast to the Bundle-SymbolicName), so if bmVersion is null it should be set to "1" (the default according to the OSGi spec) instead of failing.
--
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