diff mbox series

[10/11] insane.bbclass: simplify exceptions for 32 bit time API check

Message ID 20230426095036.2632847-10-alex@linutronix.de
State Accepted, archived
Commit e6ebd0c556dfc576a59f5755d97089a2a241f698
Headers show
Series [01/11] binutils: backport a patch to address failures when time64.inc is in use | expand

Commit Message

Alexander Kanavin April 26, 2023, 9:50 a.m. UTC
Existing implementation required to list both specific problematic apis, and files that
use them: neither is necessary as both are seen in package_qa error messages, and
can cause excessive amount of exception lines, if there are too many files, or
they are installed in arch-specific locations. Also, the value of INSANE_SKIP
should be the test that needs to be skipped, and in this case it wasn't.

Also, all problematic recipes are now correctly listed.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 meta/classes-global/insane.bbclass  | 14 +++-----------
 meta/conf/distro/include/time64.inc | 18 ++++++++++++------
 2 files changed, 15 insertions(+), 17 deletions(-)

Comments

Khem Raj April 29, 2023, 7:23 p.m. UTC | #1
its still triggering as error.

On Wed, Apr 26, 2023 at 2:50 AM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> Existing implementation required to list both specific problematic apis, and files that
> use them: neither is necessary as both are seen in package_qa error messages, and
> can cause excessive amount of exception lines, if there are too many files, or
> they are installed in arch-specific locations. Also, the value of INSANE_SKIP
> should be the test that needs to be skipped, and in this case it wasn't.
>
> Also, all problematic recipes are now correctly listed.
>
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>  meta/classes-global/insane.bbclass  | 14 +++-----------
>  meta/conf/distro/include/time64.inc | 18 ++++++++++++------
>  2 files changed, 15 insertions(+), 17 deletions(-)
>
> diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
> index ee34d5208d1..8788f58fc5b 100644
> --- a/meta/classes-global/insane.bbclass
> +++ b/meta/classes-global/insane.bbclass
> @@ -617,22 +617,14 @@ def check_32bit_symbols(path, packagename, d, elf, messages):
>              # At this point, any symbol information is stripped into the debug
>              # package, so that is the only place we will find them.
>              elfpath = elfpath.replace('.debug/', '')
> -            allowed = (
> -                d.getVarFlag(
> -                    'INSANE_SKIP:' + d.getVar('PN'), elfpath.replace('/', '_')
> -                ) or ''
> -            ).split()
> -            usedapis -= set(allowed)
> -            if usedapis:
> +            allowed = "32bit-time" in (d.getVar('INSANE_SKIP') or '').split()
> +            if not allowed:
>                  msgformat = elfpath + " uses 32-bit api '%s'"
>                  for sym in usedapis:
>                      oe.qa.add_message(messages, '32bit-time', msgformat % sym)
>                  oe.qa.add_message(
>                      messages, '32bit-time',
> -                    'Suppress with INSANE_SKIP:%s[%s] = "%s"' % (
> -                        d.getVar('PN'), elfpath.replace('/', '_'),
> -                        ' '.join(usedapis)
> -                    )
> +                    'Suppress with INSANE_SKIP = "32bit-time"'
>                  )
>
>  # Check license variables
> diff --git a/meta/conf/distro/include/time64.inc b/meta/conf/distro/include/time64.inc
> index f3bdfba4acf..1a3399bc5e6 100644
> --- a/meta/conf/distro/include/time64.inc
> +++ b/meta/conf/distro/include/time64.inc
> @@ -30,10 +30,16 @@ GLIBC_64BIT_TIME_FLAGS:pn-pipewire = ""
>  GLIBC_64BIT_TIME_FLAGS:pn-pulseaudio = ""
>  GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = ""
>
> -INSANE_SKIP:libstd-rs[_usr_lib_rustlib_armv7-poky-linux-gnueabihf_lib_libstd.so] = "clock_gettime gettime fcntl fstat64 fstatat64 getsockopt ioctl lstat64 nanosleep prctl recvmsg sendmsg setsockopt stat64"
> -INSANE_SKIP:librsvg[_usr_bin_rsvg-convert] = "fcntl fstat64 prctl stat64 clock_gettime"
> -INSANE_SKIP:librsvg[_usr_lib_librsvg-2.so.2.48.0] = "fcntl lstat64 setsockopt sendmsg fstat64 getsockopt ioctl nanosleep timegm fstatat64 prctl mktime gmtime_r recvmsg stat64 clock_gettime localtime_r"
> -
> -# libpulsedsp.so is a preload-library that hooks libc functions
> -INSANE_SKIP:pulseaudio[_usr_lib_pulseaudio_libpulsedsp.so] = "setsockopt fcntl"
> +INSANE_SKIP:append:pn-cargo = " 32bit-time"
> +INSANE_SKIP:append:pn-gcc-sanitizers = " 32bit-time"
> +INSANE_SKIP:append:pn-glibc = " 32bit-time"
> +INSANE_SKIP:append:pn-glibc-tests = " 32bit-time"
> +INSANE_SKIP:append:pn-librsvg = " 32bit-time"
> +INSANE_SKIP:append:pn-libstd-rs = " 32bit-time"
> +INSANE_SKIP:append:pn-pulseaudio = " 32bit-time"
> +INSANE_SKIP:append:pn-python3-bcrypt = " 32bit-time"
> +INSANE_SKIP:append:pn-python3-cryptography = " 32bit-time"
> +INSANE_SKIP:append:pn-rust = " 32bit-time"
> +INSANE_SKIP:append:pn-rust-hello-world = " 32bit-time"
> +INSANE_SKIP:append:pn-strace = " 32bit-time"
>
> --
> 2.30.2
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#180428): https://lists.openembedded.org/g/openembedded-core/message/180428
> Mute This Topic: https://lists.openembedded.org/mt/98511412/1997914
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Alexander Kanavin April 30, 2023, 4:49 a.m. UTC | #2
Can I see the error please?

Alex

On Sat 29. Apr 2023 at 21.23, Khem Raj <raj.khem@gmail.com> wrote:

