Add hidden option -ldlibpath-no-reset 57/17257/1
authorSebastien Douheret <sebastien.douheret@iot.bzh>
Wed, 17 Oct 2018 15:05:47 +0000 (17:05 +0200)
committerSebastien Douheret <sebastien.douheret@iot.bzh>
Wed, 17 Oct 2018 15:05:49 +0000 (17:05 +0200)
Following change (https://gerrit.automotivelinux.org/gerrit/#/c/17253/)
xds-server unset LD_LIBRARY_PATH by default.
This new option allows user to keep LD_LIBRARY_PATH as is (IOW don't uset
LD_LIBRARY_PATH) before executing the requested commands.
Note that this option is hidden (not listed in help output) because it's
only reserved for advanced usage.

Change-Id: I34928763699bc24e726f5cb7de0877c0b2bfb813
Signed-off-by: Sebastien Douheret <sebastien.douheret@iot.bzh>
cmd-exec.go

index 819b911..98ceb78 100644 (file)
@@ -48,6 +48,12 @@ func initCmdExec(cmdDef *[]cli.Command) {
                                EnvVar: "XDS_SDK_ID",
                                Usage:  "Cross Sdk ID to use to build project",
                        },
                                EnvVar: "XDS_SDK_ID",
                                Usage:  "Cross Sdk ID to use to build project",
                        },
+                       cli.BoolFlag{
+                               Name:   "ldlibpath-no-reset",
+                               Hidden: true,
+                               EnvVar: "XDS_LD_LIBRARY_PATH_NO_RESET",
+                               Usage:  "Don't reset LD_LIBRARY_PATH before executing command",
+                       },
                },
        })
 }
                },
        })
 }
@@ -144,13 +150,14 @@ func execCmd(ctx *cli.Context) error {
 
        // Send build command
        args := xaapiv1.ExecArgs{
 
        // Send build command
        args := xaapiv1.ExecArgs{
-               ID:         prjID,
-               SdkID:      sdkid,
-               Cmd:        strings.Trim(argsCommand[0], " "),
-               Args:       argsCommand[1:],
-               Env:        env,
-               RPath:      rPath,
-               CmdTimeout: 60,
+               ID:               prjID,
+               SdkID:            sdkid,
+               Cmd:              strings.Trim(argsCommand[0], " "),
+               Args:             argsCommand[1:],
+               Env:              env,
+               RPath:            rPath,
+               LdLibPathNoReset: ctx.Bool("ldlibpath-no-reset"),
+               CmdTimeout:       60,
        }
 
        LogPost("POST /exec %v", args)
        }
 
        LogPost("POST /exec %v", args)