scripts/bitbake: unbreak the git version comparison
With the current code, we're calling awk to do a floating point comparison between '1.7.0.4' and '1.7.5' (on an ubuntu 10.04 LTS machine). These clearly aren't proper floating point numbers, and the comparison is incorrect. It's returning true for 1.7.0.4 >= 1.7.5. Instead of using a floating point comparison for this, call out to python and let it do it. (From OE-Core rev: f28f6267271edbbef16caec323e9ba76e2216723) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
5fe7d0467c
commit
780ba46975
|
@ -64,13 +64,16 @@ GITVERSION=`git --version | cut -d ' ' -f 3`
|
|||
float_test() {
|
||||
echo | awk 'END { exit ( !( '"$1"')); }'
|
||||
}
|
||||
version_compare() {
|
||||
python -c "from distutils.version import LooseVersion; import sys; sys.exit(not (LooseVersion('$1') $2 LooseVersion('$3')))"
|
||||
}
|
||||
|
||||
# Tar version 1.24 and onwards handle overwriting symlinks correctly
|
||||
# but earlier versions do not; this needs to work properly for sstate
|
||||
float_test "$TARVERSION > 1.23" && needtar="0"
|
||||
|
||||
# Need git >= 1.7.5 for git-remote --mirror=xxx syntax
|
||||
float_test "$GITVERSION >= 1.7.5" && needgit="0"
|
||||
version_compare $GITVERSION ">=" 1.7.5 && needgit="0"
|
||||
|
||||
|
||||
buildpseudo="1"
|
||||
|
|
Loading…
Reference in New Issue