diff mbox series

package/ltp-testsuite: remove 5.11 headers requirement for musl

Message ID 20230417191447.2439214-1-pevik@seznam.cz
State Rejected
Headers show
Series package/ltp-testsuite: remove 5.11 headers requirement for musl | expand

Commit Message

Petr Vorel April 17, 2023, 7:14 p.m. UTC
From: Petr Vorel <petr.vorel@gmail.com>

5e1c238b72 ("package/ltp-testsuite: require 5.11 headers for musl")
added a 5.11 headers requirement for musl, which contains fix
a85cbe6159ff ("uapi: move constants from <linux/kernel.h> to <linux/const.h>").

This effectively disables LTP on all musl based toolchains from
toolchain-configs.csv:

      bootlin-armv7-musl [ 7/45]: SKIPPED
    bootlin-riscv64-musl [19/45]: SKIPPED
     bootlin-x86-64-musl [26/45]: SKIPPED
br-i386-pentium-mmx-musl [31/45]: SKIPPED

But these toolchains are based on 4.9.255 kernel headers, which have
backported fix as 834d8b96cd85 in 4.9.250 and LTP can be compiled with
them. Because there is currently no way to specify also older stable
releases with fix, it's better to remove this requirement. If people are
really using unfixed kernels we can reintroduce the workaround which was
removed in 5e1c238b72 or even ask upstream to carry it.

Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
---
Hi,

I'm sorry for not checking the build properly. v1 and v2 of LTP update
were without this because I did check them properly and saw that 5.11
version requirement for musl was not needed (thanks to Thomas, who in
the past after my asking for that had found a time and updated toolchains).

Kind regards,
Petr

 package/ltp-testsuite/Config.in | 1 -
 1 file changed, 1 deletion(-)

Comments

Yann E. MORIN April 17, 2023, 7:39 p.m. UTC | #1
Petr, All,

On 2023-04-17 21:14 +0200, Petr Vorel spake thusly:
> From: Petr Vorel <petr.vorel@gmail.com>
> 
> 5e1c238b72 ("package/ltp-testsuite: require 5.11 headers for musl")
> added a 5.11 headers requirement for musl, which contains fix
> a85cbe6159ff ("uapi: move constants from <linux/kernel.h> to <linux/const.h>").
> 
> This effectively disables LTP on all musl based toolchains from
> toolchain-configs.csv:
> 
>       bootlin-armv7-musl [ 7/45]: SKIPPED
>     bootlin-riscv64-musl [19/45]: SKIPPED
>      bootlin-x86-64-musl [26/45]: SKIPPED
> br-i386-pentium-mmx-musl [31/45]: SKIPPED
> 
> But these toolchains are based on 4.9.255 kernel headers, which have
> backported fix as 834d8b96cd85 in 4.9.250 and LTP can be compiled with
> them. Because there is currently no way to specify also older stable
> releases with fix, it's better to remove this requirement. If people are
> really using unfixed kernels we can reintroduce the workaround which was
> removed in 5e1c238b72 or even ask upstream to carry it.

There is no way to know whether a toolchain with headers earlier than
5.11 wil have the fix or not, as we do not have dot-release information
for the headers version. E.g. 4.9 covers the whole range of kernel 4.9,
some with the fix, some without. The only kernel headers version we know
for sure has the fix, if kernel 5.11 and alter.

There are also toolchains with a lot of backported *features* (that's
especially true among chip-co provided toolchains), where some features
of later kernel headers are in fact present in older versions.

We can't have a lernel headers check that is more lax than the actual,
official, major kernel it was released in.

So, I still think that what we currently do is absolutely correct:
building ltp-testsuite requires kernel headers 5.11.

> Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
> ---
> Hi,
> 
> I'm sorry for not checking the build properly. v1 and v2 of LTP update
> were without this because I did check them properly and saw that 5.11
> version requirement for musl was not needed (thanks to Thomas, who in
> the past after my asking for that had found a time and updated toolchains).

So yes, Bootlin is now provided updated toolchains, but it does not
prevent people from using previous ones without the fix, even with an
updated Buildroot.

