summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEd Bartosh <ed.bartosh@linux.intel.com>2015-12-04 13:07:26 (GMT)
committerEd Bartosh <ed.bartosh@linux.intel.com>2015-12-09 19:08:33 (GMT)
commitfcedfe9984c2809988f752b1d07150b16f9da9ae (patch)
treeecdb89c64ab5ae3bcafd66a9f6ee2bd5677e7513
parent892dcee42b8304cf250544f83ac86f40d9918572 (diff)
downloadpoky-contrib-ed/toaster/django_upgrade-8364.zip
poky-contrib-ed/toaster/django_upgrade-8364.tar.gz
poky-contrib-ed/toaster/django_upgrade-8364.tar.bz2
toaster: rework checking of Django versioned/toaster/django_upgrade-8364
Checked django version considering information from toaster-requirements.txt, e.g. if requirements file contains line "Django>1.8,<1.9" toaster should be able to check that requirement correctly. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
-rwxr-xr-xbitbake/bin/toaster24
-rw-r--r--bitbake/toaster-requirements.txt2
2 files changed, 11 insertions, 15 deletions
diff --git a/bitbake/bin/toaster b/bitbake/bin/toaster
index 7645c56..1c1e029 100755
--- a/bitbake/bin/toaster
+++ b/bitbake/bin/toaster
@@ -156,16 +156,15 @@ notify_chldexit() {
verify_prereq() {
- # Verify prerequisites
- regex="([0-9])\.([0-9])"
- for line in `cat $BBBASEDIR/toaster-requirements.txt | grep Django` ; do
- [[ `echo $line` =~ $regex ]]
- required_major_version="${BASH_REMATCH[1]}"
- required_minor_version="${BASH_REMATCH[2]}"
- done
-
- if ! echo "import django; print ($required_major_version,) == django.VERSION[0:1] and django.VERSION[1:2][0] in ($required_minor_version,)" | python 2>/dev/null | grep True >/dev/null; then
- printf "This program needs Django $required_major_version.$required_minor_version. Please install with\n\npip install -r $BBBASEDIR/toaster-requirements.txt\n"
+ # Verify Django version
+ reqfile=$(python -c "import os; print os.path.realpath('$BBBASEDIR/toaster-requirements.txt')")
+ exp='s/Django\([><=]\+\)\([^,]\+\),\([><=]\+\)\(.\+\)/'
+ exp=$exp'import sys,django;version=django.get_version().split(".");'
+ exp=$exp'sys.exit(not (version \1 "\2".split(".") and version \3 "\4".split(".")))/p'
+ if ! sed -n "$exp" $reqfile | python - ; then
+ req=`grep ^Django $reqfile`
+ echo "This program needs $req"
+ echo "Please install with pip install -r $reqfile"
return 2
fi
@@ -265,10 +264,7 @@ if [ "$1" = 'restart-bitbake' ] ; then
return $rc
fi
-if ! verify_prereq; then
- echo "Error: Could not verify that the needed dependencies are installed. Please use virtualenv and pip to install dependencies listed in toaster-requirements.txt" 1>&2
- return 1
-fi
+verify_prereq || return 1
# We make sure we're running in the current shell and in a good environment
if [ -z "$BUILDDIR" ] || ! which bitbake >/dev/null 2>&1 ; then
diff --git a/bitbake/toaster-requirements.txt b/bitbake/toaster-requirements.txt
index 5d34494..0e8c742 100644
--- a/bitbake/toaster-requirements.txt
+++ b/bitbake/toaster-requirements.txt
@@ -1,4 +1,4 @@
-Django==1.8.6
+Django>1.8,<1.9
argparse==1.2.1
wsgiref==0.1.2
beautifulsoup4>=4.4.0