* [PATCH] scripts/bitbake: unbreak the git version comparison
@ 2012-07-30 16:08 Christopher Larson
0 siblings, 0 replies; only message in thread
From: Christopher Larson @ 2012-07-30 16:08 UTC (permalink / raw)
To: openembedded-core; +Cc: Christopher Larson
From: Christopher Larson <chris_larson@mentor.com>
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.
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
---
scripts/bitbake | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/scripts/bitbake b/scripts/bitbake
index 580f377..09f8a86 100755
--- a/scripts/bitbake
+++ b/scripts/bitbake
@@ -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"
--
1.7.9.5
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2012-07-30 16:20 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-07-30 16:08 [PATCH] scripts/bitbake: unbreak the git version comparison Christopher Larson
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox