Skip to main content

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

 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


Back to the top