Re: LTP drop MUSL specific patch


Andre McCurdy
 

On Tue, Apr 27, 2021 at 12:17 PM Petr Vorel <petr.vorel@...> wrote:

Hi all,

On Mon, Apr 26, 2021 at 11:53 AM Petr Vorel <petr.vorel@...> wrote:
Hi Khem, Richard,
I'd like to replace MUSL specific patch
meta/recipes-extended/ltp/ltp/0001-build-Add-option-to-select-libc-implementation.patch
with just removing broken files. We use this in upstream CI for Alpine, I ported
it to Buildroot [2], where works well. It's better because it does allow to
handle MUSL without rebasing this patch.
I was looking into the docs, it looks to me that do_configure [3] might be good hook
to add it into. But it looks like by default it contains oe_runmake clean [4].
Or should I use different hook? And how to find the default content of chosen
hook? (if I need to extend it, I'll have to provide the original as well)
Changes to source files, including removing them, should be done as
part of the do_patch task. Since do_patch is implemented in python you
can't simply _append shell script commands to it, but you can add a
shell function via do_patch[postfuncs]. If you grep for
"do_patch[postfuncs]" in oe-core you should find a few examples.
One more question: how to make this function MUSL specific?
I noticed some functions has suffix "_libc-musl" (e.g.
do_install_append_libc-musl), but I guess this would not work for
do_patch[postfuncs], where I specify the name.
You can either use an intermediate variable in the recipe, e.g.

PRUNESOURCE = ""
PRUNESOURCE_libc-musl = "the-real-function"
do_patch[postfuncs] += "${PRUNESOURCE}"

Or you can call the script unconditionally and check if [ "${TCLIBC}"
= "musl" ] from inside it.

Join openembedded-core@lists.openembedded.org to automatically receive all group messages.