bitbake: lib/bb: Add expansion parameter to getVarFlag

This sets the scene for removing the default False for expansion from
getVarFlag. This would later allow True to become the expand default.

On the most part this is an automatic translation with:

sed -e 's:\(\.getVarFlag([^,()]*, [^,()]*\)):\1, False):g'  -i `grep -ril getVar *`

There should be no functional change from this patch.

(Bitbake rev: 7c3b99c6a716095af3ffce0b15110e91fb49c913)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2016-02-02 23:49:09 +00:00
parent b98866d003
commit 4628fe12e7
8 changed files with 39 additions and 39 deletions

View File

@ -462,7 +462,7 @@ def main():
state_group = 2 state_group = 2
for key in bb.data.keys(documentation): for key in bb.data.keys(documentation):
data = documentation.getVarFlag(key, "doc") data = documentation.getVarFlag(key, "doc", False)
if not data: if not data:
continue continue

View File

@ -318,7 +318,7 @@ exit $ret
os.chmod(runfile, 0775) os.chmod(runfile, 0775)
cmd = runfile cmd = runfile
if d.getVarFlag(func, 'fakeroot'): if d.getVarFlag(func, 'fakeroot', False):
fakerootcmd = d.getVar('FAKEROOT', True) fakerootcmd = d.getVar('FAKEROOT', True)
if fakerootcmd: if fakerootcmd:
cmd = [fakerootcmd, runfile] cmd = [fakerootcmd, runfile]
@ -393,7 +393,7 @@ def _exec_task(fn, task, d, quieterr):
Execution of a task involves a bit more setup than executing a function, Execution of a task involves a bit more setup than executing a function,
running it with its own local metadata, and with some useful variables set. running it with its own local metadata, and with some useful variables set.
""" """
if not d.getVarFlag(task, 'task'): if not d.getVarFlag(task, 'task', False):
event.fire(TaskInvalid(task, d), d) event.fire(TaskInvalid(task, d), d)
logger.error("No such task: %s" % task) logger.error("No such task: %s" % task)
return 1 return 1
@ -532,7 +532,7 @@ def _exec_task(fn, task, d, quieterr):
bb.utils.remove(loglink) bb.utils.remove(loglink)
event.fire(TaskSucceeded(task, logfn, localdata), localdata) event.fire(TaskSucceeded(task, logfn, localdata), localdata)
if not localdata.getVarFlag(task, 'nostamp') and not localdata.getVarFlag(task, 'selfstamp'): if not localdata.getVarFlag(task, 'nostamp', False) and not localdata.getVarFlag(task, 'selfstamp', False):
make_stamp(task, localdata) make_stamp(task, localdata)
return 0 return 0
@ -540,7 +540,7 @@ def _exec_task(fn, task, d, quieterr):
def exec_task(fn, task, d, profile = False): def exec_task(fn, task, d, profile = False):
try: try:
quieterr = False quieterr = False
if d.getVarFlag(task, "quieterrors") is not None: if d.getVarFlag(task, "quieterrors", False) is not None:
quieterr = True quieterr = True
if profile: if profile:
@ -745,7 +745,7 @@ def addtask(task, before, after, d):
bbtasks.append(task) bbtasks.append(task)
d.setVar('__BBTASKS', bbtasks) d.setVar('__BBTASKS', bbtasks)
existing = d.getVarFlag(task, "deps") or [] existing = d.getVarFlag(task, "deps", False) or []
if after is not None: if after is not None:
# set up deps for function # set up deps for function
for entry in after.split(): for entry in after.split():
@ -755,7 +755,7 @@ def addtask(task, before, after, d):
if before is not None: if before is not None:
# set up things that depend on this func # set up things that depend on this func
for entry in before.split(): for entry in before.split():
existing = d.getVarFlag(entry, "deps") or [] existing = d.getVarFlag(entry, "deps", False) or []
if task not in existing: if task not in existing:
d.setVarFlag(entry, "deps", [task] + existing) d.setVarFlag(entry, "deps", [task] + existing)
@ -770,7 +770,7 @@ def deltask(task, d):
d.delVarFlag(task, 'deps') d.delVarFlag(task, 'deps')
for bbtask in d.getVar('__BBTASKS', False) or []: for bbtask in d.getVar('__BBTASKS', False) or []:
deps = d.getVarFlag(bbtask, 'deps') or [] deps = d.getVarFlag(bbtask, 'deps', False) or []
if task in deps: if task in deps:
deps.remove(task) deps.remove(task)
d.setVarFlag(bbtask, 'deps', deps) d.setVarFlag(bbtask, 'deps', deps)