> its still triggering as error.
>
> On Wed, Apr 26, 2023 at 2:50 AM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > Existing implementation required to list both specific problematic apis,
> and files that
> > use them: neither is necessary as both are seen in package_qa error
> messages, and
> > can cause excessive amount of exception lines, if there are too many
> files, or
> > they are installed in arch-specific locations. Also, the value of
> INSANE_SKIP
> > should be the test that needs to be skipped, and in this case it wasn't.
> >
> > Also, all problematic recipes are now correctly listed.
> >
> > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> > ---
> >  meta/classes-global/insane.bbclass  | 14 +++-----------
> >  meta/conf/distro/include/time64.inc | 18 ++++++++++++------
> >  2 files changed, 15 insertions(+), 17 deletions(-)
> >
> > diff --git a/meta/classes-global/insane.bbclass
> b/meta/classes-global/insane.bbclass
> > index ee34d5208d1..8788f58fc5b 100644
> > --- a/meta/classes-global/insane.bbclass
> > +++ b/meta/classes-global/insane.bbclass
> > @@ -617,22 +617,14 @@ def check_32bit_symbols(path, packagename, d, elf,
> messages):
> >              # At this point, any symbol information is stripped into
> the debug
> >              # package, so that is the only place we will find them.
> >              elfpath = elfpath.replace('.debug/', '')
> > -            allowed = (
> > -                d.getVarFlag(
> > -                    'INSANE_SKIP:' + d.getVar('PN'),
> elfpath.replace('/', '_')
> > -                ) or ''
> > -            ).split()
> > -            usedapis -= set(allowed)
> > -            if usedapis:
> > +            allowed = "32bit-time" in (d.getVar('INSANE_SKIP') or
> '').split()
> > +            if not allowed:
> >                  msgformat = elfpath + " uses 32-bit api '%s'"
> >                  for sym in usedapis:
> >                      oe.qa.add_message(messages, '32bit-time', msgformat
> % sym)
> >                  oe.qa.add_message(
> >                      messages, '32bit-time',
> > -                    'Suppress with INSANE_SKIP:%s[%s] = "%s"' % (
> > -                        d.getVar('PN'), elfpath.replace('/', '_'),
> > -                        ' '.join(usedapis)
> > -                    )
> > +                    'Suppress with INSANE_SKIP = "32bit-time"'
> >                  )
> >
> >  # Check license variables
> > diff --git a/meta/conf/distro/include/time64.inc
> b/meta/conf/distro/include/time64.inc
> > index f3bdfba4acf..1a3399bc5e6 100644
> > --- a/meta/conf/distro/include/time64.inc
> > +++ b/meta/conf/distro/include/time64.inc
> > @@ -30,10 +30,16 @@ GLIBC_64BIT_TIME_FLAGS:pn-pipewire = ""
> >  GLIBC_64BIT_TIME_FLAGS:pn-pulseaudio = ""
> >  GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = ""
> >
> >
> -INSANE_SKIP:libstd-rs[_usr_lib_rustlib_armv7-poky-linux-gnueabihf_lib_libstd.so]
> = "clock_gettime gettime fcntl fstat64 fstatat64 getsockopt ioctl lstat64
> nanosleep prctl recvmsg sendmsg setsockopt stat64"
> > -INSANE_SKIP:librsvg[_usr_bin_rsvg-convert] = "fcntl fstat64 prctl
> stat64 clock_gettime"
> > -INSANE_SKIP:librsvg[_usr_lib_librsvg-2.so.2.48.0] = "fcntl lstat64
> setsockopt sendmsg fstat64 getsockopt ioctl nanosleep timegm fstatat64
> prctl mktime gmtime_r recvmsg stat64 clock_gettime localtime_r"
> > -
> > -# libpulsedsp.so is a preload-library that hooks libc functions
> > -INSANE_SKIP:pulseaudio[_usr_lib_pulseaudio_libpulsedsp.so] =
> "setsockopt fcntl"
> > +INSANE_SKIP:append:pn-cargo = " 32bit-time"
> > +INSANE_SKIP:append:pn-gcc-sanitizers = " 32bit-time"
> > +INSANE_SKIP:append:pn-glibc = " 32bit-time"
> > +INSANE_SKIP:append:pn-glibc-tests = " 32bit-time"
> > +INSANE_SKIP:append:pn-librsvg = " 32bit-time"
> > +INSANE_SKIP:append:pn-libstd-rs = " 32bit-time"
> > +INSANE_SKIP:append:pn-pulseaudio = " 32bit-time"
> > +INSANE_SKIP:append:pn-python3-bcrypt = " 32bit-time"
> > +INSANE_SKIP:append:pn-python3-cryptography = " 32bit-time"
> > +INSANE_SKIP:append:pn-rust = " 32bit-time"
> > +INSANE_SKIP:append:pn-rust-hello-world = " 32bit-time"
> > +INSANE_SKIP:append:pn-strace = " 32bit-time"
> >
> > --
> > 2.30.2
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#180428):
> https://lists.openembedded.org/g/openembedded-core/message/180428
> > Mute This Topic: https://lists.openembedded.org/mt/98511412/1997914
> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> raj.khem@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
>
Khem Raj April 30, 2023, 5:15 a.m. UTC | #3
https://errors.yoctoproject.org/Errors/Build/163415/

