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 ^
>> -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]
> https://dev.eclipse.org/mailman/listinfo/p2-dev
_______________________________________________
p2-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/p2-dev