Re: [bitbake-devel] [PATCH] toaster: Add recipe variables view

Richard Purdie <[email protected]>
Newsgroups org.openembedded.lists.bitbake-devel
Message-ID <2434d54e4295573c9632a1fbcd0cef7ae6a0d413.camel@linuxfoundation.org>
On Wed, 2026-08-12 at 11:04 -0400, Paolo Wattebled via lists.openembedded.org wrote:
> Toaster records global build variables but does not expose the final
> values associated with individual recipes.
> 
> Collect variables defined or modified by recipes and their bbappends,
> resolve active overrides and expansions, and store one compressed JSON
> snapshot in the database for each build and recipe. Keep the variable
> count separately to avoid decompressing snapshots in recipe-list
> queries.
> 
> Expose the values through a searchable and paginated Variables tab and
> show their counts in the built-recipes table and recipe package view.
> Preserve compatibility with older dependency payloads and invalidate
> stale BitBake caches after extending the cached recipe information.
> 
> Tests cover variable collection, cache transport, database persistence,
> backward compatibility, searching, pagination, escaping, and counts.
> 
> AI-Generated: Uses GitHub Copilot and OpenCode with GPT-5.6 Sol
> Signed-off-by: Paolo Wattebled <[email protected]>
> ---
>  bin/bitbake-selftest                          |   1 +
>  lib/bb/cache.py                               |   2 +-
>  lib/bb/cache_extra.py                         |  66 +++++++-
>  lib/bb/cooker.py                              |   6 +-
>  lib/bb/tests/cache_extra.py                   | 141 ++++++++++++++++
>  lib/bb/ui/buildinfohelper.py                  |  21 ++-
>  .../orm/migrations/0022_recipevariable.py     |  27 +++
>  lib/toaster/orm/models.py                     |  10 ++
>  lib/toaster/tests/db/test_db.py               | 101 ++++++++++++
>  lib/toaster/tests/views/test_views.py         | 155 +++++++++++++++++-
>  lib/toaster/toastergui/buildtables.py         |  11 +-
>  .../templates/detail_pagination_bottom.html   |   4 +-
>  .../templates/detail_search_header.html       |   2 +-
>  lib/toaster/toastergui/templates/recipe.html  |  32 ++++
>  .../toastergui/templates/recipe_packages.html |   7 +
>  lib/toaster/toastergui/views.py               |  68 +++++++-
>  16 files changed, 642 insertions(+), 12 deletions(-)
>  create mode 100644 lib/bb/tests/cache_extra.py
>  create mode 100644 lib/toaster/orm/migrations/0022_recipevariable.py

At this point you're basically dumping out the entire datastore for
every possible recipe. Due to the size of the data, I suspect it is
just as expensive to reparse as it is to read the stored compressed
data and it isn't really a cache any more. The presence of that data
will slow the rest of the system down.

Have you looked into the performance (in speed, memory and disk space)
implications of this?

Also, do you know people actively using toaster?

Cheers,

Richard
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.