On Sat, Apr 29, 2023 at 9:49 PM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> Can I see the error please?
>
> Alex
>
> On Sat 29. Apr 2023 at 21.23, Khem Raj <raj.khem@gmail.com> wrote:
>>
>> its still triggering as error.
>>
>> On Wed, Apr 26, 2023 at 2:50 AM Alexander Kanavin
>> <alex.kanavin@gmail.com> wrote:
>> >
>> > Existing implementation required to list both specific problematic apis, and files that
>> > use them: neither is necessary as both are seen in package_qa error messages, and
>> > can cause excessive amount of exception lines, if there are too many files, or
>> > they are installed in arch-specific locations. Also, the value of INSANE_SKIP
>> > should be the test that needs to be skipped, and in this case it wasn't.
>> >
>> > Also, all problematic recipes are now correctly listed.
>> >
>> > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
>> > ---
>> >  meta/classes-global/insane.bbclass  | 14 +++-----------
>> >  meta/conf/distro/include/time64.inc | 18 ++++++++++++------
>> >  2 files changed, 15 insertions(+), 17 deletions(-)
>> >
>> > diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
>> > index ee34d5208d1..8788f58fc5b 100644
>> > --- a/meta/classes-global/insane.bbclass
>> > +++ b/meta/classes-global/insane.bbclass
>> > @@ -617,22 +617,14 @@ def check_32bit_symbols(path, packagename, d, elf, messages):
>> >              # At this point, any symbol information is stripped into the debug
>> >              # package, so that is the only place we will find them.
>> >              elfpath = elfpath.replace('.debug/', '')
>> > -            allowed = (
>> > -                d.getVarFlag(
>> > -                    'INSANE_SKIP:' + d.getVar('PN'), elfpath.replace('/', '_')
>> > -                ) or ''
>> > -            ).split()
>> > -            usedapis -= set(allowed)
>> > -            if usedapis:
>> > +            allowed = "32bit-time" in (d.getVar('INSANE_SKIP') or '').split()
>> > +            if not allowed:
>> >                  msgformat = elfpath + " uses 32-bit api '%s'"
>> >                  for sym in usedapis:
>> >                      oe.qa.add_message(messages, '32bit-time', msgformat % sym)
>> >                  oe.qa.add_message(
>> >                      messages, '32bit-time',
>> > -                    'Suppress with INSANE_SKIP:%s[%s] = "%s"' % (
>> > -                        d.getVar('PN'), elfpath.replace('/', '_'),
>> > -                        ' '.join(usedapis)
>> > -                    )
>> > +                    'Suppress with INSANE_SKIP = "32bit-time"'
>> >                  )
>> >
>> >  # Check license variables
>> > diff --git a/meta/conf/distro/include/time64.inc b/meta/conf/distro/include/time64.inc
>> > index f3bdfba4acf..1a3399bc5e6 100644
>> > --- a/meta/conf/distro/include/time64.inc
>> > +++ b/meta/conf/distro/include/time64.inc
>> > @@ -30,10 +30,16 @@ GLIBC_64BIT_TIME_FLAGS:pn-pipewire = ""
>> >  GLIBC_64BIT_TIME_FLAGS:pn-pulseaudio = ""
>> >  GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = ""
>> >
>> > -INSANE_SKIP:libstd-rs[_usr_lib_rustlib_armv7-poky-linux-gnueabihf_lib_libstd.so] = "clock_gettime gettime fcntl fstat64 fstatat64 getsockopt ioctl lstat64 nanosleep prctl recvmsg sendmsg setsockopt stat64"
>> > -INSANE_SKIP:librsvg[_usr_bin_rsvg-convert] = "fcntl fstat64 prctl stat64 clock_gettime"
>> > -INSANE_SKIP:librsvg[_usr_lib_librsvg-2.so.2.48.0] = "fcntl lstat64 setsockopt sendmsg fstat64 getsockopt ioctl nanosleep timegm fstatat64 prctl mktime gmtime_r recvmsg stat64 clock_gettime localtime_r"
>> > -
>> > -# libpulsedsp.so is a preload-library that hooks libc functions
>> > -INSANE_SKIP:pulseaudio[_usr_lib_pulseaudio_libpulsedsp.so] = "setsockopt fcntl"
>> > +INSANE_SKIP:append:pn-cargo = " 32bit-time"
>> > +INSANE_SKIP:append:pn-gcc-sanitizers = " 32bit-time"
>> > +INSANE_SKIP:append:pn-glibc = " 32bit-time"
>> > +INSANE_SKIP:append:pn-glibc-tests = " 32bit-time"
>> > +INSANE_SKIP:append:pn-librsvg = " 32bit-time"
>> > +INSANE_SKIP:append:pn-libstd-rs = " 32bit-time"
>> > +INSANE_SKIP:append:pn-pulseaudio = " 32bit-time"
>> > +INSANE_SKIP:append:pn-python3-bcrypt = " 32bit-time"
>> > +INSANE_SKIP:append:pn-python3-cryptography = " 32bit-time"
>> > +INSANE_SKIP:append:pn-rust = " 32bit-time"
>> > +INSANE_SKIP:append:pn-rust-hello-world = " 32bit-time"
>> > +INSANE_SKIP:append:pn-strace = " 32bit-time"
>> >
>> > --
>> > 2.30.2
>> >
>> >
>> > -=-=-=-=-=-=-=-=-=-=-=-
>> > Links: You receive all messages sent to this group.
>> > View/Reply Online (#180428): https://lists.openembedded.org/g/openembedded-core/message/180428
>> > Mute This Topic: https://lists.openembedded.org/mt/98511412/1997914
>> > Group Owner: openembedded-core+owner@lists.openembedded.org
>> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
>> > -=-=-=-=-=-=-=-=-=-=-=-
>> >
Alexander Kanavin April 30, 2023, 5:34 a.m. UTC | #4
This looks like a build with v1 version of the patchset, and not v2.
Pseudo has been specifically excluded from the qa check in v2 for
instance.

Alex

On Sun, 30 Apr 2023 at 07:16, Khem Raj <raj.khem@gmail.com> wrote:
>
> https://errors.yoctoproject.org/Errors/Build/163415/
>
> On Sat, Apr 29, 2023 at 9:49 PM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > Can I see the error please?
> >
> > Alex
> >
> > On Sat 29. Apr 2023 at 21.23, Khem Raj <raj.khem@gmail.com> wrote:
> >>
> >> its still triggering as error.
> >>
> >> On Wed, Apr 26, 2023 at 2:50 AM Alexander Kanavin
> >> <alex.kanavin@gmail.com> wrote:
> >> >
> >> > Existing implementation required to list both specific problematic apis, and files that
> >> > use them: neither is necessary as both are seen in package_qa error messages, and
> >> > can cause excessive amount of exception lines, if there are too many files, or
> >> > they are installed in arch-specific locations. Also, the value of INSANE_SKIP
> >> > should be the test that needs to be skipped, and in this case it wasn't.
> >> >
> >> > Also, all problematic recipes are now correctly listed.
> >> >
> >> > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> >> > ---
> >> >  meta/classes-global/insane.bbclass  | 14 +++-----------
> >> >  meta/conf/distro/include/time64.inc | 18 ++++++++++++------
> >> >  2 files changed, 15 insertions(+), 17 deletions(-)
> >> >
> >> > diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
> >> > index ee34d5208d1..8788f58fc5b 100644
> >> > --- a/meta/classes-global/insane.bbclass
> >> > +++ b/meta/classes-global/insane.bbclass
> >> > @@ -617,22 +617,14 @@ def check_32bit_symbols(path, packagename, d, elf, messages):
> >> >              # At this point, any symbol information is stripped into the debug
> >> >              # package, so that is the only place we will find them.
> >> >              elfpath = elfpath.replace('.debug/', '')
> >> > -            allowed = (
> >> > -                d.getVarFlag(
> >> > -                    'INSANE_SKIP:' + d.getVar('PN'), elfpath.replace('/', '_')
> >> > -                ) or ''
> >> > -            ).split()
> >> > -            usedapis -= set(allowed)
> >> > -            if usedapis:
> >> > +            allowed = "32bit-time" in (d.getVar('INSANE_SKIP') or '').split()
> >> > +            if not allowed:
> >> >                  msgformat = elfpath + " uses 32-bit api '%s'"
> >> >                  for sym in usedapis:
> >> >                      oe.qa.add_message(messages, '32bit-time', msgformat % sym)
> >> >                  oe.qa.add_message(
> >> >                      messages, '32bit-time',
> >> > -                    'Suppress with INSANE_SKIP:%s[%s] = "%s"' % (
> >> > -                        d.getVar('PN'), elfpath.replace('/', '_'),
> >> > -                        ' '.join(usedapis)
> >> > -                    )
> >> > +                    'Suppress with INSANE_SKIP = "32bit-time"'
> >> >                  )
> >> >
> >> >  # Check license variables
> >> > diff --git a/meta/conf/distro/include/time64.inc b/meta/conf/distro/include/time64.inc
> >> > index f3bdfba4acf..1a3399bc5e6 100644
> >> > --- a/meta/conf/distro/include/time64.inc
> >> > +++ b/meta/conf/distro/include/time64.inc
> >> > @@ -30,10 +30,16 @@ GLIBC_64BIT_TIME_FLAGS:pn-pipewire = ""
> >> >  GLIBC_64BIT_TIME_FLAGS:pn-pulseaudio = ""
> >> >  GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = ""
> >> >
> >> > -INSANE_SKIP:libstd-rs[_usr_lib_rustlib_armv7-poky-linux-gnueabihf_lib_libstd.so] = "clock_gettime gettime fcntl fstat64 fstatat64 getsockopt ioctl lstat64 nanosleep prctl recvmsg sendmsg setsockopt stat64"
> >> > -INSANE_SKIP:librsvg[_usr_bin_rsvg-convert] = "fcntl fstat64 prctl stat64 clock_gettime"
> >> > -INSANE_SKIP:librsvg[_usr_lib_librsvg-2.so.2.48.0] = "fcntl lstat64 setsockopt sendmsg fstat64 getsockopt ioctl nanosleep timegm fstatat64 prctl mktime gmtime_r recvmsg stat64 clock_gettime localtime_r"
> >> > -
> >> > -# libpulsedsp.so is a preload-library that hooks libc functions
> >> > -INSANE_SKIP:pulseaudio[_usr_lib_pulseaudio_libpulsedsp.so] = "setsockopt fcntl"
> >> > +INSANE_SKIP:append:pn-cargo = " 32bit-time"
> >> > +INSANE_SKIP:append:pn-gcc-sanitizers = " 32bit-time"
> >> > +INSANE_SKIP:append:pn-glibc = " 32bit-time"
> >> > +INSANE_SKIP:append:pn-glibc-tests = " 32bit-time"
> >> > +INSANE_SKIP:append:pn-librsvg = " 32bit-time"
> >> > +INSANE_SKIP:append:pn-libstd-rs = " 32bit-time"
> >> > +INSANE_SKIP:append:pn-pulseaudio = " 32bit-time"
> >> > +INSANE_SKIP:append:pn-python3-bcrypt = " 32bit-time"
> >> > +INSANE_SKIP:append:pn-python3-cryptography = " 32bit-time"
> >> > +INSANE_SKIP:append:pn-rust = " 32bit-time"
> >> > +INSANE_SKIP:append:pn-rust-hello-world = " 32bit-time"
> >> > +INSANE_SKIP:append:pn-strace = " 32bit-time"
> >> >
> >> > --
> >> > 2.30.2
> >> >
> >> >
> >> > -=-=-=-=-=-=-=-=-=-=-=-
> >> > Links: You receive all messages sent to this group.
> >> > View/Reply Online (#180428): https://lists.openembedded.org/g/openembedded-core/message/180428
> >> > Mute This Topic: https://lists.openembedded.org/mt/98511412/1997914
> >> > Group Owner: openembedded-core+owner@lists.openembedded.org
> >> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> >> > -=-=-=-=-=-=-=-=-=-=-=-
> >> >
Khem Raj May 1, 2023, 12:23 a.m. UTC | #5
here is latest - https://errors.yoctoproject.org/Errors/Build/163426/
I have tree rebased on alex'es master-next here

https://git.yoctoproject.org/poky-contrib/log/?h=yoe/mut

On Sat, Apr 29, 2023 at 10:35 PM Alexander Kanavin
<alex.kanavin@gmail.com> wrote:
>
> This looks like a build with v1 version of the patchset, and not v2.
> Pseudo has been specifically excluded from the qa check in v2 for
> instance.
>
> Alex
>
> On Sun, 30 Apr 2023 at 07:16, Khem Raj <raj.khem@gmail.com> wrote:
> >
> > https://errors.yoctoproject.org/Errors/Build/163415/
> >
> > On Sat, Apr 29, 2023 at 9:49 PM Alexander Kanavin
> > <alex.kanavin@gmail.com> wrote:
> > >
> > > Can I see the error please?
> > >
> > > Alex
> > >
> > > On Sat 29. Apr 2023 at 21.23, Khem Raj <raj.khem@gmail.com> wrote:
> > >>
> > >> its still triggering as error.
> > >>
> > >> On Wed, Apr 26, 2023 at 2:50 AM Alexander Kanavin
> > >> <alex.kanavin@gmail.com> wrote:
> > >> >
> > >> > Existing implementation required to list both specific problematic apis, and files that
> > >> > use them: neither is necessary as both are seen in package_qa error messages, and
> > >> > can cause excessive amount of exception lines, if there are too many files, or
> > >> > they are installed in arch-specific locations. Also, the value of INSANE_SKIP
> > >> > should be the test that needs to be skipped, and in this case it wasn't.
> > >> >
> > >> > Also, all problematic recipes are now correctly listed.
> > >> >
> > >> > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> > >> > ---
> > >> >  meta/classes-global/insane.bbclass  | 14 +++-----------
> > >> >  meta/conf/distro/include/time64.inc | 18 ++++++++++++------
> > >> >  2 files changed, 15 insertions(+), 17 deletions(-)
> > >> >
> > >> > diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
> > >> > index ee34d5208d1..8788f58fc5b 100644
> > >> > --- a/meta/classes-global/insane.bbclass
> > >> > +++ b/meta/classes-global/insane.bbclass
> > >> > @@ -617,22 +617,14 @@ def check_32bit_symbols(path, packagename, d, elf, messages):
> > >> >              # At this point, any symbol information is stripped into the debug
> > >> >              # package, so that is the only place we will find them.
> > >> >              elfpath = elfpath.replace('.debug/', '')
> > >> > -            allowed = (
> > >> > -                d.getVarFlag(
> > >> > -                    'INSANE_SKIP:' + d.getVar('PN'), elfpath.replace('/', '_')
> > >> > -                ) or ''
> > >> > -            ).split()
> > >> > -            usedapis -= set(allowed)
> > >> > -            if usedapis:
> > >> > +            allowed = "32bit-time" in (d.getVar('INSANE_SKIP') or '').split()
> > >> > +            if not allowed:
> > >> >                  msgformat = elfpath + " uses 32-bit api '%s'"
> > >> >                  for sym in usedapis:
> > >> >                      oe.qa.add_message(messages, '32bit-time', msgformat % sym)
> > >> >                  oe.qa.add_message(
> > >> >                      messages, '32bit-time',
> > >> > -                    'Suppress with INSANE_SKIP:%s[%s] = "%s"' % (
> > >> > -                        d.getVar('PN'), elfpath.replace('/', '_'),
> > >> > -                        ' '.join(usedapis)
> > >> > -                    )
> > >> > +                    'Suppress with INSANE_SKIP = "32bit-time"'
> > >> >                  )
> > >> >
> > >> >  # Check license variables
> > >> > diff --git a/meta/conf/distro/include/time64.inc b/meta/conf/distro/include/time64.inc
> > >> > index f3bdfba4acf..1a3399bc5e6 100644
> > >> > --- a/meta/conf/distro/include/time64.inc
> > >> > +++ b/meta/conf/distro/include/time64.inc
> > >> > @@ -30,10 +30,16 @@ GLIBC_64BIT_TIME_FLAGS:pn-pipewire = ""
> > >> >  GLIBC_64BIT_TIME_FLAGS:pn-pulseaudio = ""
> > >> >  GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = ""
> > >> >
> > >> > -INSANE_SKIP:libstd-rs[_usr_lib_rustlib_armv7-poky-linux-gnueabihf_lib_libstd.so] = "clock_gettime gettime fcntl fstat64 fstatat64 getsockopt ioctl lstat64 nanosleep prctl recvmsg sendmsg setsockopt stat64"
> > >> > -INSANE_SKIP:librsvg[_usr_bin_rsvg-convert] = "fcntl fstat64 prctl stat64 clock_gettime"
> > >> > -INSANE_SKIP:librsvg[_usr_lib_librsvg-2.so.2.48.0] = "fcntl lstat64 setsockopt sendmsg fstat64 getsockopt ioctl nanosleep timegm fstatat64 prctl mktime gmtime_r recvmsg stat64 clock_gettime localtime_r"
> > >> > -
> > >> > -# libpulsedsp.so is a preload-library that hooks libc functions
> > >> > -INSANE_SKIP:pulseaudio[_usr_lib_pulseaudio_libpulsedsp.so] = "setsockopt fcntl"
> > >> > +INSANE_SKIP:append:pn-cargo = " 32bit-time"
> > >> > +INSANE_SKIP:append:pn-gcc-sanitizers = " 32bit-time"
> > >> > +INSANE_SKIP:append:pn-glibc = " 32bit-time"
> > >> > +INSANE_SKIP:append:pn-glibc-tests = " 32bit-time"
> > >> > +INSANE_SKIP:append:pn-librsvg = " 32bit-time"
> > >> > +INSANE_SKIP:append:pn-libstd-rs = " 32bit-time"
> > >> > +INSANE_SKIP:append:pn-pulseaudio = " 32bit-time"
> > >> > +INSANE_SKIP:append:pn-python3-bcrypt = " 32bit-time"
> > >> > +INSANE_SKIP:append:pn-python3-cryptography = " 32bit-time"
> > >> > +INSANE_SKIP:append:pn-rust = " 32bit-time"
> > >> > +INSANE_SKIP:append:pn-rust-hello-world = " 32bit-time"
> > >> > +INSANE_SKIP:append:pn-strace = " 32bit-time"
> > >> >
> > >> > --
> > >> > 2.30.2
> > >> >
> > >> >
> > >> > -=-=-=-=-=-=-=-=-=-=-=-
> > >> > Links: You receive all messages sent to this group.
> > >> > View/Reply Online (#180428): https://lists.openembedded.org/g/openembedded-core/message/180428
> > >> > Mute This Topic: https://lists.openembedded.org/mt/98511412/1997914
> > >> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > >> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com]
> > >> > -=-=-=-=-=-=-=-=-=-=-=-
> > >> >
Alexander Kanavin May 1, 2023, 1:34 a.m. UTC | #6
So how would I replicate these? What build is actually being run?

Alex

On Mon 1. May 2023 at 2.23, Khem Raj <raj.khem@gmail.com> wrote:

> here is latest - https://errors.yoctoproject.org/Errors/Build/163426/
> I have tree rebased on alex'es master-next here
>
> https://git.yoctoproject.org/poky-contrib/log/?h=yoe/mut
>
> On Sat, Apr 29, 2023 at 10:35 PM Alexander Kanavin
> <alex.kanavin@gmail.com> wrote:
> >
> > This looks like a build with v1 version of the patchset, and not v2.
> > Pseudo has been specifically excluded from the qa check in v2 for
> > instance.
> >
> > Alex
> >
> > On Sun, 30 Apr 2023 at 07:16, Khem Raj <raj.khem@gmail.com> wrote:
> > >
> > > https://errors.yoctoproject.org/Errors/Build/163415/
> > >
> > > On Sat, Apr 29, 2023 at 9:49 PM Alexander Kanavin
> > > <alex.kanavin@gmail.com> wrote:
> > > >
> > > > Can I see the error please?
> > > >
> > > > Alex
> > > >
> > > > On Sat 29. Apr 2023 at 21.23, Khem Raj <raj.khem@gmail.com> wrote:
> > > >>
> > > >> its still triggering as error.
> > > >>
> > > >> On Wed, Apr 26, 2023 at 2:50 AM Alexander Kanavin
> > > >> <alex.kanavin@gmail.com> wrote:
> > > >> >
> > > >> > Existing implementation required to list both specific
> problematic apis, and files that
> > > >> > use them: neither is necessary as both are seen in package_qa
> error messages, and
> > > >> > can cause excessive amount of exception lines, if there are too
> many files, or
> > > >> > they are installed in arch-specific locations. Also, the value of
> INSANE_SKIP
> > > >> > should be the test that needs to be skipped, and in this case it
> wasn't.
> > > >> >
> > > >> > Also, all problematic recipes are now correctly listed.
> > > >> >
> > > >> > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> > > >> > ---
> > > >> >  meta/classes-global/insane.bbclass  | 14 +++-----------
> > > >> >  meta/conf/distro/include/time64.inc | 18 ++++++++++++------
> > > >> >  2 files changed, 15 insertions(+), 17 deletions(-)
> > > >> >
> > > >> > diff --git a/meta/classes-global/insane.bbclass
> b/meta/classes-global/insane.bbclass
> > > >> > index ee34d5208d1..8788f58fc5b 100644
> > > >> > --- a/meta/classes-global/insane.bbclass
> > > >> > +++ b/meta/classes-global/insane.bbclass
> > > >> > @@ -617,22 +617,14 @@ def check_32bit_symbols(path, packagename,
> d, elf, messages):
> > > >> >              # At this point, any symbol information is stripped
> into the debug
> > > >> >              # package, so that is the only place we will find
> them.
> > > >> >              elfpath = elfpath.replace('.debug/', '')
> > > >> > -            allowed = (
> > > >> > -                d.getVarFlag(
> > > >> > -                    'INSANE_SKIP:' + d.getVar('PN'),
> elfpath.replace('/', '_')
> > > >> > -                ) or ''
> > > >> > -            ).split()
> > > >> > -            usedapis -= set(allowed)
> > > >> > -            if usedapis:
> > > >> > +            allowed = "32bit-time" in (d.getVar('INSANE_SKIP')
> or '').split()
> > > >> > +            if not allowed:
> > > >> >                  msgformat = elfpath + " uses 32-bit api '%s'"
> > > >> >                  for sym in usedapis:
> > > >> >                      oe.qa.add_message(messages, '32bit-time',
> msgformat % sym)
> > > >> >                  oe.qa.add_message(
> > > >> >                      messages, '32bit-time',
> > > >> > -                    'Suppress with INSANE_SKIP:%s[%s] = "%s"' % (
> > > >> > -                        d.getVar('PN'), elfpath.replace('/',
> '_'),
> > > >> > -                        ' '.join(usedapis)
> > > >> > -                    )
> > > >> > +                    'Suppress with INSANE_SKIP = "32bit-time"'
> > > >> >                  )
> > > >> >
> > > >> >  # Check license variables
> > > >> > diff --git a/meta/conf/distro/include/time64.inc
> b/meta/conf/distro/include/time64.inc
> > > >> > index f3bdfba4acf..1a3399bc5e6 100644
> > > >> > --- a/meta/conf/distro/include/time64.inc
> > > >> > +++ b/meta/conf/distro/include/time64.inc
> > > >> > @@ -30,10 +30,16 @@ GLIBC_64BIT_TIME_FLAGS:pn-pipewire = ""
> > > >> >  GLIBC_64BIT_TIME_FLAGS:pn-pulseaudio = ""
> > > >> >  GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = ""
> > > >> >
> > > >> >
> -INSANE_SKIP:libstd-rs[_usr_lib_rustlib_armv7-poky-linux-gnueabihf_lib_libstd.so]
> = "clock_gettime gettime fcntl fstat64 fstatat64 getsockopt ioctl lstat64
> nanosleep prctl recvmsg sendmsg setsockopt stat64"
> > > >> > -INSANE_SKIP:librsvg[_usr_bin_rsvg-convert] = "fcntl fstat64
> prctl stat64 clock_gettime"
> > > >> > -INSANE_SKIP:librsvg[_usr_lib_librsvg-2.so.2.48.0] = "fcntl
> lstat64 setsockopt sendmsg fstat64 getsockopt ioctl nanosleep timegm
> fstatat64 prctl mktime gmtime_r recvmsg stat64 clock_gettime localtime_r"
> > > >> > -
> > > >> > -# libpulsedsp.so is a preload-library that hooks libc functions
> > > >> > -INSANE_SKIP:pulseaudio[_usr_lib_pulseaudio_libpulsedsp.so] =
> "setsockopt fcntl"
> > > >> > +INSANE_SKIP:append:pn-cargo = " 32bit-time"
> > > >> > +INSANE_SKIP:append:pn-gcc-sanitizers = " 32bit-time"
> > > >> > +INSANE_SKIP:append:pn-glibc = " 32bit-time"
> > > >> > +INSANE_SKIP:append:pn-glibc-tests = " 32bit-time"
> > > >> > +INSANE_SKIP:append:pn-librsvg = " 32bit-time"
> > > >> > +INSANE_SKIP:append:pn-libstd-rs = " 32bit-time"
> > > >> > +INSANE_SKIP:append:pn-pulseaudio = " 32bit-time"
> > > >> > +INSANE_SKIP:append:pn-python3-bcrypt = " 32bit-time"
> > > >> > +INSANE_SKIP:append:pn-python3-cryptography = " 32bit-time"
> > > >> > +INSANE_SKIP:append:pn-rust = " 32bit-time"
> > > >> > +INSANE_SKIP:append:pn-rust-hello-world = " 32bit-time"
> > > >> > +INSANE_SKIP:append:pn-strace = " 32bit-time"
> > > >> >
> > > >> > --
> > > >> > 2.30.2
> > > >> >
> > > >> >
> > > >> > -=-=-=-=-=-=-=-=-=-=-=-
> > > >> > Links: You receive all messages sent to this group.
> > > >> > View/Reply Online (#180428):
> https://lists.openembedded.org/g/openembedded-core/message/180428
> > > >> > Mute This Topic:
> https://lists.openembedded.org/mt/98511412/1997914
> > > >> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > > >> > Unsubscribe:
> https://lists.openembedded.org/g/openembedded-core/unsub [
> raj.khem@gmail.com]
> > > >> > -=-=-=-=-=-=-=-=-=-=-=-
> > > >> >
>
Alexander Kanavin May 1, 2023, 8:35 a.m. UTC | #7
For example, pseudo is still there even though it's explicitly
excluded from the check in the new version of the patchset. Something
doesn't compute here.

Alex

On Mon, 1 May 2023 at 03:34, Alexander Kanavin via
lists.openembedded.org <alex.kanavin=gmail.com@lists.openembedded.org>
wrote:
>
> So how would I replicate these? What build is actually being run?
>
> Alex
>
> On Mon 1. May 2023 at 2.23, Khem Raj <raj.khem@gmail.com> wrote:
>>
>> here is latest - https://errors.yoctoproject.org/Errors/Build/163426/
>> I have tree rebased on alex'es master-next here
>>
>> https://git.yoctoproject.org/poky-contrib/log/?h=yoe/mut
>>
>> On Sat, Apr 29, 2023 at 10:35 PM Alexander Kanavin
>> <alex.kanavin@gmail.com> wrote:
>> >
>> > This looks like a build with v1 version of the patchset, and not v2.
>> > Pseudo has been specifically excluded from the qa check in v2 for
>> > instance.
>> >
>> > Alex
>> >
>> > On Sun, 30 Apr 2023 at 07:16, Khem Raj <raj.khem@gmail.com> wrote:
>> > >
>> > > https://errors.yoctoproject.org/Errors/Build/163415/
>> > >
>> > > On Sat, Apr 29, 2023 at 9:49 PM Alexander Kanavin
>> > > <alex.kanavin@gmail.com> wrote:
>> > > >
>> > > > Can I see the error please?
>> > > >
>> > > > Alex
>> > > >
>> > > > On Sat 29. Apr 2023 at 21.23, Khem Raj <raj.khem@gmail.com> wrote:
>> > > >>
>> > > >> its still triggering as error.
>> > > >>
>> > > >> On Wed, Apr 26, 2023 at 2:50 AM Alexander Kanavin
>> > > >> <alex.kanavin@gmail.com> wrote:
>> > > >> >
>> > > >> > Existing implementation required to list both specific problematic apis, and files that
>> > > >> > use them: neither is necessary as both are seen in package_qa error messages, and
>> > > >> > can cause excessive amount of exception lines, if there are too many files, or
>> > > >> > they are installed in arch-specific locations. Also, the value of INSANE_SKIP
>> > > >> > should be the test that needs to be skipped, and in this case it wasn't.
>> > > >> >
>> > > >> > Also, all problematic recipes are now correctly listed.
>> > > >> >
>> > > >> > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
>> > > >> > ---
>> > > >> >  meta/classes-global/insane.bbclass  | 14 +++-----------
>> > > >> >  meta/conf/distro/include/time64.inc | 18 ++++++++++++------
>> > > >> >  2 files changed, 15 insertions(+), 17 deletions(-)
>> > > >> >
>> > > >> > diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
>> > > >> > index ee34d5208d1..8788f58fc5b 100644
>> > > >> > --- a/meta/classes-global/insane.bbclass
>> > > >> > +++ b/meta/classes-global/insane.bbclass
>> > > >> > @@ -617,22 +617,14 @@ def check_32bit_symbols(path, packagename, d, elf, messages):
>> > > >> >              # At this point, any symbol information is stripped into the debug
>> > > >> >              # package, so that is the only place we will find them.
>> > > >> >              elfpath = elfpath.replace('.debug/', '')
>> > > >> > -            allowed = (
>> > > >> > -                d.getVarFlag(
>> > > >> > -                    'INSANE_SKIP:' + d.getVar('PN'), elfpath.replace('/', '_')
>> > > >> > -                ) or ''
>> > > >> > -            ).split()
>> > > >> > -            usedapis -= set(allowed)
>> > > >> > -            if usedapis:
>> > > >> > +            allowed = "32bit-time" in (d.getVar('INSANE_SKIP') or '').split()
>> > > >> > +            if not allowed:
>> > > >> >                  msgformat = elfpath + " uses 32-bit api '%s'"
>> > > >> >                  for sym in usedapis:
>> > > >> >                      oe.qa.add_message(messages, '32bit-time', msgformat % sym)
>> > > >> >                  oe.qa.add_message(
>> > > >> >                      messages, '32bit-time',
>> > > >> > -                    'Suppress with INSANE_SKIP:%s[%s] = "%s"' % (
>> > > >> > -                        d.getVar('PN'), elfpath.replace('/', '_'),
>> > > >> > -                        ' '.join(usedapis)
>> > > >> > -                    )
>> > > >> > +                    'Suppress with INSANE_SKIP = "32bit-time"'
>> > > >> >                  )
>> > > >> >
>> > > >> >  # Check license variables
>> > > >> > diff --git a/meta/conf/distro/include/time64.inc b/meta/conf/distro/include/time64.inc
>> > > >> > index f3bdfba4acf..1a3399bc5e6 100644
>> > > >> > --- a/meta/conf/distro/include/time64.inc
>> > > >> > +++ b/meta/conf/distro/include/time64.inc
>> > > >> > @@ -30,10 +30,16 @@ GLIBC_64BIT_TIME_FLAGS:pn-pipewire = ""
>> > > >> >  GLIBC_64BIT_TIME_FLAGS:pn-pulseaudio = ""
>> > > >> >  GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = ""
>> > > >> >
>> > > >> > -INSANE_SKIP:libstd-rs[_usr_lib_rustlib_armv7-poky-linux-gnueabihf_lib_libstd.so] = "clock_gettime gettime fcntl fstat64 fstatat64 getsockopt ioctl lstat64 nanosleep prctl recvmsg sendmsg setsockopt stat64"
>> > > >> > -INSANE_SKIP:librsvg[_usr_bin_rsvg-convert] = "fcntl fstat64 prctl stat64 clock_gettime"
>> > > >> > -INSANE_SKIP:librsvg[_usr_lib_librsvg-2.so.2.48.0] = "fcntl lstat64 setsockopt sendmsg fstat64 getsockopt ioctl nanosleep timegm fstatat64 prctl mktime gmtime_r recvmsg stat64 clock_gettime localtime_r"
>> > > >> > -
>> > > >> > -# libpulsedsp.so is a preload-library that hooks libc functions
>> > > >> > -INSANE_SKIP:pulseaudio[_usr_lib_pulseaudio_libpulsedsp.so] = "setsockopt fcntl"
>> > > >> > +INSANE_SKIP:append:pn-cargo = " 32bit-time"
>> > > >> > +INSANE_SKIP:append:pn-gcc-sanitizers = " 32bit-time"
>> > > >> > +INSANE_SKIP:append:pn-glibc = " 32bit-time"
>> > > >> > +INSANE_SKIP:append:pn-glibc-tests = " 32bit-time"
>> > > >> > +INSANE_SKIP:append:pn-librsvg = " 32bit-time"
>> > > >> > +INSANE_SKIP:append:pn-libstd-rs = " 32bit-time"
>> > > >> > +INSANE_SKIP:append:pn-pulseaudio = " 32bit-time"
>> > > >> > +INSANE_SKIP:append:pn-python3-bcrypt = " 32bit-time"
>> > > >> > +INSANE_SKIP:append:pn-python3-cryptography = " 32bit-time"
>> > > >> > +INSANE_SKIP:append:pn-rust = " 32bit-time"
>> > > >> > +INSANE_SKIP:append:pn-rust-hello-world = " 32bit-time"
>> > > >> > +INSANE_SKIP:append:pn-strace = " 32bit-time"
>> > > >> >
>> > > >> > --
>> > > >> > 2.30.2
>> > > >> >
>> > > >> >
>> > > >> >
>> > > >> >
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#180583): https://lists.openembedded.org/g/openembedded-core/message/180583
> Mute This Topic: https://lists.openembedded.org/mt/98511412/1686489
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Khem Raj May 1, 2023, 7:20 p.m. UTC | #8
On Mon, May 1, 2023 at 1:35 AM Alexander Kanavin <alex.kanavin@gmail.com> wrote:
>
> For example, pseudo is still there even though it's explicitly
> excluded from the check in the new version of the patchset. Something
> doesn't compute here.

yeah, it was a blip on my automation. poky repository had not been
pruned for many months, and somehow it was failing to rebase due to
diverged heads
so project was not updating the branch to latest yoe/mut. I have fixed
it now and lets see what happens.

>
> Alex
>
> On Mon, 1 May 2023 at 03:34, Alexander Kanavin via
> lists.openembedded.org <alex.kanavin=gmail.com@lists.openembedded.org>
> wrote:
> >
> > So how would I replicate these? What build is actually being run?
> >
> > Alex
> >
> > On Mon 1. May 2023 at 2.23, Khem Raj <raj.khem@gmail.com> wrote:
> >>
> >> here is latest - https://errors.yoctoproject.org/Errors/Build/163426/
> >> I have tree rebased on alex'es master-next here
> >>
> >> https://git.yoctoproject.org/poky-contrib/log/?h=yoe/mut
> >>
> >> On Sat, Apr 29, 2023 at 10:35 PM Alexander Kanavin
> >> <alex.kanavin@gmail.com> wrote:
> >> >
> >> > This looks like a build with v1 version of the patchset, and not v2.
> >> > Pseudo has been specifically excluded from the qa check in v2 for
> >> > instance.
> >> >
> >> > Alex
> >> >
> >> > On Sun, 30 Apr 2023 at 07:16, Khem Raj <raj.khem@gmail.com> wrote:
> >> > >
> >> > > https://errors.yoctoproject.org/Errors/Build/163415/
> >> > >
> >> > > On Sat, Apr 29, 2023 at 9:49 PM Alexander Kanavin
> >> > > <alex.kanavin@gmail.com> wrote:
> >> > > >
> >> > > > Can I see the error please?
> >> > > >
> >> > > > Alex
> >> > > >
> >> > > > On Sat 29. Apr 2023 at 21.23, Khem Raj <raj.khem@gmail.com> wrote:
> >> > > >>
> >> > > >> its still triggering as error.
> >> > > >>
> >> > > >> On Wed, Apr 26, 2023 at 2:50 AM Alexander Kanavin
> >> > > >> <alex.kanavin@gmail.com> wrote:
> >> > > >> >
> >> > > >> > Existing implementation required to list both specific problematic apis, and files that
> >> > > >> > use them: neither is necessary as both are seen in package_qa error messages, and
> >> > > >> > can cause excessive amount of exception lines, if there are too many files, or
> >> > > >> > they are installed in arch-specific locations. Also, the value of INSANE_SKIP
> >> > > >> > should be the test that needs to be skipped, and in this case it wasn't.
> >> > > >> >
> >> > > >> > Also, all problematic recipes are now correctly listed.
> >> > > >> >
> >> > > >> > Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> >> > > >> > ---
> >> > > >> >  meta/classes-global/insane.bbclass  | 14 +++-----------
> >> > > >> >  meta/conf/distro/include/time64.inc | 18 ++++++++++++------
> >> > > >> >  2 files changed, 15 insertions(+), 17 deletions(-)
> >> > > >> >
> >> > > >> > diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
> >> > > >> > index ee34d5208d1..8788f58fc5b 100644
> >> > > >> > --- a/meta/classes-global/insane.bbclass
> >> > > >> > +++ b/meta/classes-global/insane.bbclass
> >> > > >> > @@ -617,22 +617,14 @@ def check_32bit_symbols(path, packagename, d, elf, messages):
> >> > > >> >              # At this point, any symbol information is stripped into the debug
> >> > > >> >              # package, so that is the only place we will find them.
> >> > > >> >              elfpath = elfpath.replace('.debug/', '')
> >> > > >> > -            allowed = (
> >> > > >> > -                d.getVarFlag(
> >> > > >> > -                    'INSANE_SKIP:' + d.getVar('PN'), elfpath.replace('/', '_')
> >> > > >> > -                ) or ''
> >> > > >> > -            ).split()
> >> > > >> > -            usedapis -= set(allowed)
> >> > > >> > -            if usedapis:
> >> > > >> > +            allowed = "32bit-time" in (d.getVar('INSANE_SKIP') or '').split()
> >> > > >> > +            if not allowed:
> >> > > >> >                  msgformat = elfpath + " uses 32-bit api '%s'"
> >> > > >> >                  for sym in usedapis:
> >> > > >> >                      oe.qa.add_message(messages, '32bit-time', msgformat % sym)
> >> > > >> >                  oe.qa.add_message(
> >> > > >> >                      messages, '32bit-time',
> >> > > >> > -                    'Suppress with INSANE_SKIP:%s[%s] = "%s"' % (
> >> > > >> > -                        d.getVar('PN'), elfpath.replace('/', '_'),
> >> > > >> > -                        ' '.join(usedapis)
> >> > > >> > -                    )
> >> > > >> > +                    'Suppress with INSANE_SKIP = "32bit-time"'
> >> > > >> >                  )
> >> > > >> >
> >> > > >> >  # Check license variables
> >> > > >> > diff --git a/meta/conf/distro/include/time64.inc b/meta/conf/distro/include/time64.inc
> >> > > >> > index f3bdfba4acf..1a3399bc5e6 100644
> >> > > >> > --- a/meta/conf/distro/include/time64.inc
> >> > > >> > +++ b/meta/conf/distro/include/time64.inc
> >> > > >> > @@ -30,10 +30,16 @@ GLIBC_64BIT_TIME_FLAGS:pn-pipewire = ""
> >> > > >> >  GLIBC_64BIT_TIME_FLAGS:pn-pulseaudio = ""
> >> > > >> >  GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = ""
> >> > > >> >
> >> > > >> > -INSANE_SKIP:libstd-rs[_usr_lib_rustlib_armv7-poky-linux-gnueabihf_lib_libstd.so] = "clock_gettime gettime fcntl fstat64 fstatat64 getsockopt ioctl lstat64 nanosleep prctl recvmsg sendmsg setsockopt stat64"
> >> > > >> > -INSANE_SKIP:librsvg[_usr_bin_rsvg-convert] = "fcntl fstat64 prctl stat64 clock_gettime"
> >> > > >> > -INSANE_SKIP:librsvg[_usr_lib_librsvg-2.so.2.48.0] = "fcntl lstat64 setsockopt sendmsg fstat64 getsockopt ioctl nanosleep timegm fstatat64 prctl mktime gmtime_r recvmsg stat64 clock_gettime localtime_r"
> >> > > >> > -
> >> > > >> > -# libpulsedsp.so is a preload-library that hooks libc functions
> >> > > >> > -INSANE_SKIP:pulseaudio[_usr_lib_pulseaudio_libpulsedsp.so] = "setsockopt fcntl"
> >> > > >> > +INSANE_SKIP:append:pn-cargo = " 32bit-time"
> >> > > >> > +INSANE_SKIP:append:pn-gcc-sanitizers = " 32bit-time"
> >> > > >> > +INSANE_SKIP:append:pn-glibc = " 32bit-time"
> >> > > >> > +INSANE_SKIP:append:pn-glibc-tests = " 32bit-time"
> >> > > >> > +INSANE_SKIP:append:pn-librsvg = " 32bit-time"
> >> > > >> > +INSANE_SKIP:append:pn-libstd-rs = " 32bit-time"
> >> > > >> > +INSANE_SKIP:append:pn-pulseaudio = " 32bit-time"
> >> > > >> > +INSANE_SKIP:append:pn-python3-bcrypt = " 32bit-time"
> >> > > >> > +INSANE_SKIP:append:pn-python3-cryptography = " 32bit-time"
> >> > > >> > +INSANE_SKIP:append:pn-rust = " 32bit-time"
> >> > > >> > +INSANE_SKIP:append:pn-rust-hello-world = " 32bit-time"
> >> > > >> > +INSANE_SKIP:append:pn-strace = " 32bit-time"
> >> > > >> >
> >> > > >> > --
> >> > > >> > 2.30.2
> >> > > >> >
> >> > > >> >
> >> > > >> >
> >> > > >> >
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#180583): https://lists.openembedded.org/g/openembedded-core/message/180583
> > Mute This Topic: https://lists.openembedded.org/mt/98511412/1686489
> > Group Owner: openembedded-core+owner@lists.openembedded.org
> > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [alex.kanavin@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
diff mbox series

Patch

diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass
index ee34d5208d1..8788f58fc5b 100644
--- a/meta/classes-global/insane.bbclass
+++ b/meta/classes-global/insane.bbclass
@@ -617,22 +617,14 @@  def check_32bit_symbols(path, packagename, d, elf, messages):
             # At this point, any symbol information is stripped into the debug
             # package, so that is the only place we will find them.
             elfpath = elfpath.replace('.debug/', '')
-            allowed = (
-                d.getVarFlag(
-                    'INSANE_SKIP:' + d.getVar('PN'), elfpath.replace('/', '_')
-                ) or ''
-            ).split()
-            usedapis -= set(allowed)
-            if usedapis:
+            allowed = "32bit-time" in (d.getVar('INSANE_SKIP') or '').split()
+            if not allowed:
                 msgformat = elfpath + " uses 32-bit api '%s'"
                 for sym in usedapis:
                     oe.qa.add_message(messages, '32bit-time', msgformat % sym)
                 oe.qa.add_message(
                     messages, '32bit-time',
-                    'Suppress with INSANE_SKIP:%s[%s] = "%s"' % (
-                        d.getVar('PN'), elfpath.replace('/', '_'),
-                        ' '.join(usedapis)
-                    )
+                    'Suppress with INSANE_SKIP = "32bit-time"'
                 )
 
 # Check license variables
diff --git a/meta/conf/distro/include/time64.inc b/meta/conf/distro/include/time64.inc
index f3bdfba4acf..1a3399bc5e6 100644
--- a/meta/conf/distro/include/time64.inc
+++ b/meta/conf/distro/include/time64.inc
@@ -30,10 +30,16 @@  GLIBC_64BIT_TIME_FLAGS:pn-pipewire = ""
 GLIBC_64BIT_TIME_FLAGS:pn-pulseaudio = ""
 GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = ""
 
-INSANE_SKIP:libstd-rs[_usr_lib_rustlib_armv7-poky-linux-gnueabihf_lib_libstd.so] = "clock_gettime gettime fcntl fstat64 fstatat64 getsockopt ioctl lstat64 nanosleep prctl recvmsg sendmsg setsockopt stat64"
-INSANE_SKIP:librsvg[_usr_bin_rsvg-convert] = "fcntl fstat64 prctl stat64 clock_gettime"
-INSANE_SKIP:librsvg[_usr_lib_librsvg-2.so.2.48.0] = "fcntl lstat64 setsockopt sendmsg fstat64 getsockopt ioctl nanosleep timegm fstatat64 prctl mktime gmtime_r recvmsg stat64 clock_gettime localtime_r"
-
-# libpulsedsp.so is a preload-library that hooks libc functions
-INSANE_SKIP:pulseaudio[_usr_lib_pulseaudio_libpulsedsp.so] = "setsockopt fcntl"
+INSANE_SKIP:append:pn-cargo = " 32bit-time"
+INSANE_SKIP:append:pn-gcc-sanitizers = " 32bit-time"
+INSANE_SKIP:append:pn-glibc = " 32bit-time"
+INSANE_SKIP:append:pn-glibc-tests = " 32bit-time"
+INSANE_SKIP:append:pn-librsvg = " 32bit-time"
+INSANE_SKIP:append:pn-libstd-rs = " 32bit-time"
+INSANE_SKIP:append:pn-pulseaudio = " 32bit-time"
+INSANE_SKIP:append:pn-python3-bcrypt = " 32bit-time"
+INSANE_SKIP:append:pn-python3-cryptography = " 32bit-time"
+INSANE_SKIP:append:pn-rust = " 32bit-time"
+INSANE_SKIP:append:pn-rust-hello-world = " 32bit-time"
+INSANE_SKIP:append:pn-strace = " 32bit-time"