[edk2-devel] [PATCH] BaseTools:Linux changes the way the latest version is judged

Fan, ZhijuX posted 1 patch 4 years, 10 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/edk2 tags/patchew/FAD0D7E0AE0FA54D987F6E72435CAFD50AF8419A@SHSMSX101.ccr.corp.intel.com
There is a newer version of this series
edksetup.sh | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
[edk2-devel] [PATCH] BaseTools:Linux changes the way the latest version is judged
Posted by Fan, ZhijuX 4 years, 10 months ago
BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1929

Some Linux servers do not have BC installed,so errors occur.
So the judgment was changed to avoid this error.

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Signed-off-by: Zhiju.Fan <zhijux.fan@intel.com>
---
 edksetup.sh | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/edksetup.sh b/edksetup.sh
index c7b2e1e201..0723e7b85a 100755
--- a/edksetup.sh
+++ b/edksetup.sh
@@ -122,8 +122,7 @@ function SetupPython3()
         export PYTHON_COMMAND=$python
         continue
       fi
-      ret=`echo "$origin_version < $python_version" |bc`
-      if [ "$ret" -eq 1 ]; then
+      if [ "$origin_version" \< "$python_version" ]; then
         origin_version=$python_version
         export PYTHON_COMMAND=$python
       fi
@@ -165,8 +164,7 @@ function SetupPython()
         export PYTHON_COMMAND=$python
         continue
       fi
-      ret=`echo "$origin_version < $python_version" |bc`
-      if [ "$ret" -eq 1 ]; then
+      if [ "$origin_version" \< "$python_version" ]; then
         origin_version=$python_version
         export PYTHON_COMMAND=$python
       fi
-- 
2.14.1.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#42682): https://edk2.groups.io/g/devel/message/42682
Mute This Topic: https://groups.io/mt/32154778/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH] BaseTools:Linux changes the way the latest version is judged
Posted by Liming Gao 4 years, 10 months ago
Zhiju:
  The change is good. What test have you done?

Thanks
Liming
> -----Original Message-----
> From: Fan, ZhijuX
> Sent: Friday, June 21, 2019 10:33 AM
> To: devel@edk2.groups.io
> Cc: Gao, Liming <liming.gao@intel.com>; Feng, Bob C <bob.c.feng@intel.com>
> Subject: [PATCH] BaseTools:Linux changes the way the latest version is judged
> 
> BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1929
> 
> Some Linux servers do not have BC installed,so errors occur.
> So the judgment was changed to avoid this error.
> 
> Cc: Bob Feng <bob.c.feng@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Signed-off-by: Zhiju.Fan <zhijux.fan@intel.com>
> ---
>  edksetup.sh | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
> 
> diff --git a/edksetup.sh b/edksetup.sh
> index c7b2e1e201..0723e7b85a 100755
> --- a/edksetup.sh
> +++ b/edksetup.sh
> @@ -122,8 +122,7 @@ function SetupPython3()
>          export PYTHON_COMMAND=$python
>          continue
>        fi
> -      ret=`echo "$origin_version < $python_version" |bc`
> -      if [ "$ret" -eq 1 ]; then
> +      if [ "$origin_version" \< "$python_version" ]; then
>          origin_version=$python_version
>          export PYTHON_COMMAND=$python
>        fi
> @@ -165,8 +164,7 @@ function SetupPython()
>          export PYTHON_COMMAND=$python
>          continue
>        fi
> -      ret=`echo "$origin_version < $python_version" |bc`
> -      if [ "$ret" -eq 1 ]; then
> +      if [ "$origin_version" \< "$python_version" ]; then
>          origin_version=$python_version
>          export PYTHON_COMMAND=$python
>        fi
> --
> 2.14.1.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#42730): https://edk2.groups.io/g/devel/message/42730
Mute This Topic: https://groups.io/mt/32154778/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [PATCH] BaseTools:Linux changes the way the latest version is judged
Posted by rebecca@bluestop.org 4 years, 10 months ago
On 2019-06-20 20:33, Fan, ZhijuX wrote:
> -      ret=`echo "$origin_version < $python_version" |bc`
> -      if [ "$ret" -eq 1 ]; then
> +      if [ "$origin_version" \< "$python_version" ]; then
>          origin_version=$python_version
>          export PYTHON_COMMAND=$python
>        fi


I think using the "-lt" operator might be better (more standard). e.g.:


if [ "$origin_version" -lt "$python_version" ]; then



-- 
Rebecca Cran


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#42731): https://edk2.groups.io/g/devel/message/42731
Mute This Topic: https://groups.io/mt/32154778/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

FW: [edk2-devel] [PATCH] BaseTools:Linux changes the way the latest version is judged
Posted by Fan, ZhijuX 4 years, 10 months ago
Using "-lt" will report the following errors, but "\<" will not
3.6: integer expression expected
3.7: integer expression expected

if [[ "$origin_version" < "$python_version" ]];then
It is equivalent to
if [ "$origin_version" \< "$python_version" ];then
These two approaches work

Any question, please let me know. Thanks.

Best Regards
Fan Zhiju



