From: Alexander Kanavin Date: Fri, 28 Apr 2023 08:43:51 +0000 (+0200) Subject: insane.bbclass: simplify exceptions for 32 bit time API check X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~1030 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e6ebd0c556dfc576a59f5755d97089a2a241f698;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git 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. Signed-off-by: Alexander Kanavin Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- 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"