#
python package_get_auto_pr() {
- # per recipe PRSERV_HOST PRSERV_PORT
+ # per recipe PRSERV_HOST
pn = d.getVar('PN', True)
host = d.getVar("PRSERV_HOST_" + pn, True)
- port = d.getVar("PRSERV_PORT_" + pn, True)
if not (host is None):
d.setVar("PRSERV_HOST", host)
- if not (port is None):
- d.setVar("PRSERV_PORT", port)
- if d.getVar('USE_PR_SERV', True) != "0":
+
+ if d.getVar('PRSERV_HOST', True):
try:
auto_pr=prserv_get_pr_auto(d)
except Exception as e:
import re
pv = d.getVar("PV", True)
- if d.getVar('USE_PR_SERV', True) != "1":
+ 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")
BPN = "${@base_prune_suffix(d.getVar('PN', True), d.getVar('SPECIAL_PKGSUFFIX', True).split(), d)}"
BP = "${BPN}-${PV}"
-#
-# network based PR service
-#
-USE_PR_SERV = "${@[1,0][((not d.getVar('PRSERV_HOST', True)) or (not d.getVar('PRSERV_PORT', True))) and (not d.getVar('PRSERV_LOCKDOWN', True))]}"
-
# Package info.
SECTION = "base"
BB_HASHBASE_WHITELIST ?= "TMPDIR FILE PATH PWD BB_TASKHASH BBPATH DL_DIR \
SSTATE_DIR THISDIR FILESEXTRAPATHS FILE_DIRNAME HOME LOGNAME SHELL TERM \
USER FILESPATH STAGING_DIR_HOST STAGING_DIR_TARGET COREBASE PRSERV_HOST \
- PRSERV_PORT PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN PARALLEL_MAKE \
+ PRSERV_DUMPDIR PRSERV_DUMPFILE PRSERV_LOCKDOWN PARALLEL_MAKE \
CCACHE_DIR EXTERNAL_TOOLCHAIN CCACHE CCACHE_DISABLE"
BB_HASHCONFIG_WHITELIST ?= "${BB_HASHBASE_WHITELIST} DATE TIME SESSION_MANAGER \
DBUS_SESSION_BUS_ADDRESS SSH_AGENT_PID XDG_SESSION_COOKIE SSH_AUTH_SOCK \
def prserv_make_conn(d, check = False):
import prserv.serv
- host = d.getVar("PRSERV_HOST",True)
- port = d.getVar("PRSERV_PORT",True)
+ host_params = filter(None, (d.getVar("PRSERV_HOST", True) or '').split(':'))
try:
conn = None
- conn = prserv.serv.PRServerConnection(host,int(port))
+ conn = prserv.serv.PRServerConnection(host_params[0], int(host_params[1]))
if check:
if not conn.ping():
raise Exception('service not available')
return conn
def prserv_dump_db(d):
- if d.getVar('USE_PR_SERV', True) != "1":
+ if not d.getVar('PRSERV_HOST', True):
bb.error("Not using network based PR service")
return None
return conn.export(opt_version, opt_pkgarch, opt_checksum, opt_col)
def prserv_import_db(d, filter_version=None, filter_pkgarch=None, filter_checksum=None):
- if d.getVar('USE_PR_SERV', True) != "1":
+ if not d.getVar('PRSERV_HOST', True):
bb.error("Not using network based PR service")
return None
bb.utils.unlockfile(lf)
def prserv_check_avail(d):
- host = d.getVar("PRSERV_HOST",True)
- port = d.getVar("PRSERV_PORT",True)
+ host_params = filter(None, (d.getVar("PRSERV_HOST", True) or '').split(':'))
try:
- if not host:
+ if len(host_params) != 2:
raise TypeError
else:
- port = int(port)
+ int(host_params[1])
except TypeError:
- bb.fatal("Undefined or incorrect values of PRSERV_HOST or PRSERV_PORT")
+ bb.fatal('Undefined/incorrect PRSERV_HOST value. Format: "host:port"')
else:
prserv_make_conn(d, True)