Re: [OE-core] [PATCH 2/2] spdx: use TOOLCHAIN_OUTPUTNAME for SDK filename prefix

2023-09-23 Thread Ryan Eatmon via lists.openembedded.org



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

2023-09-23 Thread Ryan Eatmon via lists.openembedded.org



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

2023-09-23 Thread Khem Raj
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

2023-09-23 Thread Khem Raj
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

2023-09-23 Thread Robert Joslyn via lists.openembedded.org
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

2023-09-23 Thread Robert Joslyn via lists.openembedded.org

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

2023-09-23 Thread Ross Burton
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

2023-09-23 Thread Ross Burton
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

2023-09-23 Thread Ross Burton
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

2023-09-23 Thread Ross Burton
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

2023-09-23 Thread Ross Burton
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

2023-09-23 Thread Ross Burton
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)

2023-09-23 Thread Jing Hui Tham
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

2023-09-23 Thread Ross Burton
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

2023-09-23 Thread Khem Raj
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]
-=-=-=-=-=-=-=-=-=-=-=-