I suspect either of those cases is already true. I say that because I
have no problem updating the RSE and CDT features in the product via p2
director. The platform...that's where I'm running into a wall. The
attempt to update o.e.platform.ide results in the errors below[1].
It's been suggested I should first uninstall o.e.sdk.ide, but that IU is
not in the product. I also tried uninstalling o.e.platform.ide. That,
too, is not in the product.
I then tried uninstalling o.e.platform.feature.group. That worked. But
then a subsequent attempt to install o.e.platform.ide still fails. This
time, though, it complains about a slightly different conflict (Only one
of the following can be installed at once: Equinox Launcher Win32 X86
Fragment 1.1.0...) [2]
So, I feel like I'm close--that there's some combination of platform IUs
I can uninstall from the product to then successfully install
o.e.platform.ide from an updated platform build. But I've not had luck
figuring that out.
John
[1]
Cannot complete the install because of a conflicting dependency.
Software being installed: Eclipse Platform 3.6.1.b19_3085
(org.eclipse.platform.ide 3.6.1.b19_3085)
Software currently installed: C/C++ - CodeWarrior Development Studio
1.1.0 (com.freescale.core.ide.ide 1.1.0)
Only one of the following can be installed at once:
Equinox Launcher Win32 X86 Fragment 1.1.0.FSL_b18_3077
(org.eclipse.equinox.launcher.win32.win32.x86 1.1.0.FSL_b18_3077)
Equinox Launcher Win32 X86 Fragment 1.1.0.FSL_b19_3085
(org.eclipse.equinox.launcher.win32.win32.x86 1.1.0.FSL_b19_3085)
Cannot satisfy dependency:
From: C/C++ - CodeWarrior Development Studio 1.1.0
(com.freescale.core.ide.ide 1.1.0)
To: org.eclipse.equinox.launcher.win32.win32.x86 [1.1.0.FSL_b18_3077]
Cannot satisfy dependency:
From: Eclipse Platform 3.6.1.b19_3085 (org.eclipse.platform.ide
3.6.1.b19_3085)
To: org.eclipse.rcp.configuration.feature.group [1.0.0.b19_3085]
Cannot satisfy dependency:
From: Eclipse Product Configuration 1.0.0.b19_3085
(org.eclipse.rcp.configuration.feature.group 1.0.0.b19_3085)
To: org.eclipse.equinox.launcher.win32.win32.x86 [1.1.0.FSL_b19_3085]
Application failed, log file location:
C:\eclipse_3.7.1\configuration\1321019313361.log
[2]
Cannot complete the install because of a conflicting dependency.
Software being installed: Eclipse Platform 3.6.1.b19_3085
(org.eclipse.platform.ide 3.6.1.b19_3085)
Software currently installed: C/C++ - CodeWarrior Development Studio
1.1.0 (com.freescale.core.ide.ide 1.1.0)
Only one of the following can be installed at once:
Equinox Launcher Win32 X86 Fragment 1.1.0.FSL_b18_3077
(org.eclipse.equinox.launcher.win32.win32.x86 1.1.0.FSL_b18_3077)
Equinox Launcher Win32 X86 Fragment 1.1.0.FSL_b19_3085
(org.eclipse.equinox.launcher.win32.win32.x86 1.1.0.FSL_b19_3085)
Cannot satisfy dependency:
From: C/C++ - CodeWarrior Development Studio 1.1.0
(com.freescale.core.ide.ide 1.1.0)
To: org.eclipse.equinox.launcher.win32.win32.x86 [1.1.0.FSL_b18_3077]
Cannot satisfy dependency:
From: Eclipse Platform 3.6.1.b19_3085 (org.eclipse.platform.ide
3.6.1.b19_3085)
To: org.eclipse.rcp.configuration.feature.group [1.0.0.b19_3085]
Cannot satisfy dependency:
From: Eclipse Product Configuration 1.0.0.b19_3085
(org.eclipse.rcp.configuration.feature.group 1.0.0.b19_3085)
To: org.eclipse.equinox.launcher.win32.win32.x86 [1.1.0.FSL_b19_3085]
Application failed, log file location:
C:\eclipse_3.7.1\configuration\1321020098158.log
On 11/10/2011 9:31 PM, Pascal Rapicault wrote:
Then you have two possibilities:
1) Specify ranges in the "Your product" IU
- In this case "Your Product" just has ranges on all the things it
uses, which then allow you to replace anything by requesting the
install. For example you would be able to replace CDT with another
version by just picking something from an update site. Note that this
solution would not tell the user when there are updates available, but
would give power users the possibility to mess around :)
2) Do not use a top level IU
- In this case you no longer have the "Your product" IU. Instead what
you initially distribute (probably through a zip) would be
|--> CDT 5.0.1
|--> Platform 3.7.1
|--> RSE 2.0.0
which allows you to install and remove any component at will (the
previous setup you would not be able to get rid of CDT) and also
benefit from the notification of new updates.
On 2011-11-10, at 10:20 PM, John Cortell wrote:
That makes sense, but it's a bit heavy for what I'm trying to do. The
final mix will be used for internal testing, not for delivering to
customers. We want to be able to test a change in our Eclipse
platform with an existing product. I had hoped I could "swap in" a
newer build of the platform with minimal hassle. Having to define a
new top-level product IU, while possible, is a significant
inconvenience. It would be nice if I could tell p2 to relax its
dependency checking and just let me remove and install whatever I
want--sort of an "expert/let-me-shoot-myself-in-the-foot" mode. If
the end result is broken, so be it.
John
On 11/10/2011 8:47 PM, Pascal Rapicault wrote:
Assuming your product has the following dependency structure (where
each item in the tree is a p2 IU):
Your product 1.0
|--> CDT 5.0.1
|---> Platform 3.7.1
|--> RSE 2.0.0
|---> Platform 3.7.1
|--> Platform 3.7.1
then you will have to create a new version of the "Your product" IU
that points at new version of the pieces.
Your product 1.1
|--> CDT 5.0.2
|---> Platform 3.7.2
|--> RSE 2.0.0
|---> Platform 3.7.2
|--> Platform 3.7.2
This structure gives you complete control over what your user gets
since when you publish a new update, the user sees that there is an
update to "Your product" and not the individual pieces he does not
want to know about. Note that even though the product version has
changed only the bundles that have actually been changed will be
downloaded.
HTH
On 2011-11-10, at 9:34 PM, John Cortell wrote:
So, it looks like I'm still stuck. We now internally have a p2 repo
with the platform.ide IU. So, I can upgrade a pure platform
installation (an installation with only the platform and no
upstream components) via p2 thanks to the help I got from the folks
on this list.
However, what I'm ultimately trying to do is upgrade the platform
in a complete Eclipse commercial product--an installation that has
not only the platform, but CDT, RSE and a variety of other
components. Naturally, they all have a dependency on the platform.
So, the question is: how do I swap in a newer platform without
uninstalling all the upstream pieces that rely on the platform? Is
that at all possible? Is there a way to tell p2 "uninstall this
piece even though other things depend on it, so that I may install
a newer version of it".
John
On 10/27/2011 3:32 PM, DJ Houghton wrote:
If I'm reading what you're describing correctly, you are starting
with a 3.6.0 SDK zip. You can't take a 3.6 SDK and replace the
platform that it contains. What the error message you posted says
is that the SDK 3.6.0 requires the Platform 3.6.0 and if you
install Platform 3.6.1 then you will break it.
Coincidentally enough, the p2 team has been working on a new
feature so if you run into the problem described above, we will
recommend that you also update the SDK to 3.6.1 (if available) and
then your install will complete. The feature is almost implemented
and will appear in the 3.8 integration builds soon.
If you use the Platform zip (e.g.
eclipse-platform-3.6.1-macosx-cocoa-x86_64.tar.gz) you will see
the platform.ide IU:
<unit id='org.eclipse.platform.ide' version='3.6.1.M20100909-0800'>
So to fix your problem you either need to use a Platform zip (and
update the org.eclipse.platform.ide IU) or change your
command-line to update the org.eclipse.sdk.ide IU.
<Mail Attachment.gif>John Cortell ---2011/10/27 04:01:17
PM---There is no IU called org.eclipse.platform.ide in the p2 zip
(org.eclipse.platform-3.6.1.zip). The
<Mail Attachment.gif>
From: <Mail Attachment.gif>
John Cortell <[email protected]>
<Mail Attachment.gif>
To: <Mail Attachment.gif>
P2 developer discussions <[email protected]>, P2 developer
discussions <[email protected]>
<Mail Attachment.gif>
Date: <Mail Attachment.gif>
2011/10/27 04:01 PM
<Mail Attachment.gif>
Subject: <Mail Attachment.gif>
Re: [p2-dev] can platform be updated via p2?
<Mail Attachment.gif>
Sent by: <Mail Attachment.gif>
[email protected]
------------------------------------------------------------------------
There is no IU called /org.eclipse.platform.ide/ in the p2 zip
(org.eclipse.platform-3.6.1.zip). The only IUs in that p2 with
'platform' in the name are:
org.eclipse.platform
org.eclipse.platform.doc.user
org.eclipse.platform.feature.group
org.eclipse.platform.feature.jar
org.eclipse.platform_root
Here's what I get (cleaned up) when I try to update the platform
in the 3.6 SDK with the one from the 3.6.1 p2 zip
Cannot complete the install because of a conflicting
dependency.
Software being installed: Eclipse Platform
3.6.1.r361_v20100909-9gF78GrkFqw7GrsZnvz0JWNTeb6fue6896L
(org.eclipse.platform.feature.group
3.6.1.r361_v20100909-9gF78GrkFqw7GrsZnvz0JWNTeb6fue6896L)
Software currently installed: Eclipse SDK
3.6.0.I20100608-0911 (org.eclipse.sdk.ide
3.6.0.I20100608-0911)
Only one of the following can be installed at once:
Eclipse Platform 3.6.0.v201006080911
(org.eclipse.platform 3.6.0.v201006080911)
Eclipse Platform 3.6.1.v201009090800
(org.eclipse.platform 3.6.1.v201009090800)
[snip]
I've tried specifying each of the IUs listed above. None of them work.
Finally, here's the cmdline I'm using:
"C:\eclipse_3.7\eclipsec" ^
-application org.eclipse.equinox.p2.director ^
-nosplash ^
-consoleLog ^
-profile SDKProfile ^
-installIU "org.eclipse.platform.feature.group" ^
-repository _file:/f:/temp/testp2/plat361p2_
<file:///f:/temp/testp2/plat361p2> ^
-destination f:\temp\testp2\sdk36\eclipse
John
At 11:46 AM 10/27/2011, DJ Houghton wrote:
Yes, you should be able to update the platform via p2.
If you have the platform zip, the
platform.feature.group may be blocked by the
org.eclipse.platform.ide InstallableUnit. Try updating
that instead.
_______________________________________________
p2-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/p2-dev
_______________________________________________
p2-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/p2-dev
_______________________________________________
p2-dev mailing list
[email protected] <mailto:[email protected]>
https://dev.eclipse.org/mailman/listinfo/p2-dev
_______________________________________________
p2-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/p2-dev
_______________________________________________
p2-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/p2-dev