Re: [OE-core] [PATCH 2/2] spdx: use TOOLCHAIN_OUTPUTNAME for SDK filename prefix
On 9/22/2023 5:20 PM, Denys Dmytriyenko wrote: Replace SDK_NAME with TOOLCHAIN_OUTPUTNAME when naming SDK host and target SPDX archives. In most cases TOOLCHAIN_OUTPUTNAME is almost identical to SDK_NAME, but sometimes custom meta-toolchain recipes have some variations and populate_sdk_base.bbclass already uses TOOLCHAIN_OUTPUTNAME to name corresponding host and target manifests: SDK_HOST_MANIFEST = "${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.host.manifest" SDK_TARGET_MANIFEST = "${SDKDEPLOYDIR}/${TOOLCHAIN_OUTPUTNAME}.target.manifest" To match the naming convention, also use TOOLCHAIN_OUTPUTNAME here for naming SPDX archives as well, resulting in: ${TOOLCHAIN_OUTPUTNAME}-host.spdx.tar.zst ${TOOLCHAIN_OUTPUTNAME}-target.spdx.tar.zst Signed-off-by: Denys Dmytriyenko Signed-off-by: Denys Dmytriyenko Tested-by: Ryan Eatmon --- meta/classes/create-spdx-2.2.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/create-spdx-2.2.bbclass b/meta/classes/create-spdx-2.2.bbclass index a2b96da61a..885f07a1f8 100644 --- a/meta/classes/create-spdx-2.2.bbclass +++ b/meta/classes/create-spdx-2.2.bbclass @@ -986,7 +986,7 @@ def sdk_combine_spdx(d, sdk_type): from pathlib import Path from oe.sdk import sdk_list_installed_packages -sdk_name = d.getVar("SDK_NAME") + "-" + sdk_type +sdk_name = d.getVar("TOOLCHAIN_OUTPUTNAME") + "-" + sdk_type sdk_deploydir = Path(d.getVar("SDKDEPLOYDIR")) sdk_spdxid = oe.sbom.get_sdk_spdxid(sdk_name) sdk_packages = sdk_list_installed_packages(d, sdk_type == "target") -- Ryan Eatmonreat...@ti.com - Texas Instruments, Inc. - LCPD - MGTS -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#188156): https://lists.openembedded.org/g/openembedded-core/message/188156 Mute This Topic: https://lists.openembedded.org/mt/101531120/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core] [PATCH 1/2] bitbake.conf: add MACHINE to SDK_NAME
On 9/22/2023 5:20 PM, Denys Dmytriyenko wrote: Do the same here as Poky has done 5 years ago, adding MACHINE to SDK_NAME: https://git.yoctoproject.org/meta-yocto/commit/?id=3614dd4aee9d19f1024edb6a36b2862c2d726c04 This avoids file conflicts in deploy/sdk/ when building multiple machines (either manually or via multiconfig), where sdk/toolchain installers, manifests and now SPDX archives will overlap otherwise. Signed-off-by: Denys Dmytriyenko Signed-off-by: Denys Dmytriyenko Tested-by: Ryan Eatmon --- meta/conf/bitbake.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index 67577c8fe7..3fd089cebb 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -459,7 +459,7 @@ PKGDATA_DIR_SDK = "${TMPDIR}/pkgdata/${SDK_SYS}" ## SDK_NAME_PREFIX ?= "oecore" -SDK_NAME = "${SDK_NAME_PREFIX}-${IMAGE_BASENAME}-${SDK_ARCH}-${TUNE_PKGARCH}" +SDK_NAME = "${SDK_NAME_PREFIX}-${IMAGE_BASENAME}-${SDK_ARCH}-${TUNE_PKGARCH}-${MACHINE}" SDKPATH = "/usr/local/oe-sdk-hardcoded-buildpath" SDKPATHNATIVE = "${SDKPATH}/sysroots/${SDK_SYS}" # The path to default to installing the SDK to -- Ryan Eatmonreat...@ti.com - Texas Instruments, Inc. - LCPD - MGTS -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#188155): https://lists.openembedded.org/g/openembedded-core/message/188155 Mute This Topic: https://lists.openembedded.org/mt/101531119/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core] [PATCH 2/2] glib-2.0: Remove failing ptests on musl
FAIL: glib/convert.test (Child process killed by signal 6) FAIL: glib/collate.test (Child process killed by signal 6) FAIL: glib/gdatetime.test (Child process killed by signal 6) FAIL: glib/date.test (Child process killed by signal 6) FAIL: glib/converter-stream.test (Child process killed by signal 6) FAIL: glib/option-context.test (Child process killed by signal 6) Signed-off-by: Khem Raj --- meta/recipes-core/glib-2.0/glib.inc | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc index 5183f37a6ef..c508990ee8c 100644 --- a/meta/recipes-core/glib-2.0/glib.inc +++ b/meta/recipes-core/glib-2.0/glib.inc @@ -134,7 +134,12 @@ do_install:append:class-target () { # https://gitlab.gnome.org/GNOME/glib/-/issues/2810 rm -f ${D}${datadir}/installed-tests/glib/thread-pool-slow.test } - +do_install:append:class-target:libc-musl () { +# Remove failing tests on musl libc systems +for t in convert.test collate.test gdatetime.test date.test converter-stream.test option-context.test; do +rm -rf ${D}${datadir}/installed-tests/glib/$t +done +} # As we do not build python3 for windows, makes no sense to ship the script that's using it do_install:append:mingw32() { rm -f ${D}${bindir}/gtester-report -- 2.42.0 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#188154): https://lists.openembedded.org/g/openembedded-core/message/188154 Mute This Topic: https://lists.openembedded.org/mt/101546413/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core] [PATCH 1/2] glib-2.0: Enable possible locales with musl for ptests
Signed-off-by: Khem Raj --- meta/recipes-core/glib-2.0/glib.inc | 14 +++--- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc index c314594d493..5183f37a6ef 100644 --- a/meta/recipes-core/glib-2.0/glib.inc +++ b/meta/recipes-core/glib-2.0/glib.inc @@ -171,6 +171,12 @@ RDEPENDS:${PN}-ptest += "\ python3-modules \ ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'python3-dbusmock', '', d)} \ ${PN}-codegen \ +locale-base-de-de \ +locale-base-es-es \ +locale-base-en-gb \ +locale-base-en-us \ +locale-base-fr-fr \ +locale-base-ru-ru \ " RDEPENDS:${PN}-ptest:append:libc-glibc = "\ @@ -185,18 +191,12 @@ RDEPENDS:${PN}-ptest:append:libc-glibc = "\ glibc-gconv-iso8859-15 \ glibc-charmap-invariant \ glibc-localedata-translit-cjk-variants \ -locale-base-tr-tr \ locale-base-lt-lt \ locale-base-ja-jp.euc-jp \ locale-base-fa-ir \ -locale-base-ru-ru \ -locale-base-de-de \ locale-base-hr-hr \ locale-base-el-gr \ -locale-base-fr-fr \ -locale-base-es-es \ -locale-base-en-gb \ -locale-base-en-us \ locale-base-pl-pl \ locale-base-pl-pl.iso-8859-2 \ +locale-base-tr-tr \ " -- 2.42.0 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#188153): https://lists.openembedded.org/g/openembedded-core/message/188153 Mute This Topic: https://lists.openembedded.org/mt/101546412/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core] [PATCH v2] curl: Update from 8.2.1 to 8.3.0
From: Robert Joslyn NSS support was removed, so adjust PACKAGECONFIG options. The --enable-crypto-auth option was removed and split into separate options for basic-auth, bearer-auth, digest-auth, kerberos-auth, negotiate-auth, and aws. Enable these new options since upstream enables them by default. Disable test 1279 since this requires libcurl and hangs the tests. Signed-off-by: Robert Joslyn --- Changes from v1: Enable aws authentication by default. Upstream enables it by default and test 1964 fails with it disabled. meta/recipes-support/curl/curl/disable-tests | 1 + .../curl/{curl_8.2.1.bb => curl_8.3.0.bb} | 14 +- 2 files changed, 10 insertions(+), 5 deletions(-) rename meta/recipes-support/curl/{curl_8.2.1.bb => curl_8.3.0.bb} (88%) diff --git a/meta/recipes-support/curl/curl/disable-tests b/meta/recipes-support/curl/curl/disable-tests index b687b2bb76..fdac795662 100644 --- a/meta/recipes-support/curl/curl/disable-tests +++ b/meta/recipes-support/curl/curl/disable-tests @@ -21,6 +21,7 @@ # This test is scanning the source tree 1222 # These CRL tests need --libcurl option to be enabled +1279 1400 1401 1402 diff --git a/meta/recipes-support/curl/curl_8.2.1.bb b/meta/recipes-support/curl/curl_8.3.0.bb similarity index 88% rename from meta/recipes-support/curl/curl_8.2.1.bb rename to meta/recipes-support/curl/curl_8.3.0.bb index b86c6f3bba..646ac01914 100644 --- a/meta/recipes-support/curl/curl_8.2.1.bb +++ b/meta/recipes-support/curl/curl_8.3.0.bb @@ -14,7 +14,7 @@ SRC_URI = " \ file://run-ptest \ file://disable-tests \ " -SRC_URI[sha256sum] = "dd322f6bd0a20e6cebdfd388f69e98c3d183bed792cf4713c8a7ef498cba4894" +SRC_URI[sha256sum] = "376d627767d6c4f05105ab6d497b0d9aba7111770dd9d995225478209c37ea63" # Curl has used many names over the years... CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl" @@ -24,21 +24,26 @@ inherit autotools pkgconfig binconfig multilib_header ptest # Entropy source for random PACKAGECONFIG option RANDOM ?= "/dev/urandom" -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} libidn openssl proxy random threaded-resolver verbose zlib" +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} aws basic-auth bearer-auth digest-auth negotiate-auth libidn openssl proxy random threaded-resolver verbose zlib" PACKAGECONFIG:class-native = "ipv6 openssl proxy random threaded-resolver verbose zlib" PACKAGECONFIG:class-nativesdk = "ipv6 openssl proxy random threaded-resolver verbose zlib" # 'ares' and 'threaded-resolver' are mutually exclusive PACKAGECONFIG[ares] = "--enable-ares,--disable-ares,c-ares,,,threaded-resolver" +PACKAGECONFIG[aws] = "--enable-aws,--disable-aws" +PACKAGECONFIG[basic-auth] = "--enable-basic-auth,--disable-basic-auth" +PACKAGECONFIG[bearer-auth] = "--enable-bearer-auth,--disable-bearer-auth" PACKAGECONFIG[brotli] = "--with-brotli,--without-brotli,brotli" PACKAGECONFIG[builtinmanual] = "--enable-manual,--disable-manual" # Don't use this in production PACKAGECONFIG[debug] = "--enable-debug,--disable-debug" PACKAGECONFIG[dict] = "--enable-dict,--disable-dict," +PACKAGECONFIG[digest-auth] = "--enable-digest-auth,--disable-digest-auth" PACKAGECONFIG[gnutls] = "--with-gnutls,--without-gnutls,gnutls" PACKAGECONFIG[gopher] = "--enable-gopher,--disable-gopher," PACKAGECONFIG[imap] = "--enable-imap,--disable-imap," PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6," +PACKAGECONFIG[kerberos-auth] = "--enable-kerberos-auth,--disable-kerberos-auth" PACKAGECONFIG[krb5] = "--with-gssapi,--without-gssapi,krb5" PACKAGECONFIG[ldap] = "--enable-ldap,--disable-ldap,openldap" PACKAGECONFIG[ldaps] = "--enable-ldaps,--disable-ldaps,openldap" @@ -47,6 +52,7 @@ PACKAGECONFIG[libidn] = "--with-libidn2,--without-libidn2,libidn2" PACKAGECONFIG[libssh2] = "--with-libssh2,--without-libssh2,libssh2" PACKAGECONFIG[mbedtls] = "--with-mbedtls=${STAGING_DIR_TARGET},--without-mbedtls,mbedtls" PACKAGECONFIG[mqtt] = "--enable-mqtt,--disable-mqtt," +PACKAGECONFIG[negotiate-auth] = "--enable-negotiate-auth,--disable-negotiate-auth" PACKAGECONFIG[nghttp2] = "--with-nghttp2,--without-nghttp2,nghttp2" PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl" PACKAGECONFIG[pop3] = "--enable-pop3,--disable-pop3," @@ -56,7 +62,6 @@ PACKAGECONFIG[rtmpdump] = "--with-librtmp,--without-librtmp,rtmpdump" PACKAGECONFIG[rtsp] = "--enable-rtsp,--disable-rtsp," PACKAGECONFIG[smb] = "--enable-smb,--disable-smb," PACKAGECONFIG[smtp] = "--enable-smtp,--disable-smtp," -PACKAGECONFIG[nss] = "--with-nss,--without-nss,nss" PACKAGECONFIG[telnet] = "--enable-telnet,--disable-telnet," PACKAGECONFIG[tftp] = "--enable-tftp,--disable-tftp," PACKAGECONFIG[threaded-resolver] = "--enable-threaded-resolver,--disable-threaded-resolverares" @@ -67,11 +72,10 @@ PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd" EXTRA_OECONF = " \
Re: [OE-core] [PATCH] curl: Update from 8.2.1 to 8.3.0
On 9/20/23 10:12 PM, Alexander Kanavin wrote: I applied the patch on current poky master with default config (a83a16b7939e066b6686b62ae7ec66f12ef34f1e) and ran the tests locally: root@qemux86-64:/usr/lib/curl/ptest/tests# ./runtests.pl -a -n -j4 The failure I am getting is: test 1964...[HTTP AWS_SIGV4 with one provider and auth cred via URL, but X-Xxx-Date header set manually] 1964: protocol FAILED! There was no content at all in the file log/3/server.input. Server glitch? Total curl failure? Returned: 48 So you should be able to reproduce this. Did you rebase on my curl changes that landed in master recently? Alex I didn't have your commit on my branch, sorry I should have checked that. I rebased on latest master and am now able to reproduce this. Adding aws to PACKAGECONFIG does fix it for me, so I think the test is just running even when the feature it's testing is disabled. I'm fine enabling aws authentication, upstream enables it by default anyway. I'll send a v2 doing this. Thanks everyone for the help on this! Robert -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#188151): https://lists.openembedded.org/g/openembedded-core/message/188151 Mute This Topic: https://lists.openembedded.org/mt/101426058/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core] [PATCH 5/5] oeqa/runtime/parselogs: parse the logs with Python, not grep
From: Ross Burton Instead of constructing huge grep statements, we can simply open the logs in Python and do the relevant string operations directly. The trick is to remember to casefold() all of the strings, so that the "in" operator can be used. Just one of the ignores needs to be adjusted because it uses a regular expression and the new logic doesn't support that. This is handled by simply reducing the size of the ignore match. Signed-off-by: Ross Burton --- meta/lib/oeqa/runtime/cases/parselogs.py | 91 +++- 1 file changed, 41 insertions(+), 50 deletions(-) diff --git a/meta/lib/oeqa/runtime/cases/parselogs.py b/meta/lib/oeqa/runtime/cases/parselogs.py index 3980582dda2..a805edd79dd 100644 --- a/meta/lib/oeqa/runtime/cases/parselogs.py +++ b/meta/lib/oeqa/runtime/cases/parselogs.py @@ -4,9 +4,9 @@ # SPDX-License-Identifier: MIT # +import collections import os -from subprocess import check_output from shutil import rmtree from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends @@ -64,6 +64,7 @@ common_errors = [ "xf86OpenConsole: Switching VT failed", "Failed to read LoaderConfigTimeoutOneShot variable, ignoring: Operation not supported", "Failed to read LoaderEntryOneShot variable, ignoring: Operation not supported", +"invalid BAR (can't size)", ] x86_common = [ @@ -97,16 +98,13 @@ ignore_errors = { 'default' : common_errors, 'qemux86' : [ 'Failed to access perfctr msr (MSR', -'pci :00:00.0: [Firmware Bug]: reg 0x..: invalid BAR (can\'t size)', ] + qemux86_common, 'qemux86-64' : qemux86_common, 'qemumips' : [ 'Failed to load module "glx"', -'pci :00:00.0: [Firmware Bug]: reg 0x..: invalid BAR (can\'t size)', 'cacheinfo: Failed to find cpu0 device node', ] + common_errors, 'qemumips64' : [ -'pci :00:00.0: [Firmware Bug]: reg 0x..: invalid BAR (can\'t size)', 'cacheinfo: Failed to find cpu0 device node', ] + common_errors, 'qemuppc' : [ @@ -218,11 +216,13 @@ class ParseLogsTest(OERuntimeTestCase): 'Ordering cycle found, skipping', ]) +cls.errors = [s.casefold() for s in cls.errors] + try: -cls.ignore_errors = ignore_errors[cls.td.get('MACHINE')] +cls.ignore_errors = [s.casefold() for s in ignore_errors[cls.td.get('MACHINE')]] except KeyError: cls.logger.info('No ignore list found for this machine, using default') -cls.ignore_errors = ignore_errors['default'] +cls.ignore_errors = [s.casefold() for s in ignore_errors['default']] # Go through the log locations provided and if it's a folder # create a list with all the .log files in it, if it's a file @@ -263,30 +263,33 @@ class ParseLogsTest(OERuntimeTestCase): logs = [f for f in dir_files if os.path.isfile(f)] return logs -# Build the grep command to be used with filters and exclusions -def build_grepcmd(self, log): -grepcmd = 'grep ' -grepcmd += '-Ei "' -for error in self.errors: -grepcmd += r'\<' + error + r'\>' + '|' -grepcmd = grepcmd[:-1] -grepcmd += '" ' + str(log) + " | grep -Eiv \'" +def get_context(self, lines, index, before=6, after=3): +""" +Given a set of lines and the index of the line that is important, return +a number of lines surrounding that line. +""" +last = len(lines) +start = index - before +end = index + after + 1 -for ignore_error in self.ignore_errors: -ignore_error = ignore_error.replace('(', r'\(') -ignore_error = ignore_error.replace(')', r'\)') -ignore_error = ignore_error.replace("'", '.') -ignore_error = ignore_error.replace('?', r'\?') -ignore_error = ignore_error.replace('[', r'\[') -ignore_error = ignore_error.replace(']', r'\]') -ignore_error = ignore_error.replace('*', r'\*') -ignore_error = ignore_error.replace('0-9', '[0-9]') -grepcmd += ignore_error + '|' -grepcmd = grepcmd[:-1] -grepcmd += "\'" +if start < 0: +end -= start +start = 0 +if end > last: +start -= end - last +end = last -return grepcmd +return lines[start:end] + +def test_get_context(self): +""" +A test case for the test case. +""" +lines = list(range(0,10)) +self.assertEqual(self.get_context(lines, 0, 2, 1), [0, 1, 2, 3]) +self.assertEqual(self.get_context(lines, 5, 2, 1), [3, 4, 5, 6]) +self.assertEqual(self.get_context(lines, 9, 2, 1), [6, 7, 8, 9]) def parse_logs(self, logs, lines_before=10, lines_after=10): """ @@ -296,31 +299,19 @@ class
[OE-core] [PATCH 3/5] oeqa/runtime/parselogs: move some variables out of global scope
From: Ross Burton errors and log_locations can be trivially set in the class directly, instead of being defined in the module and then copied into the class. Signed-off-by: Ross Burton --- meta/lib/oeqa/runtime/cases/parselogs.py | 19 +-- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/meta/lib/oeqa/runtime/cases/parselogs.py b/meta/lib/oeqa/runtime/cases/parselogs.py index 0262f574d1a..3f205661ea9 100644 --- a/meta/lib/oeqa/runtime/cases/parselogs.py +++ b/meta/lib/oeqa/runtime/cases/parselogs.py @@ -11,9 +11,6 @@ from shutil import rmtree from oeqa.runtime.case import OERuntimeTestCase from oeqa.core.decorator.depends import OETestDepends -#in the future these lists could be moved outside of module -errors = ["error", "cannot", "can\'t", "failed"] - common_errors = [ "(WW) warning, (EE) error, (NI) not implemented, (??) unknown.", "dma timeout", @@ -201,17 +198,19 @@ ignore_errors = { ] + common_errors, } -log_locations = ["/var/log/","/var/log/dmesg", "/tmp/dmesg_output.log"] - class ParseLogsTest(OERuntimeTestCase): +# Which log files should be collected +log_locations = ["/var/log/", "/var/log/dmesg", "/tmp/dmesg_output.log"] + +# The keywords that identify error messages in the log files +errors = ["error", "cannot", "can't", "failed"] + @classmethod def setUpClass(cls): -cls.errors = errors - # When systemd is enabled we need to notice errors on # circular dependencies in units. -if 'systemd' in cls.td.get('DISTRO_FEATURES', ''): +if 'systemd' in cls.td.get('DISTRO_FEATURES'): cls.errors.extend([ 'Found ordering cycle on', 'Breaking ordering cycle by deleting job', @@ -220,8 +219,6 @@ class ParseLogsTest(OERuntimeTestCase): ]) cls.ignore_errors = ignore_errors -cls.log_locations = log_locations -cls.msg = '' # Go through the log locations provided and if it's a folder # create a list with all the .log files in it, if it's a file @@ -338,7 +335,9 @@ class ParseLogsTest(OERuntimeTestCase): self.write_dmesg() log_list = self.get_local_log_list(self.log_locations) result = self.parse_logs(log_list) + errcount = 0 +self.msg = "" for log in result: self.msg += 'Log: ' + log + '\n' self.msg += '---\n' -- 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#188148): https://lists.openembedded.org/g/openembedded-core/message/188148 Mute This Topic: https://lists.openembedded.org/mt/101539020/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core] [PATCH 4/5] oeqa/runtime/parselogs: select the correct machine-specific ignores early
From: Ross Burton This has no impact to the execution, but makes the following changes neater. Signed-off-by: Ross Burton --- meta/lib/oeqa/runtime/cases/parselogs.py | 13 ++--- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/meta/lib/oeqa/runtime/cases/parselogs.py b/meta/lib/oeqa/runtime/cases/parselogs.py index 3f205661ea9..3980582dda2 100644 --- a/meta/lib/oeqa/runtime/cases/parselogs.py +++ b/meta/lib/oeqa/runtime/cases/parselogs.py @@ -218,7 +218,11 @@ class ParseLogsTest(OERuntimeTestCase): 'Ordering cycle found, skipping', ]) -cls.ignore_errors = ignore_errors +try: +cls.ignore_errors = ignore_errors[cls.td.get('MACHINE')] +except KeyError: +cls.logger.info('No ignore list found for this machine, using default') +cls.ignore_errors = ignore_errors['default'] # Go through the log locations provided and if it's a folder # create a list with all the .log files in it, if it's a file @@ -268,13 +272,8 @@ class ParseLogsTest(OERuntimeTestCase): grepcmd = grepcmd[:-1] grepcmd += '" ' + str(log) + " | grep -Eiv \'" -try: -errorlist = self.ignore_errors[self.td.get('MACHINE')] -except KeyError: -self.msg += 'No ignore list found for this machine, using default\n' -errorlist = self.ignore_errors['default'] -for ignore_error in errorlist: +for ignore_error in self.ignore_errors: ignore_error = ignore_error.replace('(', r'\(') ignore_error = ignore_error.replace(')', r'\)') ignore_error = ignore_error.replace("'", '.') -- 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#188149): https://lists.openembedded.org/g/openembedded-core/message/188149 Mute This Topic: https://lists.openembedded.org/mt/101539021/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core] [PATCH 1/5] oeqa/runtime/parselogs: improve find call
From: Ross Burton getLogList() uses remote find invocations to find the logs. Instead of relying on shell expansion of wildcards and redundant use of -maxdepth (pointless as the shell expansion means the find is passed the files to return), invoke find idiomatically by telling it what directory to search for and escape the glob so find processes it. Also remove many pointless str() calls. Signed-off-by: Ross Burton --- meta/lib/oeqa/runtime/cases/parselogs.py | 10 +- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/meta/lib/oeqa/runtime/cases/parselogs.py b/meta/lib/oeqa/runtime/cases/parselogs.py index 6e5dc753060..93782b844b9 100644 --- a/meta/lib/oeqa/runtime/cases/parselogs.py +++ b/meta/lib/oeqa/runtime/cases/parselogs.py @@ -229,18 +229,18 @@ class ParseLogsTest(OERuntimeTestCase): def getLogList(self, log_locations): logs = [] for location in log_locations: -status, _ = self.target.run('test -f ' + str(location)) +status, _ = self.target.run('test -f %s' % location) if status == 0: -logs.append(str(location)) +logs.append(location) else: -status, _ = self.target.run('test -d ' + str(location)) +status, _ = self.target.run('test -d %s' % location) if status == 0: -cmd = 'find ' + str(location) + '/*.log -maxdepth 1 -type f' +cmd = 'find %s -name \\*.log -maxdepth 1 -type f' % location status, output = self.target.run(cmd) if status == 0: output = output.splitlines() for logfile in output: -logs.append(os.path.join(location, str(logfile))) +logs.append(os.path.join(location, logfile)) return logs # Copy the log files to be parsed locally -- 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#188146): https://lists.openembedded.org/g/openembedded-core/message/188146 Mute This Topic: https://lists.openembedded.org/mt/101539017/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core] [PATCH 2/5] oeqa/runtime/parselogs: don't pass around members
From: Ross Burton There's no point in passing around member fields, just access them directly. Signed-off-by: Ross Burton --- meta/lib/oeqa/runtime/cases/parselogs.py | 24 ++-- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/meta/lib/oeqa/runtime/cases/parselogs.py b/meta/lib/oeqa/runtime/cases/parselogs.py index 93782b844b9..0262f574d1a 100644 --- a/meta/lib/oeqa/runtime/cases/parselogs.py +++ b/meta/lib/oeqa/runtime/cases/parselogs.py @@ -263,19 +263,19 @@ class ParseLogsTest(OERuntimeTestCase): return logs # Build the grep command to be used with filters and exclusions -def build_grepcmd(self, errors, ignore_errors, log): +def build_grepcmd(self, log): grepcmd = 'grep ' grepcmd += '-Ei "' -for error in errors: +for error in self.errors: grepcmd += r'\<' + error + r'\>' + '|' grepcmd = grepcmd[:-1] grepcmd += '" ' + str(log) + " | grep -Eiv \'" try: -errorlist = ignore_errors[self.td.get('MACHINE')] +errorlist = self.ignore_errors[self.td.get('MACHINE')] except KeyError: self.msg += 'No ignore list found for this machine, using default\n' -errorlist = ignore_errors['default'] +errorlist = self.ignore_errors['default'] for ignore_error in errorlist: ignore_error = ignore_error.replace('(', r'\(') @@ -292,17 +292,21 @@ class ParseLogsTest(OERuntimeTestCase): return grepcmd -# Grep only the errors so that their context could be collected. -# Default context is 10 lines before and after the error itself -def parse_logs(self, errors, ignore_errors, logs, - lines_before = 10, lines_after = 10): +def parse_logs(self, logs, lines_before=10, lines_after=10): +""" +Search the log files @logs looking for error lines (marked by +@self.errors), ignoring anything listed in @self.ignore_errors. + +Returns a dictionary of log filenames to a dictionary of error lines to +the error context (controlled by @lines_before and @lines_after). +""" results = {} rez = [] grep_output = '' for log in logs: result = None -thegrep = self.build_grepcmd(errors, ignore_errors, log) +thegrep = self.build_grepcmd(log) try: result = check_output(thegrep, shell=True).decode('utf-8') @@ -333,7 +337,7 @@ class ParseLogsTest(OERuntimeTestCase): def test_parselogs(self): self.write_dmesg() log_list = self.get_local_log_list(self.log_locations) -result = self.parse_logs(self.errors, self.ignore_errors, log_list) +result = self.parse_logs(log_list) errcount = 0 for log in result: self.msg += 'Log: ' + log + '\n' -- 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#188147): https://lists.openembedded.org/g/openembedded-core/message/188147 Mute This Topic: https://lists.openembedded.org/mt/101539019/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core] [PATCH 0/5 v2] oeqa/runtime/parselogs improvements
From: Ross Burton Mostly the same as before, but this time with a missing casefold() added. Ross Ross Burton (5): oeqa/runtime/parselogs: improve find call oeqa/runtime/parselogs: don't pass around members oeqa/runtime/parselogs: move some variables out of global scope oeqa/runtime/parselogs: select the correct machine-specific ignores early oeqa/runtime/parselogs: parse the logs with Python, not grep meta/lib/oeqa/runtime/cases/parselogs.py | 141 +++ 1 file changed, 67 insertions(+), 74 deletions(-) -- 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#188145): https://lists.openembedded.org/g/openembedded-core/message/188145 Mute This Topic: https://lists.openembedded.org/mt/101539015/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core] [qa-build-notification] QA notification for completed autobuilder build (yocto-3.1.28.rc2)
Hi All, QA for yocto-3.1.28.rc2 is completed. This is the full report for this release: https://git.yoctoproject.org/cgit/cgit.cgi/yocto-testresults-contrib/tree/?h=intel-yocto-testresults === Summary No high milestone defects. No new issue found. Thanks, Jing Hui > -Original Message- > From: qa-build-notificat...@lists.yoctoproject.org notificat...@lists.yoctoproject.org> On Behalf Of Pokybuild User > Sent: Sunday, September 17, 2023 3:03 PM > To: yo...@lists.yoctoproject.org > Cc: qa-build-notificat...@lists.yoctoproject.org > Subject: [qa-build-notification] QA notification for completed autobuilder > build (yocto-3.1.28.rc2) > > > A build flagged for QA (yocto-3.1.28.rc2) was completed on the autobuilder > and is available at: > > > https://autobuilder.yocto.io/pub/releases/yocto-3.1.28.rc2 > > > Build hash information: > > bitbake: b60c7085ec370473bea9b3b4b65826a17638837f > meta-agl: e0f6590189cb0a510bff0d4233667c552d964591 > meta-arm: b1fe8443a7a72c65fa0fc3371f607c6671b3a882 > meta-aws: 77e5438c27292ad5f8c7d3b100cb09b8dbf1c7f4 > meta-gplv2: 60b251c25ba87e946a0ca4cdc8d17b1cb09292ac > meta-intel: e482213f37828216c7a7df68ff353652cc865ec1 > meta-mingw: 524de686205b5d6736661d4532f5f98fee8589b7 > meta-openembedded: e42d1e758f9f08b98c0e8c6f0532316951bb276f > meta-virtualization: 0dbb8593fa38ac2a04fcac04ff3e35611e849824 > oecore: 8b91c463fb3546836789e1890b3c68acf69c162a > poky: 926eb08fe325e2ea13098f99d920840b9354ceb9 > > > > This is an automated message from the Yocto Project Autobuilder > Git: git://git.yoctoproject.org/yocto-autobuilder2 > Email: richard.pur...@linuxfoundation.org > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#188144): https://lists.openembedded.org/g/openembedded-core/message/188144 Mute This Topic: https://lists.openembedded.org/mt/101450664/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core] [PATCH][mickledore] linux-yocto: update CVE exclusions
From: Ross Burton Signed-off-by: Ross Burton --- .../linux/cve-exclusion_6.1.inc | 157 ++ 1 file changed, 123 insertions(+), 34 deletions(-) diff --git a/meta/recipes-kernel/linux/cve-exclusion_6.1.inc b/meta/recipes-kernel/linux/cve-exclusion_6.1.inc index 4e809940db0..1656ffc8b5e 100644 --- a/meta/recipes-kernel/linux/cve-exclusion_6.1.inc +++ b/meta/recipes-kernel/linux/cve-exclusion_6.1.inc @@ -1,9 +1,9 @@ # Auto-generated CVE metadata, DO NOT EDIT BY HAND. -# Generated at 2023-08-25 16:54:59.886795 for version 6.1.38" +# Generated at 2023-09-23 10:45:45.248445 for version 6.1.46 python check_kernel_cve_status_version() { -this_version = "6.1.38" +this_version = "6.1.46" kernel_version = d.getVar("LINUX_VERSION") if kernel_version != this_version: bb.warn("Kernel CVE status needs updating: generated for %s but kernel is %s" % (this_version, kernel_version)) @@ -4839,6 +4839,8 @@ CVE_CHECK_IGNORE += "CVE-2020-27194" # fixed-version: Fixed after version 5.6rc4 CVE_CHECK_IGNORE += "CVE-2020-2732" +# CVE-2020-27418 has no known resolution + # fixed-version: Fixed after version 5.10rc1 CVE_CHECK_IGNORE += "CVE-2020-27673" @@ -6464,7 +6466,8 @@ CVE_CHECK_IGNORE += "CVE-2022-40768" # fixed-version: Fixed after version 6.0rc4 CVE_CHECK_IGNORE += "CVE-2022-4095" -# CVE-2022-40982 has no known resolution +# cpe-stable-backport: Backported in 6.1.44 +CVE_CHECK_IGNORE += "CVE-2022-40982" # cpe-stable-backport: Backported in 6.1.4 CVE_CHECK_IGNORE += "CVE-2022-41218" @@ -6546,9 +6549,9 @@ CVE_CHECK_IGNORE += "CVE-2022-4382" # fixed-version: Fixed after version 6.1rc1 CVE_CHECK_IGNORE += "CVE-2022-43945" -# CVE-2022-44032 has no known resolution +# CVE-2022-44032 needs backporting (fixed from 6.4rc1) -# CVE-2022-44033 has no known resolution +# CVE-2022-44033 needs backporting (fixed from 6.4rc1) # CVE-2022-44034 has no known resolution @@ -6561,13 +6564,16 @@ CVE_CHECK_IGNORE += "CVE-2022-45869" # CVE-2022-45885 has no known resolution -# CVE-2022-45886 has no known resolution +# cpe-stable-backport: Backported in 6.1.33 +CVE_CHECK_IGNORE += "CVE-2022-45886" -# CVE-2022-45887 has no known resolution +# cpe-stable-backport: Backported in 6.1.33 +CVE_CHECK_IGNORE += "CVE-2022-45887" # CVE-2022-45888 needs backporting (fixed from 6.2rc1) -# CVE-2022-45919 has no known resolution +# cpe-stable-backport: Backported in 6.1.33 +CVE_CHECK_IGNORE += "CVE-2022-45919" # fixed-version: Fixed after version 6.1 CVE_CHECK_IGNORE += "CVE-2022-45934" @@ -6629,7 +6635,8 @@ CVE_CHECK_IGNORE += "CVE-2022-48424" # cpe-stable-backport: Backported in 6.1.33 CVE_CHECK_IGNORE += "CVE-2022-48425" -# CVE-2022-48502 needs backporting (fixed from 6.1.40) +# cpe-stable-backport: Backported in 6.1.40 +CVE_CHECK_IGNORE += "CVE-2022-48502" # fixed-version: Fixed after version 5.0rc1 CVE_CHECK_IGNORE += "CVE-2023-0030" @@ -6643,7 +6650,8 @@ CVE_CHECK_IGNORE += "CVE-2023-0047" # fixed-version: Fixed after version 6.0rc4 CVE_CHECK_IGNORE += "CVE-2023-0122" -# CVE-2023-0160 has no known resolution +# cpe-stable-backport: Backported in 6.1.28 +CVE_CHECK_IGNORE += "CVE-2023-0160" # cpe-stable-backport: Backported in 6.1.7 CVE_CHECK_IGNORE += "CVE-2023-0179" @@ -6726,7 +6734,8 @@ CVE_CHECK_IGNORE += "CVE-2023-1192" # fixed-version: Fixed after version 6.1rc3 CVE_CHECK_IGNORE += "CVE-2023-1195" -# CVE-2023-1206 needs backporting (fixed from 6.1.43) +# cpe-stable-backport: Backported in 6.1.43 +CVE_CHECK_IGNORE += "CVE-2023-1206" # fixed-version: Fixed after version 5.18rc1 CVE_CHECK_IGNORE += "CVE-2023-1249" @@ -6809,11 +6818,14 @@ CVE_CHECK_IGNORE += "CVE-2023-2008" # fixed-version: Fixed after version 6.0rc1 CVE_CHECK_IGNORE += "CVE-2023-2019" -# CVE-2023-20569 has no known resolution +# cpe-stable-backport: Backported in 6.1.44 +CVE_CHECK_IGNORE += "CVE-2023-20569" -# CVE-2023-20588 has no known resolution +# cpe-stable-backport: Backported in 6.1.45 +CVE_CHECK_IGNORE += "CVE-2023-20588" -# CVE-2023-20593 needs backporting (fixed from 6.1.41) +# cpe-stable-backport: Backported in 6.1.41 +CVE_CHECK_IGNORE += "CVE-2023-20593" # fixed-version: Fixed after version 6.0rc1 CVE_CHECK_IGNORE += "CVE-2023-20928" @@ -6922,7 +6934,7 @@ CVE_CHECK_IGNORE += "CVE-2023-23559" # fixed-version: Fixed after version 5.12rc1 CVE_CHECK_IGNORE += "CVE-2023-23586" -# CVE-2023-2430 needs backporting (fixed from 6.2rc5) +# CVE-2023-2430 needs backporting (fixed from 6.1.50) # cpe-stable-backport: Backported in 6.1.22 CVE_CHECK_IGNORE += "CVE-2023-2483" @@ -6933,6 +6945,8 @@ CVE_CHECK_IGNORE += "CVE-2023-25012" # fixed-version: Fixed after version 6.0rc1 CVE_CHECK_IGNORE += "CVE-2023-2513" +# CVE-2023-25775 needs backporting (fixed from 6.1.53) + # fixed-version: only affects 6.3rc1 onwards CVE_CHECK_IGNORE += "CVE-2023-2598" @@ -6979,7 +6993,8 @@ CVE_CHECK_IGNORE += "CVE-2023-28772" # cpe-stable-backport:
[OE-core] [PATCH] oeqa: Use 2.14 release of cpio instead of 2.13
2.13 may not be buildable with latest compilers without patching Signed-off-by: Khem Raj --- meta/lib/oeqa/runtime/cases/buildcpio.py | 2 +- meta/lib/oeqa/sdk/cases/buildcpio.py | 4 ++-- meta/lib/oeqa/selftest/cases/meta_ide.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/meta/lib/oeqa/runtime/cases/buildcpio.py b/meta/lib/oeqa/runtime/cases/buildcpio.py index 3728855d245..ce122ebcf98 100644 --- a/meta/lib/oeqa/runtime/cases/buildcpio.py +++ b/meta/lib/oeqa/runtime/cases/buildcpio.py @@ -14,7 +14,7 @@ class BuildCpioTest(OERuntimeTestCase): @classmethod def setUpClass(cls): -uri = 'https://downloads.yoctoproject.org/mirror/sources/cpio-2.13.tar.gz' +uri = 'https://downloads.yoctoproject.org/mirror/sources/cpio-2.14.tar.gz' cls.project = TargetBuildProject(cls.tc.target, uri, dl_dir = cls.tc.td['DL_DIR']) diff --git a/meta/lib/oeqa/sdk/cases/buildcpio.py b/meta/lib/oeqa/sdk/cases/buildcpio.py index c42c670add0..33b946fc166 100644 --- a/meta/lib/oeqa/sdk/cases/buildcpio.py +++ b/meta/lib/oeqa/sdk/cases/buildcpio.py @@ -19,10 +19,10 @@ class BuildCpioTest(OESDKTestCase): """ def test_cpio(self): with tempfile.TemporaryDirectory(prefix="cpio-", dir=self.tc.sdk_dir) as testdir: -tarball = self.fetch(testdir, self.td["DL_DIR"], "https://ftp.gnu.org/gnu/cpio/cpio-2.13.tar.gz;) +tarball = self.fetch(testdir, self.td["DL_DIR"], "https://ftp.gnu.org/gnu/cpio/cpio-2.14.tar.gz;) dirs = {} -dirs["source"] = os.path.join(testdir, "cpio-2.13") +dirs["source"] = os.path.join(testdir, "cpio-2.14") dirs["build"] = os.path.join(testdir, "build") dirs["install"] = os.path.join(testdir, "install") diff --git a/meta/lib/oeqa/selftest/cases/meta_ide.py b/meta/lib/oeqa/selftest/cases/meta_ide.py index 59270fb3e06..e446d9308d5 100644 --- a/meta/lib/oeqa/selftest/cases/meta_ide.py +++ b/meta/lib/oeqa/selftest/cases/meta_ide.py @@ -44,7 +44,7 @@ class MetaIDE(OESelftestTestCase): def test_meta_ide_can_build_cpio_project(self): dl_dir = self.td.get('DL_DIR', None) self.project = SDKBuildProject(self.tmpdir_metaideQA + "/cpio/", self.environment_script_path, -"https://ftp.gnu.org/gnu/cpio/cpio-2.13.tar.gz;, +"https://ftp.gnu.org/gnu/cpio/cpio-2.14.tar.gz;, self.tmpdir_metaideQA, self.td['DATETIME'], dl_dir=dl_dir) self.project.download_archive() self.assertEqual(self.project.run_configure('$CONFIGURE_FLAGS --disable-maintainer-mode','sed -i -e "/char \*program_name/d" src/global.c;'), 0, -- 2.42.0 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#188141): https://lists.openembedded.org/g/openembedded-core/message/188141 Mute This Topic: https://lists.openembedded.org/mt/101536242/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-