diff --git a/bitbake/lib/bb/parse/parse_py/BBHandler.py b/bitbake/lib/bb/parse/parse_py/BBHandler.py index c585b60fee..88ad03960a 100644 --- a/bitbake/lib/bb/parse/parse_py/BBHandler.py +++ b/bitbake/lib/bb/parse/parse_py/BBHandler.py @@ -200,7 +200,10 @@ def feeder(lineno, s, fn, root, statements): if s and s[0] == '#': if len(__residue__) != 0 and __residue__[0][0] != "#": - bb.error("There is a comment on line %s of file %s (%s) which is in the middle of a multiline expression.\nBitbake used to ignore these but no longer does so, please fix your metadata as errors are likely as a result of this change." % (lineno, fn, s)) + bb.fatal("There is a comment on line %s of file %s (%s) which is in the middle of a multiline expression.\nBitbake used to ignore these but no longer does so, please fix your metadata as errors are likely as a result of this change." % (lineno, fn, s)) + + if len(__residue__) != 0 and __residue__[0][0] == "#" and s[0] != "#": + bb.fatal("There is a confusing multiline, partially commented expression on line %s of file %s (%s).\nPlease clarify whether this is all a comment or should be parsed." % (lineno, fn, s)) if s and s[-1] == '\\': __residue__.append(s[:-1]) diff --git a/bitbake/lib/bb/parse/parse_py/ConfHandler.py b/bitbake/lib/bb/parse/parse_py/ConfHandler.py index dbc6776c89..9b09c9f56a 100644 --- a/bitbake/lib/bb/parse/parse_py/ConfHandler.py +++ b/bitbake/lib/bb/parse/parse_py/ConfHandler.py @@ -98,15 +98,22 @@ def handle(fn, data, include): while True: lineno = lineno + 1 s = f.readline() - if not s: break + if not s: + break w = s.strip() - if not w: continue # skip empty lines + # skip empty lines + if not w: + continue s = s.rstrip() - if s[0] == '#': continue # skip comments while s[-1] == '\\': s2 = f.readline().strip() lineno = lineno + 1 + if s2 and s[0] == "#" and s2[0] != "#": + bb.fatal("There is a confusing multiline, partially commented expression on line %s of file %s (%s).\nPlease clarify whether this is all a comment or should be parsed." % (lineno, fn, s)) s = s[:-1] + s2 + # skip comments + if s[0] == '#': + continue feeder(lineno, s, fn, statements) # DONE WITH PARSING... time to evaluate