aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/xdsserver/apiv1-exec.go9
-rw-r--r--lib/xsapiv1/exec.go23
2 files changed, 21 insertions, 11 deletions
diff --git a/lib/xdsserver/apiv1-exec.go b/lib/xdsserver/apiv1-exec.go
index aea34e4..46c8148 100644
--- a/lib/xdsserver/apiv1-exec.go
+++ b/lib/xdsserver/apiv1-exec.go
@@ -83,6 +83,15 @@ func (s *APIService) execCmd(c *gin.Context) {
// Build command line
cmd := []string{}
+
+ // Reset by default LD_LIBRARY_PATH
+ // With new AGL SDK, New environment-setup-*-agl-linux file checks if
+ // LD_LIBRARY_PATH is set or not and not empty LD_LIBRARY_PATH is considered
+ // as misconfigured and prevent to use SDK
+ if !args.LdLibPathNoReset {
+ cmd = append(cmd, "unset LD_LIBRARY_PATH; ")
+ }
+
// Setup env var regarding Sdk ID (used for example to setup cross toolchain)
if envCmd := s.sdks.GetEnvCmd(args.SdkID, prj.DefaultSdk); len(envCmd) > 0 {
cmd = append(cmd, envCmd...)
diff --git a/lib/xsapiv1/exec.go b/lib/xsapiv1/exec.go
index 78f05e2..0364999 100644
--- a/lib/xsapiv1/exec.go
+++ b/lib/xsapiv1/exec.go
@@ -20,17 +20,18 @@ package xsapiv1
type (
// ExecArgs JSON parameters of /exec command
ExecArgs struct {
- ID string `json:"id" binding:"required"`
- SdkID string `json:"sdkID"` // sdk ID to use for setting env
- CmdID string `json:"cmdID"` // command unique ID
- Cmd string `json:"cmd" binding:"required"`
- Args []string `json:"args"`
- Env []string `json:"env"`
- RPath string `json:"rpath"` // relative path into project
- TTY bool `json:"tty"` // Use a tty, specific to gdb --tty option
- TTYGdbserverFix bool `json:"ttyGdbserverFix"` // Set to true to activate gdbserver workaround about inferior output
- ExitImmediate bool `json:"exitImmediate"` // when true, exit event sent immediately when command exited (IOW, don't wait file synchronization)
- CmdTimeout int `json:"timeout"` // command completion timeout in Second
+ ID string `json:"id" binding:"required"`
+ SdkID string `json:"sdkID"` // sdk ID to use for setting env
+ CmdID string `json:"cmdID"` // command unique ID
+ Cmd string `json:"cmd" binding:"required"`
+ Args []string `json:"args"`
+ Env []string `json:"env"`
+ RPath string `json:"rpath"` // relative path into project
+ TTY bool `json:"tty"` // Use a tty, specific to gdb --tty option
+ TTYGdbserverFix bool `json:"ttyGdbserverFix"` // Set to true to activate gdbserver workaround about inferior output
+ LdLibPathNoReset bool `json:"ldLibPathNoReset"` // Set to true to not reset LD_LIBRARY_PATH when sourcing environment file
+ ExitImmediate bool `json:"exitImmediate"` // when true, exit event sent immediately when command exited (IOW, don't wait file synchronization)
+ CmdTimeout int `json:"timeout"` // command completion timeout in Second
}
// ExecResult JSON result of /exec command