It also does not prevent people from having built their own toolchains
in the past, with headers without the fix (or with it, we can't know),
and keeping using those toolchains, becasue they have qualified them in
their environment, and rebuilding those is just not possible.

So, NACK from me.

I'll leave it open for other maintainers to have a look, in case one has
another opinion and decides we want it.

Regards,
Yann E. MORIN.

> Kind regards,
> Petr
> 
>  package/ltp-testsuite/Config.in | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/package/ltp-testsuite/Config.in b/package/ltp-testsuite/Config.in
> index b42082e2cc..272c2ede37 100644
> --- a/package/ltp-testsuite/Config.in
> +++ b/package/ltp-testsuite/Config.in
> @@ -12,7 +12,6 @@ config BR2_PACKAGE_LTP_TESTSUITE
>  	bool "ltp-testsuite"
>  	depends on BR2_USE_MMU # fork()
>  	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
> -	depends on !BR2_TOOLCHAIN_USES_MUSL || BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_11
>  	depends on BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS
>  	select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC
>  	select BR2_PACKAGE_MUSL_FTS if !BR2_TOOLCHAIN_USES_GLIBC
> -- 
> 2.40.0
>
Petr Vorel April 19, 2023, 10:27 p.m. UTC | #2
On Mon, 17 Apr 2023 at 21:39, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
>
> Petr, All,
>
> On 2023-04-17 21:14 +0200, Petr Vorel spake thusly:
> > From: Petr Vorel <petr.vorel@gmail.com>
> >
> > 5e1c238b72 ("package/ltp-testsuite: require 5.11 headers for musl")
> > added a 5.11 headers requirement for musl, which contains fix
> > a85cbe6159ff ("uapi: move constants from <linux/kernel.h> to <linux/const.h>").
> >
> > This effectively disables LTP on all musl based toolchains from
> > toolchain-configs.csv:
> >
> >       bootlin-armv7-musl [ 7/45]: SKIPPED
> >     bootlin-riscv64-musl [19/45]: SKIPPED
> >      bootlin-x86-64-musl [26/45]: SKIPPED
> > br-i386-pentium-mmx-musl [31/45]: SKIPPED
> >
> > But these toolchains are based on 4.9.255 kernel headers, which have
> > backported fix as 834d8b96cd85 in 4.9.250 and LTP can be compiled with
> > them. Because there is currently no way to specify also older stable
> > releases with fix, it's better to remove this requirement. If people are
> > really using unfixed kernels we can reintroduce the workaround which was
> > removed in 5e1c238b72 or even ask upstream to carry it.
>
> There is no way to know whether a toolchain with headers earlier than
> 5.11 wil have the fix or not, as we do not have dot-release information
> for the headers version. E.g. 4.9 covers the whole range of kernel 4.9,
> some with the fix, some without. The only kernel headers version we know
> for sure has the fix, if kernel 5.11 and alter.

Sure, I understand current BR2_TOOLCHAIN_HEADERS_AT_LEAST_* check
functionality. Also understand that nobody will implement check for
stable releases just because single LTP issue. Therefore I'll might give up and
on next LTP release provide the patch again so that I can remove this check
(unless Bootlin musl toolchain(s) happens to be updated with major version bump
in a near future).

BTW even we count mainline releases as the official one, in reality most of
distros (not just embedded ones, actually all, but enterprise distros) use
LTS/stable kernels without much of patches. Therefore stable releases really
matter and no longer comparing only major version is enough.


>
> There are also toolchains with a lot of backported *features* (that's
> especially true among chip-co provided toolchains), where some features
> of later kernel headers are in fact present in older versions.
>
> We can't have a lernel headers check that is more lax than the actual,
> official, major kernel it was released in.
>
> So, I still think that what we currently do is absolutely correct:
> building ltp-testsuite requires kernel headers 5.11.
>
> > Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
> > ---
> > Hi,
> >
> > I'm sorry for not checking the build properly. v1 and v2 of LTP update
> > were without this because I did check them properly and saw that 5.11
> > version requirement for musl was not needed (thanks to Thomas, who in
> > the past after my asking for that had found a time and updated toolchains).
>
> So yes, Bootlin is now provided updated toolchains, but it does not
> prevent people from using previous ones without the fix, even with an
> updated Buildroot.
>
> It also does not prevent people from having built their own toolchains
> in the past, with headers without the fix (or with it, we can't know),
> and keeping using those toolchains, becasue they have qualified them in
> their environment, and rebuilding those is just not possible.
>
> So, NACK from me.

Understand.

>
> I'll leave it open for other maintainers to have a look, in case one has
> another opinion and decides we want it.

Thank you.

Kind regards,
Petr

>
> Regards,
> Yann E. MORIN.
>
> > Kind regards,
> > Petr
> >
> >  package/ltp-testsuite/Config.in | 1 -
> >  1 file changed, 1 deletion(-)
> >
> > diff --git a/package/ltp-testsuite/Config.in b/package/ltp-testsuite/Config.in
> > index b42082e2cc..272c2ede37 100644
> > --- a/package/ltp-testsuite/Config.in
> > +++ b/package/ltp-testsuite/Config.in
> > @@ -12,7 +12,6 @@ config BR2_PACKAGE_LTP_TESTSUITE
> >       bool "ltp-testsuite"
> >       depends on BR2_USE_MMU # fork()
> >       depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
> > -     depends on !BR2_TOOLCHAIN_USES_MUSL || BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_11
> >       depends on BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS
> >       select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC
> >       select BR2_PACKAGE_MUSL_FTS if !BR2_TOOLCHAIN_USES_GLIBC
> > --
> > 2.40.0
> >
>
> --
> .-----------------.--------------------.------------------.--------------------.
> |  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
> | +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
> | +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
> | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
> '------------------------------^-------^------------------^--------------------'
diff mbox series

Patch

diff --git a/package/ltp-testsuite/Config.in b/package/ltp-testsuite/Config.in
index b42082e2cc..272c2ede37 100644
--- a/package/ltp-testsuite/Config.in
+++ b/package/ltp-testsuite/Config.in
@@ -12,7 +12,6 @@  config BR2_PACKAGE_LTP_TESTSUITE
 	bool "ltp-testsuite"
 	depends on BR2_USE_MMU # fork()
 	depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
-	depends on !BR2_TOOLCHAIN_USES_MUSL || BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_11
 	depends on BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS
 	select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC
 	select BR2_PACKAGE_MUSL_FTS if !BR2_TOOLCHAIN_USES_GLIBC