Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 325667 - p2 director command line application does not properly handle composite sites
Summary: p2 director command line application does not properly handle composite sites
Status: CLOSED FIXED
Alias: None
Product: Equinox
Classification: Eclipse Project
Component: p2 (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: P2 Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-09-17 20:40 EDT by Misha Koshelev CLA
Modified: 2010-09-20 16:44 EDT (History)
1 user (show)

See Also:


Attachments
Full source to composite site in reference. Thank you for your attention. (6.95 KB, application/x-bzip)
2010-09-17 20:41 EDT, Misha Koshelev CLA
no flags Details
Screenshot pre-GUI install showing my repositories and feature that I am installing (95.41 KB, image/png)
2010-09-18 15:17 EDT, Misha Koshelev CLA
no flags Details
Screenshot post-GUI install showing that install is successful (177.37 KB, image/png)
2010-09-18 15:17 EDT, Misha Koshelev CLA
no flags Details
Log of commandline install showing error - I tried _twice_ and got same error on clean eclipse directory (as you can see in log it is clean) (293.89 KB, text/plain)
2010-09-18 15:20 EDT, Misha Koshelev CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Misha Koshelev CLA 2010-09-17 20:40:01 EDT
Build Identifier: 20100617-1415

p2 director checks all sites on a composite site for the proper IU, but does not resolve dependencies using all sites.

misha@misha-d630:/tmp/1/eclipse$ ./eclipse -nosplash -application org.eclipse.equinox.p2.director -repository http://openmrs-composite-update-site.googlecode.com/svn/trunk/update/ -installIU openmrs_deps_1.6.feature.group
Installing openmrs_deps_1.6.feature.group 1.0.0.201009171731.
Installation failed.
Cannot complete the install because one or more required items could not be found.
 Software being installed: OpenMRS Dependencies Subclipse 1.6 1.0.0.201009171731 (openmrs_deps_1.6.feature.group 1.0.0.201009171731)
 Missing requirement: OpenMRS Dependencies Subclipse 1.6 1.0.0.201009171731 (openmrs_deps_1.6.feature.group 1.0.0.201009171731) requires 'org.tigris.subversion.clientadapter.feature.feature.group 1.6.0' but it could not be found
Application failed, log file location: /tmp/1/eclipse/configuration/1284770276293.log

Thank you
Misha

Reproducible: Always
Comment 1 Misha Koshelev CLA 2010-09-17 20:41:56 EDT
Created attachment 179160 [details]
Full source to composite site in reference. Thank you for your attention.
Comment 2 Pascal Rapicault CLA 2010-09-18 13:45:09 EDT
The repository available at http://openmrs-composite-update-site.googlecode.com/svn/trunk/update/ is not a composite repository (http://wiki.eclipse.org/Equinox/p2/Composite_Repositories_(new)). The behaviour you observe is the desired one.
You can either create a proper composite repo, or list multiple repositories on the command line.
Comment 3 Misha Koshelev CLA 2010-09-18 14:44:30 EDT
I am very sorry, the command should have been:
./eclipse -nosplash -application org.eclipse.equinox.p2.director -repository http://openmrs-composite-update-site.googlecode.com/svn/trunk/ -installIU openmrs_deps_1.6.feature.group

_without_ the update.

The update part is a regular update site, but trunk is a composite site.

I am currently retrying, with a full command as so:
./eclipse -nosplash -application org.eclipse.equinox.p2.director -repository http://openmrs-composite-update-site.googlecode.com/svn/trunk/,http://download.eclipse.org/eclipse/updates/3.6,http://download.eclipse.org/releases/helios,http://download.eclipse.org/webtools/repository/helios/,http://download.eclipse.org/tools/mylyn/update/helios -installIU openmrs_deps_1.6.feature.group

including all default repositories.

Will report results.

Thank you
Misha
Comment 4 Misha Koshelev CLA 2010-09-18 15:17:14 EDT
Created attachment 179185 [details]
Screenshot pre-GUI install showing my repositories and feature that I am installing
Comment 5 Misha Koshelev CLA 2010-09-18 15:17:41 EDT
Created attachment 179186 [details]
Screenshot post-GUI install showing that install is successful
Comment 6 Misha Koshelev CLA 2010-09-18 15:20:50 EDT
Created attachment 179187 [details]
Log of commandline install showing error - I tried _twice_ and got same error on clean eclipse directory (as you can see in log it is clean)

Perhaps this tickles some other Eclipse bug (?) but clearly the command line install is not working and I have done my best to match GUI install. The relevant error is:

java.io.FileNotFoundException: /opt/public/technology/epp/epp_build/36/eclipse.S-3.6RC4-201006031500/artifacts.xml (No such file or directory)
	at java.io.FileOutputStream.open(Native Method)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
	at java.io.FileOutputStream.<init>(FileOutputStream.java:131)
	at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.save(SimpleArtifactRepository.java:951)
	at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.save(SimpleArtifactRepository.java:932)
	at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.<init>(SimpleArtifactRepository.java:322)
	at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepositoryFactory.create(SimpleArtifactRepositoryFactory.java:129)
	at org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager.factoryCreate(ArtifactRepositoryManager.java:60)
	at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.doCreateRepository(AbstractRepositoryManager.java:284)
	at org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager.createRepository(ArtifactRepositoryManager.java:48)
	at org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util.getBundlePoolRepository(Util.java:87)
	at org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseMarkSetProvider.getMarkSets(EclipseMarkSetProvider.java:41)
	at org.eclipse.equinox.internal.p2.garbagecollector.GarbageCollector$ParameterizedSafeRunnable.run(GarbageCollector.java:69)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
...
(see log for full stacktrace)

I would appreciate another look at this bug from your end.

Thank you
Misha

p.s. I am filing these bugs as I think the command line p2 director feature is quite neat and could be quite a time saver if I can get it to work for our needs. Thank you.
Comment 7 DJ Houghton CLA 2010-09-20 16:30:14 EDT
Reopening based on latest user comments.
Comment 8 Misha Koshelev CLA 2010-09-20 16:44:47 EDT
My apologies. I was modifying the composite site and noticed that a GUI install results in the same error.

I duplicated the command line install and double checked and in fact the command line install _succeeds_.

Thus, there is clearly _some_ bug with respect to the stack trace, but it is present both in the command line and GUI versions, and both _work_.

Sorry to bother you unnecessarily with the re-opening.

Thank you for your patience.

Yours
Misha Koshelev