diff options
-rw-r--r-- | meta/classes/package.bbclass | 52 | ||||
-rw-r--r-- | meta/classes/prserv.bbclass | 31 |
2 files changed, 38 insertions, 45 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 2aec3e6bd9..510617c3de 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -392,28 +392,52 @@ def runtime_mapping_rename (varname, pkg, d): # python package_get_auto_pr() { - # per recipe PRSERV_HOST + import oe.prservice + import re + + # Support per recipe PRSERV_HOST pn = d.getVar('PN', True) host = d.getVar("PRSERV_HOST_" + pn, True) if not (host is None): d.setVar("PRSERV_HOST", host) - if d.getVar('PRSERV_HOST', True): - try: - auto_pr=prserv_get_pr_auto(d) - except Exception as e: - bb.fatal("Can NOT get PRAUTO, exception %s" % str(e)) - if auto_pr is None: - if d.getVar('PRSERV_LOCKDOWN', True): - bb.fatal("Can NOT get PRAUTO from lockdown exported file") - else: - bb.fatal("Can NOT get PRAUTO from remote PR service") - return - d.setVar('PRAUTO',str(auto_pr)) - else: + # PR Server not active, handle AUTOINC + if not d.getVar('PRSERV_HOST', True): pkgv = d.getVar("PKGV", True) if 'AUTOINC' in pkgv: d.setVar("PKGV", pkgv.replace("AUTOINC", "0")) + return + + auto_pr = None + pv = d.getVar("PV", True) + version = d.getVar("PRAUTOINX", True) + pkgarch = d.getVar("PACKAGE_ARCH", True) + checksum = d.getVar("BB_TASKHASH", True) + + if d.getVar('PRSERV_LOCKDOWN', True): + auto_pr = d.getVar('PRAUTO_' + version + '_' + pkgarch, True) or d.getVar('PRAUTO_' + version, True) or None + if auto_pr is None: + bb.fatal("Can NOT get PRAUTO from lockdown exported file") + d.setVar('PRAUTO',str(auto_pr)) + return + + try: + conn = d.getVar("__PRSERV_CONN", True) + if conn is None: + conn = oe.prservice.prserv_make_conn(d) + if conn is not 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))) + + auto_pr = conn.getPR(version, pkgarch, checksum) + except Exception as e: + bb.fatal("Can NOT get PRAUTO, exception %s" % str(e)) + if auto_pr is None: + bb.fatal("Can NOT get PRAUTO from remote PR service") + d.setVar('PRAUTO',str(auto_pr)) } LOCALEBASEPN ??= "${PN}" diff --git a/meta/classes/prserv.bbclass b/meta/classes/prserv.bbclass index b440d863ef..139597f9cb 100644 --- a/meta/classes/prserv.bbclass +++ b/meta/classes/prserv.bbclass @@ -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 |