[jbosstools-issues] [JBoss JIRA] (JBDS-2389) cannot uninstall JBDS Product Feature - eclipse left in unusable state due to missing eclipse.ini directives

Nick Boldt (JIRA) jira-events at lists.jboss.org
Tue Jun 25 09:40:21 EDT 2013


    [ https://issues.jboss.org/browse/JBDS-2389?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12784324#comment-12784324 ] 

Nick Boldt commented on JBDS-2389:
----------------------------------

Yes, the usecase here is "install Branded Product feature, then uninstall it", whereupon the .ini file is no longer useable.

So the solutions are: 

a) remove the Branded Product feature from the update site, so no user can see it and accidentally install it;
b) custom touchpoint, which would allow parameterized execution when uninstalling;
c) custom touchpoint, which would prevent installation

HOWEVER...

since the unpacked update site that gets published to devstudio.jboss.com/updates/x.0/ *must contain the Branded Product feature* in order for JBDS (the installed product) to be updateable from version x.0.0 to x.0.y, the feature needs to be on the site (or another site, which is composited into that one)

AND

since in JBDS-2649 it was decided that the update site ZIP and the update site SITE should both contain the same information, the Branded Product feature needs to be in the update site ZIP too

THEREFORE

(a) is impossible, and we need to explore (b) and (c) as potentially viable options. 

Can p2 look at the name of the currently installed product and determine if a feature can be installed based on that? Or is it better to simply capture the information before installation so that uninstallation can be done correctly?
                
> cannot uninstall JBDS Product Feature - eclipse left in unusable state due to missing eclipse.ini directives
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: JBDS-2389
>                 URL: https://issues.jboss.org/browse/JBDS-2389
>             Project: Developer Studio (JBoss Developer Studio)
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: installer, updatesite
>    Affects Versions: 6.0.0.CR1
>            Reporter: Nick Boldt
>            Assignee: Nick Boldt
>             Fix For: 7.0.0.CR1
>
>
> Steps to repro:
> Unpack bare Juno JEE. 
> Install JBDS BYOE feature ("Core Features"). Restart
> Install JBDS Branded Product Feature. Restart. 
> Uninstall JBDS Branded Product Feature (or revert configuration to previous). Restart. Eclipse is now broken:
> {code}
> java.lang.RuntimeException: Application "" could not be found in the registry.
> {code}
> Addtional info:
> {quote}
> Bare Juno JEE eclipse.ini:
> {code}
> $➔ cat eclipse/eclipse.ini 
> -startup
> plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
> --launcher.library
> plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20120522-1813
> -product
> org.eclipse.epp.package.jee.product
> --launcher.defaultAction
> openFile
> -showsplash
> org.eclipse.platform
> --launcher.XXMaxPermSize
> 256m
> --launcher.defaultAction
> openFile
> -vmargs
> -Dosgi.requiredJavaVersion=1.5
> -Dhelp.lucene.tokenizer=standard
> -XX:MaxPermSize=256m
> -Xms40m
> -Xmx512m
> {code}
> or, for Eclipse Platform Binary:
> {code}
> -startup
> plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
> --launcher.library
> plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20120522-1813
> -showsplash
> org.eclipse.platform
> --launcher.XXMaxPermSize
> 256m
> --launcher.defaultAction
> openFile
> -vmargs
> -Xms40m
> -Xmx384m
> {code}
> After installing JBDS BYOE:
> {code}
> $➔ cat eclipse/eclipse.ini 
> -startup
> plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
> --launcher.library
> plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20120522-1813
> -showsplash
> org.eclipse.platform
> --launcher.XXMaxPermSize
> 256m
> --launcher.defaultAction
> openFile
> -vmargs
> -Xms512m
> -Xmx1024m
> -Djboss.discovery.directory.url=https://devstudio.jboss.com/updates/6.0-staging/devstudio-directory.xml
> {code}
> After installing JBDS branded product, eclipse.ini becomes jbdevstudio.ini:
> {code}
> $➔ cat eclipse/jbdevstudio.ini 
> -startup
> plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
> --launcher.library
> plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20120522-1813
> --launcher.XXMaxPermSize
> 256m
> --launcher.defaultAction
> openFile
> -product
> com.jboss.jbds.product.product
> -showsplash
> platform:/base/plugins/com.jboss.jbds.product
> --launcher.XXMaxPermSize
> 256m
> --launcher.defaultAction
> openFile
> -vmargs
> -Djboss.discovery.directory.url=https://devstudio.jboss.com/updates/6.0-staging/devstudio-directory.xml
> -Xms512m
> -Xmx1024m
> -Dosgi.instance.area.default=@user.home/workspace
> {code}
> After UNINSTALLING JBDS branded product (to drop back to Eclipse + JBDS BYOE), can no longer start Eclipse. Here is the resulting eclipse.ini file:
> {code}
> $➔ cat eclipse/eclipse.ini 
> -startup
> plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
> --launcher.library
> plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.200.v20120522-1813
> -product
> com.jboss.jbds.product.product
> -showsplash
> platform:/base/plugins/com.jboss.jbds.product
> --launcher.XXMaxPermSize
> 256m
> --launcher.defaultAction
> openFile
> -vmargs
> -Djboss.discovery.directory.url=https://devstudio.jboss.com/updates/6.0-staging/devstudio-directory.xml
> -Xms512m
> -Xmx1024m
> {code}
> {quote}
> So, I think we need an instructions.unconfigure in com.jboss.jbds.p2.inf to remove these lines
> {code}
> -product
> com.jboss.jbds.product.product
> -showsplash
> platform:/base/plugins/com.jboss.jbds.product
> {code}
> and replace them with the following when JBDS is uninstalled:
> {code}
> -application 
> org.eclipse.ui.ide.workbench
> -showsplash
> org.eclipse.platform
> {code}
> Also need to know what happens if there are two -product directives... can we just 
> add (and later remove, when uninstalling) our product to the list, or must we replace 
> any existing -product entries with ours?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the jbosstools-issues mailing list