[Esbox-commits] r1046 - in branches/work_Petr/org.maemo.esbox.scratchbox.sb2: conf src/org/maemo/esbox/internal/api/scratchbox/sb2/core src/org/maemo/esbox/internal/scratchbox/sb2/launcher

baranov at garage.maemo.org baranov at garage.maemo.org
Fri Dec 5 13:14:26 EET 2008


Author: baranov
Date: 2008-12-05 13:14:26 +0200 (Fri, 05 Dec 2008)
New Revision: 1046

Modified:
   branches/work_Petr/org.maemo.esbox.scratchbox.sb2/conf/sb2_prefs.xml
   branches/work_Petr/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/api/scratchbox/sb2/core/SB2PreferenceConstants.java
   branches/work_Petr/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/launcher/Scratchbox2ProcessLauncher.java
Log:
support for -R option

Modified: branches/work_Petr/org.maemo.esbox.scratchbox.sb2/conf/sb2_prefs.xml
===================================================================
--- branches/work_Petr/org.maemo.esbox.scratchbox.sb2/conf/sb2_prefs.xml	2008-12-05 08:08:32 UTC (rev 1045)
+++ branches/work_Petr/org.maemo.esbox.scratchbox.sb2/conf/sb2_prefs.xml	2008-12-05 11:14:26 UTC (rev 1046)
@@ -15,8 +15,9 @@
 	<entry key="SB2_EMULATE_MAPPING_MODE">emulate</entry>
 	<entry key="SB2_LOG_LEVEL"></entry>
 	
-	<entry key="SB2_EXEC_COMMAND">sb2 -J ${SESSION_FILE} -Qx -m ${MAPPING_MODE} ${LOG_OPTION} -t ${TARGET} "${{COMMAND}} ${{ARGS}}"</entry>
-
+	<entry key="SB2_EXEC_COMMAND">sb2 ${RUN_AS_ROOT} -J ${SESSION_FILE} -Qx -m ${MAPPING_MODE} ${LOG_OPTION} -t ${TARGET} "${{COMMAND}} ${{ARGS}}"</entry>
+	<entry key="SB2_RUN_AS_ROOT_OPTION">-R</entry>
+	
 	<!-- this qemu-arm link is expected to be valid; we don't try to substitute unlike for sb1: see GetGdbQemuCommandPatternCommand -->
 	<entry key="SB2_GDB_REMOTE_QEMU">sb2-qemu-arm -g ${PORT}</entry>
 	

Modified: branches/work_Petr/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/api/scratchbox/sb2/core/SB2PreferenceConstants.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/api/scratchbox/sb2/core/SB2PreferenceConstants.java	2008-12-05 08:08:32 UTC (rev 1045)
+++ branches/work_Petr/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/api/scratchbox/sb2/core/SB2PreferenceConstants.java	2008-12-05 11:14:26 UTC (rev 1046)
@@ -53,5 +53,6 @@
 	public static final String SB2_SB2_SHOW_PATH_ACTION = "SB2_SB2_SHOW_PATH_ACTION";
 	public static final String SB2_SB2_SHOW_PATH_OUTPUT_PATTERN = "SB2_SB2_SHOW_PATH_OUTPUT_PATTERN";
 	public static final String SB2_MAEMO_ROOTSTRAP_PATH_ACT = "SB2_MAEMO_ROOTSTRAP_PATH_ACT";
+	public static final String SB2_RUN_AS_ROOT_OPTION="SB2_RUN_AS_ROOT_OPTION";
 
 }

Modified: branches/work_Petr/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/launcher/Scratchbox2ProcessLauncher.java
===================================================================
--- branches/work_Petr/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/launcher/Scratchbox2ProcessLauncher.java	2008-12-05 08:08:32 UTC (rev 1045)
+++ branches/work_Petr/org.maemo.esbox.scratchbox.sb2/src/org/maemo/esbox/internal/scratchbox/sb2/launcher/Scratchbox2ProcessLauncher.java	2008-12-05 11:14:26 UTC (rev 1046)
@@ -37,12 +37,9 @@
 			IPath workingDirectory, List<String> cmdLine,
 			IEnvironmentModifierBlock environmentModifierBlock, String modeKey,
 			boolean runAsRoot) {
-		super(encodeArgumentArray(sdkTarget, cmdLine, modeKey),
+		super(encodeArgumentArray(sdkTarget, cmdLine, modeKey,runAsRoot),
 				environmentModifierBlock, workingDirectory,
 				sdkTarget);
-		if (runAsRoot) {
-			getLaunchCommandArguments().add(0, "sudo");
-		}
 		if (sdkTarget == null)
 			throw new IllegalArgumentException();
 		this.sdkTarget = sdkTarget;
@@ -60,13 +57,18 @@
 	}
 
 	private static List<String> encodeArgumentArray(IScratchbox2SDKTarget sdkTarget,
-			List<String> cmdLine, String modeKey) {
+			List<String> cmdLine, String modeKey,boolean runAsRoot) {
 
 		// Encode the launch command by replacing the arguments
 		// representing template arguments with the actual values.
 		//
 		ShellTemplateSubstitutor substitutor = new ShellTemplateSubstitutor();
-
+		if(runAsRoot){
+			substitutor.define("RUN_AS_ROOT", 
+					sdkTarget.getPreferenceValue(SB2PreferenceConstants.SB2_RUN_AS_ROOT_OPTION));
+		}else{
+			substitutor.define("RUN_AS_ROOT", "");
+		}
 		substitutor.define("TARGET", sdkTarget.getName());
 		try {
 			substitutor.define("SESSION_FILE", sdkTarget.getSession());



More information about the Esbox-commits mailing list