You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Dominik Süß (JIRA)" <ji...@apache.org> on 2015/11/03 17:14:27 UTC

[jira] [Updated] (SLING-5014) Uninstall directive in provisioning model might just lead to downgrade of bundle

     [ https://issues.apache.org/jira/browse/SLING-5014?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dominik Süß updated SLING-5014:
-------------------------------
    Attachment: SLING-5014-1.diff

[~bdelacretaz], [~cziegeler] the last days I created a patch for the installer core and added a new bundle that implement a blacklist feature for the installer. 

The current bootstrap method just leads to uninstallation of a bundle but as soon as further (non-uninstalled) candidates than the uninstalled ones exist in the system the installer will install those. And even if this behavior would be fixed nothing would prevent a user from accidentially triggering a new installation by installing some obsolete Package containing such an installable.

The default blacklist implementation therefore by default takes the uninstall commands from the sling_bootstrap.txt and prevents any installation (via installer) of the defined bundles (respecting version ranges). It is also possible to define further rules via osgi config.

The blacklist implementation does also take care of uninstallation and downgrades and therefore eliminate issues with obsolete bundles hanging around in the system and therefore preventing a clean uninstallation of bundles without the need to do further housekeeping in the repository and/or filesystem.

> Uninstall directive in provisioning model might just lead to downgrade of bundle
> --------------------------------------------------------------------------------
>
>                 Key: SLING-5014
>                 URL: https://issues.apache.org/jira/browse/SLING-5014
>             Project: Sling
>          Issue Type: Bug
>          Components: Installer
>    Affects Versions: Installer Core 3.6.6
>            Reporter: Dominik Süß
>         Attachments: SLING-5014-1.diff
>
>
> In case a bundle has mutliple install candiates only the highest version (with the highest priorty for the same versions) wins. An uninstall directive uninstalls this version. The way the OSGi install behavior is defined this lets the next artifact in the priority queue to get active and consequently only leads to downgrade to the next in the queue.
> As the uninstall directive declares a range that should be uninstalled the expectation is that after a startup with such an uninstall directive none of the delcared versions are in an installed state. In consequence the OSGi installer must save this metainformation in the state that prevents a downgrade to a version that is part of an active uninstall directive.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)