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