Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [tycho-user] Update product via p2.console

The p2 UI makes use of the Operation API which has smarts (such as detection of updates, when you request an install) that are not implemented in the p2 console commands.
So if you really wanted to get things going through the console you would first have to do an uninstall, then an install and the confapply

HTH

On 21/02/2014 7:18 AM, Knechtel, Martin wrote:
 Hi all,

 

my goal is to build a product with Tycho and update it via p2.console. I started with the example project http://wiki.eclipse.org/Tycho/Demo_Projects/RCP_Application. Updating works fine via the UI as described. Now I want to update via p2 console. The following three cases updating product/feature/bundle fail. Afterwards I describe 3 workarounds. I do not like the workarounds as final solution though and would like to know how it should be done right.

 

Cheers,

Martin

 

1.       Updating product fails

 

osgi> provlp DefaultProfile
a.jre.javase 1.6.0
com.ibm.icu 4.2.1.v20100412
config.a.jre.javase 1.6.0
example-bundle 0.1.0.201402180854
example-feature.feature.group 0.1.0.201402180854
example-feature.feature.jar 0.1.0.201402180854
example-feature_root 0.1.0.201402180854
example-feature_root.cocoa.macosx.x86_64 0.1.0.201402180854
example.product.id 0.1.0.201402180854

[…]

 

osgi> provremove example.product.id 0.1.0.201402180854
Remove complete for example.product.id 0.1.0.201402180854

osgi> provlp DefaultProfile

osgi> confapply
Config URL not set.

osgi> provinstall example.product.id 0.2.0.201402180911
Installation failed for example.product.id 0.2.0.201402180911
Software being installed: Example Product 0.2.0.201402180911 (example.product.id 0.2.0.201402180911)
Missing requirement: Equinox Provisioning Platform Update Support 1.0.100.v20100513 (org.eclipse.equinox.p2.ui.sdk 1.0.100.v20100513) requires 'bundle org.eclipse.compare 0.0.0' but it could not be found
Cannot satisfy dependency:
From: Example Product 0.2.0.201402180911 (example.product.id 0.2.0.201402180911)
To: org.eclipse.equinox.p2.user.ui.feature.group [2.0.1.r361_v20100903-897HFa-FX0z-z-ntoaavz0JPX628]
Cannot satisfy dependency:
From: Equinox p2 Provisioning 2.0.1.r361_v20100903-897HFa-FX0z-z-ntoaavz0JPX628 (org.eclipse.equinox.p2.user.ui.feature.group 2.0.1.r361_v20100903-897HFa-FX0z-z-ntoaavz0JPX628)
To: org.eclipse.equinox.p2.ui.sdk [1.0.100.v20100513]

 

2.       Updating feature fails

 

osgi> provlp DefaultProfile
a.jre.javase 1.6.0
com.ibm.icu 4.2.1.v20100412
config.a.jre.javase 1.6.0
example-bundle 0.1.0.201402180854
example-feature.feature.group 0.1.0.201402180854
[...]

osgi> provremove example-feature.feature.group 0.1.0.201402180854
Remove complete for example-feature.feature.group 0.1.0.201402180854

osgi> confapply

osgi> provinstall example-feature.feature.group 0.2.0.201402180911
Installation failed for example-feature.feature.group 0.2.0.201402180911
Software being installed: Example Feature 0.2.0.201402180911 (example-feature.feature.group 0.2.0.201402180911)
Software currently installed: Example Product 0.1.0.201402180854 (example.product.id 0.1.0.201402180854)
Only one of the following can be installed at once:
Example Feature 0.1.0.201402180854 (example-feature.feature.jar 0.1.0.201402180854)
Example Feature 0.2.0.201402180911 (example-feature.feature.jar 0.2.0.201402180911)
Cannot satisfy dependency:
From: Example Feature 0.1.0.201402180854 (example-feature.feature.group 0.1.0.201402180854)
To: example-feature.feature.jar [0.1.0.201402180854]
Cannot satisfy dependency:
From: Example Feature 0.2.0.201402180911 (example-feature.feature.group 0.2.0.201402180911)
To: example-feature.feature.jar [0.2.0.201402180911]
Cannot satisfy dependency:
From: Example Product 0.1.0.201402180854 (example.product.id 0.1.0.201402180854)
To: example-feature.feature.group [0.1.0.201402180854]

osgi> provlp DefaultProfile
a.jre.javase 1.6.0
com.ibm.icu 4.2.1.v20100412
config.a.jre.javase 1.6.0
example-bundle 0.1.0.201402180854
example-feature.feature.group 0.1.0.201402180854
[...]

 

