aboutsummaryrefslogtreecommitdiffstats
path: root/lib/bb/data_smart.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2022-02-17 11:59:02 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-02-21 23:36:48 +0000
commit0914011f7647571ab125bbddcd7d68e3da47226a (patch)
tree771cba861735ff00ad2c5c89972ecab0806ee86e /lib/bb/data_smart.py
parentbac6f7acfd2e6b5b4d6d3a8d40beeff76b215751 (diff)
downloadbitbake-0914011f7647571ab125bbddcd7d68e3da47226a.tar.gz
data_smart: Add support to BB_RENAMED_VARIABLES for custom strings
Add support for custom strings in BB_RENAMED_VARIABLES and use this to show that BB_STAMP_WHITELIST and BB_STAMP_POLICY are no longer supported. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/data_smart.py')
-rw-r--r--lib/bb/data_smart.py35
1 files changed, 21 insertions, 14 deletions
diff --git a/lib/bb/data_smart.py b/lib/bb/data_smart.py
index 68bdc3430..7b06d3a10 100644
--- a/lib/bb/data_smart.py
+++ b/lib/bb/data_smart.py
@@ -41,6 +41,8 @@ bitbake_renamed_vars = {
"BB_HASHTASK_WHITELIST": "BB_TASKHASH_IGNORE_TASKS",
"BB_SETSCENE_ENFORCE_WHITELIST": "BB_SETSCENE_ENFORCE_IGNORE_TASKS",
"MULTI_PROVIDER_WHITELIST": "BB_MULTI_PROVIDER_ALLOWED",
+ "BB_STAMP_WHITELIST": "is a deprecated variable and support has been removed",
+ "BB_STAMP_POLICY": "is a deprecated variable and support has been removed",
}
def infer_caller_details(loginfo, parent = False, varval = True):
@@ -390,6 +392,23 @@ class VariableHistory(object):
else:
self.variables[var] = []
+def _print_rename_error(var, loginfo, renamedvars, fullvar=None):
+ info = ""
+ if "file" in loginfo:
+ info = " file: %s" % loginfo["file"]
+ if "line" in loginfo:
+ info += " line: %s" % loginfo["line"]
+ if fullvar and fullvar != var:
+ info += " referenced as: %s" % fullvar
+ if info:
+ info = " (%s)" % info.strip()
+ renameinfo = renamedvars[var]
+ if " " in renameinfo:
+ # A space signals a string to display instead of a rename
+ bb.erroronce('Variable %s %s%s' % (var, renameinfo, info))
+ else:
+ bb.erroronce('Variable %s has been renamed to %s%s' % (var, renameinfo, info))
+
class DataSmart(MutableMapping):
def __init__(self):
self.dict = {}
@@ -513,18 +532,6 @@ class DataSmart(MutableMapping):
def hasOverrides(self, var):
return var in self.overridedata
- def _print_rename_error(self, var, loginfo, fullvar=None):
- info = ""
- if "file" in loginfo:
- info = " file: %s" % loginfo["file"]
- if "line" in loginfo:
- info += " line: %s" % loginfo["line"]
- if fullvar and fullvar != var:
- info += " referenced as: %s" % fullvar
- if info:
- info = " (%s)" % info.strip()
- bb.erroronce('Variable %s has been renamed to %s%s' % (var, self._var_renames[var], info))
-
def setVar(self, var, value, **loginfo):
#print("var=" + str(var) + " val=" + str(value))
@@ -538,7 +545,7 @@ class DataSmart(MutableMapping):
shortvar = var.split(":", 1)[0]
if shortvar in self._var_renames:
- self._print_rename_error(shortvar, loginfo, fullvar=var)
+ _print_rename_error(shortvar, loginfo, self._var_renames, fullvar=var)
self.expand_cache = {}
parsing=False
@@ -729,7 +736,7 @@ class DataSmart(MutableMapping):
self._var_renames[flag] = value
if var in self._var_renames:
- self._print_rename_error(var, loginfo)
+ _print_rename_error(var, loginfo, self._var_renames)
if 'op' not in loginfo:
loginfo['op'] = "set"