-----Original Message-----
From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of rebecca@bluestop.org
Sent: Monday, June 24, 2019 11:25 AM
To: devel@edk2.groups.io; Fan, ZhijuX <zhijux.fan@intel.com>
Cc: Gao, Liming <liming.gao@intel.com>; Feng, Bob C <bob.c.feng@intel.com>
Subject: Re: [edk2-devel] [PATCH] BaseTools:Linux changes the way the latest version is judged

On 2019-06-20 20:33, Fan, ZhijuX wrote:
> -      ret=`echo "$origin_version < $python_version" |bc`
> -      if [ "$ret" -eq 1 ]; then
> +      if [ "$origin_version" \< "$python_version" ]; then
>          origin_version=$python_version
>          export PYTHON_COMMAND=$python
>        fi


I think using the "-lt" operator might be better (more standard). e.g.:


if [ "$origin_version" -lt "$python_version" ]; then



-- 
Rebecca Cran





-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#42774): https://edk2.groups.io/g/devel/message/42774
Mute This Topic: https://groups.io/mt/32199579/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: FW: [edk2-devel] [PATCH] BaseTools:Linux changes the way the latest version is judged
Posted by rebecca@bluestop.org 4 years, 10 months ago
On 2019-06-24 20:18, Fan, ZhijuX wrote:
> Using "-lt" will report the following errors, but "\<" will not
> 3.6: integer expression expected
> 3.7: integer expression expected
>
> if [[ "$origin_version" < "$python_version" ]];then
> It is equivalent to
> if [ "$origin_version" \< "$python_version" ];then
> These two approaches work
>
> Any question, please let me know. Thanks.

You might want to extract the major and minor values and compare them
separately then. The "<" operator in bash does a string comparison,
which I'm not sure is what's wanted here?


From http://tldp.org/LDP/abs/html/comparison-ops.html :


<

    is less than, in ASCII
    <http://tldp.org/LDP/abs/html/special-chars.html#ASCIIDEF>
    alphabetical order

    *if [[ "$a" < "$b" ]]*

    *if [ "$a" \< "$b" ]*

    Note that the "<" needs to be escaped
    <http://tldp.org/LDP/abs/html/escapingsection.html#ESCP> within a *[
    ]* construct.


-- 
Rebecca Cran


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#42775): https://edk2.groups.io/g/devel/message/42775
Mute This Topic: https://groups.io/mt/32199579/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: FW: [edk2-devel] [PATCH] BaseTools:Linux changes the way the latest version is judged
Posted by Fan, ZhijuX 4 years, 10 months ago
Hi:
Python3.6 and python3.7
After the code removes some common values “python”, we compare “3.6” and “3.7”
origin_version = “3.6”, python_version=”3.7”

I'm going to change it to
if [[ "$origin_version" < "$python_version" ]]; then




Any question, please let me know. Thanks.

Best Regards
Fan Zhiju



From: devel@edk2.groups.io [mailto:devel@edk2.groups.io] On Behalf Of rebecca@bluestop.org
Sent: Tuesday, June 25, 2019 10:34 AM
To: devel@edk2.groups.io; Fan, ZhijuX <zhijux.fan@intel.com>
Cc: Gao, Liming <liming.gao@intel.com>; Feng, Bob C <bob.c.feng@intel.com>
Subject: Re: FW: [edk2-devel] [PATCH] BaseTools:Linux changes the way the latest version is judged

On 2019-06-24 20:18, Fan, ZhijuX wrote:

Using "-lt" will report the following errors, but "\<" will not

3.6: integer expression expected

3.7: integer expression expected



if [[ "$origin_version" < "$python_version" ]];then

It is equivalent to

if [ "$origin_version" \< "$python_version" ];then

These two approaches work



Any question, please let me know. Thanks.


You might want to extract the major and minor values and compare them separately then. The "<" operator in bash does a string comparison, which I'm not sure is what's wanted here?



From http://tldp.org/LDP/abs/html/comparison-ops.html :


<

is less than, in ASCII<http://tldp.org/LDP/abs/html/special-chars.html#ASCIIDEF> alphabetical order

if [[ "$a" < "$b" ]]

if [ "$a" \< "$b" ]

Note that the "<" needs to be escaped<http://tldp.org/LDP/abs/html/escapingsection.html#ESCP> within a [ ] construct.



--
Rebecca Cran


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#42863): https://edk2.groups.io/g/devel/message/42863
Mute This Topic: https://groups.io/mt/32199579/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: FW: [edk2-devel] [PATCH] BaseTools:Linux changes the way the latest version is judged
Posted by rebecca@bluestop.org 4 years, 10 months ago
On 2019-06-25 22:46, Fan, ZhijuX wrote:
>
>                
>
> Hi:
>
> Python3.6 and python3.7
>
> After the code removes some common values “python”, we compare “3.6”
> and “3.7”
>
> origin_version = “3.6”, python_version=”3.7”
>
>  
>
> I'm going to change it to
>
> if [[ "$origin_version" < "$python_version" ]]; then
>


That's fine for now, hopefully it'll keep working as long as it needs to.

But once you're comparing for example 3.7 and 3.12:

[bcran@photon ~]$ if [[ "3.7" > "3.12" ]]; then echo "wrong!"; else echo
"correct!"; fi
wrong!

-- 
Rebecca Cran


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#42902): https://edk2.groups.io/g/devel/message/42902
Mute This Topic: https://groups.io/mt/32199579/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-