3.       Updating single bundle fails

 

osgi> provlp DefaultProfile
a.jre.javase 1.6.0
com.ibm.icu 4.2.1.v20100412
config.a.jre.javase 1.6.0
example-bundle 0.1.0.201402180854
[...]

osgi> provremove example-bundle 0.1.0.201402180854
Remove complete for example-bundle 0.1.0.201402180854

osgi> provlp DefaultProfile
a.jre.javase 1.6.0
com.ibm.icu 4.2.1.v20100412
config.a.jre.javase 1.6.0
example-bundle 0.1.0.201402180854
[...]

osgi> provinstall example-bundle 0.2.0.201402180911
Installation failed for example-bundle 0.2.0.201402180911
Software being installed: Bundle 0.2.0.201402180911 (example-bundle 0.2.0.201402180911)
Software currently installed: Example Product 0.1.0.201402180854 (example.product.id 0.1.0.201402180854)
Only one of the following can be installed at once:
Bundle 0.1.0.201402180854 (example-bundle 0.1.0.201402180854)
Bundle 0.2.0.201402180911 (example-bundle 0.2.0.201402180911)
Cannot satisfy dependency:
From: Example Feature 0.1.0.201402180854 (example-feature.feature.group 0.1.0.201402180854)
To: example-bundle [0.1.0.201402180854]
Cannot satisfy dependency:
From: Example Product 0.1.0.201402180854 (example.product.id 0.1.0.201402180854)
To: example-feature.feature.group [0.1.0.201402180854]

 

I found the following three workarounds, which however are not satisfying as a final solution.

1.       Update via the UI as described above.

2.       Build the product without the feature. Install it on the p2.console afterwards. Updating works.

 

osgi> provaddrepo file:/Users/me/Desktop/itp04-rcp_example-feature-2_0.2.0_2/eclipse-repository/target/repository

osgi> provlg
example-feature-2.feature.group 0.2.0.201402181014
example-feature.feature.group 0.1.0.201402181014
example.product.id 0.1.0.201402181014
org.eclipse.equinox.p2.user.ui.feature.group 2.0.1.r361_v20100903-897HFa-FX0z-z-ntoaavz0JPX628
org.eclipse.rcp.feature.group 3.6.2.r362_v20101104-9SAxFMKFkSAqi8axkv1ZjegmiBLY

osgi> provinstall example-feature-2.feature.group 0.2.0.201402181014
Installation complete for example-feature-2.feature.group 0.2.0.201402181014

osgi> provaddrepo file:/Users/me/Desktop/itp04-rcp_example-feature-2_0.3.0/eclipse-repository/target/repository

osgi> provlg
example-feature-2.feature.group 0.2.0.201402181014
example-feature-2.feature.group 0.3.0.201402181020
example-feature.feature.group 0.1.0.201402181014
example-feature.feature.group 0.1.0.201402181020
example.product.id 0.1.0.201402181014
example.product.id 0.1.0.201402181020
org.eclipse.equinox.p2.user.ui.feature.group 2.0.1.r361_v20100903-897HFa-FX0z-z-ntoaavz0JPX628
org.eclipse.rcp.feature.group 3.6.2.r362_v20101104-9SAxFMKFkSAqi8axkv1ZjegmiBLY

osgi> provremove example-feature-2.feature.group 0.2.0.201402181014
Remove complete for example-feature-2.feature.group 0.2.0.201402181014

osgi> provinstall example-feature-2.feature.group 0.3.0.201402181020
Installation complete for example-feature-2.feature.group 0.3.0.201402181020

osgi> provlp DefaultProfile
a.jre.javase 1.6.0
com.ibm.icu 4.2.1.v20100412
config.a.jre.javase 1.6.0
example-bundle 0.1.0.201402181014
example-feature-2.feature.group 0.3.0.201402181020
example-feature-2.feature.jar 0.3.0.201402181020
example-feature.feature.group 0.1.0.201402181014
example-feature.feature.jar 0.1.0.201402181014
[...]

 

3.       There are tooling* entries in the profile (osgi> provlp DefaultProfile) that seem to be generated by Tycho and cause problems for updating via p2 console. I removed them by editing the newest profile in p2/org.eclipse.equinox.p2.engine/profileRegistry/DefaultProfile.profile with the following  2 steps. Then updating works.

·         Remove from <unit id='toolingexample.product.id.configuration’> the <required name=’tooling*’> entries referencing my bundles with tooling* prefix and

·         Remove from <unit id='example.product.id'> my feature



_______________________________________________
tycho-user mailing list
tycho-user@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/tycho-user


Back to the top