View File

@ -107,7 +107,7 @@ def setVarFlag(var, flag, flagvalue, d):
def getVarFlag(var, flag, d): def getVarFlag(var, flag, d):
"""Gets given flag from given var""" """Gets given flag from given var"""
return d.getVarFlag(var, flag) return d.getVarFlag(var, flag, False)
def delVarFlag(var, flag, d): def delVarFlag(var, flag, d):
"""Removes a given flag from the variable's flags""" """Removes a given flag from the variable's flags"""
@ -182,12 +182,12 @@ def inheritFromOS(d, savedenv, permitted):
def emit_var(var, o=sys.__stdout__, d = init(), all=False): def emit_var(var, o=sys.__stdout__, d = init(), all=False):
"""Emit a variable to be sourced by a shell.""" """Emit a variable to be sourced by a shell."""
if d.getVarFlag(var, "python"): if d.getVarFlag(var, "python", False):
return False return False
export = d.getVarFlag(var, "export") export = d.getVarFlag(var, "export", False)
unexport = d.getVarFlag(var, "unexport") unexport = d.getVarFlag(var, "unexport", False)
func = d.getVarFlag(var, "func") func = d.getVarFlag(var, "func", False)
if not all and not export and not unexport and not func: if not all and not export and not unexport and not func:
return False return False
@ -245,7 +245,7 @@ def emit_var(var, o=sys.__stdout__, d = init(), all=False):
def emit_env(o=sys.__stdout__, d = init(), all=False): def emit_env(o=sys.__stdout__, d = init(), all=False):
"""Emits all items in the data store in a format such that it can be sourced by a shell.""" """Emits all items in the data store in a format such that it can be sourced by a shell."""
isfunc = lambda key: bool(d.getVarFlag(key, "func")) isfunc = lambda key: bool(d.getVarFlag(key, "func", False))
keys = sorted((key for key in d.keys() if not key.startswith("__")), key=isfunc) keys = sorted((key for key in d.keys() if not key.startswith("__")), key=isfunc)
grouped = groupby(keys, isfunc) grouped = groupby(keys, isfunc)
for isfunc, keys in grouped: for isfunc, keys in grouped:
@ -254,8 +254,8 @@ def emit_env(o=sys.__stdout__, d = init(), all=False):
def exported_keys(d): def exported_keys(d):
return (key for key in d.keys() if not key.startswith('__') and return (key for key in d.keys() if not key.startswith('__') and
d.getVarFlag(key, 'export') and d.getVarFlag(key, 'export', False) and
not d.getVarFlag(key, 'unexport')) not d.getVarFlag(key, 'unexport', False))
def exported_vars(d): def exported_vars(d):
for key in exported_keys(d): for key in exported_keys(d):
@ -270,7 +270,7 @@ def exported_vars(d):
def emit_func(func, o=sys.__stdout__, d = init()): def emit_func(func, o=sys.__stdout__, d = init()):
"""Emits all items in the data store in a format such that it can be sourced by a shell.""" """Emits all items in the data store in a format such that it can be sourced by a shell."""
keys = (key for key in d.keys() if not key.startswith("__") and not d.getVarFlag(key, "func")) keys = (key for key in d.keys() if not key.startswith("__") and not d.getVarFlag(key, "func", False))
for key in keys: for key in keys:
emit_var(key, o, d, False) emit_var(key, o, d, False)
@ -284,7 +284,7 @@ def emit_func(func, o=sys.__stdout__, d = init()):
seen |= deps seen |= deps
newdeps = set() newdeps = set()
for dep in deps: for dep in deps:
if d.getVarFlag(dep, "func") and not d.getVarFlag(dep, "python"): if d.getVarFlag(dep, "func", False) and not d.getVarFlag(dep, "python", False):
emit_var(dep, o, d, False) and o.write('\n') emit_var(dep, o, d, False) and o.write('\n')
newdeps |= bb.codeparser.ShellParser(dep, logger).parse_shell(d.getVar(dep, True)) newdeps |= bb.codeparser.ShellParser(dep, logger).parse_shell(d.getVar(dep, True))
newdeps |= set((d.getVarFlag(dep, "vardeps", True) or "").split()) newdeps |= set((d.getVarFlag(dep, "vardeps", True) or "").split())
@ -317,7 +317,7 @@ def emit_func_python(func, o=sys.__stdout__, d = init()):
seen |= deps seen |= deps
newdeps = set() newdeps = set()
for dep in deps: for dep in deps:
if d.getVarFlag(dep, "func") and d.getVarFlag(dep, "python"): if d.getVarFlag(dep, "func", False) and d.getVarFlag(dep, "python", False):
write_func(dep, o) write_func(dep, o)
pp = bb.codeparser.PythonParser(dep, logger) pp = bb.codeparser.PythonParser(dep, logger)
pp.parse_python(d.getVar(dep, True)) pp.parse_python(d.getVar(dep, True))
@ -416,7 +416,7 @@ def build_dependencies(key, keys, shelldeps, varflagsexcl, d):
def generate_dependencies(d): def generate_dependencies(d):
keys = set(key for key in d if not key.startswith("__")) keys = set(key for key in d if not key.startswith("__"))
shelldeps = set(key for key in d.getVar("__exportlist", False) if d.getVarFlag(key, "export") and not d.getVarFlag(key, "unexport")) shelldeps = set(key for key in d.getVar("__exportlist", False) if d.getVarFlag(key, "export", False) and not d.getVarFlag(key, "unexport", False))
varflagsexcl = d.getVar('BB_SIGNATURE_EXCLUDE_FLAGS', True) varflagsexcl = d.getVar('BB_SIGNATURE_EXCLUDE_FLAGS', True)
deps = {} deps = {}

