mbox series

[v3,00/10] Several fixes around recipetool appendsrcfile(s) and oe.recipeutils.bbappend_recipe

Message ID 20231205145636.960819-1-jstephan@baylibre.com
Headers show
Series Several fixes around recipetool appendsrcfile(s) and oe.recipeutils.bbappend_recipe | expand

Message

Julien Stephan Dec. 5, 2023, 2:56 p.m. UTC
Hi all,

I was trying to use recipetool appendsrcfile to add a file to a recipe and I noticed several issues:
* -m is not correctly supported
* recipetool appendsrfile(s) are missing a usefull dry-run mode
* appendsrc function relies on oe.recipeutils.bbappend_recipe but
  duplicates some code: it constructs itself the new src_uri entry
  although oe.recipeutils.bbappend_recipe is already doing it
* we are lacking a mode to patch the recipe itself

So this series tries to fix the issues above, fix the selftest
accordingly and add new test for -m and for "patch mode" (update recipe)
and also add a way to specify the name of the file to add
(in oe.recipeutils.bbappend_recipe)

Improvements from v2:
- rebase on latest master fix conflict and update the way to add newname in bbappend_recipe()

Improvements from v1:
- in bbappend_recipe function remove old entry if an entry with different parameters already exists 
to avoid duplicate entries with different parameters

Link to v1: https://lists.openembedded.org/g/openembedded-core/message/191544
Link to v2: https://lists.openembedded.org/g/openembedded-core/message/191744

Julien Stephan (10):
  recipetool: appendsrcfile(s): add dry-run mode
  recipeutils: bbappend_recipe: fix undefined variable
  recipeutils: bbappend_recipe: fix docstring
  recipeutils: bbappend_recipe: add a way to specify the name of the
    file to add
  recipeutils: bbappend_recipe: remove old srcuri entry if parameters
    are different
  recipetool: appendsrcfile(s): use params instead of extraline
  recipeutils: bbappend_recipe: allow to patch the recipe itself
  recipetool: appendsrcfile(s): add a mode to update the recipe itself
  oeqa/selftest/recipetool: appendsrfile: add test for machine
  oeqa/selftest/recipetool: appendsrc: add test for update mode

 meta/lib/oe/recipeutils.py                 | 57 +++++++++++----
 meta/lib/oeqa/selftest/cases/recipetool.py | 83 +++++++++++++++++++---
 scripts/lib/recipetool/append.py           | 63 +++++++++++-----
 3 files changed, 164 insertions(+), 39 deletions(-)