* [gatesgarth][PATCH 01/25] python3: fix CVE-2021-3177
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
@ 2021-02-02 5:33 ` Anuj Mittal
2021-02-02 5:33 ` [gatesgarth][PATCH 02/25] sudo: fix CVE-2021-23239 Anuj Mittal
` (24 subsequent siblings)
25 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-02 5:33 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
.../python/python3/CVE-2021-3177.patch | 191 ++++++++++++++++++
meta/recipes-devtools/python/python3_3.8.5.bb | 1 +
2 files changed, 192 insertions(+)
create mode 100644 meta/recipes-devtools/python/python3/CVE-2021-3177.patch
diff --git a/meta/recipes-devtools/python/python3/CVE-2021-3177.patch b/meta/recipes-devtools/python/python3/CVE-2021-3177.patch
new file mode 100644
index 0000000000..43d678db46
--- /dev/null
+++ b/meta/recipes-devtools/python/python3/CVE-2021-3177.patch
@@ -0,0 +1,191 @@
+From ece5dfd403dac211f8d3c72701fe7ba7b7aa5b5f Mon Sep 17 00:00:00 2001
+From: "Miss Islington (bot)"
+ <31488909+miss-islington@users.noreply.github.com>
+Date: Mon, 18 Jan 2021 13:28:52 -0800
+Subject: [PATCH] closes bpo-42938: Replace snprintf with Python unicode
+ formatting in ctypes param reprs. (GH-24248)
+
+(cherry picked from commit 916610ef90a0d0761f08747f7b0905541f0977c7)
+
+Co-authored-by: Benjamin Peterson <benjamin@python.org>
+
+Co-authored-by: Benjamin Peterson <benjamin@python.org>
+
+CVE: CVE-2021-3177
+Upstream-Status: Backport [https://github.com/python/cpython/commit/ece5dfd403dac211f8d3c72701fe7ba7b7aa5b5f]
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ Lib/ctypes/test/test_parameters.py | 43 ++++++++++++++++
+ .../2021-01-18-09-27-31.bpo-42938.4Zn4Mp.rst | 2 +
+ Modules/_ctypes/callproc.c | 51 +++++++------------
+ 3 files changed, 64 insertions(+), 32 deletions(-)
+ create mode 100644 Misc/NEWS.d/next/Security/2021-01-18-09-27-31.bpo-42938.4Zn4Mp.rst
+
+diff --git a/Lib/ctypes/test/test_parameters.py b/Lib/ctypes/test/test_parameters.py
+index e4c25fd880cef..531894fdec838 100644
+--- a/Lib/ctypes/test/test_parameters.py
++++ b/Lib/ctypes/test/test_parameters.py
+@@ -201,6 +201,49 @@ def __dict__(self):
+ with self.assertRaises(ZeroDivisionError):
+ WorseStruct().__setstate__({}, b'foo')
+
++ def test_parameter_repr(self):
++ from ctypes import (
++ c_bool,
++ c_char,
++ c_wchar,
++ c_byte,
++ c_ubyte,
++ c_short,
++ c_ushort,
++ c_int,
++ c_uint,
++ c_long,
++ c_ulong,
++ c_longlong,
++ c_ulonglong,
++ c_float,
++ c_double,
++ c_longdouble,
++ c_char_p,
++ c_wchar_p,
++ c_void_p,
++ )
++ self.assertRegex(repr(c_bool.from_param(True)), r"^<cparam '\?' at 0x[A-Fa-f0-9]+>$")
++ self.assertEqual(repr(c_char.from_param(97)), "<cparam 'c' ('a')>")
++ self.assertRegex(repr(c_wchar.from_param('a')), r"^<cparam 'u' at 0x[A-Fa-f0-9]+>$")
++ self.assertEqual(repr(c_byte.from_param(98)), "<cparam 'b' (98)>")
++ self.assertEqual(repr(c_ubyte.from_param(98)), "<cparam 'B' (98)>")
++ self.assertEqual(repr(c_short.from_param(511)), "<cparam 'h' (511)>")
++ self.assertEqual(repr(c_ushort.from_param(511)), "<cparam 'H' (511)>")
++ self.assertRegex(repr(c_int.from_param(20000)), r"^<cparam '[li]' \(20000\)>$")
++ self.assertRegex(repr(c_uint.from_param(20000)), r"^<cparam '[LI]' \(20000\)>$")
++ self.assertRegex(repr(c_long.from_param(20000)), r"^<cparam '[li]' \(20000\)>$")
++ self.assertRegex(repr(c_ulong.from_param(20000)), r"^<cparam '[LI]' \(20000\)>$")
++ self.assertRegex(repr(c_longlong.from_param(20000)), r"^<cparam '[liq]' \(20000\)>$")
++ self.assertRegex(repr(c_ulonglong.from_param(20000)), r"^<cparam '[LIQ]' \(20000\)>$")
++ self.assertEqual(repr(c_float.from_param(1.5)), "<cparam 'f' (1.5)>")
++ self.assertEqual(repr(c_double.from_param(1.5)), "<cparam 'd' (1.5)>")
++ self.assertEqual(repr(c_double.from_param(1e300)), "<cparam 'd' (1e+300)>")
++ self.assertRegex(repr(c_longdouble.from_param(1.5)), r"^<cparam ('d' \(1.5\)|'g' at 0x[A-Fa-f0-9]+)>$")
++ self.assertRegex(repr(c_char_p.from_param(b'hihi')), "^<cparam 'z' \(0x[A-Fa-f0-9]+\)>$")
++ self.assertRegex(repr(c_wchar_p.from_param('hihi')), "^<cparam 'Z' \(0x[A-Fa-f0-9]+\)>$")
++ self.assertRegex(repr(c_void_p.from_param(0x12)), r"^<cparam 'P' \(0x0*12\)>$")
++
+ ################################################################
+
+ if __name__ == '__main__':
+diff --git a/Misc/NEWS.d/next/Security/2021-01-18-09-27-31.bpo-42938.4Zn4Mp.rst b/Misc/NEWS.d/next/Security/2021-01-18-09-27-31.bpo-42938.4Zn4Mp.rst
+new file mode 100644
+index 0000000000000..7df65a156feab
+--- /dev/null
++++ b/Misc/NEWS.d/next/Security/2021-01-18-09-27-31.bpo-42938.4Zn4Mp.rst
+@@ -0,0 +1,2 @@
++Avoid static buffers when computing the repr of :class:`ctypes.c_double` and
++:class:`ctypes.c_longdouble` values.
+diff --git a/Modules/_ctypes/callproc.c b/Modules/_ctypes/callproc.c
+index a9b8675cd951b..de75918d49f37 100644
+--- a/Modules/_ctypes/callproc.c
++++ b/Modules/_ctypes/callproc.c
+@@ -484,58 +484,47 @@ is_literal_char(unsigned char c)
+ static PyObject *
+ PyCArg_repr(PyCArgObject *self)
+ {
+- char buffer[256];
+ switch(self->tag) {
+ case 'b':
+ case 'B':
+- sprintf(buffer, "<cparam '%c' (%d)>",
++ return PyUnicode_FromFormat("<cparam '%c' (%d)>",
+ self->tag, self->value.b);
+- break;
+ case 'h':
+ case 'H':
+- sprintf(buffer, "<cparam '%c' (%d)>",
++ return PyUnicode_FromFormat("<cparam '%c' (%d)>",
+ self->tag, self->value.h);
+- break;
+ case 'i':
+ case 'I':
+- sprintf(buffer, "<cparam '%c' (%d)>",
++ return PyUnicode_FromFormat("<cparam '%c' (%d)>",
+ self->tag, self->value.i);
+- break;
+ case 'l':
+ case 'L':
+- sprintf(buffer, "<cparam '%c' (%ld)>",
++ return PyUnicode_FromFormat("<cparam '%c' (%ld)>",
+ self->tag, self->value.l);
+- break;
+
+ case 'q':
+ case 'Q':
+- sprintf(buffer,
+-#ifdef MS_WIN32
+- "<cparam '%c' (%I64d)>",
+-#else
+- "<cparam '%c' (%lld)>",
+-#endif
++ return PyUnicode_FromFormat("<cparam '%c' (%lld)>",
+ self->tag, self->value.q);
+- break;
+ case 'd':
+- sprintf(buffer, "<cparam '%c' (%f)>",
+- self->tag, self->value.d);
+- break;
+- case 'f':
+- sprintf(buffer, "<cparam '%c' (%f)>",
+- self->tag, self->value.f);
+- break;
+-
++ case 'f': {
++ PyObject *f = PyFloat_FromDouble((self->tag == 'f') ? self->value.f : self->value.d);
++ if (f == NULL) {
++ return NULL;
++ }
++ PyObject *result = PyUnicode_FromFormat("<cparam '%c' (%R)>", self->tag, f);
++ Py_DECREF(f);
++ return result;
++ }
+ case 'c':
+ if (is_literal_char((unsigned char)self->value.c)) {
+- sprintf(buffer, "<cparam '%c' ('%c')>",
++ return PyUnicode_FromFormat("<cparam '%c' ('%c')>",
+ self->tag, self->value.c);
+ }
+ else {
+- sprintf(buffer, "<cparam '%c' ('\\x%02x')>",
++ return PyUnicode_FromFormat("<cparam '%c' ('\\x%02x')>",
+ self->tag, (unsigned char)self->value.c);
+ }
+- break;
+
+ /* Hm, are these 'z' and 'Z' codes useful at all?
+ Shouldn't they be replaced by the functionality of c_string
+@@ -544,22 +533,20 @@ PyCArg_repr(PyCArgObject *self)
+ case 'z':
+ case 'Z':
+ case 'P':
+- sprintf(buffer, "<cparam '%c' (%p)>",
++ return PyUnicode_FromFormat("<cparam '%c' (%p)>",
+ self->tag, self->value.p);
+ break;
+
+ default:
+ if (is_literal_char((unsigned char)self->tag)) {
+- sprintf(buffer, "<cparam '%c' at %p>",
++ return PyUnicode_FromFormat("<cparam '%c' at %p>",
+ (unsigned char)self->tag, (void *)self);
+ }
+ else {
+- sprintf(buffer, "<cparam 0x%02x at %p>",
++ return PyUnicode_FromFormat("<cparam 0x%02x at %p>",
+ (unsigned char)self->tag, (void *)self);
+ }
+- break;
+ }
+- return PyUnicode_FromString(buffer);
+ }
+
+ static PyMemberDef PyCArgType_members[] = {
+
diff --git a/meta/recipes-devtools/python/python3_3.8.5.bb b/meta/recipes-devtools/python/python3_3.8.5.bb
index f09a3c1d6e..8c34ae2b40 100644
--- a/meta/recipes-devtools/python/python3_3.8.5.bb
+++ b/meta/recipes-devtools/python/python3_3.8.5.bb
@@ -33,6 +33,7 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
file://0001-python3-Do-not-hardcode-lib-for-distutils.patch \
file://0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch \
file://CVE-2020-27619.patch \
+ file://CVE-2021-3177.patch \
"
SRC_URI_append_class-native = " \
--
2.29.2
^ permalink raw reply related [flat|nested] 28+ messages in thread* [gatesgarth][PATCH 02/25] sudo: fix CVE-2021-23239
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
2021-02-02 5:33 ` [gatesgarth][PATCH 01/25] python3: fix CVE-2021-3177 Anuj Mittal
@ 2021-02-02 5:33 ` Anuj Mittal
2021-02-02 5:33 ` [gatesgarth][PATCH 03/25] gdk-pixbuf: fix CVE-2020-29385 Anuj Mittal
` (23 subsequent siblings)
25 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-02 5:33 UTC (permalink / raw)
To: openembedded-core
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
.../sudo/files/CVE-2021-23239.patch | 62 +++++++++++++++++++
meta/recipes-extended/sudo/sudo_1.9.3.bb | 1 +
2 files changed, 63 insertions(+)
create mode 100644 meta/recipes-extended/sudo/files/CVE-2021-23239.patch
diff --git a/meta/recipes-extended/sudo/files/CVE-2021-23239.patch b/meta/recipes-extended/sudo/files/CVE-2021-23239.patch
new file mode 100644
index 0000000000..e16baecd5a
--- /dev/null
+++ b/meta/recipes-extended/sudo/files/CVE-2021-23239.patch
@@ -0,0 +1,62 @@
+
+# HG changeset patch
+# User Todd C. Miller <Todd.Miller@sudo.ws>
+# Date 1609953360 25200
+# Node ID ea19d0073c02951bbbf35342dd63304da83edce8
+# Parent f1ca39a0d87089d005b78a2556e2b1a2dc17f672
+Fix potential directory existing info leak in sudoedit.
+When creating a new file, sudoedit checks to make sure the parent
+directory exists so it can provide the user with a sensible error
+message. However, this could be used to test for the existence of
+directories not normally accessible to the user by pointing to them
+with a symbolic link when the parent directory is controlled by the
+user. Problem reported by Matthias Gerstner of SUSE.
+
+Upstream-Status: Backport [https://www.sudo.ws/repos/sudo/rev/ea19d0073c02]
+CVE: CVE-2021-23239
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+
+diff -r f1ca39a0d870 -r ea19d0073c02 src/sudo_edit.c
+--- a/src/sudo_edit.c Wed Jan 06 10:16:00 2021 -0700
++++ b/src/sudo_edit.c Wed Jan 06 10:16:00 2021 -0700
+@@ -541,14 +541,33 @@
+ S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH, command_details);
+ if (ofd != -1 || errno == ENOENT) {
+ if (ofd == -1) {
+- /* New file, verify parent dir exists unless in cwd. */
++ /*
++ * New file, verify parent dir exists unless in cwd.
++ * This fails early so the user knows ahead of time if the
++ * edit won't succeed. Additional checks are performed
++ * when copying the temporary file back to the origin.
++ */
+ char *slash = strrchr(files[i], '/');
+ if (slash != NULL && slash != files[i]) {
+- int serrno = errno;
++ const int sflags = command_details->flags;
++ const int serrno = errno;
++ int dfd;
++
++ /*
++ * The parent directory is allowed to be a symbolic
++ * link as long as *its* parent is not writable.
++ */
+ *slash = '\0';
+- if (stat(files[i], &sb) == 0 && S_ISDIR(sb.st_mode)) {
+- memset(&sb, 0, sizeof(sb));
+- rc = 0;
++ SET(command_details->flags, CD_SUDOEDIT_FOLLOW);
++ dfd = sudo_edit_open(files[i], DIR_OPEN_FLAGS,
++ S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH, command_details);
++ command_details->flags = sflags;
++ if (dfd != -1) {
++ if (fstat(dfd, &sb) == 0 && S_ISDIR(sb.st_mode)) {
++ memset(&sb, 0, sizeof(sb));
++ rc = 0;
++ }
++ close(dfd);
+ }
+ *slash = '/';
+ errno = serrno;
+
+
diff --git a/meta/recipes-extended/sudo/sudo_1.9.3.bb b/meta/recipes-extended/sudo/sudo_1.9.3.bb
index 0d0be9ab8b..132d9a8cb9 100644
--- a/meta/recipes-extended/sudo/sudo_1.9.3.bb
+++ b/meta/recipes-extended/sudo/sudo_1.9.3.bb
@@ -3,6 +3,7 @@ require sudo.inc
SRC_URI = "https://www.sudo.ws/dist/sudo-${PV}.tar.gz \
${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
file://0001-sudo.conf.in-fix-conflict-with-multilib.patch \
+ file://CVE-2021-23239.patch \
"
PAM_SRC_URI = "file://sudo.pam"
--
2.29.2
^ permalink raw reply related [flat|nested] 28+ messages in thread* [gatesgarth][PATCH 03/25] gdk-pixbuf: fix CVE-2020-29385
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
2021-02-02 5:33 ` [gatesgarth][PATCH 01/25] python3: fix CVE-2021-3177 Anuj Mittal
2021-02-02 5:33 ` [gatesgarth][PATCH 02/25] sudo: fix CVE-2021-23239 Anuj Mittal
@ 2021-02-02 5:33 ` Anuj Mittal
2021-02-02 5:33 ` [gatesgarth][PATCH 04/25] p11-kit: upgrade 0.23.21 -> 0.23.22 Anuj Mittal
` (22 subsequent siblings)
25 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-02 5:33 UTC (permalink / raw)
To: openembedded-core
From: Lee Chee Yang <chee.yang.lee@intel.com>
Backport patch from
https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/commit/bdd3acbd48a575d418ba6bf1b32d7bda2fae1c81
image file in upstream patch is for test purpose only, it cause error during
do_patch so drop it:
File tests/test-images/fail/hang_114.gif: git binary diffs are not supported.
(From OE-Core rev: 7cd401b7c60dba91f6fb10395ab4a10a267cf23d)
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit ee867453ff2116620c07f0bb3bea725d7aa60731)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
.../gdk-pixbuf/CVE-2020-29385.patch | 55 +++++++++++++++++++
.../gdk-pixbuf/gdk-pixbuf_2.40.0.bb | 1 +
2 files changed, 56 insertions(+)
create mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/CVE-2020-29385.patch
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/CVE-2020-29385.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/CVE-2020-29385.patch
new file mode 100644
index 0000000000..3fef2bc1eb
--- /dev/null
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/CVE-2020-29385.patch
@@ -0,0 +1,55 @@
+From bdd3acbd48a575d418ba6bf1b32d7bda2fae1c81 Mon Sep 17 00:00:00 2001
+From: Robert Ancell <robert.ancell@canonical.com>
+Date: Mon, 30 Nov 2020 12:26:12 +1300
+Subject: [PATCH 02/13] gif: Fix LZW decoder accepting invalid LZW code.
+
+The code value after a reset wasn't being validated, which means we would
+accept invalid codes. This could cause an infinite loop in the decoder.
+
+Fixes CVE-2020-29385
+
+Fixes https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/issues/164
+
+Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/gdk-pixbuf/-/commit/bdd3acbd48a575d418ba6bf1b32d7bda2fae1c81]
+CVE: CVE-2020-29385
+Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
+
+---
+ gdk-pixbuf/lzw.c | 13 +++++++------
+ 1 files changed, 7 insertions(+), 6 deletions(-)
+ create mode 100644 tests/test-images/fail/hang_114.gif
+
+diff --git a/gdk-pixbuf/lzw.c b/gdk-pixbuf/lzw.c
+index 9e052a6f7..105daf2b1 100644
+--- a/gdk-pixbuf/lzw.c
++++ b/gdk-pixbuf/lzw.c
+@@ -195,19 +195,20 @@ lzw_decoder_feed (LZWDecoder *self,
+ if (self->last_code != self->clear_code && self->code_table_size < MAX_CODES) {
+ if (self->code < self->code_table_size)
+ add_code (self, self->code);
+- else if (self->code == self->code_table_size)
++ else
+ add_code (self, self->last_code);
+- else {
+- /* Invalid code received - just stop here */
+- self->last_code = self->eoi_code;
+- return output_length;
+- }
+
+ /* When table is full increase code size */
+ if (self->code_table_size == (1 << self->code_size) && self->code_size < LZW_CODE_MAX)
+ self->code_size++;
+ }
+
++ /* Invalid code received - just stop here */
++ if (self->code >= self->code_table_size) {
++ self->last_code = self->eoi_code;
++ return output_length;
++ }
++
+ /* Convert codeword into indexes */
+ n_written += write_indexes (self, output + n_written, output_length - n_written);
+ }
+--
+2.25.1
+
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.40.0.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.40.0.bb
index 3dec5ed052..16708fd581 100644
--- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.40.0.bb
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.40.0.bb
@@ -24,6 +24,7 @@ SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz \
file://0004-Do-not-run-tests-when-building.patch \
file://0006-Build-thumbnailer-and-tests-also-in-cross-builds.patch \
file://missing-test-data.patch \
+ file://CVE-2020-29385.patch \
"
SRC_URI_append_class-target = " \
--
2.29.2
^ permalink raw reply related [flat|nested] 28+ messages in thread* [gatesgarth][PATCH 04/25] p11-kit: upgrade 0.23.21 -> 0.23.22
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
` (2 preceding siblings ...)
2021-02-02 5:33 ` [gatesgarth][PATCH 03/25] gdk-pixbuf: fix CVE-2020-29385 Anuj Mittal
@ 2021-02-02 5:33 ` Anuj Mittal
2021-02-02 5:33 ` [gatesgarth][PATCH 05/25] externalsrc: Fix parsing error with devtool non-git sources Anuj Mittal
` (21 subsequent siblings)
25 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-02 5:33 UTC (permalink / raw)
To: openembedded-core
From: Lee Chee Yang <chee.yang.lee@intel.com>
https://github.com/p11-glue/p11-kit/releases/tag/0.23.22
Release notes:
Fix memory-safety issues that affect the RPC protocol (CVE-2020-29361, CVE-2020-29362, and CVE-2020-29363), discovered and fixed by David Cook
anchor: Prefer persistent format when storing anchor [#329]
common: Fix infloop in p11_path_build [#326, #327]
proxy: C_CloseAllSessions: Make sure that calloc args are non-zero [#325]
common: Check for a NULL locale before freeing it [#321]
Build and test fixes [#313, #315, #317, #318, #319, #323, #330, #333, #334, #335, #338, #339]
https://github.com/p11-glue/p11-kit/commit/c4e75e10021ce86ab42682ea4936dce94ced2f77
patch to fix trailing newline using custom_target() caused error
with DISTRO_FEATURES api-documentation due to meson bugs, enable
manpages PACKAGECONFIG should prevent this error.
| warning: failed to load external entity "../version.xml"
| ../p11-kit-docs.xml:11: parser error : Failure to process entity version
| <releaseinfo>for p11-kit &version;</releaseinfo>
| ^
| ../p11-kit-docs.xml:11: parser error : Entity 'version' not defined
| <releaseinfo>for p11-kit &version;</releaseinfo>
| ^
| unable to parse ../p11-kit-docs.xml
(From OE-Core rev: b112ba291835061640123c13784e2b33cc73f17d)
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 59b07a71f32c84e592d66595a2a7e1ae9c7ebef8)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
.../p11-kit/{p11-kit_0.23.21.bb => p11-kit_0.23.22.bb} | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
rename meta/recipes-support/p11-kit/{p11-kit_0.23.21.bb => p11-kit_0.23.22.bb} (75%)
diff --git a/meta/recipes-support/p11-kit/p11-kit_0.23.21.bb b/meta/recipes-support/p11-kit/p11-kit_0.23.22.bb
similarity index 75%
rename from meta/recipes-support/p11-kit/p11-kit_0.23.21.bb
rename to meta/recipes-support/p11-kit/p11-kit_0.23.22.bb
index b1fd2334b2..c539ecdbc6 100644
--- a/meta/recipes-support/p11-kit/p11-kit_0.23.21.bb
+++ b/meta/recipes-support/p11-kit/p11-kit_0.23.22.bb
@@ -2,17 +2,18 @@ SUMMARY = "Provides a way to load and enumerate PKCS#11 modules"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://COPYING;md5=02933887f609807fbb57aa4237d14a50"
-inherit meson gettext pkgconfig gtk-doc bash-completion
+inherit meson gettext pkgconfig gtk-doc bash-completion manpages
DEPENDS = "libtasn1 libtasn1-native libffi"
DEPENDS_append = "${@' glib-2.0' if d.getVar('GTKDOC_ENABLED') == 'True' else ''}"
-SRC_URI = "git://github.com/p11-glue/p11-kit"
-SRCREV = "fd8b56f3ee971f94dc6fc95411fc01e1c12153ab"
+SRC_URI = "git://github.com/p11-glue/p11-kit;branch=0.23"
+SRCREV = "bd97afbfe28d5fbbde95ce36ff7a8834fc0291ee"
S = "${WORKDIR}/git"
PACKAGECONFIG ??= ""
+PACKAGECONFIG[manpages] = "-Dman=true,-Dman=false,libxslt-native"
PACKAGECONFIG[trust-paths] = "-Dtrust_paths=/etc/ssl/certs/ca-certificates.crt,,,ca-certificates"
GTKDOC_MESON_OPTION = 'gtk_doc'
--
2.29.2
^ permalink raw reply related [flat|nested] 28+ messages in thread* [gatesgarth][PATCH 05/25] externalsrc: Fix parsing error with devtool non-git sources
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
` (3 preceding siblings ...)
2021-02-02 5:33 ` [gatesgarth][PATCH 04/25] p11-kit: upgrade 0.23.21 -> 0.23.22 Anuj Mittal
@ 2021-02-02 5:33 ` Anuj Mittal
2021-02-02 5:33 ` [gatesgarth][PATCH 06/25] oeqa/selftest/cases/tinfoil.py: increase timeout 10->60s test_wait_event Anuj Mittal
` (20 subsequent siblings)
25 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-02 5:33 UTC (permalink / raw)
To: openembedded-core
From: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
If srcdir is under poky directory (e.g. devtool poky/build/workspace/sources)
and is not a git repository then ${@srctree_hash_files(d)} will run "git
rev-parse --git-dir" and detect poky directory as git-dir and run "'git', 'add',
'-A', '.'], cwd=s_dir" trying to add srcdir but build dir is in .gitignore and
latest git will fail with "The following paths are ignored by one of your
.gitignore files: build" which will end with "ExpansionError during parsing".
In this commit I added a check if git_dir is the same as git-dir from
TOPDIR (which will detect poky directory) and if yes, then treat srcdir
as non-git sources.
(From OE-Core rev: 95fbac8dcad6c93f4c9737e9fe13e92ab6befa09)
Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 28bdfe0066cb3c41d6471af75dabcc573e319688)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
meta/classes/externalsrc.bbclass | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/meta/classes/externalsrc.bbclass b/meta/classes/externalsrc.bbclass
index dd09395788..7a7d31e311 100644
--- a/meta/classes/externalsrc.bbclass
+++ b/meta/classes/externalsrc.bbclass
@@ -197,6 +197,10 @@ def srctree_hash_files(d, srcdir=None):
try:
git_dir = os.path.join(s_dir,
subprocess.check_output(['git', '-C', s_dir, 'rev-parse', '--git-dir'], stderr=subprocess.DEVNULL).decode("utf-8").rstrip())
+ top_git_dir = os.path.join(s_dir, subprocess.check_output(['git', '-C', d.getVar("TOPDIR"), 'rev-parse', '--git-dir'],
+ stderr=subprocess.DEVNULL).decode("utf-8").rstrip())
+ if git_dir == top_git_dir:
+ git_dir = None
except subprocess.CalledProcessError:
pass
--
2.29.2
^ permalink raw reply related [flat|nested] 28+ messages in thread* [gatesgarth][PATCH 06/25] oeqa/selftest/cases/tinfoil.py: increase timeout 10->60s test_wait_event
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
` (4 preceding siblings ...)
2021-02-02 5:33 ` [gatesgarth][PATCH 05/25] externalsrc: Fix parsing error with devtool non-git sources Anuj Mittal
@ 2021-02-02 5:33 ` Anuj Mittal
2021-02-02 5:33 ` [gatesgarth][PATCH 07/25] devtool: Fix file:// fetcher symlink directory structure Anuj Mittal
` (19 subsequent siblings)
25 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-02 5:33 UTC (permalink / raw)
To: openembedded-core
From: Yi Fan Yu <yifan.yu@windriver.com>
The test would timeout on autobuilders. This patch increases the
timeout to 60s
The test will now also exit as soon as we receive the 2 expected events
Expected runtime is around 1s if successful
Bug 14158
(From OE-Core rev: be02aa9283f805de718badd5ea12c4968da8774f)
Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 1d803b70e599521ad0c743f49007e6fc5c055d1c)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
meta/lib/oeqa/selftest/cases/tinfoil.py | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/meta/lib/oeqa/selftest/cases/tinfoil.py b/meta/lib/oeqa/selftest/cases/tinfoil.py
index 206168ed00..a51c6048d3 100644
--- a/meta/lib/oeqa/selftest/cases/tinfoil.py
+++ b/meta/lib/oeqa/selftest/cases/tinfoil.py
@@ -100,9 +100,11 @@ class TinfoilTests(OESelftestTestCase):
eventreceived = False
commandcomplete = False
start = time.time()
- # Wait for 10s in total so we'd detect spurious heartbeat events for example
+ # Wait for maximum 60s in total so we'd detect spurious heartbeat events for example
# The test is IO load sensitive too
- while time.time() - start < 10:
+ while (not (eventreceived == True and commandcomplete == True)
+ and (time.time() - start < 60)):
+ # if we received both events (on let's say a good day), we are done
event = tinfoil.wait_event(1)
if event:
if isinstance(event, bb.command.CommandCompleted):
--
2.29.2
^ permalink raw reply related [flat|nested] 28+ messages in thread* [gatesgarth][PATCH 07/25] devtool: Fix file:// fetcher symlink directory structure
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
` (5 preceding siblings ...)
2021-02-02 5:33 ` [gatesgarth][PATCH 06/25] oeqa/selftest/cases/tinfoil.py: increase timeout 10->60s test_wait_event Anuj Mittal
@ 2021-02-02 5:33 ` Anuj Mittal
2021-02-02 5:33 ` [gatesgarth][PATCH 08/25] gstreamer1.0: fix failing ptest Anuj Mittal
` (18 subsequent siblings)
25 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-02 5:33 UTC (permalink / raw)
To: openembedded-core
From: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Add relative path if file is under directory.
[YOCTO #13738]
(From OE-Core rev: 19ddacc1b38f9ebb86a9359963ccc3c707f7125e)
Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3a220f1e411767cbf9e7099c18d94a12171c1093)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
scripts/lib/devtool/standard.py | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py
index f7d8a82117..7b62b7e7b8 100644
--- a/scripts/lib/devtool/standard.py
+++ b/scripts/lib/devtool/standard.py
@@ -474,7 +474,11 @@ def symlink_oelocal_files_srctree(rd,srctree):
destpth = os.path.join(srctree, relpth, fn)
if os.path.exists(destpth):
os.unlink(destpth)
- os.symlink('oe-local-files/%s' % fn, destpth)
+ if relpth != '.':
+ back_relpth = os.path.relpath(local_files_dir, root)
+ os.symlink('%s/oe-local-files/%s/%s' % (back_relpth, relpth, fn), destpth)
+ else:
+ os.symlink('oe-local-files/%s' % fn, destpth)
addfiles.append(os.path.join(relpth, fn))
if addfiles:
bb.process.run('git add %s' % ' '.join(addfiles), cwd=srctree)
--
2.29.2
^ permalink raw reply related [flat|nested] 28+ messages in thread* [gatesgarth][PATCH 08/25] gstreamer1.0: fix failing ptest
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
` (6 preceding siblings ...)
2021-02-02 5:33 ` [gatesgarth][PATCH 07/25] devtool: Fix file:// fetcher symlink directory structure Anuj Mittal
@ 2021-02-02 5:33 ` Anuj Mittal
2021-02-02 5:33 ` [gatesgarth][PATCH 09/25] timezone: upgrade to 2021a Anuj Mittal
` (17 subsequent siblings)
25 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-02 5:33 UTC (permalink / raw)
To: openembedded-core
Backport a patch to increase the timeout that might help with the
intermittent seek test failure.
[YOCTO #14194]
(From OE-Core rev: a7dc7a35334ad634926a1386f4a56b27aad3ce68)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 7b90027aac9fa41b3dc98765151d761df8dabb97)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
...-use-too-strict-timeout-for-validati.patch | 32 +++++++++++++++++++
.../gstreamer/gstreamer1.0_1.16.3.bb | 1 +
2 files changed, 33 insertions(+)
create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch
new file mode 100644
index 0000000000..e0e64e2c7a
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch
@@ -0,0 +1,32 @@
+From 1db36347d05d88835519368442e9aa89c64091ad Mon Sep 17 00:00:00 2001
+From: Seungha Yang <seungha@centricular.com>
+Date: Tue, 15 Sep 2020 00:54:58 +0900
+Subject: [PATCH] tests: seek: Don't use too strict timeout for validation
+
+Expected segment-done message might not be seen within expected
+time if system is not powerful enough.
+
+Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/625>
+
+Upstream-Status: Backport [https://cgit.freedesktop.org/gstreamer/gstreamer/commit?id=f44312ae5d831438fcf8041162079c65321c588c]
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ tests/check/pipelines/seek.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/check/pipelines/seek.c b/tests/check/pipelines/seek.c
+index 28bb8846d..5f7447bc5 100644
+--- a/tests/check/pipelines/seek.c
++++ b/tests/check/pipelines/seek.c
+@@ -521,7 +521,7 @@ GST_START_TEST (test_loopback_2)
+
+ GST_INFO ("wait for segment done message");
+
+- msg = gst_bus_timed_pop_filtered (bus, (GstClockTime) 2 * GST_SECOND,
++ msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE,
+ GST_MESSAGE_SEGMENT_DONE | GST_MESSAGE_ERROR);
+ fail_unless (msg, "no message within the timed window");
+ fail_unless_equals_string (GST_MESSAGE_TYPE_NAME (msg), "segment-done");
+--
+2.29.2
+
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.3.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.3.bb
index 7afe56cd7b..632ef8819c 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.3.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.16.3.bb
@@ -22,6 +22,7 @@ SRC_URI = " \
file://0003-meson-Add-valgrind-feature.patch \
file://0004-meson-Add-option-for-installed-tests.patch \
file://0005-bufferpool-only-resize-in-reset-when-maxsize-is-larger.patch \
+ file://0001-tests-seek-Don-t-use-too-strict-timeout-for-validati.patch \
"
SRC_URI[md5sum] = "beecf6965a17fb17fa3b262fd36df70a"
SRC_URI[sha256sum] = "692f037968e454e508b0f71d9674e2e26c78475021407fcf8193b1c7e59543c7"
--
2.29.2
^ permalink raw reply related [flat|nested] 28+ messages in thread* [gatesgarth][PATCH 09/25] timezone: upgrade to 2021a
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
` (7 preceding siblings ...)
2021-02-02 5:33 ` [gatesgarth][PATCH 08/25] gstreamer1.0: fix failing ptest Anuj Mittal
@ 2021-02-02 5:33 ` Anuj Mittal
2021-02-02 5:33 ` [gatesgarth][PATCH 10/25] sanity: Verify that user isn't building in PSEUDO_IGNORE_PATHS Anuj Mittal
` (16 subsequent siblings)
25 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-02 5:33 UTC (permalink / raw)
To: openembedded-core
From: Ovidiu Panait <ovidiu.panait@windriver.com>
Release 2021a - 2021-01-24 10:54:57 -0800
Changes to future timestamps
South Sudan changes from +03 to +02 on 2021-02-01 at 00:00.
(Thanks to Steffen Thorsen.)
(From OE-Core rev: ed9114df2086c4ad0544cf99c9c1ff8fb7b830b9)
Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit d647db7c3087cee051e29211d6c519d3c9575b3d)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
meta/recipes-extended/timezone/timezone.inc | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/meta/recipes-extended/timezone/timezone.inc b/meta/recipes-extended/timezone/timezone.inc
index 9a19093e24..a89560b424 100644
--- a/meta/recipes-extended/timezone/timezone.inc
+++ b/meta/recipes-extended/timezone/timezone.inc
@@ -6,7 +6,7 @@ SECTION = "base"
LICENSE = "PD & BSD & BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c679c9d6b02bc2757b3eaf8f53c43fba"
-PV = "2020f"
+PV = "2021a"
SRC_URI =" http://www.iana.org/time-zones/repository/releases/tzcode${PV}.tar.gz;name=tzcode \
http://www.iana.org/time-zones/repository/releases/tzdata${PV}.tar.gz;name=tzdata \
@@ -14,5 +14,5 @@ SRC_URI =" http://www.iana.org/time-zones/repository/releases/tzcode${PV}.tar.gz
UPSTREAM_CHECK_URI = "http://www.iana.org/time-zones"
-SRC_URI[tzcode.sha256sum] = "cfeeea2a7745164f64bd9f6d76e47916f4ac820c4434493674adbbd4324329c5"
-SRC_URI[tzdata.sha256sum] = "121131918c3ae6dc5d40f0eb87563a2be920b71a76e2392c09519a5e4a666881"
+SRC_URI[tzcode.sha256sum] = "eb46bfa124b5b6bd13d61a609bfde8351bd192894708d33aa06e5c1e255802d0"
+SRC_URI[tzdata.sha256sum] = "39e7d2ba08c68cbaefc8de3227aab0dec2521be8042cf56855f7dc3a9fb14e08"
--
2.29.2
^ permalink raw reply related [flat|nested] 28+ messages in thread* [gatesgarth][PATCH 10/25] sanity: Verify that user isn't building in PSEUDO_IGNORE_PATHS
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
` (8 preceding siblings ...)
2021-02-02 5:33 ` [gatesgarth][PATCH 09/25] timezone: upgrade to 2021a Anuj Mittal
@ 2021-02-02 5:33 ` Anuj Mittal
2021-02-02 5:33 ` [gatesgarth][PATCH 11/25] sanity.bbclass: sanity check for if bitbake is present in PATH Anuj Mittal
` (15 subsequent siblings)
25 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-02 5:33 UTC (permalink / raw)
To: openembedded-core
From: Dorinda <dorindabassey@gmail.com>
If a user builds in a path in PSEUDO_IGNORE_PATHS, random failures
are generated. Hence this patch adds a sanity check in sanity.bbclass
to ensure that a user isn't building in PSEUDO_IGNORE_PATHS.
[YOCTO #14179]
(From OE-Core rev: 7a681525e904914e938de25df5cc64209097d15d)
Signed-off-by: Dorinda Bassey <dorindabassey@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit bfeeaf9ff148a61868e0c882b7455dc02ca8ed76)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
meta/classes/sanity.bbclass | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index 3262d08fbf..0e7ad45c94 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -703,6 +703,13 @@ def check_sanity_version_change(status, d):
if (tmpdirmode & stat.S_ISUID):
status.addresult("TMPDIR is setuid, please don't build in a setuid directory")
+ # Check that a user isn't building in a path in PSEUDO_IGNORE_PATHS
+ pseudoignorepaths = d.getVar('PSEUDO_IGNORE_PATHS', expand=True).split(",")
+ workdir = d.getVar('WORKDIR', expand=True)
+ for i in pseudoignorepaths:
+ if i and workdir.startswith(i):
+ status.addresult("You are building in a path included in PSEUDO_IGNORE_PATHS " + str(i) + " please locate the build outside this path.\n")
+
# Some third-party software apparently relies on chmod etc. being suid root (!!)
import stat
suid_check_bins = "chown chmod mknod".split()
--
2.29.2
^ permalink raw reply related [flat|nested] 28+ messages in thread* [gatesgarth][PATCH 11/25] sanity.bbclass: sanity check for if bitbake is present in PATH
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
` (9 preceding siblings ...)
2021-02-02 5:33 ` [gatesgarth][PATCH 10/25] sanity: Verify that user isn't building in PSEUDO_IGNORE_PATHS Anuj Mittal
@ 2021-02-02 5:33 ` Anuj Mittal
2021-02-02 5:33 ` [gatesgarth][PATCH 12/25] externalsrc: Detect code changes in submodules Anuj Mittal
` (14 subsequent siblings)
25 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-02 5:33 UTC (permalink / raw)
To: openembedded-core
From: Dorinda <dorindabassey@gmail.com>
If a user executes the environment script instead of sourcing it,
there's an error about an empty element in PATH. This is because
bitbake isn't present in environment variable PATH. Hence, this
patch adds a sanity check to verify if bitbake is present in
PATH and if bitbake isn't present issue a warning message.
[YOCTO #13822]
(From OE-Core rev: e08799913a7f207bc63e085eb98196fd61ed57bc)
Signed-off-by: Dorinda Bassey <dorindabassey@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit dbd80a923c9075d363f69ffd86b4392c210d668d)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
meta/classes/sanity.bbclass | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
index 0e7ad45c94..16275b2ea5 100644
--- a/meta/classes/sanity.bbclass
+++ b/meta/classes/sanity.bbclass
@@ -794,6 +794,11 @@ def check_sanity_everybuild(status, d):
if "." in paths or "./" in paths or "" in paths:
status.addresult("PATH contains '.', './' or '' (empty element), which will break the build, please remove this.\nParsed PATH is " + str(paths) + "\n")
+ #Check if bitbake is present in PATH environment variable
+ bb_check = bb.utils.which(d.getVar('PATH'), 'bitbake')
+ if not bb_check:
+ bb.warn("bitbake binary is not found in PATH, did you source the script?")
+
# Check whether 'inherit' directive is found (used for a class to inherit)
# in conf file it's supposed to be uppercase INHERIT
inherit = d.getVar('inherit')
--
2.29.2
^ permalink raw reply related [flat|nested] 28+ messages in thread* [gatesgarth][PATCH 12/25] externalsrc: Detect code changes in submodules
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
` (10 preceding siblings ...)
2021-02-02 5:33 ` [gatesgarth][PATCH 11/25] sanity.bbclass: sanity check for if bitbake is present in PATH Anuj Mittal
@ 2021-02-02 5:33 ` Anuj Mittal
2021-02-02 5:33 ` [gatesgarth][PATCH 13/25] buildhistory.bbclass: avoid exception for empty BUILDHISTORY_FEATURES variable Anuj Mittal
` (13 subsequent siblings)
25 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-02 5:33 UTC (permalink / raw)
To: openembedded-core
From: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
The srctree_hash was calculated only from main source directory ignoring
changes in submodules.
[YOCTO #13748]
Use submodule--helper to determine all submodules, and calculate hash
from all git tree objects names combined.
(From OE-Core rev: 50ff9afb3990bcf60b4fa1f937506cb84028c32d)
Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9385670add6e630cebef758a30af17d3e57fcdfb)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
meta/classes/externalsrc.bbclass | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/meta/classes/externalsrc.bbclass b/meta/classes/externalsrc.bbclass
index 7a7d31e311..64e94e3301 100644
--- a/meta/classes/externalsrc.bbclass
+++ b/meta/classes/externalsrc.bbclass
@@ -190,6 +190,7 @@ def srctree_hash_files(d, srcdir=None):
import shutil
import subprocess
import tempfile
+ import hashlib
s_dir = srcdir or d.getVar('EXTERNALSRC')
git_dir = None
@@ -214,7 +215,16 @@ def srctree_hash_files(d, srcdir=None):
env = os.environ.copy()
env['GIT_INDEX_FILE'] = tmp_index.name
subprocess.check_output(['git', 'add', '-A', '.'], cwd=s_dir, env=env)
- sha1 = subprocess.check_output(['git', 'write-tree'], cwd=s_dir, env=env).decode("utf-8")
+ git_sha1 = subprocess.check_output(['git', 'write-tree'], cwd=s_dir, env=env).decode("utf-8")
+ submodule_helper = subprocess.check_output(['git', 'submodule--helper', 'list'], cwd=s_dir, env=env).decode("utf-8")
+ for line in submodule_helper.splitlines():
+ module_dir = os.path.join(s_dir, line.rsplit(maxsplit=1)[1])
+ proc = subprocess.Popen(['git', 'add', '-A', '.'], cwd=module_dir, env=env, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
+ proc.communicate()
+ proc = subprocess.Popen(['git', 'write-tree'], cwd=module_dir, env=env, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
+ stdout, _ = proc.communicate()
+ git_sha1 += stdout.decode("utf-8")
+ sha1 = hashlib.sha1(git_sha1.encode("utf-8")).hexdigest()
with open(oe_hash_file, 'w') as fobj:
fobj.write(sha1)
ret = oe_hash_file + ':True'
--
2.29.2
^ permalink raw reply related [flat|nested] 28+ messages in thread* [gatesgarth][PATCH 13/25] buildhistory.bbclass: avoid exception for empty BUILDHISTORY_FEATURES variable
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
` (11 preceding siblings ...)
2021-02-02 5:33 ` [gatesgarth][PATCH 12/25] externalsrc: Detect code changes in submodules Anuj Mittal
@ 2021-02-02 5:33 ` Anuj Mittal
2021-02-02 5:33 ` [gatesgarth][PATCH 14/25] gobject-introspection: Fix variable override order Anuj Mittal
` (12 subsequent siblings)
25 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-02 5:33 UTC (permalink / raw)
To: openembedded-core
From: Peter Bergin <peter@berginkonsult.se>
An exception is fired when a BuildStarted event is sent to buildhistory bbclass
and the variable BUILDHISTORY_FEATURES is not set.
ERROR: Execution of event handler 'buildhistory_eventhandler' failed
Traceback (most recent call last):
File "<...>/meta/classes/buildhistory.bbclass", line 862, in buildhistory_eventhandler(e=<bb.event.BuildStarted object at 0x7f94c3810250>):
python buildhistory_eventhandler() {
> if e.data.getVar('BUILDHISTORY_FEATURES').strip():
reset = e.data.getVar("BUILDHISTORY_RESET")
AttributeError: 'NoneType' object has no attribute 'strip'
This can happen in a multiconfig build where the default configuration use the
buildhistory class but not the configuration in mc. It should be a rare case that
this happens and it was found in a missconfigured build.
(From OE-Core rev: a74e30a4de02c8efd3e7102ba7a4fe06df53cc34)
Signed-off-by: Peter Bergin <peter@berginkonsult.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 55ead1be58679c3bcb7d1c141672b999d53e90ef)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
meta/classes/buildhistory.bbclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/classes/buildhistory.bbclass b/meta/classes/buildhistory.bbclass
index 7d5e3eb8fd..3a6780da34 100644
--- a/meta/classes/buildhistory.bbclass
+++ b/meta/classes/buildhistory.bbclass
@@ -855,7 +855,7 @@ END
}
python buildhistory_eventhandler() {
- if e.data.getVar('BUILDHISTORY_FEATURES').strip():
+ if (e.data.getVar('BUILDHISTORY_FEATURES') or "").strip():
reset = e.data.getVar("BUILDHISTORY_RESET")
olddir = e.data.getVar("BUILDHISTORY_OLD_DIR")
if isinstance(e, bb.event.BuildStarted):
--
2.29.2
^ permalink raw reply related [flat|nested] 28+ messages in thread* [gatesgarth][PATCH 14/25] gobject-introspection: Fix variable override order
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
` (12 preceding siblings ...)
2021-02-02 5:33 ` [gatesgarth][PATCH 13/25] buildhistory.bbclass: avoid exception for empty BUILDHISTORY_FEATURES variable Anuj Mittal
@ 2021-02-02 5:33 ` Anuj Mittal
2021-02-02 5:33 ` [gatesgarth][PATCH 15/25] pseudo: Update to include passwd and file renaming fixes Anuj Mittal
` (11 subsequent siblings)
25 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-02 5:33 UTC (permalink / raw)
To: openembedded-core
From: Richard Purdie <richard.purdie@linuxfoundation.org>
The DEPENDS variable override ordering here was almostly certainly
incorrect and led to weird behaviour when making changes elsewhere.
Correct it.
(From OE-Core rev: c8f7e92244b3c52c275a457aced69086800351d8)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3a59f2abe2713151f429d50a96e2360598fd30df)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
.../gobject-introspection/gobject-introspection_1.64.1.bb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.64.1.bb b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.64.1.bb
index 4d80f00e10..0f0f7a82c4 100644
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.64.1.bb
+++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.64.1.bb
@@ -29,14 +29,14 @@ GTKDOC_MESON_OPTION = "gtk_doc"
MULTILIB_SCRIPTS = "${PN}:${bindir}/g-ir-annotation-tool ${PN}:${bindir}/g-ir-scanner"
-DEPENDS_append = " libffi zlib glib-2.0 python3 flex-native bison-native autoconf-archive"
+DEPENDS += " libffi zlib glib-2.0 python3 flex-native bison-native autoconf-archive"
# target build needs qemu to run temporary introspection binaries created
# on the fly by g-ir-scanner and a native version of itself to run
# native versions of its own tools during build.
# Also prelink-rtld is used to find out library dependencies of introspection binaries
# (standard ldd doesn't work when cross-compiling).
-DEPENDS_class-target_append = " gobject-introspection-native qemu-native prelink-native"
+DEPENDS_append_class-target = " gobject-introspection-native qemu-native prelink-native"
# needed for writing out the qemu wrapper script
export STAGING_DIR_HOST
--
2.29.2
^ permalink raw reply related [flat|nested] 28+ messages in thread* [gatesgarth][PATCH 15/25] pseudo: Update to include passwd and file renaming fixes
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
` (13 preceding siblings ...)
2021-02-02 5:33 ` [gatesgarth][PATCH 14/25] gobject-introspection: Fix variable override order Anuj Mittal
@ 2021-02-02 5:33 ` Anuj Mittal
2021-02-02 5:33 ` [gatesgarth][PATCH 16/25] ca-certificates: upgrade 20200601 -> 20210119 Anuj Mittal
` (10 subsequent siblings)
25 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-02 5:33 UTC (permalink / raw)
To: openembedded-core
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Pulls in:
pseudo_client: Ensure renames update open fd file paths
pseudo_client.c: Rebuild passwd paths after chroot
which should fix issues seen in apt package index creation, new
binutils and other autobuilder race issues in pseudo amongst other
issues.
(From OE-Core rev: 44d11b56001f40622c055069b0901cc4ae15c76c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit e1caf4f305b2f96eb73c9eaba6a2f0bf2158d5be)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
meta/recipes-devtools/pseudo/pseudo_git.bb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-devtools/pseudo/pseudo_git.bb b/meta/recipes-devtools/pseudo/pseudo_git.bb
index 29fa9152e2..0ba7b50355 100644
--- a/meta/recipes-devtools/pseudo/pseudo_git.bb
+++ b/meta/recipes-devtools/pseudo/pseudo_git.bb
@@ -6,7 +6,7 @@ SRC_URI = "git://git.yoctoproject.org/pseudo;branch=oe-core \
file://fallback-group \
"
-SRCREV = "f9754ac14672c4af19b77bc698a1a808b0828265"
+SRCREV = "8317c0ab172db47dabcef909bae02cd77b1f1010"
S = "${WORKDIR}/git"
PV = "1.9.0+git${SRCPV}"
--
2.29.2
^ permalink raw reply related [flat|nested] 28+ messages in thread* [gatesgarth][PATCH 16/25] ca-certificates: upgrade 20200601 -> 20210119
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
` (14 preceding siblings ...)
2021-02-02 5:33 ` [gatesgarth][PATCH 15/25] pseudo: Update to include passwd and file renaming fixes Anuj Mittal
@ 2021-02-02 5:33 ` Anuj Mittal
2021-02-02 5:34 ` [gatesgarth][PATCH 17/25] cve-check: replace Looseversion with custom version class Anuj Mittal
` (9 subsequent siblings)
25 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-02 5:33 UTC (permalink / raw)
To: openembedded-core
From: zhengruoqin <zhengrq.fnst@cn.fujitsu.com>
0001-certdata2pem.py-use-python3.patch
removed since it is included in 20210119
(From OE-Core rev: afd86357e07f69090eaff4c5db2c517867dd4ccf)
Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3f1c05e14840ce0db9a8ca813dca0466520888d8)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
.../0001-certdata2pem.py-use-python3.patch | 37 -------------------
...0200601.bb => ca-certificates_20210119.bb} | 3 +-
2 files changed, 1 insertion(+), 39 deletions(-)
delete mode 100644 meta/recipes-support/ca-certificates/ca-certificates/0001-certdata2pem.py-use-python3.patch
rename meta/recipes-support/ca-certificates/{ca-certificates_20200601.bb => ca-certificates_20210119.bb} (96%)
diff --git a/meta/recipes-support/ca-certificates/ca-certificates/0001-certdata2pem.py-use-python3.patch b/meta/recipes-support/ca-certificates/ca-certificates/0001-certdata2pem.py-use-python3.patch
deleted file mode 100644
index aa2c85ff43..0000000000
--- a/meta/recipes-support/ca-certificates/ca-certificates/0001-certdata2pem.py-use-python3.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From b6d18ca77f131cdcaa10d0eaa9d303399767edf6 Mon Sep 17 00:00:00 2001
-From: Alexander Kanavin <alex.kanavin@gmail.com>
-Date: Wed, 28 Aug 2019 19:18:14 +0200
-Subject: [PATCH] certdata2pem.py: use python3
-
-Comments in that file imply it is already py3 compatible.
-
-Upstream-Status: Pending
-Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
----
- mozilla/Makefile | 2 +-
- mozilla/certdata2pem.py | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/mozilla/Makefile b/mozilla/Makefile
-index 6f46118..f98877c 100644
---- a/mozilla/Makefile
-+++ b/mozilla/Makefile
-@@ -3,7 +3,7 @@
- #
-
- all:
-- python certdata2pem.py
-+ python3 certdata2pem.py
-
- clean:
- -rm -f *.crt
-diff --git a/mozilla/certdata2pem.py b/mozilla/certdata2pem.py
-index 0b02b2a..7d796f1 100644
---- a/mozilla/certdata2pem.py
-+++ b/mozilla/certdata2pem.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/python
-+#!/usr/bin/python3
- # vim:set et sw=4:
- #
- # certdata2pem.py - splits certdata.txt into multiple files
diff --git a/meta/recipes-support/ca-certificates/ca-certificates_20200601.bb b/meta/recipes-support/ca-certificates/ca-certificates_20210119.bb
similarity index 96%
rename from meta/recipes-support/ca-certificates/ca-certificates_20200601.bb
rename to meta/recipes-support/ca-certificates/ca-certificates_20210119.bb
index 6f39df7985..888a235c1a 100644
--- a/meta/recipes-support/ca-certificates/ca-certificates_20200601.bb
+++ b/meta/recipes-support/ca-certificates/ca-certificates_20210119.bb
@@ -14,7 +14,7 @@ DEPENDS_class-nativesdk = "openssl-native"
# Need rehash from openssl and run-parts from debianutils
PACKAGE_WRITE_DEPS += "openssl-native debianutils-native"
-SRCREV = "b3a8980b781bc9a370e42714a605cd4191bb6c0b"
+SRCREV = "181be7ebd169b4a6fb5d90c3e6dc791e90534144"
SRC_URI = "git://salsa.debian.org/debian/ca-certificates.git;protocol=https \
file://0002-update-ca-certificates-use-SYSROOT.patch \
@@ -23,7 +23,6 @@ SRC_URI = "git://salsa.debian.org/debian/ca-certificates.git;protocol=https \
file://default-sysroot.patch \
file://sbindir.patch \
file://0003-update-ca-certificates-use-relative-symlinks-from-ET.patch \
- file://0001-certdata2pem.py-use-python3.patch \
"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+)"
--
2.29.2
^ permalink raw reply related [flat|nested] 28+ messages in thread* [gatesgarth][PATCH 17/25] cve-check: replace Looseversion with custom version class
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
` (15 preceding siblings ...)
2021-02-02 5:33 ` [gatesgarth][PATCH 16/25] ca-certificates: upgrade 20200601 -> 20210119 Anuj Mittal
@ 2021-02-02 5:34 ` Anuj Mittal
2021-02-02 5:34 ` [gatesgarth][PATCH 18/25] cve_check: add CVE_VERSION_SUFFIX to indicate suffix in versioning Anuj Mittal
` (8 subsequent siblings)
25 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-02 5:34 UTC (permalink / raw)
To: openembedded-core
From: Lee Chee Yang <chee.yang.lee@intel.com>
The way distutils.version.LooseVersion compare version are tricky, it treat
all these ( "1.0-beta2", "1.0-rc1", "1.0A", "1.0p2" and "1.0pre1") as greater
version than "1.0". This might be right for "1.0A" and "1.0p1" but not for
the rest, also these version could be confusing, the "p" in "1.0p1" can be
"pre" or "patched" version or even other meaning.
Replace Looseversion with custom class, it uses regex to capture common
version format like "1.1.1" or tag format using date like "2020-12-12" as
release section, check for following known string/tags ( beta, rc, pre, dev,
alpha, preview) as pre-release section, any other trailing characters
are difficult to understand/define so ignore them. Compare release
section and pre-release section saperately.
included selftest for the version class.
[YOCTO#14127]
(From OE-Core rev: 6ced85e9ddd3569240f1e8b82130d1ac0fffbc40)
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 3807c6d9a78ac8ade24c9c69cfe2b9624c49a20d)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
meta/classes/cve-check.bbclass | 10 ++--
meta/lib/oe/cve_check.py | 58 +++++++++++++++++++++++
meta/lib/oeqa/selftest/cases/cve_check.py | 27 +++++++++++
3 files changed, 90 insertions(+), 5 deletions(-)
create mode 100644 meta/lib/oe/cve_check.py
create mode 100644 meta/lib/oeqa/selftest/cases/cve_check.py
diff --git a/meta/classes/cve-check.bbclass b/meta/classes/cve-check.bbclass
index d843e7c4ac..646cc879dd 100644
--- a/meta/classes/cve-check.bbclass
+++ b/meta/classes/cve-check.bbclass
@@ -206,7 +206,7 @@ def check_cves(d, patched_cves):
"""
Connect to the NVD database and find unpatched cves.
"""
- from distutils.version import LooseVersion
+ from oe.cve_check import Version
pn = d.getVar("PN")
real_pv = d.getVar("PV")
@@ -263,8 +263,8 @@ def check_cves(d, patched_cves):
else:
if operator_start:
try:
- vulnerable_start = (operator_start == '>=' and LooseVersion(pv) >= LooseVersion(version_start))
- vulnerable_start |= (operator_start == '>' and LooseVersion(pv) > LooseVersion(version_start))
+ vulnerable_start = (operator_start == '>=' and Version(pv) >= Version(version_start))
+ vulnerable_start |= (operator_start == '>' and Version(pv) > Version(version_start))
except:
bb.warn("%s: Failed to compare %s %s %s for %s" %
(product, pv, operator_start, version_start, cve))
@@ -274,8 +274,8 @@ def check_cves(d, patched_cves):
if operator_end:
try:
- vulnerable_end = (operator_end == '<=' and LooseVersion(pv) <= LooseVersion(version_end))
- vulnerable_end |= (operator_end == '<' and LooseVersion(pv) < LooseVersion(version_end))
+ vulnerable_end = (operator_end == '<=' and Version(pv) <= Version(version_end) )
+ vulnerable_end |= (operator_end == '<' and Version(pv) < Version(version_end) )
except:
bb.warn("%s: Failed to compare %s %s %s for %s" %
(product, pv, operator_end, version_end, cve))
diff --git a/meta/lib/oe/cve_check.py b/meta/lib/oe/cve_check.py
new file mode 100644
index 0000000000..ec48a3f829
--- /dev/null
+++ b/meta/lib/oe/cve_check.py
@@ -0,0 +1,58 @@
+import collections
+import re
+import itertools
+
+_Version = collections.namedtuple(
+ "_Version", ["release", "pre_l", "pre_v"]
+)
+
+class Version():
+ _version_pattern = r"""v?(?:(?P<release>[0-9]+(?:[-\.][0-9]+)*)(?P<pre>[-_\.]?(?P<pre_l>(rc|alpha|beta|pre|preview|dev))[-_\.]?(?P<pre_v>[0-9]+)?)?)(.*)?"""
+ _regex = re.compile(r"^\s*" + _version_pattern + r"\s*$", re.VERBOSE | re.IGNORECASE)
+ def __init__(self, version):
+ match = self._regex.search(version)
+ if not match:
+ raise Exception("Invalid version: '{0}'".format(version))
+
+ self._version = _Version(
+ release=tuple(int(i) for i in match.group("release").replace("-",".").split(".")),
+ pre_l=match.group("pre_l"),
+ pre_v=match.group("pre_v")
+ )
+
+ self._key = _cmpkey(
+ self._version.release,
+ self._version.pre_l,
+ self._version.pre_v
+ )
+
+ def __le__(self, other):
+ if not isinstance(other, Version):
+ return NotImplemented
+ return self._key <= other._key
+
+ def __lt__(self, other):
+ if not isinstance(other, Version):
+ return NotImplemented
+ return self._key < other._key
+
+ def __ge__(self, other):
+ if not isinstance(other, Version):
+ return NotImplemented
+ return self._key >= other._key
+
+ def __gt__(self, other):
+ if not isinstance(other, Version):
+ return NotImplemented
+ return self._key > other._key
+
+def _cmpkey(release, pre_l, pre_v):
+ # remove leading 0
+ _release = tuple(
+ reversed(list(itertools.dropwhile(lambda x: x == 0, reversed(release))))
+ )
+ if pre_l is None and pre_v is None:
+ _pre = float('inf')
+ else:
+ _pre = float(pre_v) if pre_v else float('-inf')
+ return _release, _pre
diff --git a/meta/lib/oeqa/selftest/cases/cve_check.py b/meta/lib/oeqa/selftest/cases/cve_check.py
new file mode 100644
index 0000000000..35e2b29a9a
--- /dev/null
+++ b/meta/lib/oeqa/selftest/cases/cve_check.py
@@ -0,0 +1,27 @@
+from oe.cve_check import Version
+from oeqa.selftest.case import OESelftestTestCase
+
+class CVECheck(OESelftestTestCase):
+
+ def test_version_compare(self):
+ result = Version("100") > Version("99")
+ self.assertTrue( result, msg="Failed to compare version '100' > '99'")
+ result = Version("2.3.1") > Version("2.2.3")
+ self.assertTrue( result, msg="Failed to compare version '2.3.1' > '2.2.3'")
+ result = Version("2021-01-21") > Version("2020-12-25")
+ self.assertTrue( result, msg="Failed to compare version '2021-01-21' > '2020-12-25'")
+ result = Version("1.2-20200910") < Version("1.2-20200920")
+ self.assertTrue( result, msg="Failed to compare version '1.2-20200910' < '1.2-20200920'")
+
+ result = Version("1.0") >= Version("1.0beta")
+ self.assertTrue( result, msg="Failed to compare version '1.0' >= '1.0beta'")
+ result = Version("1.0-rc2") > Version("1.0-rc1")
+ self.assertTrue( result, msg="Failed to compare version '1.0-rc2' > '1.0-rc1'")
+ result = Version("1.0.alpha1") < Version("1.0")
+ self.assertTrue( result, msg="Failed to compare version '1.0.alpha1' < '1.0'")
+ result = Version("1.0_dev") <= Version("1.0")
+ self.assertTrue( result, msg="Failed to compare version '1.0_dev' <= '1.0'")
+
+ # ignore "p1" and "p2", so these should be equal
+ result = Version("1.0p2") <= Version("1.0p1") and Version("1.0p2") >= Version("1.0p1")
+ self.assertTrue( result ,msg="Failed to compare version '1.0p2' to '1.0p1'")
--
2.29.2
^ permalink raw reply related [flat|nested] 28+ messages in thread* [gatesgarth][PATCH 18/25] cve_check: add CVE_VERSION_SUFFIX to indicate suffix in versioning
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
` (16 preceding siblings ...)
2021-02-02 5:34 ` [gatesgarth][PATCH 17/25] cve-check: replace Looseversion with custom version class Anuj Mittal
@ 2021-02-02 5:34 ` Anuj Mittal
2021-02-02 5:34 ` [gatesgarth][PATCH 19/25] lib/oe/patch.py: Don't return command stderr from runcmd function Anuj Mittal
` (7 subsequent siblings)
25 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-02 5:34 UTC (permalink / raw)
To: openembedded-core
From: Lee Chee Yang <chee.yang.lee@intel.com>
add CVE_VERSION_SUFFIX to indicate the version suffix type, currently
works in two value, "alphabetical" if the version string uses single
alphabetical character suffix as incremental release, blank to not
consider the unidentified suffixes. This can be expand when more suffix
pattern identified.
refactor cve_check.Version class to use functools and add parameter to
handle suffix condition.
Also update testcases to cover new changes.
(From OE-Core rev: 5dfd5ad5144708b474ef31eaa89a846c57be8ac0)
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 86b42289bda5bc2a4eff221ab476f170dd3d3794)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
meta/classes/cve-check.bbclass | 12 ++++---
meta/lib/oe/cve_check.py | 40 ++++++++++++-----------
meta/lib/oeqa/selftest/cases/cve_check.py | 11 ++++++-
3 files changed, 39 insertions(+), 24 deletions(-)
diff --git a/meta/classes/cve-check.bbclass b/meta/classes/cve-check.bbclass
index 646cc879dd..ed86403b6b 100644
--- a/meta/classes/cve-check.bbclass
+++ b/meta/classes/cve-check.bbclass
@@ -53,6 +53,9 @@ CVE_CHECK_PN_WHITELIST ?= ""
#
CVE_CHECK_WHITELIST ?= ""
+# set to "alphabetical" for version using single alphabetical character as increament release
+CVE_VERSION_SUFFIX ??= ""
+
python cve_save_summary_handler () {
import shutil
import datetime
@@ -210,6 +213,7 @@ def check_cves(d, patched_cves):
pn = d.getVar("PN")
real_pv = d.getVar("PV")
+ suffix = d.getVar("CVE_VERSION_SUFFIX")
cves_unpatched = []
# CVE_PRODUCT can contain more than one product (eg. curl/libcurl)
@@ -263,8 +267,8 @@ def check_cves(d, patched_cves):
else:
if operator_start:
try:
- vulnerable_start = (operator_start == '>=' and Version(pv) >= Version(version_start))
- vulnerable_start |= (operator_start == '>' and Version(pv) > Version(version_start))
+ vulnerable_start = (operator_start == '>=' and Version(pv,suffix) >= Version(version_start,suffix))
+ vulnerable_start |= (operator_start == '>' and Version(pv,suffix) > Version(version_start,suffix))
except:
bb.warn("%s: Failed to compare %s %s %s for %s" %
(product, pv, operator_start, version_start, cve))
@@ -274,8 +278,8 @@ def check_cves(d, patched_cves):
if operator_end:
try:
- vulnerable_end = (operator_end == '<=' and Version(pv) <= Version(version_end) )
- vulnerable_end |= (operator_end == '<' and Version(pv) < Version(version_end) )
+ vulnerable_end = (operator_end == '<=' and Version(pv,suffix) <= Version(version_end,suffix) )
+ vulnerable_end |= (operator_end == '<' and Version(pv,suffix) < Version(version_end,suffix) )
except:
bb.warn("%s: Failed to compare %s %s %s for %s" %
(product, pv, operator_end, version_end, cve))
diff --git a/meta/lib/oe/cve_check.py b/meta/lib/oe/cve_check.py
index ec48a3f829..ce755f940a 100644
--- a/meta/lib/oe/cve_check.py
+++ b/meta/lib/oe/cve_check.py
@@ -1,58 +1,60 @@
import collections
import re
import itertools
+import functools
_Version = collections.namedtuple(
- "_Version", ["release", "pre_l", "pre_v"]
+ "_Version", ["release", "patch_l", "pre_l", "pre_v"]
)
+@functools.total_ordering
class Version():
- _version_pattern = r"""v?(?:(?P<release>[0-9]+(?:[-\.][0-9]+)*)(?P<pre>[-_\.]?(?P<pre_l>(rc|alpha|beta|pre|preview|dev))[-_\.]?(?P<pre_v>[0-9]+)?)?)(.*)?"""
- _regex = re.compile(r"^\s*" + _version_pattern + r"\s*$", re.VERBOSE | re.IGNORECASE)
- def __init__(self, version):
- match = self._regex.search(version)
+
+ def __init__(self, version, suffix=None):
+ if str(suffix) == "alphabetical":
+ version_pattern = r"""r?v?(?:(?P<release>[0-9]+(?:[-\.][0-9]+)*)(?P<patch>[-_\.]?(?P<patch_l>[a-z]))?(?P<pre>[-_\.]?(?P<pre_l>(rc|alpha|beta|pre|preview|dev))[-_\.]?(?P<pre_v>[0-9]+)?)?)(.*)?"""
+ else:
+ version_pattern = r"""r?v?(?:(?P<release>[0-9]+(?:[-\.][0-9]+)*)(?P<pre>[-_\.]?(?P<pre_l>(rc|alpha|beta|pre|preview|dev))[-_\.]?(?P<pre_v>[0-9]+)?)?)(.*)?"""
+ regex = re.compile(r"^\s*" + version_pattern + r"\s*$", re.VERBOSE | re.IGNORECASE)
+
+ match = regex.search(version)
if not match:
raise Exception("Invalid version: '{0}'".format(version))
self._version = _Version(
release=tuple(int(i) for i in match.group("release").replace("-",".").split(".")),
+ patch_l=match.group("patch_l") if str(suffix) == "alphabetical" and match.group("patch_l") else "",
pre_l=match.group("pre_l"),
pre_v=match.group("pre_v")
)
self._key = _cmpkey(
self._version.release,
+ self._version.patch_l,
self._version.pre_l,
self._version.pre_v
)
- def __le__(self, other):
- if not isinstance(other, Version):
- return NotImplemented
- return self._key <= other._key
-
- def __lt__(self, other):
+ def __eq__(self, other):
if not isinstance(other, Version):
return NotImplemented
- return self._key < other._key
-
- def __ge__(self, other):
- if not isinstance(other, Version):
- return NotImplemented
- return self._key >= other._key
+ return self._key == other._key
def __gt__(self, other):
if not isinstance(other, Version):
return NotImplemented
return self._key > other._key
-def _cmpkey(release, pre_l, pre_v):
+def _cmpkey(release, patch_l, pre_l, pre_v):
# remove leading 0
_release = tuple(
reversed(list(itertools.dropwhile(lambda x: x == 0, reversed(release))))
)
+
+ _patch = patch_l.upper()
+
if pre_l is None and pre_v is None:
_pre = float('inf')
else:
_pre = float(pre_v) if pre_v else float('-inf')
- return _release, _pre
+ return _release, _patch, _pre
diff --git a/meta/lib/oeqa/selftest/cases/cve_check.py b/meta/lib/oeqa/selftest/cases/cve_check.py
index 35e2b29a9a..3f343a2841 100644
--- a/meta/lib/oeqa/selftest/cases/cve_check.py
+++ b/meta/lib/oeqa/selftest/cases/cve_check.py
@@ -23,5 +23,14 @@ class CVECheck(OESelftestTestCase):
self.assertTrue( result, msg="Failed to compare version '1.0_dev' <= '1.0'")
# ignore "p1" and "p2", so these should be equal
- result = Version("1.0p2") <= Version("1.0p1") and Version("1.0p2") >= Version("1.0p1")
+ result = Version("1.0p2") == Version("1.0p1")
self.assertTrue( result ,msg="Failed to compare version '1.0p2' to '1.0p1'")
+ # ignore the "b" and "r"
+ result = Version("1.0b") == Version("1.0r")
+ self.assertTrue( result ,msg="Failed to compare version '1.0b' to '1.0r'")
+
+ # consider the trailing alphabet as patched level when comparing
+ result = Version("1.0b","alphabetical") < Version("1.0r","alphabetical")
+ self.assertTrue( result ,msg="Failed to compare version with suffix '1.0b' < '1.0r'")
+ result = Version("1.0b","alphabetical") > Version("1.0","alphabetical")
+ self.assertTrue( result ,msg="Failed to compare version with suffix '1.0b' > '1.0'")
--
2.29.2
^ permalink raw reply related [flat|nested] 28+ messages in thread* [gatesgarth][PATCH 19/25] lib/oe/patch.py: Don't return command stderr from runcmd function
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
` (17 preceding siblings ...)
2021-02-02 5:34 ` [gatesgarth][PATCH 18/25] cve_check: add CVE_VERSION_SUFFIX to indicate suffix in versioning Anuj Mittal
@ 2021-02-02 5:34 ` Anuj Mittal
2021-02-02 5:34 ` [gatesgarth][PATCH 20/25] python3: Use addtask statement instead of task dependencies Anuj Mittal
` (6 subsequent siblings)
25 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-02 5:34 UTC (permalink / raw)
To: openembedded-core
From: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
If a function returns any stderr it will be passed to extractPatches and
used as path to patch.
For example subprocess command output can be:
| sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
| /tmp/oepatchhuqle8fj/0001-foo.patch
| /tmp/oepatchhuqle8fj/0002-bar.patch
that will result in:
| FileNotFoundError: [Errno 2] No such file or directory: 'sh:'
To fix this I separated output, made the function return stdout and
print stderr only in case of command error.
(From OE-Core rev: 482589e2cc7c3ddeefb0a0fb98d97a9cbb18c9ec)
Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 5e2450731c1f70fb72af0b8349905b359d3cd2b1)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
meta/lib/oe/patch.py | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/meta/lib/oe/patch.py b/meta/lib/oe/patch.py
index 40755fbb03..8ad70f53f1 100644
--- a/meta/lib/oe/patch.py
+++ b/meta/lib/oe/patch.py
@@ -38,15 +38,19 @@ def runcmd(args, dir = None):
args = [ pipes.quote(str(arg)) for arg in args ]
cmd = " ".join(args)
# print("cmd: %s" % cmd)
- (exitstatus, output) = subprocess.getstatusoutput(cmd)
+ proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
+ stdout, stderr = proc.communicate()
+ stdout = stdout.decode('utf-8')
+ stderr = stderr.decode('utf-8')
+ exitstatus = proc.returncode
if exitstatus != 0:
- raise CmdError(cmd, exitstatus >> 8, output)
- if " fuzz " in output and "Hunk " in output:
+ raise CmdError(cmd, exitstatus >> 8, "stdout: %s\nstderr: %s" % (stdout, stderr))
+ if " fuzz " in stdout and "Hunk " in stdout:
# Drop patch fuzz info with header and footer to log file so
# insane.bbclass can handle to throw error/warning
- bb.note("--- Patch fuzz start ---\n%s\n--- Patch fuzz end ---" % format(output))
+ bb.note("--- Patch fuzz start ---\n%s\n--- Patch fuzz end ---" % format(stdout))
- return output
+ return stdout
finally:
if dir:
--
2.29.2
^ permalink raw reply related [flat|nested] 28+ messages in thread* [gatesgarth][PATCH 20/25] python3: Use addtask statement instead of task dependencies
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
` (18 preceding siblings ...)
2021-02-02 5:34 ` [gatesgarth][PATCH 19/25] lib/oe/patch.py: Don't return command stderr from runcmd function Anuj Mittal
@ 2021-02-02 5:34 ` Anuj Mittal
2021-02-02 5:34 ` [gatesgarth][PATCH 21/25] image_types: Ensure tar archives are reproducible Anuj Mittal
` (5 subsequent siblings)
25 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-02 5:34 UTC (permalink / raw)
To: openembedded-core
From: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
The externalsrc class deletes do_patch task which results with:
| ERROR: Task do_create_manifest in <PATH>/python3_3.8.2.bb depends upon
| non-existent task do_patch in <PATH>/python3_3.8.2.bb
Use addtask to define correct order to prevent this error, since addtask
mechanism accepts deleted tasks.
[YOCTO #14151]
(From OE-Core rev: a746d034fa7eaad4f4876fa61c5a8c3c15e211c8)
Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8ed8b81af60c7d9c7a1c614ad137408637bc43ed)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
meta/recipes-devtools/python/python3_3.8.5.bb | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/meta/recipes-devtools/python/python3_3.8.5.bb b/meta/recipes-devtools/python/python3_3.8.5.bb
index 8c34ae2b40..0e588d7e4c 100644
--- a/meta/recipes-devtools/python/python3_3.8.5.bb
+++ b/meta/recipes-devtools/python/python3_3.8.5.bb
@@ -307,11 +307,8 @@ do_create_manifest() {
}
# bitbake python -c create_manifest
-addtask do_create_manifest
-
# Make sure we have native python ready when we create a new manifest
-do_create_manifest[depends] += "${PN}:do_prepare_recipe_sysroot"
-do_create_manifest[depends] += "${PN}:do_patch"
+addtask do_create_manifest after do_patch do_prepare_recipe_sysroot
# manual dependency additions
RRECOMMENDS_${PN}-core_append_class-nativesdk = " nativesdk-python3-modules"
--
2.29.2
^ permalink raw reply related [flat|nested] 28+ messages in thread* [gatesgarth][PATCH 21/25] image_types: Ensure tar archives are reproducible
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
` (19 preceding siblings ...)
2021-02-02 5:34 ` [gatesgarth][PATCH 20/25] python3: Use addtask statement instead of task dependencies Anuj Mittal
@ 2021-02-02 5:34 ` Anuj Mittal
2021-02-02 5:34 ` [gatesgarth][PATCH 22/25] dtc: improve reproducibility Anuj Mittal
` (4 subsequent siblings)
25 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-02 5:34 UTC (permalink / raw)
To: openembedded-core
From: Richard Purdie <richard.purdie@linuxfoundation.org>
The tar output seems to vary depending on the version of tar used and distro
configuration. Be explict about the output format to avoid this and be
determinstic.
(From OE-Core rev: c56f3c9febc1732aa1302524c6c4da36f16bd1f7)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9dbe0f69f874d3687ae1accc19116570bad86c04)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
meta/classes/image_types.bbclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/classes/image_types.bbclass b/meta/classes/image_types.bbclass
index 286009057e..85d619ca89 100644
--- a/meta/classes/image_types.bbclass
+++ b/meta/classes/image_types.bbclass
@@ -110,7 +110,7 @@ IMAGE_CMD_squashfs-lz4 = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAM
IMAGE_CMD_TAR ?= "tar"
# ignore return code 1 "file changed as we read it" as other tasks(e.g. do_image_wic) may be hardlinking rootfs
-IMAGE_CMD_tar = "${IMAGE_CMD_TAR} --sort=name --numeric-owner -cf ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.tar -C ${IMAGE_ROOTFS} . || [ $? -eq 1 ]"
+IMAGE_CMD_tar = "${IMAGE_CMD_TAR} --sort=name --format=gnu --numeric-owner -cf ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.tar -C ${IMAGE_ROOTFS} . || [ $? -eq 1 ]"
do_image_cpio[cleandirs] += "${WORKDIR}/cpio_append"
IMAGE_CMD_cpio () {
--
2.29.2
^ permalink raw reply related [flat|nested] 28+ messages in thread* [gatesgarth][PATCH 22/25] dtc: improve reproducibility
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
` (20 preceding siblings ...)
2021-02-02 5:34 ` [gatesgarth][PATCH 21/25] image_types: Ensure tar archives are reproducible Anuj Mittal
@ 2021-02-02 5:34 ` Anuj Mittal
2021-02-02 5:34 ` [gatesgarth][PATCH 23/25] core-image-sato-sdk-ptest: these images need ptest Anuj Mittal
` (3 subsequent siblings)
25 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-02 5:34 UTC (permalink / raw)
To: openembedded-core
From: Oleksiy Obitotskyy <oobitots@cisco.com>
Makefile override CFLAGS, so -fmacro/debug-prefix-map
optiions was omitted and binaries contains absolute
patch to sources.
(From OE-Core rev: b58e808a087bbc0a5abd78fd34bb6f1c0c93ba25)
Signed-off-by: Oleksiy Obitotskyy <oobitots@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 21e70c8a7213fae25a38ff7e4a8316a42130d24f)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
meta/recipes-kernel/dtc/dtc.inc | 2 ++
...-Makefile-to-add-CFLAGS-not-override.patch | 36 +++++++++++++++++++
2 files changed, 38 insertions(+)
create mode 100644 meta/recipes-kernel/dtc/dtc/0001-dtc-Fix-Makefile-to-add-CFLAGS-not-override.patch
diff --git a/meta/recipes-kernel/dtc/dtc.inc b/meta/recipes-kernel/dtc/dtc.inc
index 0650e3c82e..5da6c24fbf 100644
--- a/meta/recipes-kernel/dtc/dtc.inc
+++ b/meta/recipes-kernel/dtc/dtc.inc
@@ -7,7 +7,9 @@ DEPENDS = "flex-native bison-native"
SRC_URI = "git://git.kernel.org/pub/scm/utils/dtc/dtc.git \
file://make_install.patch \
+ file://0001-dtc-Fix-Makefile-to-add-CFLAGS-not-override.patch \
"
+
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
EXTRA_OEMAKE='NO_PYTHON=1 PREFIX="${prefix}" LIBDIR="${libdir}" DESTDIR="${D}"'
diff --git a/meta/recipes-kernel/dtc/dtc/0001-dtc-Fix-Makefile-to-add-CFLAGS-not-override.patch b/meta/recipes-kernel/dtc/dtc/0001-dtc-Fix-Makefile-to-add-CFLAGS-not-override.patch
new file mode 100644
index 0000000000..a2deb12d4b
--- /dev/null
+++ b/meta/recipes-kernel/dtc/dtc/0001-dtc-Fix-Makefile-to-add-CFLAGS-not-override.patch
@@ -0,0 +1,36 @@
+From f0119060ef1b9bd80e2cae487df1e4aedffb0e9b Mon Sep 17 00:00:00 2001
+From: Oleksiy Obitotskyy <oobitots@cisco.com>
+Date: Fri, 22 Jan 2021 09:12:48 +0200
+Subject: [PATCH] dtc: Fix Makefile to add CFLAGS not override
+
+Makefile override CFLAGS not extend them, so some of them
+missing. Sources builds out of kernel tree and probably not all
+options could be used (?). We need at least -fmacro-prefix-map/
+debug-prefix-map to eliminate absolute path in binaries.
+
+Upstream-Status: Pending
+Signed-off-by: Oleksiy Obitotskyy <oobitots@cisco.com>
+---
+ Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 35d936f..b5b13cf 100644
+--- a/Makefile
++++ b/Makefile
+@@ -20,10 +20,10 @@ CONFIG_LOCALVERSION =
+ # See libfdt_internal.h for details
+ ASSUME_MASK ?= 0
+
+-CPPFLAGS = -I libfdt -I . -DFDT_ASSUME_MASK=$(ASSUME_MASK)
++CPPFLAGS += -I libfdt -I . -DFDT_ASSUME_MASK=$(ASSUME_MASK)
+ WARNINGS = -Wall -Wpointer-arith -Wcast-qual -Wnested-externs \
+ -Wstrict-prototypes -Wmissing-prototypes -Wredundant-decls -Wshadow
+-CFLAGS = -g -Os $(SHAREDLIB_CFLAGS) -Werror $(WARNINGS) $(EXTRA_CFLAGS)
++CFLAGS += -g -Os $(SHAREDLIB_CFLAGS) -Werror $(WARNINGS) $(EXTRA_CFLAGS)
+
+ BISON = bison
+ LEX = flex
+--
+2.25.1
+
--
2.29.2
^ permalink raw reply related [flat|nested] 28+ messages in thread* [gatesgarth][PATCH 23/25] core-image-sato-sdk-ptest: these images need ptest
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
` (21 preceding siblings ...)
2021-02-02 5:34 ` [gatesgarth][PATCH 22/25] dtc: improve reproducibility Anuj Mittal
@ 2021-02-02 5:34 ` Anuj Mittal
2021-02-02 5:34 ` [gatesgarth][PATCH 24/25] ovmf-shell-image: image is only buildable on x86-64 Anuj Mittal
` (2 subsequent siblings)
25 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-02 5:34 UTC (permalink / raw)
To: openembedded-core
From: Ross Burton <ross@burtonini.com>
As this image isn't buildable without ptest (the packages won't exist),
depend on the ptest DISTRO_FEATURE to ensure we don't try and build it.
(From OE-Core rev: 0fe856d726c6d9c35533e32e70fbe05ef2b88b17)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 72b859aba82de3e5329142439ce0dfc3e41486b3)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
meta/recipes-sato/images/core-image-sato-ptest-fast.bb | 3 +++
meta/recipes-sato/images/core-image-sato-sdk-ptest.bb | 3 +++
2 files changed, 6 insertions(+)
diff --git a/meta/recipes-sato/images/core-image-sato-ptest-fast.bb b/meta/recipes-sato/images/core-image-sato-ptest-fast.bb
index 3641217306..4f08d6eb64 100644
--- a/meta/recipes-sato/images/core-image-sato-ptest-fast.bb
+++ b/meta/recipes-sato/images/core-image-sato-ptest-fast.bb
@@ -1,3 +1,6 @@
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "ptest"
+
require core-image-sato-sdk.bb
require conf/distro/include/ptest-packagelists.inc
diff --git a/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb b/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb
index bf749acd79..4d59c9536b 100644
--- a/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb
+++ b/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb
@@ -1,3 +1,6 @@
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "ptest"
+
require core-image-sato-sdk.bb
require conf/distro/include/ptest-packagelists.inc
--
2.29.2
^ permalink raw reply related [flat|nested] 28+ messages in thread* [gatesgarth][PATCH 24/25] ovmf-shell-image: image is only buildable on x86-64
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
` (22 preceding siblings ...)
2021-02-02 5:34 ` [gatesgarth][PATCH 23/25] core-image-sato-sdk-ptest: these images need ptest Anuj Mittal
@ 2021-02-02 5:34 ` Anuj Mittal
2021-02-02 5:34 ` [gatesgarth][PATCH 25/25] strace: increase ptest timeout duration 120->240s Anuj Mittal
2021-02-02 8:38 ` [OE-core] [gatesgarth][PATCH 00/25] patch review request Lee Chee Yang
25 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-02 5:34 UTC (permalink / raw)
To: openembedded-core
From: Ross Burton <ross@burtonini.com>
This image is only buildable for x86-64, so add a COMPATIBLE assignment
to ensure it isn't attempted on others.
(From OE-Core rev: bdd8208675c8a0c0232c678804a8b62cd74f1d48)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit db87aab8e219d2520dcd8d15da89110aadf3d41e)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
meta/recipes-core/ovmf/ovmf-shell-image.bb | 1 +
1 file changed, 1 insertion(+)
diff --git a/meta/recipes-core/ovmf/ovmf-shell-image.bb b/meta/recipes-core/ovmf/ovmf-shell-image.bb
index 0d2b8bf52f..fd4fb5b732 100644
--- a/meta/recipes-core/ovmf/ovmf-shell-image.bb
+++ b/meta/recipes-core/ovmf/ovmf-shell-image.bb
@@ -1,4 +1,5 @@
DESCRIPTION = "boot image with UEFI shell and tools"
+COMPATIBLE_HOST_class-target='(i.86|x86_64).*'
# For this image recipe, only the wic format with a
# single vfat partition makes sense. Because we have no
--
2.29.2
^ permalink raw reply related [flat|nested] 28+ messages in thread* [gatesgarth][PATCH 25/25] strace: increase ptest timeout duration 120->240s
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
` (23 preceding siblings ...)
2021-02-02 5:34 ` [gatesgarth][PATCH 24/25] ovmf-shell-image: image is only buildable on x86-64 Anuj Mittal
@ 2021-02-02 5:34 ` Anuj Mittal
2021-02-02 8:38 ` [OE-core] [gatesgarth][PATCH 00/25] patch review request Lee Chee Yang
25 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-02 5:34 UTC (permalink / raw)
To: openembedded-core
From: Yi Fan Yu <yifan.yu@windriver.com>
solve qual_fault-syscall.test and qual_fault.test
failing due to timeout.
Bug 14165
(From OE-Core rev: 5af9f32d9b12654793289f44366251f978f6378a)
Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 8e03298201cf89b0d5987ec3a3639a3638b09979)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
---
meta/recipes-devtools/strace/strace/run-ptest | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meta/recipes-devtools/strace/strace/run-ptest b/meta/recipes-devtools/strace/strace/run-ptest
index 4660207220..3a51fb0be9 100755
--- a/meta/recipes-devtools/strace/strace/run-ptest
+++ b/meta/recipes-devtools/strace/strace/run-ptest
@@ -1,5 +1,5 @@
#!/bin/sh
-export TIMEOUT_DURATION=120
+export TIMEOUT_DURATION=240
chown nobody tests
chown nobody tests/*
chown nobody ../ptest
--
2.29.2
^ permalink raw reply related [flat|nested] 28+ messages in thread* Re: [OE-core] [gatesgarth][PATCH 00/25] patch review request
2021-02-02 5:33 [gatesgarth][PATCH 00/25] patch review request Anuj Mittal
` (24 preceding siblings ...)
2021-02-02 5:34 ` [gatesgarth][PATCH 25/25] strace: increase ptest timeout duration 120->240s Anuj Mittal
@ 2021-02-02 8:38 ` Lee Chee Yang
2021-02-03 2:39 ` Anuj Mittal
25 siblings, 1 reply; 28+ messages in thread
From: Lee Chee Yang @ 2021-02-02 8:38 UTC (permalink / raw)
To: Mittal, Anuj, openembedded-core@lists.openembedded.org
>-----Original Message-----
>From: openembedded-core@lists.openembedded.org <openembedded-
>core@lists.openembedded.org> On Behalf Of Anuj Mittal
>Sent: Tuesday, 2 February, 2021 1:34 PM
>To: openembedded-core@lists.openembedded.org
>Subject: [OE-core] [gatesgarth][PATCH 00/25] patch review request
>
>Please review these changes for gatesgarth. Builds cleanly on autobuilder
>except for one intermittent failure while executing oe-selftest on a CentOS 7
>worker:
>
>https://autobuilder.yoctoproject.org/typhoon/#/builders/79/builds/1784/ste
>ps/10/logs/step2d
>
>This doesn't look related to the proposed changes and didn't happen again.
>
>Thanks,
>
>Anuj
>
>The following changes since commit
>4e8022635fc8543d135fed3091a9f555899d1b3c:
>
> linuxloader: Avoid confusing string concat errors (2021-01-27 09:32:36 +0000)
>
>are available in the Git repository at:
>
> git://push.openembedded.org/openembedded-core-contrib
>anujm/gatesgarth
>
>Anuj Mittal (3):
> python3: fix CVE-2021-3177
> sudo: fix CVE-2021-23239
> gstreamer1.0: fix failing ptest
>
>Dorinda (2):
> sanity: Verify that user isn't building in PSEUDO_IGNORE_PATHS
> sanity.bbclass: sanity check for if bitbake is present in PATH
>
>Lee Chee Yang (4):
> gdk-pixbuf: fix CVE-2020-29385
> p11-kit: upgrade 0.23.21 -> 0.23.22
> cve-check: replace Looseversion with custom version class
> cve_check: add CVE_VERSION_SUFFIX to indicate suffix in versioning
Hi Anuj,
Please consider this patch too, so the above patches works on openssl
[PATCH 2/2] openssl: set CVE_VERSION_SUFFIX
https://lists.openembedded.org/g/openembedded-core/message/147339?p=,,,20,0,0,0::Created,,openssl,20,2,0,80153216
>
>Oleksiy Obitotskyy (1):
> dtc: improve reproducibility
>
>Ovidiu Panait (1):
> timezone: upgrade to 2021a
>
>Peter Bergin (1):
> buildhistory.bbclass: avoid exception for empty BUILDHISTORY_FEATURES
> variable
>
>Richard Purdie (3):
> gobject-introspection: Fix variable override order
> pseudo: Update to include passwd and file renaming fixes
> image_types: Ensure tar archives are reproducible
>
>Ross Burton (2):
> core-image-sato-sdk-ptest: these images need ptest
> ovmf-shell-image: image is only buildable on x86-64
>
>Tomasz Dziendzielski (5):
> externalsrc: Fix parsing error with devtool non-git sources
> devtool: Fix file:// fetcher symlink directory structure
> externalsrc: Detect code changes in submodules
> lib/oe/patch.py: Don't return command stderr from runcmd function
> python3: Use addtask statement instead of task dependencies
>
>Yi Fan Yu (2):
> oeqa/selftest/cases/tinfoil.py: increase timeout 10->60s
> test_wait_event
> strace: increase ptest timeout duration 120->240s
>
>zhengruoqin (1):
> ca-certificates: upgrade 20200601 -> 20210119
>
> meta/classes/buildhistory.bbclass | 2 +-
> meta/classes/cve-check.bbclass | 14 +-
> meta/classes/externalsrc.bbclass | 16 +-
> meta/classes/image_types.bbclass | 2 +-
> meta/classes/sanity.bbclass | 12 ++
> meta/lib/oe/cve_check.py | 60 ++++++
> meta/lib/oe/patch.py | 14 +-
> meta/lib/oeqa/selftest/cases/cve_check.py | 36 ++++
> meta/lib/oeqa/selftest/cases/tinfoil.py | 6 +-
> meta/recipes-core/ovmf/ovmf-shell-image.bb | 1 +
> meta/recipes-devtools/pseudo/pseudo_git.bb | 2 +-
> .../python/python3/CVE-2021-3177.patch | 191 ++++++++++++++++++
> meta/recipes-devtools/python/python3_3.8.5.bb | 6 +-
> meta/recipes-devtools/strace/strace/run-ptest | 2 +-
> .../sudo/files/CVE-2021-23239.patch | 62 ++++++
> meta/recipes-extended/sudo/sudo_1.9.3.bb | 1 +
> meta/recipes-extended/timezone/timezone.inc | 6 +-
> .../gdk-pixbuf/CVE-2020-29385.patch | 55 +++++
> .../gdk-pixbuf/gdk-pixbuf_2.40.0.bb | 1 +
> .../gobject-introspection_1.64.1.bb | 4 +-
> meta/recipes-kernel/dtc/dtc.inc | 2 +
> ...-Makefile-to-add-CFLAGS-not-override.patch | 36 ++++ ...-use-too-strict-
>timeout-for-validati.patch | 32 +++
> .../gstreamer/gstreamer1.0_1.16.3.bb | 1 +
> .../images/core-image-sato-ptest-fast.bb | 3 +
> .../images/core-image-sato-sdk-ptest.bb | 3 +
> .../0001-certdata2pem.py-use-python3.patch | 37 ----
> ...0200601.bb => ca-certificates_20210119.bb} | 3 +-
> ...{p11-kit_0.23.21.bb => p11-kit_0.23.22.bb} | 7 +-
> scripts/lib/devtool/standard.py | 6 +-
> 30 files changed, 554 insertions(+), 69 deletions(-) create mode 100644
>meta/lib/oe/cve_check.py create mode 100644
>meta/lib/oeqa/selftest/cases/cve_check.py
> create mode 100644 meta/recipes-devtools/python/python3/CVE-2021-
>3177.patch
> create mode 100644 meta/recipes-extended/sudo/files/CVE-2021-
>23239.patch
> create mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf/CVE-2020-
>29385.patch
> create mode 100644 meta/recipes-kernel/dtc/dtc/0001-dtc-Fix-Makefile-to-
>add-CFLAGS-not-override.patch
> create mode 100644 meta/recipes-
>multimedia/gstreamer/gstreamer1.0/0001-tests-seek-Don-t-use-too-strict-
>timeout-for-validati.patch
> delete mode 100644 meta/recipes-support/ca-certificates/ca-
>certificates/0001-certdata2pem.py-use-python3.patch
> rename meta/recipes-support/ca-certificates/{ca-certificates_20200601.bb =>
>ca-certificates_20210119.bb} (96%) rename meta/recipes-support/p11-
>kit/{p11-kit_0.23.21.bb => p11-kit_0.23.22.bb} (75%)
>
>--
>2.29.2
^ permalink raw reply [flat|nested] 28+ messages in thread* Re: [OE-core] [gatesgarth][PATCH 00/25] patch review request
2021-02-02 8:38 ` [OE-core] [gatesgarth][PATCH 00/25] patch review request Lee Chee Yang
@ 2021-02-03 2:39 ` Anuj Mittal
0 siblings, 0 replies; 28+ messages in thread
From: Anuj Mittal @ 2021-02-03 2:39 UTC (permalink / raw)
To: openembedded-core@lists.openembedded.org, Lee, Chee Yang
On Tue, 2021-02-02 at 08:38 +0000, Lee, Chee Yang wrote:
> Please consider this patch too, so the above patches works on openssl
>
> [PATCH 2/2] openssl: set CVE_VERSION_SUFFIX
> https://lists.openembedded.org/g/openembedded-core/message/147339?p=,,,20,0,0,0::Created,,openssl,20,2,0,80153216
Thanks Chee Yang. I will pick this for next pull request.
Thanks,
Anuj
^ permalink raw reply [flat|nested] 28+ messages in thread