Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Rapicault2010-04-11 00:27:12 -0400
committerPascal Rapicault2010-04-11 00:27:12 -0400
commit90b2e1443edb717a2d14167e13aa642de13f001e (patch)
tree47427a4e1bbb7c41c7e3aa135abff35f1ae55eea /bundles/org.eclipse.equinox.p2.artifact.repository
parentc500ee5d5c7c9347b3a16d1cbebd51ca42a2e563 (diff)
downloadrt.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"
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.artifact.repository')
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pack200/Pack200ProcessorStep.java19
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() {

Back to the top