diff options
Diffstat (limited to 'meta/classes/package.bbclass')
| -rw-r--r-- | meta/classes/package.bbclass | 52 |
1 files changed, 38 insertions, 14 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 4685cd2bc0..320ec0ee01 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass | |||
| @@ -394,28 +394,52 @@ def runtime_mapping_rename (varname, pkg, d): | |||
| 394 | # | 394 | # |
| 395 | 395 | ||
| 396 | python package_get_auto_pr() { | 396 | python package_get_auto_pr() { |
| 397 | # per recipe PRSERV_HOST | 397 | import oe.prservice |
| 398 | import re | ||
| 399 | |||
| 400 | # Support per recipe PRSERV_HOST | ||
| 398 | pn = d.getVar('PN', True) | 401 | pn = d.getVar('PN', True) |
| 399 | host = d.getVar("PRSERV_HOST_" + pn, True) | 402 | host = d.getVar("PRSERV_HOST_" + pn, True) |
| 400 | if not (host is None): | 403 | if not (host is None): |
| 401 | d.setVar("PRSERV_HOST", host) | 404 | d.setVar("PRSERV_HOST", host) |
| 402 | 405 | ||
| 403 | if d.getVar('PRSERV_HOST', True): | 406 | # PR Server not active, handle AUTOINC |
| 404 | try: | 407 | if not d.getVar('PRSERV_HOST', True): |
| 405 | auto_pr=prserv_get_pr_auto(d) | ||
| 406 | except Exception as e: | ||
| 407 | bb.fatal("Can NOT get PRAUTO, exception %s" % str(e)) | ||
| 408 | if auto_pr is None: | ||
| 409 | if d.getVar('PRSERV_LOCKDOWN', True): | ||
| 410 | bb.fatal("Can NOT get PRAUTO from lockdown exported file") | ||
| 411 | else: | ||
| 412 | bb.fatal("Can NOT get PRAUTO from remote PR service") | ||
| 413 | return | ||
| 414 | d.setVar('PRAUTO',str(auto_pr)) | ||
| 415 | else: | ||
| 416 | pkgv = d.getVar("PKGV", True) | 408 | pkgv = d.getVar("PKGV", True) |
| 417 | if 'AUTOINC' in pkgv: | 409 | if 'AUTOINC' in pkgv: |
| 418 | d.setVar("PKGV", pkgv.replace("AUTOINC", "0")) | 410 | d.setVar("PKGV", pkgv.replace("AUTOINC", "0")) |
| 411 | return | ||
| 412 | |||
| 413 | auto_pr = None | ||
| 414 | pv = d.getVar("PV", True) | ||
| 415 | version = d.getVar("PRAUTOINX", True) | ||
| 416 | pkgarch = d.getVar("PACKAGE_ARCH", True) | ||
| 417 | checksum = d.getVar("BB_TASKHASH", True) | ||
| 418 | |||
| 419 | if d.getVar('PRSERV_LOCKDOWN', True): | ||
| 420 | auto_pr = d.getVar('PRAUTO_' + version + '_' + pkgarch, True) or d.getVar('PRAUTO_' + version, True) or None | ||
| 421 | if auto_pr is None: | ||
| 422 | bb.fatal("Can NOT get PRAUTO from lockdown exported file") | ||
| 423 | d.setVar('PRAUTO',str(auto_pr)) | ||
| 424 | return | ||
| 425 | |||
| 426 | try: | ||
| 427 | conn = d.getVar("__PRSERV_CONN", True) | ||
| 428 | if conn is None: | ||
| 429 | conn = oe.prservice.prserv_make_conn(d) | ||
| 430 | if conn is not None: | ||
| 431 | if "AUTOINC" in pv: | ||
| 432 | srcpv = bb.fetch2.get_srcrev(d) | ||
| 433 | base_ver = "AUTOINC-%s" % version[:version.find(srcpv)] | ||
| 434 | value = conn.getPR(base_ver, pkgarch, srcpv) | ||
| 435 | d.setVar("PKGV", pv.replace("AUTOINC", str(value))) | ||
| 436 | |||
| 437 | auto_pr = conn.getPR(version, pkgarch, checksum) | ||
| 438 | except Exception as e: | ||
| 439 | bb.fatal("Can NOT get PRAUTO, exception %s" % str(e)) | ||
| 440 | if auto_pr is None: | ||
| 441 | bb.fatal("Can NOT get PRAUTO from remote PR service") | ||
| 442 | d.setVar('PRAUTO',str(auto_pr)) | ||
| 419 | } | 443 | } |
| 420 | 444 | ||
| 421 | LOCALEBASEPN ??= "${PN}" | 445 | LOCALEBASEPN ??= "${PN}" |
