| Summary: | Prevent main feature from being un-installed | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Equinox | Reporter: | Samuel Wu <samuelwu> | ||||
| Component: | p2 | Assignee: | P2 Inbox <equinox.p2-inbox> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | john.arthorne, kim.moir, krzysztof.daniel, pascal, pwebster | ||||
| Version: | 3.6 | ||||||
| Target Milestone: | 3.7 M7 | ||||||
| Hardware: | PC | ||||||
| OS: | Windows XP | ||||||
| Whiteboard: | |||||||
| Bug Depends on: | |||||||
| Bug Blocks: | 340791, 345723 | ||||||
| Attachments: |
|
||||||
|
Description
Samuel Wu
It is possible to mark IUs to not be uninstalled (this will only be honoured by the UI). I suspect that the SDK does not set the flag. I have opened bug #323908 because the director app does not cover for this case. Moving to releng Pascal, Can you please advise how to set the uninstallable attribute? I have some other features which should not be uninstalled as well. I think you can set the IProfile.LOCK_UNINSTALL property on the installable unit. DJ, should this property be set using the p2.inf that we use during the build for building the SDK? Not sure... Pascal do you know? Pascal, can you comment on the previous comment? Do we set IProfile.LOCK_UNINSTALL using the p2.inf used in the build? Whether or not an IU should be uninstallable is not the decision of the producer of an IU but a consumer one since it really depends on the context of the application. For example, in some cases I want to have the SDK be marked uninstallable, and in some others I want to have the SDK and egit. This property needs to be set when the initial installation is created. At this point I don't know if this can be set using the director (or the installer) but we should probably look into this if it is not the case. First we need to investigate if we can add a new arg to the director, then we must modify the build scripts to use the new arg. Moving back to p2 until step 1 is complete. This request is pretty similar to the bug 312254. Created attachment 191777 [details]
patch
Here is a patch which adds a new argument to the director application:
-iuProfileProperties <path>
The java.util.Properties-style file that it points to should have the format:
<id>.<keyword>.<uniqueNum>=value
For instance the following will set the CDT feature as locked:
org.eclipse.cdt.feature.group.key.0=org.eclipse.equinox.p2.type.lock
org.eclipse.cdt.feature.group.value.0=1
Fix released. Opened bug 340791 to address changes in RelEng. Closing. |