Ping On 03/09/2016 05:22 PM, Jose Lamego wrote: > From: Adrian Dudau <adrian.du...@enea.com> > > Fixes [Yocto 4423] > Porting commit a80114b5d1c8d774fd9271da48a38654321d4817 from > the Juno branch. > > Signed-off-by: Jose Lamego <jose.a.lam...@linux.intel.com> > --- > .../src/org/yocto/remote/utils/ShellSession.java | 6 +++-- > .../src/org/yocto/sdk/remotetools/Messages.java | 1 + > .../sdk/remotetools/actions/SystemtapHandler.java | 3 ++- > .../sdk/remotetools/actions/SystemtapModel.java | 5 ++-- > .../actions/SystemtapSettingDialog.java | 28 > ++++++++++++++++++++++ > .../org/yocto/sdk/remotetools/messages.properties | 3 ++- > 6 files changed, 40 insertions(+), 6 deletions(-) > > diff --git > a/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/ShellSession.java > b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/ShellSession.java > index 4ac8001..2a4dbf5 100644 > --- > a/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/ShellSession.java > +++ > b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/ShellSession.java > @@ -46,6 +46,7 @@ public class ShellSession { > private String shellPath = null; > private final String initCmd; > private final File root; > + private final File builddir; > > private OutputStreamWriter out; > > @@ -68,8 +69,9 @@ public class ShellSession { > return sb.toString(); > } > > - public ShellSession(int shellType, File root, String initCmd, > OutputStream out) throws IOException { > + public ShellSession(int shellType, File root, File builddir, String > initCmd, OutputStream out) throws IOException { > this.root = root; > + this.builddir = builddir; > this.initCmd = initCmd; > if (out == null) { > this.out = new OutputStreamWriter(null); > @@ -93,7 +95,7 @@ public class ShellSession { > } > > if (initCmd != null) { > - execute("source " + initCmd); > + execute("source " + initCmd + " " + > builddir.getAbsolutePath()); > } > } > > diff --git > a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/Messages.java > > b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/Messages.java > index 093118d..16f5dc8 100644 > --- > a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/Messages.java > +++ > b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/Messages.java > @@ -40,6 +40,7 @@ public class Messages extends NLS { > public static String TerminalViewer_text; > //public static String Systemtap_KO_Text; > public static String Metadata_Location; > + public static String Builddir_Location; > public static String User_ID; > public static String Remote_User_ID; > public static String Remote_Host; > diff --git > a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapHandler.java > > b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapHandler.java > index 79048aa..86c963f 100644 > --- > a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapHandler.java > +++ > b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapHandler.java > @@ -53,6 +53,7 @@ public class SystemtapHandler extends AbstractHandler { > if(setting.open() == BaseSettingDialog.OK) { > > String metadata_location = > ((SystemtapSettingDialog)setting).getMetadataLocation(); > + String builddir_location = > ((SystemtapSettingDialog)setting).getBuilddirLocation(); > String remote_host = > ((SystemtapSettingDialog)setting).getRemoteHost(); > String user_id = > ((SystemtapSettingDialog)setting).getUserID(); > String systemtap_script = > ((SystemtapSettingDialog)setting).getSystemtapScript(); > @@ -66,7 +67,7 @@ public class SystemtapHandler extends AbstractHandler { > if (terminalSubSystem != null) { > TerminalsUI terminalsUI = > TerminalsUI.getInstance(); > TerminalViewer terminalViewer = > terminalsUI.activateTerminalsView(); > - SystemtapModel op = new > SystemtapModel(metadata_location,remote_host, user_id, systemtap_script, > + SystemtapModel op = new > SystemtapModel(metadata_location,builddir_location,remote_host, user_id, > systemtap_script, > > systemtap_args,window.getShell().getDisplay()); > try { > op.setHost(host); > diff --git > a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapModel.java > > b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapModel.java > index c769574..2a76bbd 100644 > --- > a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapModel.java > +++ > b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapModel.java > @@ -37,6 +37,7 @@ public class SystemtapModel extends BaseModel { > > protected MessageConsole sessionConsole; > private String metadata_location; > + private String builddir_location; > private String remote_host; > private String user_id; > private String systemtap_script; > @@ -44,7 +45,7 @@ public class SystemtapModel extends BaseModel { > > Display display; > > - public SystemtapModel(String metadata_location, String remote_host, > String user_id, String systemtap_script, String systemtap_args, Display > display) { > + public SystemtapModel(String metadata_location, String > builddir_location, String remote_host, String user_id, String > systemtap_script, String systemtap_args, Display display) { > super(null, TASK_NAME, "", ""); > this.metadata_location = metadata_location; > this.remote_host = remote_host; > @@ -89,7 +90,7 @@ public class SystemtapModel extends BaseModel { > throws InvocationTargetException, InterruptedException { > try { > ShellSession shell = new > ShellSession(ShellSession.SHELL_TYPE_BASH, > - > new File(this.metadata_location), > + > new File(this.metadata_location), new > File(this.builddir_location), > > DEFAULT_INIT_SCRIPT, sessionConsole.newOutputStream()); > boolean acceptedKey = shell.ensureKnownHostKey(user_id, > remote_host); > if (acceptedKey) { > diff --git > a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapSettingDialog.java > > b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapSettingDialog.java > index 2b90727..5c14c9a 100644 > --- > a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapSettingDialog.java > +++ > b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/SystemtapSettingDialog.java > @@ -37,18 +37,21 @@ public class SystemtapSettingDialog extends Dialog { > static protected String TITLE="Systemtap Crosstap"; > protected String title; > protected String metadata_location; > + protected String builddir_location; > protected String systemtap_script; > protected String user_id; > protected String remote_host; > protected String systemtap_args; > protected boolean okPressed; > protected Button metadataLocationBtn; > + protected Button builddirLocationBtn; > protected Button systemtapScriptBtn; > protected Text userIDText; > protected Text remoteHostText; > protected Text systemtapArgsText; > protected Text systemtapScriptText; > protected Text metadataLocationText; > + protected Text builddirLocationText; > > protected SystemtapSettingDialog(Shell parentShell, String title) { > super(parentShell); > @@ -74,6 +77,10 @@ public class SystemtapSettingDialog extends Dialog { > public String getMetadataLocation() { > return metadata_location; > } > + > + public String getBuilddirLocation() { > + return builddir_location; > + } > > public String getRemoteHost() { > return remote_host; > @@ -119,6 +126,14 @@ public class SystemtapSettingDialog extends Dialog { > metadataLocationBtn = addDirSelectButton(textContainer, > metadataLocationText); > > label = new Label(projComp, SWT.NONE); > + label.setText(Messages.Builddir_Location); > + textContainer = new Composite(projComp, SWT.NONE); > + textContainer.setLayout(new GridLayout(2, false)); > + textContainer.setLayoutData(new GridData(SWT.FILL, > SWT.CENTER, true, false)); > + builddirLocationText = (Text)addTextControl(textContainer, > builddir_location); > + builddirLocationBtn = addDirSelectButton(textContainer, > builddirLocationText); > + > + label = new Label(projComp, SWT.NONE); > label.setText(Messages.Remote_User_ID); > userIDText = new Text(projComp, SWT.SINGLE | SWT.BORDER); > > @@ -219,6 +234,19 @@ public class SystemtapSettingDialog extends Dialog { > CommonHelper.showErrorDialog("SystemTap Error", null, > "The specified metadata location is not a directory!"); > return; > } > + builddir_location = builddirLocationText.getText(); > + if ( (builddir_location == null) || > builddir_location.isEmpty()) { > + CommonHelper.showErrorDialog("SystemTap Error", > null, "Please specify your builddir location!"); > + return; > + } > + File builddir_dir = new File(builddir_location); > + if (!builddir_dir.exists()) { > + CommonHelper.showErrorDialog("SystemTap Error", > null, "The specified builddir location does not exist!"); > + } > + if (!metadata_dir.isDirectory()) { > + CommonHelper.showErrorDialog("SystemTap Error", > null, "The specified builddir location is not a directory!"); > + return; > + } > user_id = userIDText.getText(); > if ( (user_id == null) || user_id.isEmpty()) { > CommonHelper.showErrorDialog("SystemTap Error", null, > "Please specify remote user id!"); > diff --git > a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/messages.properties > > b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/messages.properties > index bc065b9..173897a 100644 > --- > a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/messages.properties > +++ > b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/messages.properties > @@ -35,6 +35,7 @@ Powertop_ShowPid_Text=show pids in wakeups list > TerminalViewer_text=This view is dedicated to Yocto Remote tools. Please use > the "Yocto Remote Tools" menu to open the view. > //Systemtap_KO_Text=Kernel Module: > Metadata_Location=Metadata Location: > +Builddir_Location=Build dir Location: > User_ID=User ID: > Remote_User_ID=Remote User ID: > Remote_Host=Remote Host: > @@ -46,4 +47,4 @@ LocalJob_Title=Launching local application > ErrorLocalJob=Failed in launching local application > > RemoteShellExec_1=Executing {0} {1} > -RemoteShellExec_2=Could not create the hostShellProcess.\n > \ No newline at end of file > +RemoteShellExec_2=Could not create the hostShellProcess.\n >
-- Jose Lamego | OTC Embedded Platforms & Tools | GDC
signature.asc
Description: OpenPGP digital signature
-- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto