summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/parse/ast.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2023-03-21 14:48:11 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-03-22 13:57:04 +0000
commit04c27888d05e16791cfb5ebc3b51f9f02923775b (patch)
treea7e732b52f22cd44bfb9332e908ce6a6d71c30e9 /bitbake/lib/bb/parse/ast.py
parent2b8761e5fc0cbef8e43a2246450098e9b48413c0 (diff)
downloadpoky-04c27888d05e16791cfb5ebc3b51f9f02923775b.tar.gz
bitbake: fetch2: Add autorev warning when it is set too late
Bitbake expects a consistent metadata environment when it parses. There are plenty of ways you can set a recipe to autorev at a point where parts of the fetcher have already been triggered leading to obsure bugs which I struggled to debug, let alone anyone not familar with the code. If anyone is running into the message from the commit, the issue is likely one of timing. Keep in mind that the anonymous python code in base.bbclass will expand variables like FILESPATH, WORKDIR and others which contain PV. The recipe needs to be set to AUTOREV before that anonymous python runs. In particular, that means you can't set SRCREV = "${AUTOREV}" in other anonymous python, it needs to happen earlier. (Bitbake rev: 4d9ec332d5bfc8b60b54f8ec2a17d34e35aa903a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/parse/ast.py')
-rw-r--r--bitbake/lib/bb/parse/ast.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/bitbake/lib/bb/parse/ast.py b/bitbake/lib/bb/parse/ast.py
index 375ba3cb79..6441c5cf7c 100644
--- a/bitbake/lib/bb/parse/ast.py
+++ b/bitbake/lib/bb/parse/ast.py
@@ -400,6 +400,9 @@ def finalize(fn, d, variant = None):
400 400
401 d.setVar('BBINCLUDED', bb.parse.get_file_depends(d)) 401 d.setVar('BBINCLUDED', bb.parse.get_file_depends(d))
402 402
403 if d.getVar('__BBAUTOREV_SEEN') and d.getVar('__BBSRCREV_SEEN') and not d.getVar("__BBAUTOREV_ACTED_UPON"):
404 bb.fatal("AUTOREV/SRCPV set too late for the fetcher to work properly, please set the variables earlier in parsing. Erroring instead of later obtuse build failures.")
405
403 bb.event.fire(bb.event.RecipeParsed(fn), d) 406 bb.event.fire(bb.event.RecipeParsed(fn), d)
404 finally: 407 finally:
405 bb.event.set_handlers(saved_handlers) 408 bb.event.set_handlers(saved_handlers)