Skip to contentSkip to conversation

fetch2: Clean up srcrev_internal_helper

PATCH New Richard Purdie 1 participant 1 message Jan 20, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 fetch2: Clean up srcrev_internal_helper

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/lib/bb/fetch2/__init__.py +16 -9
index 9306323..4af089d 100644
@@ -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)