mirror of
https://github.com/acidanthera/audk.git
synced 2025-04-08 17:05:09 +02:00
BaseTools: Improve shell wrappers for Python build commands
- Use `python2` executable if it exists, to avoid breakage on systems (such as Arch Linux) where `python` is Python 3. - Quote all references to `$0`, for safety when located in a directory containing spaces in its name. - Use the `exec` shell command to avoid leaving the shell wrapper in the process table when invoking the actual build tool. - Use `"$@"` rather than `$*` to pass arguments through directly rather than concatenating to a string, and then string-splitting and glob-expanding its contents. - Use `$BASH_SOURCE` in preference to `$0` (which is only guaranteed to be process name, *not* source path). Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Charles Duffy <chaduffy@cisco.com> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19694 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
59fae92d8d
commit
6928c1d3ee
@ -1,5 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
#python `dirname $0`/RunToolFromSource.py `basename $0` $*
|
||||
PYTHONPATH="`dirname $0`/../../Source/Python" \
|
||||
python "`dirname $0`/../../Source/Python"/`basename $0`/`basename $0`.py $*
|
||||
|
||||
# If a python2 command is available, use it in preference to python
|
||||
if command -v python2 >/dev/null 2>&1; then
|
||||
python_exe=python2
|
||||
fi
|
||||
|
||||
full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
|
||||
dir=$(dirname "$full_cmd")
|
||||
cmd=${full_cmd##*/}
|
||||
|
||||
export PYTHONPATH="$dir/../../Source/Python"
|
||||
exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@"
|
||||
|
@ -1,3 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
PYTHONPATH="`dirname $0`/../../Source/Python" \
|
||||
python "`dirname $0`/../../Source/Python"/AutoGen/`basename $0`.py $*
|
||||
#python `dirname $0`/RunToolFromSource.py `basename $0` $*
|
||||
|
||||
# If a python2 command is available, use it in preference to python
|
||||
if command -v python2 >/dev/null 2>&1; then
|
||||
python_exe=python2
|
||||
fi
|
||||
|
||||
full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
|
||||
dir=$(dirname "$full_cmd")
|
||||
cmd=${full_cmd##*/}
|
||||
|
||||
export PYTHONPATH="$dir/../../Source/Python"
|
||||
exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@"
|
||||
|
@ -1,5 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
#python `dirname $0`/RunToolFromSource.py `basename $0` $*
|
||||
PYTHONPATH="`dirname $0`/../../Source/Python" \
|
||||
python "`dirname $0`/../../Source/Python"/`basename $0`/`basename $0`.py $*
|
||||
|
||||
# If a python2 command is available, use it in preference to python
|
||||
if command -v python2 >/dev/null 2>&1; then
|
||||
python_exe=python2
|
||||
fi
|
||||
|
||||
full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
|
||||
dir=$(dirname "$full_cmd")
|
||||
cmd=${full_cmd##*/}
|
||||
|
||||
export PYTHONPATH="$dir/../../Source/Python"
|
||||
exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@"
|
||||
|
@ -1,5 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
#python `dirname $0`/RunToolFromSource.py `basename $0` $*
|
||||
PYTHONPATH="`dirname $0`/../../Source/Python" \
|
||||
python "`dirname $0`/../../Source/Python"/`basename $0`/`basename $0`.py $*
|
||||
|
||||
# If a python2 command is available, use it in preference to python
|
||||
if command -v python2 >/dev/null 2>&1; then
|
||||
python_exe=python2
|
||||
fi
|
||||
|
||||
full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
|
||||
dir=$(dirname "$full_cmd")
|
||||
cmd=${full_cmd##*/}
|
||||
|
||||
export PYTHONPATH="$dir/../../Source/Python"
|
||||
exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@"
|
||||
|
@ -1,5 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
#python `dirname $0`/RunToolFromSource.py `basename $0` $*
|
||||
PYTHONPATH="`dirname $0`/../../Source/Python" \
|
||||
python "`dirname $0`/../../Source/Python"/`basename $0`/`basename $0`.py $*
|
||||
|
||||
# If a python2 command is available, use it in preference to python
|
||||
if command -v python2 >/dev/null 2>&1; then
|
||||
python_exe=python2
|
||||
fi
|
||||
|
||||
full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
|
||||
dir=$(dirname "$full_cmd")
|
||||
exe=$(basename "$full_cmd")
|
||||
|
||||
export PYTHONPATH="$dir/../../Source/Python"
|
||||
exec "${python_exe:-python}" "$dir/../../Source/Python/$exe/$exe.py" "$@"
|
||||
|
@ -1,5 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
#python `dirname $0`/RunToolFromSource.py `basename $0` $*
|
||||
PYTHONPATH="`dirname $0`/../../Source/Python" \
|
||||
python "`dirname $0`/../../Source/Python"/`basename $0`/`basename $0`.py $*
|
||||
|
||||
# If a python2 command is available, use it in preference to python
|
||||
if command -v python2 >/dev/null 2>&1; then
|
||||
python_exe=python2
|
||||
fi
|
||||
|
||||
full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
|
||||
dir=$(dirname "$full_cmd")
|
||||
cmd=${full_cmd##*/}
|
||||
|
||||
export PYTHONPATH="$dir/../../Source/Python"
|
||||
exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@"
|
||||
|
@ -1,5 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
#python `dirname $0`/RunToolFromSource.py `basename $0` $*
|
||||
PYTHONPATH="`dirname $0`/../../Source/Python" \
|
||||
python "`dirname $0`/../../Source/Python"/`basename $0`/`basename $0`.py $*
|
||||
|
||||
# If a python2 command is available, use it in preference to python
|
||||
if command -v python2 >/dev/null 2>&1; then
|
||||
python_exe=python2
|
||||
fi
|
||||
|
||||
full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
|
||||
dir=$(dirname "$full_cmd")
|
||||
cmd=${full_cmd##*/}
|
||||
|
||||
export PYTHONPATH="$dir/../../Source/Python"
|
||||
exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@"
|
||||
|
@ -1,5 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
#python `dirname $0`/RunToolFromSource.py `basename $0` $*
|
||||
PYTHONPATH="`dirname $0`/../../Source/Python" \
|
||||
python "`dirname $0`/../../Source/Python"/`basename $0`/`basename $0`.py $*
|
||||
|
||||
# If a python2 command is available, use it in preference to python
|
||||
if command -v python2 >/dev/null 2>&1; then
|
||||
python_exe=python2
|
||||
fi
|
||||
|
||||
full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
|
||||
dir=$(dirname "$full_cmd")
|
||||
cmd=${full_cmd##*/}
|
||||
|
||||
export PYTHONPATH="$dir/../../Source/Python"
|
||||
exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@"
|
||||
|
@ -1,3 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
PYTHONPATH="`dirname $0`/../../Source/Python" \
|
||||
python "`dirname $0`/../../Source/Python"/AutoGen/`basename $0`.py $*
|
||||
#python `dirname $0`/RunToolFromSource.py `basename $0` $*
|
||||
|
||||
# If a python2 command is available, use it in preference to python
|
||||
if command -v python2 >/dev/null 2>&1; then
|
||||
python_exe=python2
|
||||
fi
|
||||
|
||||
full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
|
||||
dir=$(dirname "$full_cmd")
|
||||
cmd=${full_cmd##*/}
|
||||
|
||||
export PYTHONPATH="$dir/../../Source/Python"
|
||||
exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@"
|
||||
|
@ -1,5 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
#python `dirname $0`/RunToolFromSource.py `basename $0` $*
|
||||
PYTHONPATH="`dirname $0`/../../Source/Python" \
|
||||
python "`dirname $0`/../../Source/Python"/`basename $0`/`basename $0`.py $*
|
||||
|
||||
# If a python2 command is available, use it in preference to python
|
||||
if command -v python2 >/dev/null 2>&1; then
|
||||
python_exe=python2
|
||||
fi
|
||||
|
||||
full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
|
||||
dir=$(dirname "$full_cmd")
|
||||
cmd=${full_cmd##*/}
|
||||
|
||||
export PYTHONPATH="$dir/../../Source/Python"
|
||||
exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@"
|
||||
|
@ -1,5 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
#python `dirname $0`/RunToolFromSource.py `basename $0` $*
|
||||
PYTHONPATH="`dirname $0`/../../Source/Python" \
|
||||
python "`dirname $0`/../../Source/Python"/`basename $0`/`basename $0`.py $*
|
||||
|
||||
# If a python2 command is available, use it in preference to python
|
||||
if command -v python2 >/dev/null 2>&1; then
|
||||
python_exe=python2
|
||||
fi
|
||||
|
||||
full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
|
||||
dir=$(dirname "$full_cmd")
|
||||
cmd=${full_cmd##*/}
|
||||
|
||||
export PYTHONPATH="$dir/../../Source/Python"
|
||||
exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@"
|
||||
|
@ -1,5 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
#python `dirname $0`/RunToolFromSource.py `basename $0` $*
|
||||
PYTHONPATH="`dirname $0`/../../Source/Python" \
|
||||
python "`dirname $0`/../../Source/Python"/`basename $0`/`basename $0`.py $*
|
||||
|
||||
# If a python2 command is available, use it in preference to python
|
||||
if command -v python2 >/dev/null 2>&1; then
|
||||
python_exe=python2
|
||||
fi
|
||||
|
||||
full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
|
||||
dir=$(dirname "$full_cmd")
|
||||
cmd=${full_cmd##*/}
|
||||
|
||||
export PYTHONPATH="$dir/../../Source/Python"
|
||||
exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@"
|
||||
|
@ -1,5 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
#python `dirname $0`/RunToolFromSource.py `basename $0` $*
|
||||
PYTHONPATH="`dirname $0`/../../Source/Python" \
|
||||
python "`dirname $0`/../../Source/Python"/`basename $0`/`basename $0`.py $*
|
||||
|
||||
# If a python2 command is available, use it in preference to python
|
||||
if command -v python2 >/dev/null 2>&1; then
|
||||
python_exe=python2
|
||||
fi
|
||||
|
||||
full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
|
||||
dir=$(dirname "$full_cmd")
|
||||
cmd=${full_cmd##*/}
|
||||
|
||||
export PYTHONPATH="$dir/../../Source/Python"
|
||||
exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@"
|
||||
|
@ -1,5 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
#python `dirname $0`/RunToolFromSource.py `basename $0` $*
|
||||
PYTHONPATH="`dirname $0`/../../Source/Python" \
|
||||
python "`dirname $0`/../../Source/Python"/`basename $0`/`basename $0`.py $*
|
||||
|
||||
# If a python2 command is available, use it in preference to python
|
||||
if command -v python2 >/dev/null 2>&1; then
|
||||
python_exe=python2
|
||||
fi
|
||||
|
||||
full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
|
||||
dir=$(dirname "$full_cmd")
|
||||
exe=$(basename "$full_cmd")
|
||||
|
||||
export PYTHONPATH="$dir/../../Source/Python"
|
||||
exec "${python_exe:-python}" "$dir/../../Source/Python/$exe/$exe.py" "$@"
|
||||
|
@ -1,5 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
#python `dirname $0`/RunToolFromSource.py `basename $0` $*
|
||||
PYTHONPATH="`dirname $0`/../../Source/Python" \
|
||||
python "`dirname $0`/../../Source/Python"/`basename $0`/`basename $0`.py $*
|
||||
|
||||
# If a python2 command is available, use it in preference to python
|
||||
if command -v python2 >/dev/null 2>&1; then
|
||||
python_exe=python2
|
||||
fi
|
||||
|
||||
full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
|
||||
dir=$(dirname "$full_cmd")
|
||||
cmd=${full_cmd##*/}
|
||||
|
||||
export PYTHONPATH="$dir/../../Source/Python"
|
||||
exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@"
|
||||
|
@ -1,5 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
#python `dirname $0`/RunToolFromSource.py `basename $0` $*
|
||||
PYTHONPATH="`dirname $0`/../../Source/Python" \
|
||||
python "`dirname $0`/../../Source/Python"/`basename $0`/`basename $0`.py $*
|
||||
|
||||
# If a python2 command is available, use it in preference to python
|
||||
if command -v python2 >/dev/null 2>&1; then
|
||||
python_exe=python2
|
||||
fi
|
||||
|
||||
full_cmd=${BASH_SOURCE:-$0} # see http://mywiki.wooledge.org/BashFAQ/028 for a discussion of why $0 is not a good choice here
|
||||
dir=$(dirname "$full_cmd")
|
||||
cmd=${full_cmd##*/}
|
||||
|
||||
export PYTHONPATH="$dir/../../Source/Python"
|
||||
exec "${python_exe:-python}" "$dir/../../Source/Python/$cmd/$cmd.py" "$@"
|
||||
|
Loading…
x
Reference in New Issue
Block a user