Allow multi-digit MOFED version numbers.
Fix compare_version function to return what it should
Test-Parameters: trivial
Signed-off-by: Minh Diep <mdiep@whamcloud.com>
Change-Id: I0f585cb355bb34270003ae1139688080c301186a
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/54336
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
Reviewed-by: Jian Yu <yujian@whamcloud.com>
compare_version () {
[[ $1 == $2 ]] && return 1
local IFS=.
compare_version () {
[[ $1 == $2 ]] && return 1
local IFS=.
- local i val1=($1) val2=($2)
+ # remove all minor sub version
+ local i val1=(${1//-*}) val2=(${2//-*})
# padding zero to val1 if it needs
for ((i=${#val1[@]}; i<${#val2[@]}; i++)); do
# padding zero to val1 if it needs
for ((i=${#val1[@]}; i<${#val2[@]}; i++)); do
for ((i=0; i<${#val1[@]}; i++)); do
[[ -z ${val2[i]} ]] && return 1
for ((i=0; i<${#val1[@]}; i++)); do
[[ -z ${val2[i]} ]] && return 1
- if [[ ${val1[i]} < ${val2[i]} ]]; then
+ if (( ${val1[i]} < ${val2[i]} )); then
- elif [[ ${val1[i]} > ${val2[i]} ]]; then
+ elif (( ${val1[i]} > ${val2[i]} )); then
if ! untar "$src"; then
return 1
fi
if ! untar "$src"; then
return 1
fi
- [ -d OFED ] || ln -sf MLNX_OFED_SRC-[0-9].[0-9]* OFED
+ [ -d OFED ] || ln -sf MLNX_OFED_SRC-[0-9]*.[0-9]* OFED
if compare_version $ofed_version 4.7 ||
compare_version 5.1 $ofed_version; then
[ -d OFED_RPMS ] || ln -sf ${file}/RPMS OFED_RPMS
if compare_version $ofed_version 4.7 ||
compare_version 5.1 $ofed_version; then
[ -d OFED_RPMS ] || ln -sf ${file}/RPMS OFED_RPMS