From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=66.187.233.73; helo=mx1.redhat.com; envelope-from=lersek@redhat.com; receiver=edk2-devel@lists.01.org Received: from mx1.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 557E2225B02A4 for ; Tue, 20 Mar 2018 08:21:42 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 46F6340267D5; Tue, 20 Mar 2018 15:28:11 +0000 (UTC) Received: from lacos-laptop-7.usersys.redhat.com (ovpn-120-203.rdu2.redhat.com [10.10.120.203]) by smtp.corp.redhat.com (Postfix) with ESMTP id E3B1A2166BDA; Tue, 20 Mar 2018 15:28:08 +0000 (UTC) From: Laszlo Ersek To: edk2-devel-01 Cc: Liming Gao , "Zhu, Yonghong" References: <20180314105423.27682-1-lersek@redhat.com> Message-ID: <92eb13bc-c1e2-9a68-f39c-29771627c3fb@redhat.com> Date: Tue, 20 Mar 2018 16:28:02 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <20180314105423.27682-1-lersek@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.6 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.6]); Tue, 20 Mar 2018 15:28:11 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.6]); Tue, 20 Mar 2018 15:28:11 +0000 (UTC) for IP:'10.11.54.6' DOMAIN:'int-mx06.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'lersek@redhat.com' RCPT:'' Subject: Re: [PATCH] BaseTools/PosixLike: honor pre-set PYTHONPATH X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 Mar 2018 15:21:42 -0000 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Hello Liming, Yonghong, On 03/14/18 11:54, Laszlo Ersek wrote: > Utilities written in Python may depend on external (preinstalled) Python > packages; for example, Ecc depends on "antlr_python_runtime-3.0.1". Such > packages need not be installed system-wide, as long as they are reachable > through PYTHONPATH. Therefore we shouldn't overwrite the user's PYTHONPATH > with "BaseTools/Source/Python"; instead, we should prepend the latter to > the former. > > Cc: Liming Gao > Cc: Yonghong Zhu > Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=896 > Contributed-under: TianoCore Contribution Agreement 1.1 > Signed-off-by: Laszlo Ersek > --- > > Notes: > Repo: https://github.com/lersek/edk2.git > Branch: pythonpath Ping -- looks like this patch was missed; can you guys please review it? Thanks, Laszlo > BaseTools/BinWrappers/PosixLike/BPDG | 2 +- > BaseTools/BinWrappers/PosixLike/Ecc | 2 +- > BaseTools/BinWrappers/PosixLike/GenDepex | 2 +- > BaseTools/BinWrappers/PosixLike/GenFds | 2 +- > BaseTools/BinWrappers/PosixLike/GenPatchPcdTable | 2 +- > BaseTools/BinWrappers/PosixLike/PatchPcdValue | 2 +- > BaseTools/BinWrappers/PosixLike/Pkcs7Sign | 2 +- > BaseTools/BinWrappers/PosixLike/Rsa2048Sha256GenerateKeys | 2 +- > BaseTools/BinWrappers/PosixLike/Rsa2048Sha256Sign | 2 +- > BaseTools/BinWrappers/PosixLike/TargetTool | 2 +- > BaseTools/BinWrappers/PosixLike/Trim | 2 +- > BaseTools/BinWrappers/PosixLike/UPT | 2 +- > BaseTools/BinWrappers/PosixLike/build | 2 +- > 13 files changed, 13 insertions(+), 13 deletions(-) > > diff --git a/BaseTools/BinWrappers/PosixLike/BPDG b/BaseTools/BinWrappers/PosixLike/BPDG > index 214d88fff1b1..01ae23ddeb4f 100755 > --- a/BaseTools/BinWrappers/PosixLike/BPDG > +++ b/BaseTools/BinWrappers/PosixLike/BPDG > @@ -10,5 +10,5 @@ full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a d > dir=$(dirname "$full_cmd") > cmd=${full_cmd##*/} > > -export PYTHONPATH="$dir/../../Source/Python" > +export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}" > exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@" > diff --git a/BaseTools/BinWrappers/PosixLike/Ecc b/BaseTools/BinWrappers/PosixLike/Ecc > index 214d88fff1b1..01ae23ddeb4f 100755 > --- a/BaseTools/BinWrappers/PosixLike/Ecc > +++ b/BaseTools/BinWrappers/PosixLike/Ecc > @@ -10,5 +10,5 @@ full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a d > dir=$(dirname "$full_cmd") > cmd=${full_cmd##*/} > > -export PYTHONPATH="$dir/../../Source/Python" > +export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}" > exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@" > diff --git a/BaseTools/BinWrappers/PosixLike/GenDepex b/BaseTools/BinWrappers/PosixLike/GenDepex > index bdb6722a1f84..dad174788bc3 100755 > --- a/BaseTools/BinWrappers/PosixLike/GenDepex > +++ b/BaseTools/BinWrappers/PosixLike/GenDepex > @@ -10,5 +10,5 @@ full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a d > dir=$(dirname "$full_cmd") > cmd=${full_cmd##*/} > > -export PYTHONPATH="$dir/../../Source/Python" > +export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}" > exec "${python_exe:-python}" "$dir/../../Source/Python/AutoGen/$cmd.py" "$@" > diff --git a/BaseTools/BinWrappers/PosixLike/GenFds b/BaseTools/BinWrappers/PosixLike/GenFds > index 214d88fff1b1..01ae23ddeb4f 100755 > --- a/BaseTools/BinWrappers/PosixLike/GenFds > +++ b/BaseTools/BinWrappers/PosixLike/GenFds > @@ -10,5 +10,5 @@ full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a d > dir=$(dirname "$full_cmd") > cmd=${full_cmd##*/} > > -export PYTHONPATH="$dir/../../Source/Python" > +export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}" > exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@" > diff --git a/BaseTools/BinWrappers/PosixLike/GenPatchPcdTable b/BaseTools/BinWrappers/PosixLike/GenPatchPcdTable > index 214d88fff1b1..01ae23ddeb4f 100755 > --- a/BaseTools/BinWrappers/PosixLike/GenPatchPcdTable > +++ b/BaseTools/BinWrappers/PosixLike/GenPatchPcdTable > @@ -10,5 +10,5 @@ full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a d > dir=$(dirname "$full_cmd") > cmd=${full_cmd##*/} > > -export PYTHONPATH="$dir/../../Source/Python" > +export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}" > exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@" > diff --git a/BaseTools/BinWrappers/PosixLike/PatchPcdValue b/BaseTools/BinWrappers/PosixLike/PatchPcdValue > index 214d88fff1b1..01ae23ddeb4f 100755 > --- a/BaseTools/BinWrappers/PosixLike/PatchPcdValue > +++ b/BaseTools/BinWrappers/PosixLike/PatchPcdValue > @@ -10,5 +10,5 @@ full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a d > dir=$(dirname "$full_cmd") > cmd=${full_cmd##*/} > > -export PYTHONPATH="$dir/../../Source/Python" > +export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}" > exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@" > diff --git a/BaseTools/BinWrappers/PosixLike/Pkcs7Sign b/BaseTools/BinWrappers/PosixLike/Pkcs7Sign > index 214d88fff1b1..01ae23ddeb4f 100755 > --- a/BaseTools/BinWrappers/PosixLike/Pkcs7Sign > +++ b/BaseTools/BinWrappers/PosixLike/Pkcs7Sign > @@ -10,5 +10,5 @@ full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a d > dir=$(dirname "$full_cmd") > cmd=${full_cmd##*/} > > -export PYTHONPATH="$dir/../../Source/Python" > +export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}" > exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@" > diff --git a/BaseTools/BinWrappers/PosixLike/Rsa2048Sha256GenerateKeys b/BaseTools/BinWrappers/PosixLike/Rsa2048Sha256GenerateKeys > index 2cddde9d4f0b..1bc1054a3452 100755 > --- a/BaseTools/BinWrappers/PosixLike/Rsa2048Sha256GenerateKeys > +++ b/BaseTools/BinWrappers/PosixLike/Rsa2048Sha256GenerateKeys > @@ -10,5 +10,5 @@ full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a d > dir=$(dirname "$full_cmd") > cmd=${full_cmd##*/} > > -export PYTHONPATH="$dir/../../Source/Python" > +export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}" > exec "${python_exe:-python}" "$dir/../../Source/Python/Rsa2048Sha256Sign/$cmd.py" "$@" > diff --git a/BaseTools/BinWrappers/PosixLike/Rsa2048Sha256Sign b/BaseTools/BinWrappers/PosixLike/Rsa2048Sha256Sign > index 214d88fff1b1..01ae23ddeb4f 100755 > --- a/BaseTools/BinWrappers/PosixLike/Rsa2048Sha256Sign > +++ b/BaseTools/BinWrappers/PosixLike/Rsa2048Sha256Sign > @@ -10,5 +10,5 @@ full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a d > dir=$(dirname "$full_cmd") > cmd=${full_cmd##*/} > > -export PYTHONPATH="$dir/../../Source/Python" > +export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}" > exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@" > diff --git a/BaseTools/BinWrappers/PosixLike/TargetTool b/BaseTools/BinWrappers/PosixLike/TargetTool > index 214d88fff1b1..01ae23ddeb4f 100755 > --- a/BaseTools/BinWrappers/PosixLike/TargetTool > +++ b/BaseTools/BinWrappers/PosixLike/TargetTool > @@ -10,5 +10,5 @@ full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a d > dir=$(dirname "$full_cmd") > cmd=${full_cmd##*/} > > -export PYTHONPATH="$dir/../../Source/Python" > +export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}" > exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@" > diff --git a/BaseTools/BinWrappers/PosixLike/Trim b/BaseTools/BinWrappers/PosixLike/Trim > index 7cac4f7c4fff..6c8dde5bec3e 100755 > --- a/BaseTools/BinWrappers/PosixLike/Trim > +++ b/BaseTools/BinWrappers/PosixLike/Trim > @@ -10,5 +10,5 @@ full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a d > dir=$(dirname "$full_cmd") > exe=$(basename "$full_cmd") > > -export PYTHONPATH="$dir/../../Source/Python" > +export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}" > exec "${python_exe:-python}" "$dir/../../Source/Python/$exe/$exe.py" "$@" > diff --git a/BaseTools/BinWrappers/PosixLike/UPT b/BaseTools/BinWrappers/PosixLike/UPT > index 214d88fff1b1..01ae23ddeb4f 100755 > --- a/BaseTools/BinWrappers/PosixLike/UPT > +++ b/BaseTools/BinWrappers/PosixLike/UPT > @@ -10,5 +10,5 @@ full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a d > dir=$(dirname "$full_cmd") > cmd=${full_cmd##*/} > > -export PYTHONPATH="$dir/../../Source/Python" > +export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}" > exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@" > diff --git a/BaseTools/BinWrappers/PosixLike/build b/BaseTools/BinWrappers/PosixLike/build > index 214d88fff1b1..01ae23ddeb4f 100755 > --- a/BaseTools/BinWrappers/PosixLike/build > +++ b/BaseTools/BinWrappers/PosixLike/build > @@ -10,5 +10,5 @@ full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a d > dir=$(dirname "$full_cmd") > cmd=${full_cmd##*/} > > -export PYTHONPATH="$dir/../../Source/Python" > +export PYTHONPATH="$dir/../../Source/Python${PYTHONPATH:+:"$PYTHONPATH"}" > exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@" >