Home » Eclipse Projects » P2 » Can p2 dropins be used to update existing plugins?
Can p2 dropins be used to update existing plugins? [message #663902] |
Wed, 06 April 2011 14:42  |
Eclipse User |
|
|
|
I am trying to get automated updating of specific plugins through the dropins and am having trouble. I have read about dropins being used to add new plugins but nothing about updating existing plugins. Will p2 dropins work for this? If not, what would the route be to get this working? We deliver our full application to our users via RPMs which they install and they need us to be able to provide patches to specific plugins or groups of plugins via RPMs as well. So I figured that our update RPMs would drop updated plugins into the dropins directory for auto updating next startup. Does anyone have any experience with this?
BTW (this might not be important but...) the application is shared application so multiple users run it from a shared mount point and none have write access to that specific directory.
Thanks
Max
|
|
| | |
Re: Can p2 dropins be used to update existing plugins? [message #666653 is a reply to message #666558] |
Thu, 21 April 2011 09:17   |
Eclipse User |
|
|
|
On 04/20/2011 08:37 PM, Justin wrote:
> Is there another hack to make dropins support replacing a single plugin?
No, that code is poison :-)
> We don't have any UI to support updates, so it would have to work
> headless. Is the director the best/only option? I'd like to be able to
> patch single bundles across many application installs, without updating
> a p2 site and adding self update.
The p2 director can be used to create installs of RCP apps and update
them, all without having any p2 code in the app itself. Or only the
most basic p2, like simpleconfigurator + support (that reads the
bundles.info), using an external director avoids dragging in
self-updating code that you don't need.
Building plugins can generate p2 metadata, in effect creating small p2
repos that can be distributed as a .zip (instead of making it a full
update site on http, for example).
But you still need an eclipse with p2 support somewhere, to manage the
installs if p2 is not really part of your apps.
PW
--
Paul Webster
http://wiki.eclipse.org/Platform_Command_Framework
http://wiki.eclipse.org/Command_Core_Expressions
http://wiki.eclipse.org/Platform_Expression_Framework
http://wiki.eclipse.org/Menu_Contributions
http://wiki.eclipse.org/Menus_Extension_Mapping
http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse. platform.doc.isv/guide/workbench.htm
|
|
| | | | | |
Re: Can p2 dropins be used to update existing plugins? [message #666825 is a reply to message #666711] |
Fri, 22 April 2011 16:48   |
Eclipse User |
|
|
|
So I've got my application building properly and have moved to using the director to install and update my features. I am running into an issue now where I cannot install the pydev feature using the director due to untrusted jar signatures. Here is a link on it in pydev, apparently they think it is eclipse's job to allow untrusted signed jars to be installed with the director. http://sourceforge.net/tracker/index.php?func=detail&aid =3097682&group_id=85796&atid=577329
Is there any way to circumvent the security checking on the signing and force the installation of pydev?
Edit: Here is some error output:
Problems downloading artifact: osgi.bundle,org.python.pydev,1.6.5.2011020317.
Error reading signed content:/tmp/signatureFile8739107837822520481.jar
Caused by: java.security.SignatureException: An error occurred while processing the signatures for the file: /tmp/signatureFile8739107837822520481.jar
Caused by: java.security.SignatureException: Either the manifest file or the signature file has been tampered in this jar: /tmp/signatureFile8739107837822520481.jar
Problems downloading artifact: osgi.bundle,org.python.pydev.ast,1.6.5.2011020317.
Error reading signed content:/tmp/signatureFile6536737159620387686.jar
Caused by: java.security.SignatureException: An error occurred while processing the signatures for the file: /tmp/signatureFile6536737159620387686.jar
Caused by: java.security.SignatureException: Either the manifest file or the signature file has been tampered in this jar: /tmp/signatureFile6536737159620387686.jar
Problems downloading artifact: osgi.bundle,org.python.pydev.core,1.6.5.2011020317.
Error reading signed content:/tmp/signatureFile7873137977705228276.jar
Caused by: java.security.SignatureException: An error occurred while processing the signatures for the file: /tmp/signatureFile7873137977705228276.jar
Caused by: java.security.SignatureException: Either the manifest file or the signature file has been tampered in this jar: /tmp/signatureFile7873137977705228276.jar
Problems downloading artifact: osgi.bundle,org.python.pydev.jython,1.6.5.2011020317.
Error reading signed content:/tmp/signatureFile3328232955984746023.jar
Caused by: java.security.SignatureException: An error occurred while processing the signatures for the file: /tmp/signatureFile3328232955984746023.jar
Caused by: java.security.SignatureException: Either the manifest file or the signature file has been tampered in this jar: /tmp/signatureFile3328232955984746023.jar
Problems downloading artifact: osgi.bundle,org.python.pydev.parser,1.6.5.2011020317.
Error reading signed content:/tmp/signatureFile4906840496634795862.jar
Caused by: java.security.SignatureException: An error occurred while processing the signatures for the file: /tmp/signatureFile4906840496634795862.jar
Caused by: java.security.SignatureException: Either the manifest file or the signature file has been tampered in this jar: /tmp/signatureFile4906840496634795862.jar
An error occurred while collecting items to be installed
org.eclipse.osgi Either the manifest file or the signature file has been tampered in this jar: /tmp/signatureFile4906840496634795862.jar
java.security.SignatureException: Either the manifest file or the signature file has been tampered in this jar: /tmp/signatureFile4906840496634795862.jar
at org.eclipse.osgi.internal.signedcontent.SignatureBlockProces sor.verifyManifestAndSignatureFile(SignatureBlockProcessor.j ava:154)
at org.eclipse.osgi.internal.signedcontent.SignatureBlockProces sor.processSigner(SignatureBlockProcessor.java:104)
at org.eclipse.osgi.internal.signedcontent.SignatureBlockProces sor.process(SignatureBlockProcessor.java:60)
at org.eclipse.osgi.internal.signedcontent.SignedBundleFile.set BundleFile(SignedBundleFile.java:47)
at org.eclipse.osgi.internal.signedcontent.SignedBundleHook.get SignedContent(SignedBundleHook.java:247)
at org.eclipse.equinox.internal.p2.artifact.repository.Signatur eVerifier.verifyContent(SignatureVerifier.java:77)
at org.eclipse.equinox.internal.p2.artifact.repository.Signatur eVerifier.verify(SignatureVerifier.java:59)
at org.eclipse.equinox.internal.p2.artifact.repository.Signatur eVerifier.close(SignatureVerifier.java:100)
at org.eclipse.equinox.internal.p2.artifact.repository.simple.S impleArtifactRepository.reportStatus(SimpleArtifactRepositor y.java:906)
at org.eclipse.equinox.internal.p2.artifact.repository.simple.S impleArtifactRepository.downloadArtifact(SimpleArtifactRepos itory.java:510)
at org.eclipse.equinox.internal.p2.artifact.repository.simple.S impleArtifactRepository.getArtifact(SimpleArtifactRepository .java:576)
at org.eclipse.equinox.internal.p2.artifact.repository.MirrorRe quest.getArtifact(MirrorRequest.java:248)
at org.eclipse.equinox.internal.p2.artifact.repository.MirrorRe quest.transferSingle(MirrorRequest.java:223)
at org.eclipse.equinox.internal.p2.artifact.repository.MirrorRe quest.transfer(MirrorRequest.java:179)
at org.eclipse.equinox.internal.p2.artifact.repository.MirrorRe quest.perform(MirrorRequest.java:115)
at org.eclipse.equinox.internal.p2.artifact.repository.simple.S impleArtifactRepository.getArtifact(SimpleArtifactRepository .java:565)
at org.eclipse.equinox.internal.p2.artifact.repository.simple.S impleArtifactRepository.getArtifacts(SimpleArtifactRepositor y.java:616)
at org.eclipse.equinox.internal.p2.engine.DownloadManager.fetch (DownloadManager.java:88)
at org.eclipse.equinox.internal.p2.engine.DownloadManager.start (DownloadManager.java:77)
at org.eclipse.equinox.internal.p2.engine.phases.Collect.comple tePhase(Collect.java:76)
at org.eclipse.equinox.internal.p2.engine.Phase.postPerform(Pha se.java:216)
at org.eclipse.equinox.internal.p2.engine.Phase.perform(Phase.j ava:84)
at org.eclipse.equinox.internal.p2.engine.PhaseSet.perform(Phas eSet.java:44)
at org.eclipse.equinox.internal.p2.engine.Engine.perform(Engine .java:73)
at org.eclipse.equinox.internal.p2.engine.Engine.perform(Engine .java:44)
at org.eclipse.equinox.internal.provisional.p2.director.PlanExe cutionHelper.executePlan(PlanExecutionHelper.java:41)
at org.eclipse.equinox.internal.provisional.p2.director.PlanExe cutionHelper.executePlan(PlanExecutionHelper.java:23)
at org.eclipse.equinox.internal.p2.director.app.DirectorApplica tion.executePlan(DirectorApplication.java:575)
at org.eclipse.equinox.internal.p2.director.app.DirectorApplica tion.planAndExecute(DirectorApplication.java:569)
at org.eclipse.equinox.internal.p2.director.app.DirectorApplica tion.performProvisioningActions(DirectorApplication.java:556 )
at org.eclipse.equinox.internal.p2.director.app.DirectorApplica tion.run(DirectorApplication.java:807)
at org.eclipse.equinox.internal.p2.director.app.DirectorApplica tion.start(DirectorApplication.java:961)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
Max
[Updated on: Fri, 22 April 2011 16:52] by Moderator
|
|
| | | |
Goto Forum:
Current Time: Sat Jul 05 11:18:29 EDT 2025
Powered by FUDForum. Page generated in 0.04994 seconds
|