[
https://issues.apache.org/jira/browse/KARAF-7?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13059208#comment-13059208
]
Michael Van Geertruy commented on KARAF-7:
------------------------------------------
Just checked this ticket against the trunk. When installing a feature that
installs other features, all looks good. On uninstall, only the parent feature
is uninstalled. The dependant features are not uninstalled. I think this
behaviour should be left as is because of the following scenario:
1) A feature (foo) needs spring-dm 1.2.0 installed in order to work properly.
As such in the feature description of foo, a reference is made to spring-dm.
2) Bar, another feature, also requires spring-dm.
3) Bar is installed which installs the spring-dm bundle.
4) Foo is installed which causes spring-dm to refresh. No surprises here.
5) Foo is uninstalled. If this action causes Spring-dm to be uninstalled, then
Bar will no longer work. Other than the shared dependancy on SpringDM, Bar and
Foo have no other relationships. There is no business need for Bar to be
uninstalled if Foo is uninstalled.
In fact, in a osgi bundle that uses springdm, all bundles would have a
reference to the spring-dm feature. Uninstalling any of them would cause the
extender to no longer exist and all wiring would be lost. This would also be
an issue for the bluepring extender bundle.
> features/uninstall behaves different in version selection than
> features/install
> -------------------------------------------------------------------------------
>
> Key: KARAF-7
> URL: https://issues.apache.org/jira/browse/KARAF-7
> Project: Karaf
> Issue Type: Bug
> Affects Versions: 2.1.3
> Reporter: Guillaume Nodet
>
> When using "features/install xxx" without a version info, than it takes the
> latest available version.
> When using "features/uninstall xxx" without a version info, than it complains
> if the version isn't 0.0.0.
> Lars Heinemann added a comment - 11/Feb/09 02:16 AM - edited
> Uninstalling a feature which contains other features which contain bundles
> will end up in having the most top feature in state uninstalled but the
> sub-features and components are no touched.
> For example:
> Feature MyFeature
> | --- MySubFeature1
> | | --- Bundle A
> | | --- Bundle B
> | --- MySubFeature2
> | | --- Bundle C
> | | --- Bundle D
> When uninstalling the feature "MyFeature" the result is this:
> [uninstalled] MyFeature
> [ installed ] MySubFeature1
> [ installed ] MySubFeature2
> This is imho not the correct behaviour.
> [ Show » ]
> Lars Heinemann added a comment - 11/Feb/09 02:16 AM - edited Uninstalling a
> feature which contains other features which contain bundles will end up in
> having the most top feature in state uninstalled but the sub-features and
> components are no touched. For example:
> Feature MyFeature
> | --- MySubFeature1
> | | --- Bundle A
> | | --- Bundle B
> | --- MySubFeature2
> | | --- Bundle C
> | | --- Bundle D
> When uninstalling the feature "MyFeature" the result is this:
> [uninstalled] MyFeature
> [ installed ] MySubFeature1
> [ installed ] MySubFeature2
> This is imho not the correct behaviour.
> [ Permlink | Edit | Delete | « Hide ]
> Guillaume Nodet added a comment - 11/Feb/09 09:26 AM
> The "features/uninstall xxx" should automatically select the version of the
> installed features, else throw an error.
> [ Show » ]
> Guillaume Nodet added a comment - 11/Feb/09 09:26 AM The "features/uninstall
> xxx" should automatically select the version of the installed features, else
> throw an error.
> [ Permlink | Edit | Delete | « Hide ]
> Guillaume Nodet added a comment - 11/Feb/09 10:59 AM
> For the uninstall stuff, I'm not sure. Currently we do not keep track of
> features installed as dependencies. i guess we'd have to.
> If a feature is installed as a dependency, it should be removed if no longer
> used because the feature having a dependency on it has been uninstalled.
> [ Show » ]
> Guillaume Nodet added a comment - 11/Feb/09 10:59 AM For the uninstall stuff,
> I'm not sure. Currently we do not keep track of features installed as
> dependencies. i guess we'd have to. If a feature is installed as a
> dependency, it should be removed if no longer used because the feature having
> a dependency on it has been uninstalled.
> [ Permlink | Edit | Delete | « Hide ]
> Guillaume Nodet added a comment - 11/Feb/09 11:34 AM
> Raised a different issue for automaticaly selecting the right version when
> uninstalling.
> [ Show » ]
> Guillaume Nodet added a comment - 11/Feb/09 11:34 AM Raised a different issue
> for automaticaly selecting the right version when uninstalling.
> [ Permlink | Delete | « Hide ]
> Chris Custine added a comment - 11/Feb/09 12:51 PM
> I noticed the same uninstall issue (not removing dependency features). It
> seems like we will have to do a considerable amount of dependency tracking to
> get this to work properly and there are some really difficult conflict
> resolution issues to consider. I think there is definitely some room to
> improve the features functionality but I am thinking this should probably be
> pushed to a later release.
> [ Show » ]
> Chris Custine added a comment - 11/Feb/09 12:51 PM I noticed the same
> uninstall issue (not removing dependency features). It seems like we will
> have to do a considerable amount of dependency tracking to get this to work
> properly and there are some really difficult conflict resolution issues to
> consider. I think there is definitely some room to improve the features
> functionality but I am thinking this should probably be pushed to a later
> release.
> [ Permlink | Edit | Delete | « Hide ]
> Guillaume Nodet added a comment - 11/Feb/09 02:13 PM
> Yeah, I fully agree. Let's move that one for 1.2.0 and get 1.1.0 out asap.
> [ Show » ]
> Guillaume Nodet added a comment - 11/Feb/09 02:13 PM Yeah, I fully agree.
> Let's move that one for 1.2.0 and get 1.1.0 out asap.
> [ Permlink | Delete | « Hide ]
> Lars Heinemann added a comment - 11/Feb/09 09:29 PM
> moved to version 1.2.0
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira