All of lore.kernel.org
 help / color / mirror / Atom feed
* LTP drop MUSL specific patch
@ 2021-04-26 18:53 Petr Vorel
  2021-04-26 19:49 ` [OE-core] " Andre McCurdy
  0 siblings, 1 reply; 6+ messages in thread
From: Petr Vorel @ 2021-04-26 18:53 UTC (permalink / raw)
  To: Richard Purdie, Khem Raj; +Cc: openembedded-core

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)

Thanks for info.

Kind regards,
Petr

[1] https://github.com/linux-test-project/ltp/blob/master/travis/alpine.sh#L35
[2] https://git.busybox.net/buildroot/tree/package/ltp-testsuite/ltp-testsuite.mk#n72
[3] https://www.yoctoproject.org/docs/2.5/dev-manual/dev-manual.html#new-dependencies
[4] https://www.yoctoproject.org/docs/2.5/ref-manual/ref-manual.html#ref-tasks-configure


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [OE-core] LTP drop MUSL specific patch
  2021-04-26 18:53 LTP drop MUSL specific patch Petr Vorel
@ 2021-04-26 19:49 ` Andre McCurdy
  2021-04-26 21:29   ` Petr Vorel
  2021-04-27 19:17   ` Petr Vorel
  0 siblings, 2 replies; 6+ messages in thread
From: Andre McCurdy @ 2021-04-26 19:49 UTC (permalink / raw)
  To: Petr Vorel; +Cc: Richard Purdie, Khem Raj, OE Core mailing list

On Mon, Apr 26, 2021 at 11:53 AM Petr Vorel <petr.vorel@gmail.com> 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.

> Thanks for info.
>
> Kind regards,
> Petr
>
> [1] https://github.com/linux-test-project/ltp/blob/master/travis/alpine.sh#L35
> [2] https://git.busybox.net/buildroot/tree/package/ltp-testsuite/ltp-testsuite.mk#n72
> [3] https://www.yoctoproject.org/docs/2.5/dev-manual/dev-manual.html#new-dependencies
> [4] https://www.yoctoproject.org/docs/2.5/ref-manual/ref-manual.html#ref-tasks-configure
>
>
> 
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [OE-core] LTP drop MUSL specific patch
  2021-04-26 19:49 ` [OE-core] " Andre McCurdy
@ 2021-04-26 21:29   ` Petr Vorel
  2021-04-27 19:17   ` Petr Vorel
  1 sibling, 0 replies; 6+ messages in thread
From: Petr Vorel @ 2021-04-26 21:29 UTC (permalink / raw)
  To: Andre McCurdy; +Cc: Richard Purdie, Khem Raj, OE Core mailing list

Hi Andre,

> On Mon, Apr 26, 2021 at 11:53 AM Petr Vorel <petr.vorel@gmail.com> 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.

Great, thanks a lot!

Kind regards,
Petr

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [OE-core] LTP drop MUSL specific patch
  2021-04-26 19:49 ` [OE-core] " Andre McCurdy
  2021-04-26 21:29   ` Petr Vorel
@ 2021-04-27 19:17   ` Petr Vorel
  2021-04-27 19:57     ` Andre McCurdy
  1 sibling, 1 reply; 6+ messages in thread
From: Petr Vorel @ 2021-04-27 19:17 UTC (permalink / raw)
  To: Andre McCurdy; +Cc: Richard Purdie, Khem Raj, OE Core mailing list

Hi all,

> On Mon, Apr 26, 2021 at 11:53 AM Petr Vorel <petr.vorel@gmail.com> 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.

Kind regards,
Petr

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [OE-core] LTP drop MUSL specific patch
  2021-04-27 19:17   ` Petr Vorel
@ 2021-04-27 19:57     ` Andre McCurdy
  2021-04-27 20:00       ` Petr Vorel
  0 siblings, 1 reply; 6+ messages in thread
From: Andre McCurdy @ 2021-04-27 19:57 UTC (permalink / raw)
  To: Petr Vorel; +Cc: Richard Purdie, Khem Raj, OE Core mailing list

On Tue, Apr 27, 2021 at 12:17 PM Petr Vorel <petr.vorel@gmail.com> wrote:
>
> Hi all,
>
> > On Mon, Apr 26, 2021 at 11:53 AM Petr Vorel <petr.vorel@gmail.com> 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.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [OE-core] LTP drop MUSL specific patch
  2021-04-27 19:57     ` Andre McCurdy
@ 2021-04-27 20:00       ` Petr Vorel
  0 siblings, 0 replies; 6+ messages in thread
From: Petr Vorel @ 2021-04-27 20:00 UTC (permalink / raw)
  To: Andre McCurdy; +Cc: Richard Purdie, Khem Raj, OE Core mailing list

Hi Andre,

...
> > 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.

Thank you!

Kind regards,
Petr

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-04-27 20:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-26 18:53 LTP drop MUSL specific patch Petr Vorel
2021-04-26 19:49 ` [OE-core] " Andre McCurdy
2021-04-26 21:29   ` Petr Vorel
2021-04-27 19:17   ` Petr Vorel
2021-04-27 19:57     ` Andre McCurdy
2021-04-27 20:00       ` Petr Vorel

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.