summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/parse/parse_py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/parse/parse_py')
-rw-r--r--bitbake/lib/bb/parse/parse_py/BBHandler.py5
-rw-r--r--bitbake/lib/bb/parse/parse_py/ConfHandler.py9
2 files changed, 12 insertions, 2 deletions
diff --git a/bitbake/lib/bb/parse/parse_py/BBHandler.py b/bitbake/lib/bb/parse/parse_py/BBHandler.py
index 01f22d3b24..7cba649595 100644
--- a/bitbake/lib/bb/parse/parse_py/BBHandler.py
+++ b/bitbake/lib/bb/parse/parse_py/BBHandler.py
@@ -77,7 +77,10 @@ def inherit(files, fn, lineno, d):
77 if not os.path.isabs(file): 77 if not os.path.isabs(file):
78 dname = os.path.dirname(fn) 78 dname = os.path.dirname(fn)
79 bbpath = "%s:%s" % (dname, d.getVar("BBPATH", True)) 79 bbpath = "%s:%s" % (dname, d.getVar("BBPATH", True))
80 abs_fn = bb.utils.which(bbpath, file) 80 abs_fn, attempts = bb.utils.which(bbpath, file, history=True)
81 for af in attempts:
82 if af != abs_fn:
83 bb.parse.mark_dependency(d, af)
81 if abs_fn: 84 if abs_fn:
82 file = abs_fn 85 file = abs_fn
83 86
diff --git a/bitbake/lib/bb/parse/parse_py/ConfHandler.py b/bitbake/lib/bb/parse/parse_py/ConfHandler.py
index 7b30c8acb3..f4fb2aa45c 100644
--- a/bitbake/lib/bb/parse/parse_py/ConfHandler.py
+++ b/bitbake/lib/bb/parse/parse_py/ConfHandler.py
@@ -82,9 +82,15 @@ def include(oldfn, fn, lineno, data, error_out):
82 if not os.path.isabs(fn): 82 if not os.path.isabs(fn):
83 dname = os.path.dirname(oldfn) 83 dname = os.path.dirname(oldfn)
84 bbpath = "%s:%s" % (dname, data.getVar("BBPATH", True)) 84 bbpath = "%s:%s" % (dname, data.getVar("BBPATH", True))
85 abs_fn = bb.utils.which(bbpath, fn) 85 abs_fn, attempts = bb.utils.which(bbpath, fn, history=True)
86 if abs_fn and bb.parse.check_dependency(data, abs_fn):
87 bb.warn("Duplicate inclusion for %s in %s" % (abs_fn, data.getVar('FILE', True)))
88 for af in attempts:
89 bb.parse.mark_dependency(data, af)
86 if abs_fn: 90 if abs_fn:
87 fn = abs_fn 91 fn = abs_fn
92 elif bb.parse.check_dependency(data, fn):
93 bb.warn("Duplicate inclusion for %s in %s" % (fn, data.getVar('FILE', True)))
88 94
89 from bb.parse import handle 95 from bb.parse import handle
90 try: 96 try:
@@ -93,6 +99,7 @@ def include(oldfn, fn, lineno, data, error_out):
93 if error_out: 99 if error_out:
94 raise ParseError("Could not %(error_out)s file %(fn)s" % vars(), oldfn, lineno) 100 raise ParseError("Could not %(error_out)s file %(fn)s" % vars(), oldfn, lineno)
95 logger.debug(2, "CONF file '%s' not found", fn) 101 logger.debug(2, "CONF file '%s' not found", fn)
102 bb.parse.mark_dependency(data, fn)
96 103
97# We have an issue where a UI might want to enforce particular settings such as 104# We have an issue where a UI might want to enforce particular settings such as
98# an empty DISTRO variable. If configuration files do something like assigning 105# an empty DISTRO variable. If configuration files do something like assigning