View File

@ -147,7 +147,7 @@ class DataContext(dict):
def __missing__(self, key): def __missing__(self, key):
value = self.metadata.getVar(key, True) value = self.metadata.getVar(key, True)
if value is None or self.metadata.getVarFlag(key, 'func'): if value is None or self.metadata.getVarFlag(key, 'func', False):
raise KeyError(key) raise KeyError(key)
else: else:
return value return value
@ -480,7 +480,7 @@ class DataSmart(MutableMapping):
base = match.group('base') base = match.group('base')
keyword = match.group("keyword") keyword = match.group("keyword")
override = match.group('add') override = match.group('add')
l = self.getVarFlag(base, keyword) or [] l = self.getVarFlag(base, keyword, False) or []
l.append([value, override]) l.append([value, override])
self.setVarFlag(base, keyword, l, ignore=True) self.setVarFlag(base, keyword, l, ignore=True)
# And cause that to be recorded: # And cause that to be recorded:
@ -582,11 +582,11 @@ class DataSmart(MutableMapping):
self.setVar(newkey, val, ignore=True, parsing=True) self.setVar(newkey, val, ignore=True, parsing=True)
for i in (__setvar_keyword__): for i in (__setvar_keyword__):
src = self.getVarFlag(key, i) src = self.getVarFlag(key, i, False)
if src is None: if src is None:
continue continue
dest = self.getVarFlag(newkey, i) or [] dest = self.getVarFlag(newkey, i, False) or []
dest.extend(src) dest.extend(src)
self.setVarFlag(newkey, i, dest, ignore=True) self.setVarFlag(newkey, i, dest, ignore=True)

View File

@ -1002,7 +1002,7 @@ def trusted_network(d, url):
return True return True
pkgname = d.expand(d.getVar('PN', False)) pkgname = d.expand(d.getVar('PN', False))
trusted_hosts = d.getVarFlag('BB_ALLOWED_NETWORKS', pkgname) trusted_hosts = d.getVarFlag('BB_ALLOWED_NETWORKS', pkgname, False)
if not trusted_hosts: if not trusted_hosts:
trusted_hosts = d.getVar('BB_ALLOWED_NETWORKS', True) trusted_hosts = d.getVar('BB_ALLOWED_NETWORKS', True)
@ -1185,13 +1185,13 @@ class FetchData(object):
elif self.type not in ["http", "https", "ftp", "ftps", "sftp"]: elif self.type not in ["http", "https", "ftp", "ftps", "sftp"]:
self.md5_expected = None self.md5_expected = None
else: else:
self.md5_expected = d.getVarFlag("SRC_URI", self.md5_name) self.md5_expected = d.getVarFlag("SRC_URI", self.md5_name, False)
if self.sha256_name in self.parm: if self.sha256_name in self.parm:
self.sha256_expected = self.parm[self.sha256_name] self.sha256_expected = self.parm[self.sha256_name]
elif self.type not in ["http", "https", "ftp", "ftps", "sftp"]: elif self.type not in ["http", "https", "ftp", "ftps", "sftp"]:
self.sha256_expected = None self.sha256_expected = None
else: else:
self.sha256_expected = d.getVarFlag("SRC_URI", self.sha256_name) self.sha256_expected = d.getVarFlag("SRC_URI", self.sha256_name, False)
self.ignore_checksums = False self.ignore_checksums = False
self.names = self.parm.get("name",'default').split(',') self.names = self.parm.get("name",'default').split(',')

