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