bitbake: fetch2: Clean up srcrev_internal_helper
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 20 Jan 2014 13:10:46 +0000 (13:10 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 21 Jan 2014 10:20:13 +0000 (10:20 +0000)
Currently INVALID and None are checked as incorrect values under different
circumstances. This code standardises those checks to be consistent. We
should phase out the use of "INVALID".

(Bitbake rev: 86ef4e65ce18b71dc69643586bd2aa8f48703171)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake/lib/bb/fetch2/__init__.py

index f2a9f15..f4cff03 100644 (file)
@@ -873,17 +873,24 @@ def srcrev_internal_helper(ud, d, name):
     if 'tag' in ud.parm:
         return ud.parm['tag']
 
-    rev = None
+    srcrev = None
     pn = d.getVar("PN", True)
+    attempts = []
+    if name != '' and pn:
+        attempts.append("SRCREV_%s_pn-%s" % (name, pn))
     if name != '':
-        rev = d.getVar("SRCREV_%s_pn-%s" % (name, pn), True)
-        if not rev:
-            rev = d.getVar("SRCREV_%s" % name, True)
-    if not rev:
-        rev = d.getVar("SRCREV_pn-%s" % pn, True)
-    if not rev:
-        rev = d.getVar("SRCREV", True)
-    if rev == "INVALID":
+        attempts.append("SRCREV_%s" % name)
+    if pn:
+        attempts.append("SRCREV_pn-%s" % pn)
+    attempts.append("SRCREV")
+
+    for a in attempts:
+        srcrev = d.getVar(a, True)              
+        if srcrev and srcrev != "INVALID":
+            break
+
+    rev = srcrev
+    if rev == "INVALID" or not rev:
         var = "SRCREV_pn-%s" % pn
         if name != '':
             var = "SRCREV_%s_pn-%s" % (name, pn)