Skip to contentSkip to conversation

package/prserv: Merge two similar functions into one

PATCH New Richard Purdie 1 participant 1 message Nov 5, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 package/prserv: Merge two similar functions into one

Having these two separate functions handling PR values seems pointless, and worse, there are impossible code branches mixed within them.

Merge them into one function and tweak comments so at least you don't have to read both functions to figure out what is going on.

This does restructure the conditionals to try and aid readability.

bitbake/lib/bb/fetch2/__init__.py +4 -2
index 7fb811e..ee01834 100644
@@ -620,11 +620,13 @@ def get_autorev(d):
 
 def get_srcrev(d):
     """
-    Return the version string for the current package
-    (usually to be used as PV)
+    Return the revsion string, usually for use in the version string (PV) of the current package
     Most packages usually only have one SCM so we just pass on the call.
     In the multi SCM case, we build a value based on SRCREV_FORMAT which must
     have been set.
+
+    The idea here is that we put the string "AUTOINC+" into return value if the revisions are not 
+    incremental, other code is then responsible for turning that into an increasing value (if needed)
     """
 
     scms = []
meta/classes/package.bbclass +38 -14

66 lines not on this page · raw message

meta/classes/prserv.bbclass +0 -31
index b440d86..139597f 100644
@@ -1,33 +1,2 @@
-def prserv_get_pr_auto(d):
-    import oe.prservice
-    import re
 
-    pv = d.getVar("PV", True)
-    if not d.getVar('PRSERV_HOST', True):
-        if 'AUTOINC' in pv:
-            d.setVar("PKGV", pv.replace("AUTOINC", "0"))
-        bb.warn("Not using network based PR service")
-        return None
 
-    version = d.getVar("PRAUTOINX", True)
-    pkgarch = d.getVar("PACKAGE_ARCH", True)
-    checksum = d.getVar("BB_TASKHASH", True)
-
-    conn = d.getVar("__PRSERV_CONN", True)
-    if conn is None:
-        conn = oe.prservice.prserv_make_conn(d)
-        if conn is None:
-            return None
-
-    if "AUTOINC" in pv:
-        srcpv = bb.fetch2.get_srcrev(d)
-        base_ver = "AUTOINC-%s" % version[:version.find(srcpv)]
-        value = conn.getPR(base_ver, pkgarch, srcpv)
-        d.setVar("PKGV", pv.replace("AUTOINC", str(value)))
-
-    if d.getVar('PRSERV_LOCKDOWN', True):
-        auto_rev = d.getVar('PRAUTO_' + version + '_' + pkgarch, True) or d.getVar('PRAUTO_' + version, True) or None
-    else:
-        auto_rev = conn.getPR(version, pkgarch, checksum)
-
-    return auto_rev