| Summary: | Feature patch not detected having moved eclipse product | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [Eclipse Project] Equinox | Reporter: | James Blackburn <jamesblackburn+eclipse> | ||||||||||
| Component: | p2 | Assignee: | P2 Inbox <equinox.p2-inbox> | ||||||||||
| Status: | RESOLVED WORKSFORME | QA Contact: | |||||||||||
| Severity: | normal | ||||||||||||
| Priority: | P3 | CC: | mober.at+eclipse | ||||||||||
| Version: | 3.6 | ||||||||||||
| Target Milestone: | --- | ||||||||||||
| Hardware: | PC | ||||||||||||
| OS: | Linux-GTK | ||||||||||||
| Whiteboard: | |||||||||||||
| Attachments: |
|
||||||||||||
Created attachment 168742 [details]
Local using rc1 (works)
Created attachment 168743 [details]
remote m6 (works)
Martin I know you use dropins as well -- have you had any problems with M7 / RC1 and reconciling? Also, if I don't turn on p2.core tracing, all I get in the error log is this: !ENTRY org.eclipse.equinox.p2.director 4 1 2010-05-17 16:58:57.705 !MESSAGE No solution found because the problem is unsatisfiable. !SUBENTRY 1 org.eclipse.equinox.p2.director 4 1 2010-05-17 16:58:57.705 !MESSAGE No solution found because the problem is unsatisfiable. which doesn't give me any clue as to what's gone wrong. We haven't upgraded to RC1 yet, and I haven't seen any problems with M7. But we don't do any feature patch via dropins. Created attachment 168777 [details] metadata.log without additional features (In reply to comment #5) > But we don't do any feature patch via dropins. Hmm. That's an interesting point. I install our product + the feature patch 'properly' using p2.director: ./eclipse -application org.eclipse.equinox.p2.director -consolelog -nosplash \ -metadataRepository file:$PLUGINS_PATH \ -artifactRepository file:$PLUGINS_PATH \ -installIU com.broadcom.cdt.feature.feature.group 2>&1 | tee -a $LOG_PATH There are no errors reported here. Looking at the configuration (copied in from help). My custom core.resources is ACTIVE. It just looks like p2 is incorrectly trying to resolve the platform core.resources and not picking up there's a feature patch. I've changed the summary as this seems to be an issue with p2 resolving the feature patch when the eclipse product has a different (apparent) root. It's interesting that when running this (without tracing) from the first p2.director install'd location there are no errors at all in the workspace metadata .log when using a fresh config + workspace. I've worked around the issues:
1) I've got rid of the symlink by using a Linux bind mount:
mount --bind /path/to/dir1 /path/to/dir2
Causes part of the filesystem tree to be mounted elsewhere
2) RC1 seemed to have an issue installing(/reconciling) features which define an install-handler (like ccrc). This seems to work again in rc2
3) Using the same p2 configuration directory when switch backwards and forwards between platform releases (m6, m7, rc1) breaks p2 so that it stops being able to install anything.
I'm now using separate configurations for every base release.
|
Created attachment 168741 [details] remote with rc1 This is a really odd one. It seems to have appeared between m6 and m7, and I can reproduce on rc1. I build a product based off the platform runtime. I install my features using p2, and this includes a platform feature patch. In the case of RC1, the patch targets Feature ID: org.eclipse.platform Feature Version: 3.6.0.v20100512-9gF78GpqFsgprEYh7z-Q7acirDtvcwz-ebYa provides: org.eclipse.core.resources:3.6.100 org.eclipse.ui.ide:3.6.100 everything builds, installs and runs fine, locally. We have wrapper scripts that, using dropins, adds external features as link files. However having synced the product over to another site, reconciling doesn't work. The only difference between this site and the other site (that I can find) is that /projects/ is a symlink to /local/projects/. I've turned on reconciler debugging: org.eclipse.equinox.p2.engine/enginesession/debug=true org.eclipse.equinox.p2.engine/engine/debug=true org.eclipse.equinox.p2.engine/profileregistry/debug=true org.eclipse.equinox.p2.core/debug=true org.eclipse.equinox.p2.core/reconciler=true On the remote site I see in the metadata log: !ENTRY org.eclipse.equinox.p2.director 2 0 2010-05-17 15:18:23.824 !MESSAGE Problems resolving provisioning plan. !SUBENTRY 1 org.eclipse.equinox.p2.director 2 0 2010-05-17 15:18:23.824 !MESSAGE Unable to satisfy dependency from org.eclipse.platform.feature.group 3.6.0.v20100512-9gF78GpqFsgprEYh7z-Q7acirDtvcwz-ebYa to org.eclipse.core.resources [3.6.0.V20100513-0800]. !SUBENTRY 1 org.eclipse.equinox.p2.director 2 0 2010-05-17 15:18:23.824 !MESSAGE Unable to satisfy dependency from org.eclipse.platform.feature.group 3.6.0.v20100512-9gF78GpqFsgprEYh7z-Q7acirDtvcwz-ebYa to org.eclipse.ui.ide [3.6.0.I20100513-0500]. however this works locally & on the remote using m6. My wrapper scripts are identical, and the shared eclipse install is both read-only and checksum identical (according to rsync). The only difference I can find is the sym-link at the root of the tree. Logs of the launch attached, the metadata log is at the end for remote-rc1 and local-rc1. Both sets of logs are starting from an empty configuration directory.