poky/bitbake/lib/bb
Richard Purdie 320b76cc47 bitbake: ast: Change deferred inherits to happen per recipe
Currently deferred inherits get processed once for all class extensions
as a minor speed optimisation. Unfortunately this limits our options for
being able to report deferred classes to our code.

There are two challenges with using our deferred classes in OE at present.
One is that PACKAGECONFIG values don't work well with class overrides like
class-native if there are deferred classes based on PACKAGECONFIG, such
as python support. The second is that toolchain selection is proving
problematic to implement due to interactions between the toolchain deferred
inherit, the class extensions and class overrides being very late.

By changing deferred inherits to be recipe extension specific, we open
the way to generate events and "peek" at where things will end up,
allowing the class overrides to be set earlier.

The class extension code is updated to use a deferred inherit for the
class extension inheriting so that it is still inherited last.

(Bitbake rev: 139f61fe9eec221745184a14b3618d2dfa650b91)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
2025-06-11 08:17:34 -07:00
..
asyncrpc bitbake: asyncrpc: Use client timeout for websocket open timeout 2024-10-30 08:30:00 -07:00
compress bitbake: bitbake: Add copyright headers where missing 2022-08-12 11:49:29 +01:00
fetch2 bitbake: gcp.py: remove slow calls to gsutil stat 2025-06-11 08:17:34 -07:00
parse bitbake: ast: Change deferred inherits to happen per recipe 2025-06-11 08:17:34 -07:00
pysh bitbake: pyshyacc: allow double COMMA statements 2020-07-12 11:53:00 +01:00
server bitbake: process/server: Fix typo 2024-02-10 15:25:22 +00:00
tests bitbake: tests/fetch: Fix git shallow test failure with git >= 2.48 2025-01-25 06:20:37 -08:00
ui bitbake: ui/knotty: respect NO_COLOR & check for tty; rename print_hyperlink => format_hyperlink 2025-01-24 07:59:38 -08:00
__init__.py bitbake: bb: Use namedtuple for Task data 2024-06-06 06:53:49 -07:00
acl.py bitbake: lib/bb: Add xattr and acl libraries 2023-08-24 16:49:38 +01:00
build.py bitbake: build: Make python output print to stdout when running with -v (verbose) 2023-03-21 22:44:00 +00:00
cache_extra.py bitbake: bitbake: Strip old editor directives from file headers 2019-05-04 10:44:10 +01:00
cache.py bitbake: cache: Simplify virtualfn2realfn() 2023-11-23 12:06:06 +00:00
checksum.py bitbake: checksum: Allow spaces in URI filenames 2022-04-14 09:48:33 +01:00
codeparser.py bitbake: codeparser: Skip non-local functions for module dependencies 2024-07-26 07:43:46 -07:00
command.py bitbake: cooker: Make cooker 'skiplist' per-multiconfig/mc 2025-01-24 07:59:38 -08:00
cooker.py bitbake: cooker: Make cooker 'skiplist' per-multiconfig/mc 2025-01-24 07:59:38 -08:00
cookerdata.py bitbake: cookerdata: Be consistent with what type bb_data represents 2023-11-23 12:06:06 +00:00
COW.py bitbake: bitbake: Add copyright headers where missing 2022-08-12 11:49:29 +01:00
daemonize.py bitbake: bitbake: Add copyright headers where missing 2022-08-12 11:49:29 +01:00
data_smart.py bitbake: data_smart.py: clear expand_cache in _setvar_update_overridevars 2025-03-08 06:22:56 -08:00
data.py bitbake: codeparser/data: Ensure module function contents changing is accounted for 2024-07-26 07:43:46 -07:00
event.py bitbake: event/utils: Avoid deadlock from lock_timeout() and recursive events 2025-03-15 06:40:07 -07:00
main.py bitbake: bitbake: improve descriptions of '-S printdiff' 2024-03-22 16:26:45 +00:00
methodpool.py bitbake: bitbake: Strip old editor directives from file headers 2019-05-04 10:44:10 +01:00
monitordisk.py bitbake: Fix disk space monitoring on cephfs 2023-08-25 07:55:34 +01:00
msg.py bitbake: Remove custom exception backtrace formatting 2024-12-06 05:50:24 -08:00
namedtuple_with_abc.py bitbake: lib: fix most undefined code picked up by pylint 2020-08-25 18:14:53 +01:00
persist_data.py bitbake: persist_data: close connection in SQLTable __exit__ 2024-12-06 05:50:24 -08:00
process.py bitbake: bitbake: Add copyright headers where missing 2022-08-12 11:49:29 +01:00
progress.py bitbake: progress: Fix typo "wherever" 2022-02-20 16:45:25 +00:00
providers.py bitbake: providers: use local variable for packages_dynamic pattern 2022-04-19 14:15:09 +01:00
remotedata.py bitbake: tinfoil: Simplify remote datastore connections 2020-03-24 22:01:03 +00:00
runqueue.py bitbake: runqueue: Fix scenetask processing performance issue 2024-12-09 06:54:14 -08:00
siggen.py bitbake: siggen: Enable batching of unihash queries 2024-06-06 06:53:49 -07:00
taskdata.py bitbake: lib/bb: Replace "abort" usage in task handling 2022-02-21 23:37:26 +00:00
tinfoil.py bitbake: cooker: Make cooker 'skiplist' per-multiconfig/mc 2025-01-24 07:59:38 -08:00
utils.py bitbake: event/utils: Avoid deadlock from lock_timeout() and recursive events 2025-03-15 06:40:07 -07:00
xattr.py bitbake: lib/bb: Add xattr and acl libraries 2023-08-24 16:49:38 +01:00