diff options
author | Pascal Rapicault | 2010-04-11 04:27:12 +0000 |
---|---|---|
committer | Pascal Rapicault | 2010-04-11 04:27:12 +0000 |
commit | 90b2e1443edb717a2d14167e13aa642de13f001e (patch) | |
tree | 47427a4e1bbb7c41c7e3aa135abff35f1ae55eea | |
parent | c500ee5d5c7c9347b3a16d1cbebd51ca42a2e563 (diff) | |
download | rt.equinox.p2-90b2e1443edb717a2d14167e13aa642de13f001e.tar.gz rt.equinox.p2-90b2e1443edb717a2d14167e13aa642de13f001e.tar.xz rt.equinox.p2-90b2e1443edb717a2d14167e13aa642de13f001e.zip |
Bug 297741 - [repo] Installing from update site fails with "Unpack facility not configured"
-rw-r--r-- | bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pack200/Pack200ProcessorStep.java | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pack200/Pack200ProcessorStep.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pack200/Pack200ProcessorStep.java index 8bf32b705..fa96f4b42 100644 --- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pack200/Pack200ProcessorStep.java +++ b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pack200/Pack200ProcessorStep.java @@ -18,6 +18,7 @@ import org.eclipse.equinox.internal.p2.artifact.processing.AbstractBufferingStep import org.eclipse.equinox.internal.p2.artifact.repository.Activator; import org.eclipse.equinox.internal.p2.core.helpers.FileUtils; import org.eclipse.equinox.internal.p2.jarprocessor.UnpackStep; +import org.eclipse.equinox.internal.p2.jarprocessor.Utils; import org.eclipse.equinox.p2.core.IProvisioningAgent; import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor; import org.eclipse.equinox.p2.repository.artifact.IProcessingStepDescriptor; @@ -29,6 +30,7 @@ import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessorExec */ public class Pack200ProcessorStep extends AbstractBufferingStep { public static final String PACKED_SUFFIX = ".pack.gz"; //$NON-NLS-1$ + private static boolean detailedResult = false; private File incoming; @@ -39,8 +41,21 @@ public class Pack200ProcessorStep extends AbstractBufferingStep { public void initialize(IProvisioningAgent agent, IProcessingStepDescriptor descriptor, IArtifactDescriptor context) { super.initialize(agent, descriptor, context); - if (!UnpackStep.canUnpack()) - setStatus(new Status(IStatus.ERROR, Activator.ID, "Unpack facility not configured")); //$NON-NLS-1$ + if (!UnpackStep.canUnpack()) { + IStatus status = null; + if (detailedResult) { + status = new Status(IStatus.ERROR, Activator.ID, "Unpack facility not configured."); //$NON-NLS-1$ + detailedResult = true; + } else { + String[] locations = Utils.getPack200Commands("unpack200"); //$NON-NLS-1$ + StringBuffer locationTried = new StringBuffer(100); + for (int i = 0; i < locations.length; i++) { + locationTried.append(locations[i]).append(", "); //$NON-NLS-1$ + } + status = new Status(IStatus.ERROR, Activator.ID, "Unpack facility not configured. The locations searched for unpack200 are: " + locationTried); //$NON-NLS-1$ + } + setStatus(status); + } } protected void cleanupTempFiles() { |