bitbake: cooker: Drop support for BB_DANGLINGAPPENDS_WARNONLY

DANGLINGAPPENDS_WARNONLY is a very poorly designed interface and
is commonly abused. The challenge is that once it is set, by any
layer, it applies everywhere.

Some layers rely on this to get notification they need to update
bbappend files and having the behaviour change from inclusion of an
antisocial layer is not good.

In addition, showing warnings as an accepted thing on the console
devalues them and trains the user to ignore them. I want to steer us
away from this mindset.

We could extend the functionality and make it apply only to certain
layers, or only to certain appends but then we've basically re-invented
BBMASK.

Given all the above, we should drop support for BB_DANGLINGAPPENDS_WARNONLY
and direct anyone with issues to BBMASK instead.

https://lists.openembedded.org/g/openembedded-architecture/message/2029

[YOCTO #14870]

(Bitbake rev: fca9c9e3cb6f8e9f99bf51dc5e8a8d83f4c84c69)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie
2024-11-19 10:30:14 +00:00
parent 1bca7e2425
commit 282cc1ea92
2 changed files with 1 additions and 19 deletions

View File

@@ -127,18 +127,6 @@ overview of their function and contents.
Contains the name of the currently running task. The name does not
include the ``do_`` prefix.
:term:`BB_DANGLINGAPPENDS_WARNONLY`
Defines how BitBake handles situations where an append file
(``.bbappend``) has no corresponding recipe file (``.bb``). This
condition often occurs when layers get out of sync (e.g. ``oe-core``
bumps a recipe version and the old recipe no longer exists and the
other layer has not been updated to the new version of the recipe
yet).
The default fatal behavior is safest because it is the sane reaction
given something is out of sync. It is important to realize when your
changes are no longer being applied.
:term:`BB_DEFAULT_TASK`
The default task to use when none is specified (e.g. with the ``-c``
command line option). The task name specified should not include the

View File

@@ -957,13 +957,7 @@ class BBCooker:
'\n '.join(appends_without_recipes[mc])))
if msgs:
msg = "\n".join(msgs)
warn_only = self.databuilder.mcdata[mc].getVar("BB_DANGLINGAPPENDS_WARNONLY", \
False) or "no"
if warn_only.lower() in ("1", "yes", "true"):
bb.warn(msg)
else:
bb.fatal(msg)
bb.fatal("\n".join(msgs))
def handlePrefProviders(self):