diff mbox series

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

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

Commit Message

Alexander Kanavin April 28, 2023, 8:43 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>

---
v2: add pseudo to exception list
---
 meta/classes-global/insane.bbclass  | 14 +++-----------
 meta/conf/distro/include/time64.inc | 19 +++++++++++++------
 2 files changed, 16 insertions(+), 17 deletions(-)
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 7474f0fd7a0..78569de4337 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 = ""
 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-pseudo = " 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"