diff options
| author | Alexander Kanavin <alex.kanavin@gmail.com> | 2023-04-28 10:43:51 +0200 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-05-05 11:07:26 +0100 |
| commit | 35e3f3b8d45b726631695f996e794df5ee3be0f1 (patch) | |
| tree | f6cf461006cc64f50ae53d103c7bde6947fb89bd | |
| parent | 850b5d5eed9969a888e4f224dc39d5f551e1403d (diff) | |
| download | poky-35e3f3b8d45b726631695f996e794df5ee3be0f1.tar.gz | |
insane.bbclass: simplify exceptions for 32 bit time API check
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.
(From OE-Core rev: e6ebd0c556dfc576a59f5755d97089a2a241f698)
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | meta/classes-global/insane.bbclass | 14 | ||||
| -rw-r--r-- | meta/conf/distro/include/time64.inc | 19 |
2 files changed, 16 insertions, 17 deletions
diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass index ee34d5208d..8788f58fc5 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): | |||
| 617 | # At this point, any symbol information is stripped into the debug | 617 | # At this point, any symbol information is stripped into the debug |
| 618 | # package, so that is the only place we will find them. | 618 | # package, so that is the only place we will find them. |
| 619 | elfpath = elfpath.replace('.debug/', '') | 619 | elfpath = elfpath.replace('.debug/', '') |
| 620 | allowed = ( | 620 | allowed = "32bit-time" in (d.getVar('INSANE_SKIP') or '').split() |
| 621 | d.getVarFlag( | 621 | if not allowed: |
| 622 | 'INSANE_SKIP:' + d.getVar('PN'), elfpath.replace('/', '_') | ||
| 623 | ) or '' | ||
| 624 | ).split() | ||
| 625 | usedapis -= set(allowed) | ||
| 626 | if usedapis: | ||
| 627 | msgformat = elfpath + " uses 32-bit api '%s'" | 622 | msgformat = elfpath + " uses 32-bit api '%s'" |
| 628 | for sym in usedapis: | 623 | for sym in usedapis: |
| 629 | oe.qa.add_message(messages, '32bit-time', msgformat % sym) | 624 | oe.qa.add_message(messages, '32bit-time', msgformat % sym) |
| 630 | oe.qa.add_message( | 625 | oe.qa.add_message( |
| 631 | messages, '32bit-time', | 626 | messages, '32bit-time', |
| 632 | 'Suppress with INSANE_SKIP:%s[%s] = "%s"' % ( | 627 | 'Suppress with INSANE_SKIP = "32bit-time"' |
| 633 | d.getVar('PN'), elfpath.replace('/', '_'), | ||
| 634 | ' '.join(usedapis) | ||
| 635 | ) | ||
| 636 | ) | 628 | ) |
| 637 | 629 | ||
| 638 | # Check license variables | 630 | # Check license variables |
diff --git a/meta/conf/distro/include/time64.inc b/meta/conf/distro/include/time64.inc index 7474f0fd7a..78569de433 100644 --- a/meta/conf/distro/include/time64.inc +++ b/meta/conf/distro/include/time64.inc | |||
| @@ -30,10 +30,17 @@ GLIBC_64BIT_TIME_FLAGS:pn-pipewire = "" | |||
| 30 | GLIBC_64BIT_TIME_FLAGS:pn-pulseaudio = "" | 30 | GLIBC_64BIT_TIME_FLAGS:pn-pulseaudio = "" |
| 31 | GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = "" | 31 | GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = "" |
| 32 | 32 | ||
| 33 | 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" | 33 | INSANE_SKIP:append:pn-cargo = " 32bit-time" |
| 34 | INSANE_SKIP:librsvg[_usr_bin_rsvg-convert] = "fcntl fstat64 prctl stat64 clock_gettime" | 34 | INSANE_SKIP:append:pn-gcc-sanitizers = " 32bit-time" |
| 35 | 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" | 35 | INSANE_SKIP:append:pn-glibc = " 32bit-time" |
| 36 | 36 | INSANE_SKIP:append:pn-glibc-tests = " 32bit-time" | |
| 37 | # libpulsedsp.so is a preload-library that hooks libc functions | 37 | INSANE_SKIP:append:pn-librsvg = " 32bit-time" |
| 38 | INSANE_SKIP:pulseaudio[_usr_lib_pulseaudio_libpulsedsp.so] = "setsockopt fcntl" | 38 | INSANE_SKIP:append:pn-libstd-rs = " 32bit-time" |
| 39 | INSANE_SKIP:append:pn-pseudo = " 32bit-time" | ||
| 40 | INSANE_SKIP:append:pn-pulseaudio = " 32bit-time" | ||
| 41 | INSANE_SKIP:append:pn-python3-bcrypt = " 32bit-time" | ||
| 42 | INSANE_SKIP:append:pn-python3-cryptography = " 32bit-time" | ||
| 43 | INSANE_SKIP:append:pn-rust = " 32bit-time" | ||
| 44 | INSANE_SKIP:append:pn-rust-hello-world = " 32bit-time" | ||
| 45 | INSANE_SKIP:append:pn-strace = " 32bit-time" | ||
| 39 | 46 | ||
