Skip to content
Permalink
Browse files

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.

(From OE-Core rev: 865d001de168915a5796e5c760f96bdd04cebd61)

(From OE-Core rev: 508f7dfb301db30964bf77d370a9e48cb7f354f8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
  • Loading branch information
rpurdie committed Nov 5, 2014
1 parent 909a80f commit 51d5204084a3c3d8417af7bf28658bc5cae1b7ca
Showing with 38 additions and 45 deletions.
  1. +38 −14 meta/classes/package.bbclass
  2. +0 −31 meta/classes/prserv.bbclass
@@ -394,28 +394,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}"
@@ -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

0 comments on commit 51d5204

Please sign in to comment.
You can’t perform that action at this time.