summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Kanavin <alex.kanavin@gmail.com>2023-04-28 10:43:51 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-05-05 11:07:26 +0100
commit35e3f3b8d45b726631695f996e794df5ee3be0f1 (patch)
treef6cf461006cc64f50ae53d103c7bde6947fb89bd
parent850b5d5eed9969a888e4f224dc39d5f551e1403d (diff)
downloadpoky-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.bbclass14
-rw-r--r--meta/conf/distro/include/time64.inc19
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 = ""
30GLIBC_64BIT_TIME_FLAGS:pn-pulseaudio = "" 30GLIBC_64BIT_TIME_FLAGS:pn-pulseaudio = ""
31GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = "" 31GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = ""
32 32
33INSANE_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" 33INSANE_SKIP:append:pn-cargo = " 32bit-time"
34INSANE_SKIP:librsvg[_usr_bin_rsvg-convert] = "fcntl fstat64 prctl stat64 clock_gettime" 34INSANE_SKIP:append:pn-gcc-sanitizers = " 32bit-time"
35INSANE_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" 35INSANE_SKIP:append:pn-glibc = " 32bit-time"
36 36INSANE_SKIP:append:pn-glibc-tests = " 32bit-time"
37# libpulsedsp.so is a preload-library that hooks libc functions 37INSANE_SKIP:append:pn-librsvg = " 32bit-time"
38INSANE_SKIP:pulseaudio[_usr_lib_pulseaudio_libpulsedsp.so] = "setsockopt fcntl" 38INSANE_SKIP:append:pn-libstd-rs = " 32bit-time"
39INSANE_SKIP:append:pn-pseudo = " 32bit-time"
40INSANE_SKIP:append:pn-pulseaudio = " 32bit-time"
41INSANE_SKIP:append:pn-python3-bcrypt = " 32bit-time"
42INSANE_SKIP:append:pn-python3-cryptography = " 32bit-time"
43INSANE_SKIP:append:pn-rust = " 32bit-time"
44INSANE_SKIP:append:pn-rust-hello-world = " 32bit-time"
45INSANE_SKIP:append:pn-strace = " 32bit-time"
39 46