View File

@ -83,7 +83,7 @@ class DataNode(AstNode):
def getFunc(self, key, data): def getFunc(self, key, data):
if 'flag' in self.groupd and self.groupd['flag'] != None: if 'flag' in self.groupd and self.groupd['flag'] != None:
return data.getVarFlag(key, self.groupd['flag'], noweakdefault=True) return data.getVarFlag(key, self.groupd['flag'], expand=False, noweakdefault=True)
else: else:
return data.getVar(key, False, noweakdefault=True, parsing=True) return data.getVar(key, False, noweakdefault=True, parsing=True)
@ -213,7 +213,7 @@ class ExportFuncsNode(AstNode):
for func in self.n: for func in self.n:
calledfunc = self.classname + "_" + func calledfunc = self.classname + "_" + func
if data.getVar(func, False) and not data.getVarFlag(func, 'export_func'): if data.getVar(func, False) and not data.getVarFlag(func, 'export_func', False):
continue continue
if data.getVar(func, False): if data.getVar(func, False):
@ -221,15 +221,15 @@ class ExportFuncsNode(AstNode):
data.setVarFlag(func, 'func', None) data.setVarFlag(func, 'func', None)
for flag in [ "func", "python" ]: for flag in [ "func", "python" ]:
if data.getVarFlag(calledfunc, flag): if data.getVarFlag(calledfunc, flag, False):
data.setVarFlag(func, flag, data.getVarFlag(calledfunc, flag)) data.setVarFlag(func, flag, data.getVarFlag(calledfunc, flag, False))
for flag in [ "dirs" ]: for flag in [ "dirs" ]:
if data.getVarFlag(func, flag): if data.getVarFlag(func, flag, False):
data.setVarFlag(calledfunc, flag, data.getVarFlag(func, flag)) data.setVarFlag(calledfunc, flag, data.getVarFlag(func, flag, False))
data.setVarFlag(func, "filename", "autogenerated") data.setVarFlag(func, "filename", "autogenerated")
data.setVarFlag(func, "lineno", 1) data.setVarFlag(func, "lineno", 1)
if data.getVarFlag(calledfunc, "python"): if data.getVarFlag(calledfunc, "python", False):
data.setVar(func, " bb.build.exec_func('" + calledfunc + "', d)\n", parsing=True) data.setVar(func, " bb.build.exec_func('" + calledfunc + "', d)\n", parsing=True)
else: else:
if "-" in self.classname: if "-" in self.classname:

View File

@ -399,13 +399,13 @@ class TestFlags(unittest.TestCase):
self.d.setVarFlag("foo", "flag2", "value of flag2") self.d.setVarFlag("foo", "flag2", "value of flag2")
def test_setflag(self): def test_setflag(self):
self.assertEqual(self.d.getVarFlag("foo", "flag1"), "value of flag1") self.assertEqual(self.d.getVarFlag("foo", "flag1", False), "value of flag1")
self.assertEqual(self.d.getVarFlag("foo", "flag2"), "value of flag2") self.assertEqual(self.d.getVarFlag("foo", "flag2", False), "value of flag2")
def test_delflag(self): def test_delflag(self):
self.d.delVarFlag("foo", "flag2") self.d.delVarFlag("foo", "flag2")
self.assertEqual(self.d.getVarFlag("foo", "flag1"), "value of flag1") self.assertEqual(self.d.getVarFlag("foo", "flag1", False), "value of flag1")
self.assertEqual(self.d.getVarFlag("foo", "flag2"), None) self.assertEqual(self.d.getVarFlag("foo", "flag2", False), None)
class Contains(unittest.TestCase): class Contains(unittest.TestCase):

View File

@ -631,7 +631,7 @@ def build_environment(d):
""" """
import bb.data import bb.data
for var in bb.data.keys(d): for var in bb.data.keys(d):
export = d.getVarFlag(var, "export") export = d.getVarFlag(var, "export", False)
if export: if export:
os.environ[var] = d.getVar(var, True) or "" os.environ[var] = d.getVar(var, True) or ""