summaryrefslogtreecommitdiff
path: root/scripts/lib/devtool/upgrade.py
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2016-02-22 12:04:53 +1300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-02-28 11:32:35 +0000
commit1d0f821371d1cb93e30fad86f0c20e38cb93b54b (patch)
tree3dcc23a96812950a41d09c96b57fa69688915a31 /scripts/lib/devtool/upgrade.py
parent1e2bc7d861555a04350a87f19047efdc717046be (diff)
downloadopenembedded-core-1d0f821371d1cb93e30fad86f0c20e38cb93b54b.tar.gz
openembedded-core-1d0f821371d1cb93e30fad86f0c20e38cb93b54b.tar.bz2
openembedded-core-1d0f821371d1cb93e30fad86f0c20e38cb93b54b.zip
devtool: upgrade: fix version argument checking
For recipes that specify SRCREV, the code here wasn't quite doing the right thing. If the recipe has a SRCREV then that needs changing on upgrade, so ensure that the user specifies it. If it doesn't, then it'll be "INVALID" not None since the former is the actual default, so handle that properly as well. Additionally an unset variable was being erroneously passed when raising the error about the version being the same leading to a traceback, so fix that as well. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'scripts/lib/devtool/upgrade.py')
-rw-r--r--scripts/lib/devtool/upgrade.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/scripts/lib/devtool/upgrade.py b/scripts/lib/devtool/upgrade.py
index 279a65f62a..77b48f45a7 100644
--- a/scripts/lib/devtool/upgrade.py
+++ b/scripts/lib/devtool/upgrade.py
@@ -314,8 +314,13 @@ def upgrade(args, config, basepath, workspace):
srctree = standard.get_default_srctree(config, pn)
standard._check_compatible_recipe(pn, rd)
- if rd.getVar('PV', True) == args.version and rd.getVar('SRCREV', True) == args.srcrev:
- raise DevtoolError("Current and upgrade versions are the same version" % version)
+ old_srcrev = rd.getVar('SRCREV', True)
+ if old_srcrev == 'INVALID':
+ old_srcrev = None
+ if old_srcrev and not args.srcrev:
+ raise DevtoolError("Recipe specifies a SRCREV value; you must specify a new one when upgrading")
+ if rd.getVar('PV', True) == args.version and old_srcrev == args.srcrev:
+ raise DevtoolError("Current and upgrade versions are the same version")
rf = None
try: