Bug 236443 - [remotecdt] Using P2 to install "remotecdt" only from update site creates an unusable installation
Summary: [remotecdt] Using P2 to install "remotecdt" only from update site creates an ...
Status: NEW
Alias: None
Product: CDT
Classification: Tools
Component: cdt-debug (show other bugs)
Version: 6.0   Edit
Hardware: All All
: P3 major (vote)
Target Milestone: ---   Edit
Assignee: cdt-debug-inbox@eclipse.org CLA
QA Contact: Jonah Graham CLA
URL:
Whiteboard:
Keywords: readme
Depends on: 255075 267065
Blocks:
  Show dependency tree
 
Reported: 2008-06-10 10:11 EDT by Martin Oberhuber CLA
Modified: 2020-09-04 15:19 EDT (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Oberhuber CLA 2008-06-10 10:11:52 EDT
See also bug 231453.

Remotecdt has only bundle dependencies, so when picking it with a P2 enabled Eclipse, it will install only required plugins (which are only from RSE core). It will not, however, install User docs or any connection type specific plugin such as Local, SSH or DStore.

This makes the resulting installation unusable.

It has been discussed to create a feature dependency from the remotecdt feature to, let's say the rse-core feature and rse-ssh feature. But if this is done, it is no longer possible to build a product which includes rse-core, remotecdt but not ssh.

Since I need to weigh the requirements of commercial product builders higher than those of update site consumers, I need to avoid the feature dependencies. The bug is a direct result of a "specification update" in P2 compared to classic update manager, where P2 always computes dependencies late (without user feedback) and on bundle granularity, whereas classic update manager computed dependencies always on feature granularity and allowed the user to review the selection after "select required".

Any ideas for solving this dilemma are most highly welcome, but it looks like we'll need to document this limitation in the README.


-----------Enter bugs above this line-----------
TM 3.0RC3a testing
installation : eclipse-SDK-3.4RC3 (I20080530-1730), cdt-5.0RC2 (200805231539), 
     DSF-1.0rc2 (20080527), emf-2.4.0rc2, Findbugs-1.3.3, Releng.Tools-3.4RC3, 
     RSE-3.0RC2, RXTX-2.1-7r3b, Subversive-0.7.0.v20080517, FTP_WebDav-3.2.2
     org.tigris.MemMonitor, WR-Retriever-3.0.v20070604,
RSE install  : RSE 3.0RC2 in workspace, TM-terminal, TM-discovery
java.runtime : Sun 1.6.0_05-b13 -Xmx512m -XX:MaxPermSize=128m
os.name:     : Windows XP 5.1, Service Pack 2
------------------------------------------------
systemtype   : Windows-local, Dstore-win, Dstore-linux
targetos     : Red Hat Enterprise Linux WS release 4 (Nahant Update 3)
targetuname  : Linux parser 2.6.9-34.EL #1 i686 athlon i386 GNU/Linux
targetvm     : Sun Java HotSpot(TM) Client VM (build 1.4.2_12-b03, mixed mode)
------------------------------------------------
Comment 1 Pascal Rapicault CLA 2008-06-10 11:29:24 EDT
I have the feeling that we will have to solve this one over the phone, as I'm struggling to understand all the details as to why pde build can't build what you want.
Comment 2 Andrew Niefer CLA 2008-06-10 12:02:21 EDT
Adding Requires to a feature does not affect PDE/Build at all and does not change the build, it would only change p2/update manager behaviour.

If higher up product would have a different set of requirements, then the only way out I can see is to create a separate feature solely for grouping remotecdt's requirements for p2.

Alternatively, it would not really be hard to handcraft a group IU for this, it is just that the automated tools are not that far along.
Comment 3 Martin Oberhuber CLA 2008-06-10 12:46:52 EDT
Thanks Andrew.

The PDE Build issue was this: RemoteCDT feature consists of remotecdt plugin and remotecdt.source plugin (genereate@plugin). I noticed that as soon as I define feature "remotecdt.wrapper" which includes feature remotecdt, the remotecdt.souce plugin would no longer generate its src.zip file.

I found an old bug indicating that this might be related to build order (trying to build hte source plugin before the actual remotecdt plugin was built), but I had no time to investigate this any further, unfortunately.
Comment 4 Andrew Niefer CLA 2008-06-10 14:43:42 EDT
(In reply to comment #3)
> Thanks Andrew.
> 
> The PDE Build issue was this: RemoteCDT feature consists of remotecdt plugin
> and remotecdt.source plugin (genereate@plugin). I noticed that as soon as I
> define feature "remotecdt.wrapper" which includes feature remotecdt, the
> remotecdt.souce plugin would no longer generate its src.zip file.
> 
> I found an old bug indicating that this might be related to build order (trying
> to build hte source plugin before the actual remotecdt plugin was built), but I
> had no time to investigate this any further, unfortunately.
> 

Hi Martin, If you have features to reproduce this can you please open a bug on PDE-Build.  There was bug 179616 which was fixed, and we do have a unit test for this with generate.plugin.
I tried this myself with features:
feature.A -> feature.B -> plugin.A.source, plugin.A
                          generate.plugin@A.source=feature.B
          -> plugin.B
And everything built fine.
Comment 5 Martin Oberhuber CLA 2009-04-30 10:38:15 EDT
Due to moving remotecdt into CDT as per bug 267065, this is now a CDT problem.

I'm not exactly sure what feature dependencies the new remotecdt has, but in case it only has bundle requirements (such as the org.eclipse.rse.core bundle only), it may still end up with an unusable installation. RSE requires at least one system type.