| Summary: | [test] [simpleconfigurator] Simpleconfigurator cannot update bundles with specific locations | ||
|---|---|---|---|
| Product: | [Eclipse Project] Equinox | Reporter: | Shenol Yousouf <s.yousouf> |
| Component: | p2 | Assignee: | Shenol Yousouf <s.yousouf> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | katya.stoycheva, pascal, tjwatson |
| Version: | 3.7 | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows Vista | ||
| Whiteboard: | |||
| Attachments: | |||
|
Description
Shenol Yousouf
Created attachment 180022 [details]
OSGi system with customized bundle file names in plugins folder
Created attachment 180023 [details]
p2 repository with old version of TestBundle
Created attachment 180024 [details]
p2 repository with new version of TestBundle
Created attachment 180026 [details]
patch for simpleconfigurator to invoke a bundle update if needed
Simpleconfigurator calls the OSGi framework to install the updated bundle supplying its bundle location. In case that this location is the same for the old and for the new version of the bundle, OSGi does not perform any installation and returns the old org.osgi.framework.Bundle's instance to simpleconfigurator. The patch adds an additional check for the bundle's name and version extracted from bundles.info and from the returned instance. If any changes are detected, simpleconfigurator invokes the update of the bundle to synchronize the metadata.
What I don't understand is why simpleconfigurator did not uninstall the old version first. I thought it usually uninstalled the old versions before installing the new bundles. The other thing that seems strange is that it seems like the jar is being replaced on disk without doing an OSGi provisioning operation. I think p2 depends on the fact that each version of the bundle will always be located in a unique location on disk. Otherwise I think you will run into some pretty strange issues if you simply override an installed bundle's jar on disk. Moving to p2. (In reply to comment #5) > What I don't understand is why simpleconfigurator did not uninstall the old > version first. I thought it usually uninstalled the old versions before > installing the new bundles. The other thing that seems strange is that it > seems like the jar is being replaced on disk without doing an OSGi provisioning > operation. I think p2 depends on the fact that each version of the bundle will > always be located in a unique location on disk. Otherwise I think you will run > into some pretty strange issues if you simply override an installed bundle's > jar on disk. > > Moving to p2. Actually, the bundle seems to be uninstalled (instead of updated) because you will notice that it is not listed in the result of "ss" command in step 7. Patch released. Thx. (In reply to comment #7) > Patch released. Thx. Note that this fix causes bug 387611. |