On Fri, Jul 06, 2018 at 12:46:10AM +0000, Zhu, Yonghong wrote: > Hi Gary, > > The patch 1 and patch 2 are good to me. > While for this patch 3, I think it is only for developer evaluation, > developer can keep it on his local, so I don't prefer to commit it to master. > > I have a task on my plan to migrate BaseTools to Python 3, maybe this Q3 to > finish it. > Fair enough. I will keep the patch in my own branch and rebase it when necessary. I have another patch set to adopt the absolute import and will send them later. Hope this can help you for the python3 migration:)
Thanks, Gary Lin > Best Regards, > Zhu Yonghong > > > -----Original Message----- > From: Gary Lin [mailto:g...@suse.com] > Sent: Wednesday, June 27, 2018 6:08 PM > To: edk2-devel@lists.01.org > Cc: Zhu, Yonghong <yonghong....@intel.com>; Gao, Liming <liming....@intel.com> > Subject: [PATCH 3/3] BaseTools: Read the env variable PYTHON_DEFAULT > > When PYTHON_DEFAULT is set as "python3", the bash scripts in PosixLike will > perfer python3. Currently, this is for the evaluation of the python3 support > and errors from the python3 interperter are expected. > > For example, to build OvmfPkg with python3: > > $ export PYTHON_DEFAULT=python3 > $ ./OvmfPkg/build.sh > > Contributed-under: TianoCore Contribution Agreement 1.1 > Cc: Yonghong Zhu <yonghong....@intel.com> > Cc: Liming Gao <liming....@intel.com> > Signed-off-by: Gary Lin <g...@suse.com> > --- > BaseTools/BinWrappers/PosixLike/BPDG | 6 +++++- > BaseTools/BinWrappers/PosixLike/Ecc | 6 +++++- > BaseTools/BinWrappers/PosixLike/GenDepex | 6 +++++- > BaseTools/BinWrappers/PosixLike/GenFds | 6 +++++- > BaseTools/BinWrappers/PosixLike/GenPatchPcdTable | 6 +++++- > BaseTools/BinWrappers/PosixLike/PatchPcdValue | 6 +++++- > BaseTools/BinWrappers/PosixLike/Pkcs7Sign | 6 +++++- > BaseTools/BinWrappers/PosixLike/Rsa2048Sha256GenerateKeys | 6 +++++- > BaseTools/BinWrappers/PosixLike/Rsa2048Sha256Sign | 6 +++++- > BaseTools/BinWrappers/PosixLike/TargetTool | 6 +++++- > BaseTools/BinWrappers/PosixLike/Trim | 6 +++++- > BaseTools/BinWrappers/PosixLike/UPT | 6 +++++- > BaseTools/BinWrappers/PosixLike/build | 6 +++++- > 13 files changed, 65 insertions(+), 13 deletions(-) > > diff --git a/BaseTools/BinWrappers/PosixLike/BPDG > b/BaseTools/BinWrappers/PosixLike/BPDG > index 01ae23ddeb4f..aef1bc444a64 100755 > --- a/BaseTools/BinWrappers/PosixLike/BPDG > +++ b/BaseTools/BinWrappers/PosixLike/BPDG > @@ -1,8 +1,12 @@ > #!/usr/bin/env bash > #python `dirname $0`/RunToolFromSource.py `basename $0` $* > > +# If a python3 command is available and PYTHON_DEFAULT is "python3", # > +use it in preference to python if test "$PYTHON_DEFAULT" == "python3" > +&& command -v python3 >/dev/null 2>&1; then > + python_exe=python3 > # If a python2 command is available, use it in preference to python -if > command -v python2 >/dev/null 2>&1; then > +elif command -v python2 >/dev/null 2>&1; then > python_exe=python2 > fi > > diff --git a/BaseTools/BinWrappers/PosixLike/Ecc > b/BaseTools/BinWrappers/PosixLike/Ecc > index 01ae23ddeb4f..aef1bc444a64 100755 > --- a/BaseTools/BinWrappers/PosixLike/Ecc > +++ b/BaseTools/BinWrappers/PosixLike/Ecc > @@ -1,8 +1,12 @@ > #!/usr/bin/env bash > #python `dirname $0`/RunToolFromSource.py `basename $0` $* > > +# If a python3 command is available and PYTHON_DEFAULT is "python3", # > +use it in preference to python if test "$PYTHON_DEFAULT" == "python3" > +&& command -v python3 >/dev/null 2>&1; then > + python_exe=python3 > # If a python2 command is available, use it in preference to python -if > command -v python2 >/dev/null 2>&1; then > +elif command -v python2 >/dev/null 2>&1; then > python_exe=python2 > fi > > diff --git a/BaseTools/BinWrappers/PosixLike/GenDepex > b/BaseTools/BinWrappers/PosixLike/GenDepex > index dad174788bc3..c311d76238e4 100755 > --- a/BaseTools/BinWrappers/PosixLike/GenDepex > +++ b/BaseTools/BinWrappers/PosixLike/GenDepex > @@ -1,8 +1,12 @@ > #!/usr/bin/env bash > #python `dirname $0`/RunToolFromSource.py `basename $0` $* > > +# If a python3 command is available and PYTHON_DEFAULT is "python3", # > +use it in preference to python if test "$PYTHON_DEFAULT" == "python3" > +&& command -v python3 >/dev/null 2>&1; then > + python_exe=python3 > # If a python2 command is available, use it in preference to python -if > command -v python2 >/dev/null 2>&1; then > +elif command -v python2 >/dev/null 2>&1; then > python_exe=python2 > fi > > diff --git a/BaseTools/BinWrappers/PosixLike/GenFds > b/BaseTools/BinWrappers/PosixLike/GenFds > index 01ae23ddeb4f..aef1bc444a64 100755 > --- a/BaseTools/BinWrappers/PosixLike/GenFds > +++ b/BaseTools/BinWrappers/PosixLike/GenFds > @@ -1,8 +1,12 @@ > #!/usr/bin/env bash > #python `dirname $0`/RunToolFromSource.py `basename $0` $* > > +# If a python3 command is available and PYTHON_DEFAULT is "python3", # > +use it in preference to python if test "$PYTHON_DEFAULT" == "python3" > +&& command -v python3 >/dev/null 2>&1; then > + python_exe=python3 > # If a python2 command is available, use it in preference to python -if > command -v python2 >/dev/null 2>&1; then > +elif command -v python2 >/dev/null 2>&1; then > python_exe=python2 > fi > > diff --git a/BaseTools/BinWrappers/PosixLike/GenPatchPcdTable > b/BaseTools/BinWrappers/PosixLike/GenPatchPcdTable > index 01ae23ddeb4f..aef1bc444a64 100755 > --- a/BaseTools/BinWrappers/PosixLike/GenPatchPcdTable > +++ b/BaseTools/BinWrappers/PosixLike/GenPatchPcdTable > @@ -1,8 +1,12 @@ > #!/usr/bin/env bash > #python `dirname $0`/RunToolFromSource.py `basename $0` $* > > +# If a python3 command is available and PYTHON_DEFAULT is "python3", # > +use it in preference to python if test "$PYTHON_DEFAULT" == "python3" > +&& command -v python3 >/dev/null 2>&1; then > + python_exe=python3 > # If a python2 command is available, use it in preference to python -if > command -v python2 >/dev/null 2>&1; then > +elif command -v python2 >/dev/null 2>&1; then > python_exe=python2 > fi > > diff --git a/BaseTools/BinWrappers/PosixLike/PatchPcdValue > b/BaseTools/BinWrappers/PosixLike/PatchPcdValue > index 01ae23ddeb4f..aef1bc444a64 100755 > --- a/BaseTools/BinWrappers/PosixLike/PatchPcdValue > +++ b/BaseTools/BinWrappers/PosixLike/PatchPcdValue > @@ -1,8 +1,12 @@ > #!/usr/bin/env bash > #python `dirname $0`/RunToolFromSource.py `basename $0` $* > > +# If a python3 command is available and PYTHON_DEFAULT is "python3", # > +use it in preference to python if test "$PYTHON_DEFAULT" == "python3" > +&& command -v python3 >/dev/null 2>&1; then > + python_exe=python3 > # If a python2 command is available, use it in preference to python -if > command -v python2 >/dev/null 2>&1; then > +elif command -v python2 >/dev/null 2>&1; then > python_exe=python2 > fi > > diff --git a/BaseTools/BinWrappers/PosixLike/Pkcs7Sign > b/BaseTools/BinWrappers/PosixLike/Pkcs7Sign > index 01ae23ddeb4f..aef1bc444a64 100755 > --- a/BaseTools/BinWrappers/PosixLike/Pkcs7Sign > +++ b/BaseTools/BinWrappers/PosixLike/Pkcs7Sign > @@ -1,8 +1,12 @@ > #!/usr/bin/env bash > #python `dirname $0`/RunToolFromSource.py `basename $0` $* > > +# If a python3 command is available and PYTHON_DEFAULT is "python3", # > +use it in preference to python if test "$PYTHON_DEFAULT" == "python3" > +&& command -v python3 >/dev/null 2>&1; then > + python_exe=python3 > # If a python2 command is available, use it in preference to python -if > command -v python2 >/dev/null 2>&1; then > +elif command -v python2 >/dev/null 2>&1; then > python_exe=python2 > fi > > diff --git a/BaseTools/BinWrappers/PosixLike/Rsa2048Sha256GenerateKeys > b/BaseTools/BinWrappers/PosixLike/Rsa2048Sha256GenerateKeys > index 1bc1054a3452..d6f3d0e23083 100755 > --- a/BaseTools/BinWrappers/PosixLike/Rsa2048Sha256GenerateKeys > +++ b/BaseTools/BinWrappers/PosixLike/Rsa2048Sha256GenerateKeys > @@ -1,8 +1,12 @@ > #!/usr/bin/env bash > #python `dirname $0`/RunToolFromSource.py `basename $0` $* > > +# If a python3 command is available and PYTHON_DEFAULT is "python3", # > +use it in preference to python if test "$PYTHON_DEFAULT" == "python3" > +&& command -v python3 >/dev/null 2>&1; then > + python_exe=python3 > # If a python2 command is available, use it in preference to python -if > command -v python2 >/dev/null 2>&1; then > +elif command -v python2 >/dev/null 2>&1; then > python_exe=python2 > fi > > diff --git a/BaseTools/BinWrappers/PosixLike/Rsa2048Sha256Sign > b/BaseTools/BinWrappers/PosixLike/Rsa2048Sha256Sign > index 01ae23ddeb4f..aef1bc444a64 100755 > --- a/BaseTools/BinWrappers/PosixLike/Rsa2048Sha256Sign > +++ b/BaseTools/BinWrappers/PosixLike/Rsa2048Sha256Sign > @@ -1,8 +1,12 @@ > #!/usr/bin/env bash > #python `dirname $0`/RunToolFromSource.py `basename $0` $* > > +# If a python3 command is available and PYTHON_DEFAULT is "python3", # > +use it in preference to python if test "$PYTHON_DEFAULT" == "python3" > +&& command -v python3 >/dev/null 2>&1; then > + python_exe=python3 > # If a python2 command is available, use it in preference to python -if > command -v python2 >/dev/null 2>&1; then > +elif command -v python2 >/dev/null 2>&1; then > python_exe=python2 > fi > > diff --git a/BaseTools/BinWrappers/PosixLike/TargetTool > b/BaseTools/BinWrappers/PosixLike/TargetTool > index 01ae23ddeb4f..aef1bc444a64 100755 > --- a/BaseTools/BinWrappers/PosixLike/TargetTool > +++ b/BaseTools/BinWrappers/PosixLike/TargetTool > @@ -1,8 +1,12 @@ > #!/usr/bin/env bash > #python `dirname $0`/RunToolFromSource.py `basename $0` $* > > +# If a python3 command is available and PYTHON_DEFAULT is "python3", # > +use it in preference to python if test "$PYTHON_DEFAULT" == "python3" > +&& command -v python3 >/dev/null 2>&1; then > + python_exe=python3 > # If a python2 command is available, use it in preference to python -if > command -v python2 >/dev/null 2>&1; then > +elif command -v python2 >/dev/null 2>&1; then > python_exe=python2 > fi > > diff --git a/BaseTools/BinWrappers/PosixLike/Trim > b/BaseTools/BinWrappers/PosixLike/Trim > index 6c8dde5bec3e..6ec76c3a45c9 100755 > --- a/BaseTools/BinWrappers/PosixLike/Trim > +++ b/BaseTools/BinWrappers/PosixLike/Trim > @@ -1,8 +1,12 @@ > #!/usr/bin/env bash > #python `dirname $0`/RunToolFromSource.py `basename $0` $* > > +# If a python3 command is available and PYTHON_DEFAULT is "python3", # > +use it in preference to python if test "$PYTHON_DEFAULT" == "python3" > +&& command -v python3 >/dev/null 2>&1; then > + python_exe=python3 > # If a python2 command is available, use it in preference to python -if > command -v python2 >/dev/null 2>&1; then > +elif command -v python2 >/dev/null 2>&1; then > python_exe=python2 > fi > > diff --git a/BaseTools/BinWrappers/PosixLike/UPT > b/BaseTools/BinWrappers/PosixLike/UPT > index 01ae23ddeb4f..aef1bc444a64 100755 > --- a/BaseTools/BinWrappers/PosixLike/UPT > +++ b/BaseTools/BinWrappers/PosixLike/UPT > @@ -1,8 +1,12 @@ > #!/usr/bin/env bash > #python `dirname $0`/RunToolFromSource.py `basename $0` $* > > +# If a python3 command is available and PYTHON_DEFAULT is "python3", # > +use it in preference to python if test "$PYTHON_DEFAULT" == "python3" > +&& command -v python3 >/dev/null 2>&1; then > + python_exe=python3 > # If a python2 command is available, use it in preference to python -if > command -v python2 >/dev/null 2>&1; then > +elif command -v python2 >/dev/null 2>&1; then > python_exe=python2 > fi > > diff --git a/BaseTools/BinWrappers/PosixLike/build > b/BaseTools/BinWrappers/PosixLike/build > index 01ae23ddeb4f..aef1bc444a64 100755 > --- a/BaseTools/BinWrappers/PosixLike/build > +++ b/BaseTools/BinWrappers/PosixLike/build > @@ -1,8 +1,12 @@ > #!/usr/bin/env bash > #python `dirname $0`/RunToolFromSource.py `basename $0` $* > > +# If a python3 command is available and PYTHON_DEFAULT is "python3", # > +use it in preference to python if test "$PYTHON_DEFAULT" == "python3" > +&& command -v python3 >/dev/null 2>&1; then > + python_exe=python3 > # If a python2 command is available, use it in preference to python -if > command -v python2 >/dev/null 2>&1; then > +elif command -v python2 >/dev/null 2>&1; then > python_exe=python2 > fi > > -- > 2.17.1 > > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel