Patch files before recipe is parsed


Paul Adams
 

There is a problem with the Yocto recipe for Python 3 in warrior. It
is missing ntpath in the list of core modules listed in
python3-manifest.json.

Since warrior is EOL, I was hoping to fix this by patching the
python3-manifest.json file but it doesn't work. I think the reason is
that the manifest file is read by an anonymous function in the recipe,
which I understand is executed during recipe parsing (which I assume
happens before the patches are applied).

I know the patch is being applied correctly because the content of
python3-manifest.json file is correct when I inspect it in the
build/tmp/work... directory.

My question is whether there is any method in bitbake to apply patches
early enough to fix this issue?


 

On Thu, 12 Nov 2020 at 17:14, Paul Adams <paul.adams@evogro.com> wrote:

There is a problem with the Yocto recipe for Python 3 in warrior. It
is missing ntpath in the list of core modules listed in
python3-manifest.json.

Since warrior is EOL, I was hoping to fix this by patching the
python3-manifest.json file but it doesn't work. I think the reason is
that the manifest file is read by an anonymous function in the recipe,
which I understand is executed during recipe parsing (which I assume
happens before the patches are applied).

I know the patch is being applied correctly because the content of
python3-manifest.json file is correct when I inspect it in the
build/tmp/work... directory.

My question is whether there is any method in bitbake to apply patches
early enough to fix this issue?
There's nothing in bitbake to support this. If you need to carry
patches against an EOL branch then you can either create a local fork
of poky or use a setup tool like kas (https://github.com/siemens/kas)
which can apply patches when checking out layers.

The better alternative would be to upgrade to a supported branch if
you can though.

Thanks,

--
Paul Barker
Konsulko Group