10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-07-03 01:45:59 +02:00

Beter version handle

This commit is contained in:
TApplencourt 2016-01-14 17:47:18 +01:00
parent 626f4aafbd
commit 63315d459c

View File

@ -13,14 +13,38 @@ export LIBRARY_PATH="${QP_ROOT}"/lib:"${LIBRARY_PATH}"
export LD_LIBRARY_PATH="${QP_ROOT}"/lib:"${LD_LIBRARY_PATH}" export LD_LIBRARY_PATH="${QP_ROOT}"/lib:"${LD_LIBRARY_PATH}"
# return 0 if program version is equal or greater than check version # return 0 if program version is equal or greater than check version
check_version() check_version () {
{ if [[ $1 == $2 ]]
local version=$1 check=$2 then
local winner=$(echo -e "$version\n$check" | sed '/^$/d' | sort -nr | head -1) return 0
[[ "$winner" = "$version" ]] && return 0 fi
local IFS=.
local i ver1=($1) ver2=($2)
# fill empty fields in ver1 with zeros
for ((i=${#ver1[@]}; i<${#ver2[@]}; i++))
do
ver1[i]=0
done
for ((i=0; i<${#ver1[@]}; i++))
do
if [[ -z ${ver2[i]} ]]
then
# fill empty fields in ver2 with zeros
ver2[i]=0
fi
if ((10#${ver1[i]} > 10#${ver2[i]}))
then
return 1 return 1
fi
if ((10#${ver1[i]} < 10#${ver2[i]}))
then
return 2
fi
done
return 0
} }
i=$(gcc -dumpversion) i=$(gcc -dumpversion)
check_version i 4.6 check_version i 4.6