Reviewed-by: Erik Bjorge <erik.c.bjo...@intel.com>

> -----Original Message-----
> From: Gao, Liming
> Sent: Monday, September 12, 2016 9:03 AM
> To: edk2-devel@lists.01.org
> Cc: Zhu, Yonghong <yonghong....@intel.com>; Kinney, Michael D
> <michael.d.kin...@intel.com>; Bjorge, Erik C <erik.c.bjo...@intel.com>
> Subject: [Patch 2/4] BaseTools: Update python tool to call external
> tools with shell true mode
> 
> Python tool may run from source as the dos batch files. So, update
> python
> code to call external tools with shell true mode.
> 
> Cc: Yonghong Zhu <yonghong....@intel.com>
> Cc: Michael Kinney <michael.d.kin...@intel.com>
> Cc: Erik Bjorge <erik.c.bjo...@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Liming Gao <liming....@intel.com>
> ---
>  BaseTools/Source/Python/Common/VpdInfoFile.py | 7 ++++---
>  BaseTools/Source/Python/build/build.py        | 5 ++---
>  2 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/BaseTools/Source/Python/Common/VpdInfoFile.py
> b/BaseTools/Source/Python/Common/VpdInfoFile.py
> index cc79ee2..d45fb4c 100644
> --- a/BaseTools/Source/Python/Common/VpdInfoFile.py
> +++ b/BaseTools/Source/Python/Common/VpdInfoFile.py
> @@ -233,14 +233,15 @@ def CallExtenalBPDGTool(ToolPath, VpdFileName):
>      OutputBinFileName = os.path.join(OutputDir, "%s.bin" % BaseName)
> 
>      try:
> -        PopenObject = subprocess.Popen([ToolPath,
> +        PopenObject = subprocess.Popen(' '.join([ToolPath,
>                                          '-o', OutputBinFileName,
>                                          '-m', OutputMapFileName,
>                                          '-q',
>                                          '-f',
> -                                        VpdFileName],
> +                                        VpdFileName]),
>                                          stdout=subprocess.PIPE,
> -                                        stderr= subprocess.PIPE)
> +                                        stderr= subprocess.PIPE,
> +                                        shell=True)
>      except Exception, X:
>          EdkLogger.error("BPDG", BuildToolError.COMMAND_FAILURE,
> ExtraData="%s" % (str(X)))
>      (out, error) = PopenObject.communicate()
> diff --git a/BaseTools/Source/Python/build/build.py
> b/BaseTools/Source/Python/build/build.py
> index be02119..20f726f 100644
> --- a/BaseTools/Source/Python/build/build.py
> +++ b/BaseTools/Source/Python/build/build.py
> @@ -266,14 +266,13 @@ def LaunchCommand(Command, WorkingDir):
>      # ubuntu may fail with an error message that the command is not
> found.
>      # So here we may need convert command from string to list instance.
>      if not isinstance(Command, list):
> -        if platform.system() != 'Windows':
> -            Command = Command.split()
> +        Command = Command.split()
> 
>      Proc = None
>      EndOfProcedure = None
>      try:
>          # launch the command
> -        Proc = Popen(Command, stdout=PIPE, stderr=PIPE, env=os.environ,
> cwd=WorkingDir, bufsize=-1)
> +        Proc = Popen(' '.join(Command), stdout=PIPE, stderr=PIPE,
> env=os.environ, cwd=WorkingDir, bufsize=-1, shell=True)
> 
>          # launch two threads to read the STDOUT and STDERR
>          EndOfProcedure = Event()
> --
> 2.8.0.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to