| Summary: | [Tools] Failed to install latest nigthly from the repo | ||
|---|---|---|---|
| Product: | [RT] RAP | Reporter: | Ivan Furnadjiev <ivan> |
| Component: | Releng | Assignee: | Project Inbox <rap-inbox> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P1 | CC: | mknauer |
| Version: | 2.0 | ||
| Target Milestone: | 2.0 M4 | ||
| Hardware: | PC | ||
| OS: | Windows 7 | ||
| Whiteboard: | |||
|
Description
Ivan Furnadjiev
You are using the RCP/RAP package from Kepler M2? I guess so, because this comes with the RAP Tools pre-installed. What I do not understand is that fact that it does not offer you to 'update' this feature. I'll move this bug to EPP because it seems to belong there. Same error when I tried to update Tools from 1.5.1 (Juno SR1) to 2.0M2:
Cannot complete the install because of a conflicting dependency.
Software being installed: Rich Ajax Platform (RAP) Tools 2.0.0.20121001-1635 (org.eclipse.rap.tools.feature.feature.group 2.0.0.20121001-1635)
Software currently installed: Eclipse for RCP and RAP Developers 1.5.1.20120917-1257 (epp.package.rcp 1.5.1.20120917-1257)
Only one of the following can be installed at once:
RAP Developers Guide 1.5.0.20121001-1635 (org.eclipse.rap.help 1.5.0.20121001-1635)
RAP Developers Guide 1.5.0.20120801-0152 (org.eclipse.rap.help 1.5.0.20120801-0152)
Cannot satisfy dependency:
From: Eclipse for RCP and RAP Developers 1.5.1.20120917-1257 (epp.package.rcp 1.5.1.20120917-1257)
To: org.eclipse.epp.package.rcp.feature.feature.group [1.5.1.20120917-1257]
Cannot satisfy dependency:
From: EPP RCP/RAP Feature 1.5.1.20120917-1257 (org.eclipse.epp.package.rcp.feature.feature.group 1.5.1.20120917-1257)
To: org.eclipse.rap.tools.feature.group 0.0.0
Cannot satisfy dependency:
From: Rich Ajax Platform (RAP) Tools 2.0.0.20121001-1635 (org.eclipse.rap.tools.feature.feature.group 2.0.0.20121001-1635)
To: org.eclipse.rap.help [1.5.0.20121001-1635]
Cannot satisfy dependency:
From: Rich Ajax Platform (RAP) Tools 2.0.0.20120801-0152 (org.eclipse.rap.tools.feature.group 2.0.0.20120801-0152)
To: org.eclipse.rap.help [1.5.0.20120801-0152]
(In reply to comment #1) > You are using the RCP/RAP package from Kepler M2? I guess so, because this comes > with the RAP Tools pre-installed. > > What I do not understand is that fact that it does not offer you to 'update' > this feature. I'll move this bug to EPP because it seems to belong there. No... I'm using Juno SR1 (Eclipse for RCP and RAP Developers package). I had RAP Tools 2.0M1 installed on top of 1.5.1 - error from the description when tried to update to M2. Than I uninstalled RAP Tools 2.0M1 and tried to update the stable 2.0M2 - error from comment#2. After staring at the error message for 5 minutes I found the reason, but I don't have a short-term solution at hand. I am moving it back to RAP and assign it to myself to work on a solution for M3. The reason is the different ID of the installable unit of the feature: org.eclipse.rap.tools.feature.feature.group -> RAP == 2.0 org.eclipse.rap.tools.feature.group -> RAP < 2.0 If it was the same IU ID, p2 would start an update operation, replacing the old version with the new one. But since the IU ID differs, it looks to p2 like an *additional* install but both features end up defining dependencies that exclude each other. Who is affected right now? I tested my theory in comment 4 with the following packages and the RAP Tools Kepler repository (M3) [1] and with the RAP Tools nightly build repository [2], and it turns out that my theory is correct. * eclipse-SDK-4.2.1-linux-gtk-x86_64.tar.gz * eclipse-SDK-4.3M3-linux-gtk-x86_64.tar.gz => No dependency/install errors as long as there is not RAP Tools 1.5 installed before installing the 2.0 versions. * eclipse-rcp-kepler-M3-linux-gtk-x86_64.tar.gz => No dependency/install error because this package already contains the RAP Tools 2.0M3 bits. An update to the latest nightly build works. * eclipse-rcp-juno-SR1-linux-gtk-x86_64.tar.gz => !!! This one causes the problems (and a headache to me) !!! In other words, this is the only problematic package, but it *is* a serious problem because this will be used by the majority of our RAP 2.0 early adopters. [1] http://download.eclipse.org/rt/rap/tools/2.0/ [2] http://download.eclipse.org/rt/rap/nightly/tooling/ Yes... I'm using Juno SR1 RCP/RAP package and cannot upgrade to the latest milestone/nightly due to the errors above. (In reply to comment #6) > Yes... I'm using Juno SR1 RCP/RAP package and cannot upgrade to the latest > milestone/nightly due to the errors above. Currently it would be possible to upgrade a Juno RCP/RAP package with the latest nightly build due to the recent renaming of the tools bundles. But this is DANGEROUS and will very likely lead to unuseable RAP Tools. In case this happens to someone, it should be possible to rollback to the old version with the help of p2. I discovered this implication of the renaming just today and will implement some kind of fence that prevents such installations in the future. (In reply to comment #7) > (In reply to comment #6) > > Yes... I'm using Juno SR1 RCP/RAP package and cannot upgrade to the latest > > milestone/nightly due to the errors above. > > Currently it would be possible to upgrade a Juno RCP/RAP package with the latest > nightly build due to the recent renaming of the tools bundles. But this is > DANGEROUS and will very likely lead to unuseable RAP Tools. In case this happens > to someone, it should be possible to rollback to the old version with the help > of p2. > > I discovered this implication of the renaming just today and will implement some > kind of fence that prevents such installations in the future. Correct... I've manually removed the 1.5 tools feature/plugins from my installation to avoid conflicts. Latest nightly Tools 2.0 installed without problem. There are two major scenarios:
(1) UPDATE
Someone has an Eclipse with an early milestone or a nightly build of the RAP Tools 2.0 installed and wants to UPDATE this to a higher milestone/nightly build. This is the case if someone downloads a pre-release Kepler RCP/RAP EPP package that has the RAP Tools 2.0 installed as a root-IU, or if someone uses any other Eclipse and installs the RAP Tools 2.0 manually as a non-root-IU.
=> No problems with this scenario.
(2) UPGRADE
Someone uses the RCP/RAP Juno package which includes RAP Tools 1.5 as a root-IU, or someone who installed the RAP Tools manually as a non-root-IU.
=> Change of feature ID causes problems.
In general: In case of an EPP package ('root-IU') 'Check for Updates' shows updates if and only if EPP releases an update, independent from the availability of higher versions of the RAP Tools in any of the p2 repositories (= p2 update operation). In this case, a user has to 'trigger' a p2 install operation manually in order to upgrade to the newer version.
Discussion of possible solutions and their specific drawbacks:
(A) Change the parent update ID of the new 2.0 feature to match the 1.5 feature ID. => Possible, but how would we proceed in the next updates? Multiple parents are not (yet) possible in p2.
(B) Add a 'transition feature' that changes the feature IDs but nothing else. => This won't work for all people who manually click on the new 2.0 feature only.
(C) Define an optional/greedy transition dependency to a transition feature. => This could affect all Kepler users in the future and I don't want to risk introducing more problems in future versions.
(D) Additional compatibility feature for Juno users that is empty except a dependency to the new 2.0 feature. => It's really an additional feature that could lead to some confusion.
After many thoughts I've decided to implement (D). To me it looks like the least evil. See commit 3b348ec7882ee029eaa4530f0b7a30283e121cd7.
|