Bug 292935. [ds] need to add a p2.inf to set the equinox.use.ds property
diff --git a/bundles/org.eclipse.equinox.ds/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.ds/META-INF/MANIFEST.MF
index 77fc831..7dbd3d2 100644
--- a/bundles/org.eclipse.equinox.ds/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.ds/META-INF/MANIFEST.MF
@@ -20,6 +20,7 @@
  org.eclipse.equinox.internal.util.timer;version="1.0",
  org.eclipse.osgi.framework.console;version="1.0",
  org.eclipse.osgi.service.debug;version="1.0",
+ org.eclipse.osgi.service.environment;version="1.2.0",
  org.eclipse.osgi.util,
  org.osgi.framework;version="1.3",
  org.osgi.service.cm;version="1.2",
diff --git a/bundles/org.eclipse.equinox.ds/src/org/eclipse/equinox/internal/ds/Activator.java b/bundles/org.eclipse.equinox.ds/src/org/eclipse/equinox/internal/ds/Activator.java
index 47f79b6..12de53e 100644
--- a/bundles/org.eclipse.equinox.ds/src/org/eclipse/equinox/internal/ds/Activator.java
+++ b/bundles/org.eclipse.equinox.ds/src/org/eclipse/equinox/internal/ds/Activator.java
@@ -17,6 +17,7 @@
 import org.eclipse.equinox.internal.util.ref.Log;
 import org.eclipse.osgi.framework.console.CommandProvider;
 import org.eclipse.osgi.service.debug.DebugOptions;
+import org.eclipse.osgi.service.environment.EnvironmentInfo;
 import org.osgi.framework.*;
 import org.osgi.service.cm.*;
 import org.osgi.service.component.ComponentConstants;
@@ -167,6 +168,17 @@
 			// initialized yet
 			bundleContext.addBundleListener(this);
 		}
+		ServiceReference envInfoRef = bc.getServiceReference(EnvironmentInfo.class.getName());
+		EnvironmentInfo envInfo = null;
+		if (envInfoRef != null) {
+			envInfo = (EnvironmentInfo) bc.getService(envInfoRef);
+		}
+		if (envInfo != null) {
+			envInfo.setProperty("equinox.use.ds", "true"); //$NON-NLS-1$//$NON-NLS-2$
+			bc.ungetService(envInfoRef);
+		} else {
+			System.setProperty("equinox.use.ds", "true"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
 		if (startup) {
 			log.debug("[END - start method] Activator.start() method executed for " + String.valueOf(time[0] - time[2]), null); //$NON-NLS-1$
 			time = null;
@@ -197,6 +209,17 @@
 		} else {
 			bundleContext.removeBundleListener(this);
 		}
+		ServiceReference envInfoRef = bc.getServiceReference(EnvironmentInfo.class.getName());
+		EnvironmentInfo envInfo = null;
+		if (envInfoRef != null) {
+			envInfo = (EnvironmentInfo) bc.getService(envInfoRef);
+		}
+		if (envInfo != null) {
+			envInfo.setProperty("equinox.use.ds", "false"); //$NON-NLS-1$//$NON-NLS-2$
+			bc.ungetService(envInfoRef);
+		} else {
+			System.setProperty("equinox.use.ds", "false"); //$NON-NLS-1$ //$NON-NLS-2$
+		}
 
 		log.close();
 		log = null;