Hi all, I am currently working on bug #13425 and I would like to post my wip script as an RFC to get feedback on it, before going further in the development.
The script `script/bblock` can be used with the following command: bblock [list of recipes to lock] Here is a summary of what is currently implemented: * can lock several recipes at once * on first execution bblock will append `require bblock.inc` in `build/conf/auto.conf` (creates `auto.conf` if it doesn't exist) * on first execution creates the file `build/conf/bblock.inc` with a dedicated header and: - adds SIGGEN_LOCKEDSIGS_TYPES += "t-bblock" - adds SIGGEN_LOCKEDSIGS_TASKSIG_CHECK = "warn" to display warning but do not stop the build * loops over all recipes to lock and adds entry with latest "do_compile" signature in `conf/bblock.inc`, such as: SIGGEN_LOCKEDSIGS_t-bblock += "bc:do_compile:e233cd793137a92dd575a417a2877e324ce526c4dc4a7db652abb9512f406f1f" Limitations: * only gets do_compile signature for now as a POC * `bblock reset [list of recipes]` not yet implemented * no check if a recipe is already locked Steps to test the script: bitbake bc --> generate a signature for bc's tasks bblock bc # modify do_compile in bc recipe to force signature change bitbake bc --> throws the following warning: `WARNING: The bc:do_compile sig is computed to be 680bd6c291bf88e379e0c405a773cf5f81851e1a52570398cefd0196000ac1ef, but the sig is locked to e233cd793137a92dd575a417a2877e324ce526c4dc4a7db652abb9512f406f1f in SIGGEN_LOCKEDSIGS_t-bblock` I also have a point I would like to discuss: I only get signature for do_compile for the POC but wondering what should I do here: * have a set of predefined task to lock, in that case how to choose the tasks? * compute the list of all available tasks for a given recipe and get signature for all? Is there a way to get such list without using `infoil.build_targets(pn, "listtasks", handle_events=True)` as this will start bitbake, takes some time and requires some processing of the output * add an option for the user to specify the task he wants to lock? (this may be useful to add anyway) My branch is available here [1] Am I going into the right direction? Cheers Julien [1]: https://git.yoctoproject.org/poky-contrib/commit/?h=jstephan/bblock Julien Stephan (1): scripts/bblock: add a script to lock/unlock recipes scripts/bblock | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100755 scripts/bblock -- 2.41.0
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#184584): https://lists.openembedded.org/g/openembedded-core/message/184584 Mute This Topic: https://lists.openembedded.org/mt/100236204/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-