1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-30 12:29:55 +00:00

bitbake: ConfHandler.py: allow require or include with multiple parameters

"inherit" already allows inheriting more than one class in a single
statement. The same also makes sense for "include" and "require",
because then one can generate a list of files to be included
dynamically also for the case that more than one file needs to be
included.

(Bitbake rev: 8d0a76f5a595dddf16b7268bae2c00ef5f568316)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Patrick Ohly
2017-06-07 15:56:25 +02:00
committed by Richard Purdie
parent 6dafbaeff4
commit 5df6796d1c
+12 -8
View File
@@ -69,21 +69,25 @@ def init(data):
def supports(fn, d): def supports(fn, d):
return fn[-5:] == ".conf" return fn[-5:] == ".conf"
def include(parentfn, fn, lineno, data, error_out): def include(parentfn, fns, lineno, data, error_out):
""" """
error_out: A string indicating the verb (e.g. "include", "inherit") to be error_out: A string indicating the verb (e.g. "include", "inherit") to be
used in a ParseError that will be raised if the file to be included could used in a ParseError that will be raised if the file to be included could
not be included. Specify False to avoid raising an error in this case. not be included. Specify False to avoid raising an error in this case.
""" """
if parentfn == fn: # prevent infinite recursion fns = data.expand(fns)
return None
fn = data.expand(fn)
parentfn = data.expand(parentfn) parentfn = data.expand(parentfn)
if not fn: # "include" or "require" accept zero to n space-separated file names to include.
# "include" or "require" without parameter is fine, just return. for fn in fns.split():
return include_single_file(parentfn, fn, lineno, data, error_out)
def include_single_file(parentfn, fn, lineno, data, error_out):
"""
Helper function for include() which does not expand or split its parameters.
"""
if parentfn == fn: # prevent infinite recursion
return None
if not os.path.isabs(fn): if not os.path.isabs(fn):
dname = os.path.dirname(parentfn) dname = os.path.dirname(parentfn)