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

Reply via email to