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