Re: [poky] [PATCH RFC] add basic support for b4 contribution workflow

Quentin Schulz <[email protected]>
Newsgroups org.yoctoproject.lists.poky
Message-ID <[email protected]>
Hi Richard,

On 1/24/25 6:48 PM, Richard Purdie wrote:
> On Thu, 2025-01-23 at 16:44 +0100, Quentin Schulz via lists.yoctoproject.org wrote:
>> From: Quentin Schulz <[email protected]>
>>
>> b4[1] is a very nice tool for mail-based contribution. A config[2] file
>> exists to set up a few defaults. We can use it to set the Cc recipients
>> to always add, in our case the mailing list.
>>
>> This also adds a wrapper script that is called by b4 to check that each
>> patch in the series is only for one project. Indeed, poky is actually
>> a "collection" of multiple repositories, namely BitBake,
>> OpenEmbedded-Core and the Yocto Docs. One patch should therefore not
>> make changes in multiple of those projects otherwise it cannot be
>> merged.
>> Additionally, a check is added to make sure that a series only touches
>> files from one project to avoid having to figure out which patch is to
>> be merged by which maintainer in which project repo.
>>
>> Moreover, it is not uncommon to have people develop patches for those
>> projects from within poky. This wrapper figures out which mailing lists
>> to send patches to based on the files that are modified in the series.
>> Considering that patches to the bitbake/doc/ directory need to be sent
>> to both the bitbake and yocto-docs mailing list, this wrapper handles
>> that. A limitation of the script (lsdiff actually) is that it doesn't
>> know how to handle empty files, but those should be of rather rare
>> occurrences.
>>
>> Note that this script requires hardcoding of paths that are handled by
>> different projects to map files to projects. Anything not mapped is
>> assumed part of OE-Core.
>>
>> [1] https://pypi.org/project/b4/
>> [2] https://b4.docs.kernel.org/en/latest/config.html
>>
>> Signed-off-by: Quentin Schulz <[email protected]>
>> ---
[...]
> I'm not against this but I would like to:
> 
> a) Put the script into OE-Core, just so that we don't have "magic"
> things in poky.

It is very poky-specific though. I don't have anything in mind right now 
but I could imagine we could need a b4 wrapper for openembedded-core at 
some point as well. b4-wrapper-oe-core.py and b4-wrapper-poky.py could 
coexistthough and be pointed at specifically by each repo's .b4-config.

Don't mind it, just find it a bit odd.

I haven't checked if b4 follows symlink, but if it can, would you want 
.b4-config.poky in OE-Core too and then we do the same dance as with the 
README.md in OE-Core/poky?

> b) Perhaps name it something a little more poky specific

b4-wrapper-poky.py? b4-wrapper-poky.py to match README.poky.md for 
example? My brain has already decided it's the weekend so not very 
creative right now :)

Cheers,
Quentin
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.