Date   

[meta-tensorflow][PATCH 10/25] bazel-native/bazel.bbclass: replace deprecated --local_resources

hongxu
 

1. Use --local_ram_resources and --local_cpu_resources to replace
deprecated --local_resources

2. Add options to bazel-native build

|ERROR: --local_resources is deprecated. Please use --local_ram_resources and/or --local_cpu_resources

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
classes/bazel.bbclass | 2 +-
recipes-devtools/bazel/bazel-native_3.1.0.bb | 12 +++++++++++-
2 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/classes/bazel.bbclass b/classes/bazel.bbclass
index b4c2a7f..2a64156 100644
--- a/classes/bazel.bbclass
+++ b/classes/bazel.bbclass
@@ -75,7 +75,7 @@ bazel_do_configure () {
cat > "${S}/bazelrc" <<-EOF
build --verbose_failures
build --spawn_strategy=standalone --genrule_strategy=standalone
-build --jobs=${BAZEL_JOBS} --local_resources=4096,${BAZEL_JOBS},1.0
+buuld --jobs=${BAZEL_JOBS} --local_ram_resources=4096 --local_cpu_resources=${BAZEL_JOBS}
test --verbose_failures --verbose_test_summary
test --spawn_strategy=standalone --genrule_strategy=standalone

diff --git a/recipes-devtools/bazel/bazel-native_3.1.0.bb b/recipes-devtools/bazel/bazel-native_3.1.0.bb
index 0555f2f..1336da8 100644
--- a/recipes-devtools/bazel/bazel-native_3.1.0.bb
+++ b/recipes-devtools/bazel/bazel-native_3.1.0.bb
@@ -26,11 +26,21 @@ DEPENDS = "coreutils-native \
S="${WORKDIR}"

TS_DL_DIR ??= "${DL_DIR}"
+
+BAZEL_JOBS ??= "4"
+EXTRA_BAZEL_ARGS = " \
+ --host_javabase=@local_jdk//:jdk \
+ --python_path=python3 \
+ --jobs=${BAZEL_JOBS} \
+ --local_ram_resources=4096 \
+ --local_cpu_resources=${BAZEL_JOBS} \
+"
+
do_compile () {
export JAVA_HOME="${STAGING_LIBDIR_NATIVE}/jvm/openjdk-8-native"
TMPDIR="${TOPDIR}/bazel" \
VERBOSE=yes \
- EXTRA_BAZEL_ARGS="--host_javabase=@local_jdk//:jdk --python_path=python3" \
+ EXTRA_BAZEL_ARGS="${EXTRA_BAZEL_ARGS}" \
./compile.sh
}

--
2.21.0


[meta-tensorflow][PATCH 9/25] bazel-native/bazel.bbclass: use default Bazel toolchain to build Yocto native tools

hongxu
 

While using the default Bazel C++ toolchain to build Yocto native tools
(bazel build --host_crosstool_top=@bazel_tools//tools/cpp:toolchain),
it failed with `bazel references a path outside of the execution root',

Add Yocto native sysroot dir (YOCTO_NATIVE_SYSROOT) to
builtin_include_directories could fix the issue

If not set YOCTO_NATIVE_SYSROOT, use NOT_SET_YOCTO_NATIVE_SYSROOT
to replace as a warning

Set YOCTO_NATIVE_SYSROOT in bazel.bbclass

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
classes/bazel.bbclass | 2 +
recipes-devtools/bazel/bazel-native_3.1.0.bb | 1 +
...-sysroot-dir-to-the-default-Bazel-to.patch | 39 +++++++++++++++++++
3 files changed, 42 insertions(+)
create mode 100644 recipes-devtools/bazel/files/0001-add-Yocto-native-sysroot-dir-to-the-default-Bazel-to.patch

diff --git a/classes/bazel.bbclass b/classes/bazel.bbclass
index 65d2932..b4c2a7f 100644
--- a/classes/bazel.bbclass
+++ b/classes/bazel.bbclass
@@ -109,3 +109,5 @@ EXPORT_FUNCTIONS do_configure
CCACHE_DISABLE = "1"

inherit unsupportarch
+
+export YOCTO_NATIVE_SYSROOT="${BAZEL_OUTPUTBASE_DIR}/external/yocto_compiler/recipe-sysroot-native"
diff --git a/recipes-devtools/bazel/bazel-native_3.1.0.bb b/recipes-devtools/bazel/bazel-native_3.1.0.bb
index f3efde1..0555f2f 100644
--- a/recipes-devtools/bazel/bazel-native_3.1.0.bb
+++ b/recipes-devtools/bazel/bazel-native_3.1.0.bb
@@ -9,6 +9,7 @@ SRC_URI = "https://github.com/bazelbuild/bazel/releases/download/${PV}/bazel-${P
file://0001-HttpDownloader-save-download-tarball-to-distdir.patch \
file://0001-fix-unzip-command-not-found.patch \
file://0001-python3.patch \
+ file://0001-add-Yocto-native-sysroot-dir-to-the-default-Bazel-to.patch \
"

inherit native python3native
diff --git a/recipes-devtools/bazel/files/0001-add-Yocto-native-sysroot-dir-to-the-default-Bazel-to.patch b/recipes-devtools/bazel/files/0001-add-Yocto-native-sysroot-dir-to-the-default-Bazel-to.patch
new file mode 100644
index 0000000..b08c65a
--- /dev/null
+++ b/recipes-devtools/bazel/files/0001-add-Yocto-native-sysroot-dir-to-the-default-Bazel-to.patch
@@ -0,0 +1,39 @@
+From 707ba08068432262b3d02b29804c00afe7133ff6 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 10 Dec 2020 16:12:51 +0800
+Subject: [PATCH] add Yocto native sysroot dir to the default Bazel toolchain
+
+While using the default Bazel C++ toolchain to build Yocto native tools
+(bazel build --host_crosstool_top=@bazel_tools//tools/cpp:toolchain),
+it failed `bazel references a path outside of the execution root',
+
+Add Yocto native sysroot dir (YOCTO_NATIVE_SYSROOT) to
+builtin_include_directories could fix the issue
+
+If not set YOCTO_NATIVE_SYSROOT, use NOT_SET_YOCTO_NATIVE_SYSROOT
+to replace as a warning
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ tools/cpp/unix_cc_configure.bzl | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/tools/cpp/unix_cc_configure.bzl b/tools/cpp/unix_cc_configure.bzl
+index 84f5479..e17aa9d 100755
+--- a/tools/cpp/unix_cc_configure.bzl
++++ b/tools/cpp/unix_cc_configure.bzl
+@@ -424,6 +424,9 @@ def configure_unix_toolchain(repository_ctx, cpu_value, overriden_tools):
+ ),
+ )
+
++ # Customize for Yocto
++ builtin_include_directories.append(get_env_var(repository_ctx,"YOCTO_NATIVE_SYSROOT", "NOT_SET_YOCTO_NATIVE_SYSROOT"))
++
+ write_builtin_include_directory_paths(repository_ctx, cc, builtin_include_directories)
+ repository_ctx.template(
+ "BUILD",
+--
+2.18.2
+
--
2.21.0


[meta-tensorflow][PATCH 8/25] tensorflow-estimator: 1.13 -> 2.4

hongxu
 

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
.../0001-customize-for-yocto.patch | 28 +++++++++++++++++++
.../tensorflow/tensorflow-estimator_1.13.bb | 12 ++++++--
2 files changed, 37 insertions(+), 3 deletions(-)
create mode 100644 recipes-framework/tensorflow/tensorflow-estimator/0001-customize-for-yocto.patch

diff --git a/recipes-framework/tensorflow/tensorflow-estimator/0001-customize-for-yocto.patch b/recipes-framework/tensorflow/tensorflow-estimator/0001-customize-for-yocto.patch
new file mode 100644
index 0000000..e9b66d5
--- /dev/null
+++ b/recipes-framework/tensorflow/tensorflow-estimator/0001-customize-for-yocto.patch
@@ -0,0 +1,28 @@
+From a1bcf09a43fc44ad5e04c441ee45cc23d16cf7d2 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 9 Dec 2020 17:59:01 +0800
+Subject: [PATCH] customize for yocto
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ tensorflow_estimator/tools/pip_package/build_pip_package.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tensorflow_estimator/tools/pip_package/build_pip_package.sh b/tensorflow_estimator/tools/pip_package/build_pip_package.sh
+index d4953a6..e08cd8a 100755
+--- a/tensorflow_estimator/tools/pip_package/build_pip_package.sh
++++ b/tensorflow_estimator/tools/pip_package/build_pip_package.sh
+@@ -38,7 +38,7 @@ function prepare_src() {
+
+ # Verifies all expected files are in pip.
+ # Creates init files in all directory in pip.
+- python tensorflow_estimator/tools/pip_package/create_pip_helper.py --pip-root "${TMPDIR}/tensorflow_estimator/" --bazel-root "./tensorflow_estimator"
++ nativepython3 tensorflow_estimator/tools/pip_package/create_pip_helper.py --pip-root "${TMPDIR}/tensorflow_estimator/" --bazel-root "./tensorflow_estimator"
+ }
+
+ function build_wheel() {
+--
+2.18.2
+
diff --git a/recipes-framework/tensorflow/tensorflow-estimator_1.13.bb b/recipes-framework/tensorflow/tensorflow-estimator_1.13.bb
index f3a5098..5b2fe5d 100644
--- a/recipes-framework/tensorflow/tensorflow-estimator_1.13.bb
+++ b/recipes-framework/tensorflow/tensorflow-estimator_1.13.bb
@@ -3,9 +3,10 @@ learning programming."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=01e86893010a1b87e69a213faa753ebd"

-SRC_URI = "git://github.com/tensorflow/estimator.git;branch=r1.13 \
+SRC_URI = "git://github.com/tensorflow/estimator.git;branch=r2.4 \
+ file://0001-customize-for-yocto.patch \
"
-SRCREV = "340703eed78ba4854862f749ed94f91598826e79"
+SRCREV = "c3e7f2b5bbcc35185ef71797955a28cadce28f60"
S = "${WORKDIR}/git"

inherit python3native bazel
@@ -19,12 +20,18 @@ DEPENDS += " \
python3-astor-native \
python3-gast-native \
python3-termcolor-native \
+ python3-wrapt-native \
+ python3-opt-einsum-native \
+ python3-astunparse-native \
+ flatbuffers-native \
tensorflow-native \
"

do_compile () {
unset CC
export TMPDIR="${WORKDIR}"
+ export PYTHON_BIN_PATH="${PYTHON}"
+
${BAZEL} build \
--subcommands --explain=${T}/explain.log \
--verbose_explanations --verbose_failures \
@@ -32,7 +39,6 @@ do_compile () {
--python_path="${PYTHON}" \
//tensorflow_estimator/tools/pip_package:build_pip_package

- PYTHON_BIN_PATH="${PYTHON}" \
${S}/bazel-bin/tensorflow_estimator/tools/pip_package/build_pip_package \
${WORKDIR}/estimator_pip
}
--
2.21.0


[meta-tensorflow][PATCH 7/25] python3-astunparse: add 1.6.3

hongxu
 

It is required by tensorflow 2.4

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
recipes-devtools/python/python3-astunparse_1.6.3.bb | 12 ++++++++++++
1 file changed, 12 insertions(+)
create mode 100644 recipes-devtools/python/python3-astunparse_1.6.3.bb

diff --git a/recipes-devtools/python/python3-astunparse_1.6.3.bb b/recipes-devtools/python/python3-astunparse_1.6.3.bb
new file mode 100644
index 0000000..c8977b8
--- /dev/null
+++ b/recipes-devtools/python/python3-astunparse_1.6.3.bb
@@ -0,0 +1,12 @@
+SUMMARY = "An AST unparser for Python"
+HOMEPAGE = "https://github.com/simonpercivall/astunparse"
+SECTION = "devel/python"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=7a7c771110c28a37480b73d07ad6d2a1"
+
+SRC_URI[md5sum] = "2cea4d8e49beba7684bac890e73d6a40"
+SRC_URI[sha256sum] = "5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native"
--
2.21.0


[meta-tensorflow][PATCH 6/25] python3-google-pasta: add 0.2.0

hongxu
 

It is required by tensorflow 2.4

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
.../python/python3-google-pasta_0.2.0.bb | 12 ++++++++++++
1 file changed, 12 insertions(+)
create mode 100644 recipes-devtools/python/python3-google-pasta_0.2.0.bb

diff --git a/recipes-devtools/python/python3-google-pasta_0.2.0.bb b/recipes-devtools/python/python3-google-pasta_0.2.0.bb
new file mode 100644
index 0000000..50a363c
--- /dev/null
+++ b/recipes-devtools/python/python3-google-pasta_0.2.0.bb
@@ -0,0 +1,12 @@
+SUMMARY = "The AST-based Python refactoring library"
+HOMEPAGE = "https://github.com/google/pasta"
+SECTION = "devel/python"
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://PKG-INFO;md5=a10102394a800f3fa4a3df0934d57bb1"
+
+SRC_URI[md5sum] = "7c218a4a0d84303b9319352040fbfce6"
+SRC_URI[sha256sum] = "c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native"
--
2.21.0


[meta-tensorflow][PATCH 5/25] python3-opt-einsum: add 3.3.0

hongxu
 

It is required by tensorflow 2.4

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
.../python/python3-opt-einsum_3.3.0.bb | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
create mode 100644 recipes-devtools/python/python3-opt-einsum_3.3.0.bb

diff --git a/recipes-devtools/python/python3-opt-einsum_3.3.0.bb b/recipes-devtools/python/python3-opt-einsum_3.3.0.bb
new file mode 100644
index 0000000..16f3a6d
--- /dev/null
+++ b/recipes-devtools/python/python3-opt-einsum_3.3.0.bb
@@ -0,0 +1,16 @@
+SUMMARY = "A tensor contraction order optimizer"
+HOMEPAGE = "https://github.com/dgasmith/opt_einsum"
+SECTION = "devel/python"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=5ab423c88cf3e69553decf93419f53ac"
+
+SRC_URI[md5sum] = "acf0a3997aab84b4e9a854296cc34971"
+SRC_URI[sha256sum] = "59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549"
+
+inherit pypi setuptools3
+
+SRCNAME = "opt_einsum"
+PYPI_SRC_URI = "https://files.pythonhosted.org/packages/source/o/${PYPI_PACKAGE}/${SRCNAME}-${PV}.tar.gz"
+S = "${WORKDIR}/${SRCNAME}-${PV}"
+
+BBCLASSEXTEND = "native"
--
2.21.0


[meta-tensorflow][PATCH 4/25] add python3-gast 0.3.3

hongxu
 

The tensorflow requires the this version, as newer versions are
incompatible with the rest of the ecosystem [1]

[1] https://github.com/tensorflow/tensorflow/commit/710f3c83b4147eb76e748efcc218325c4978726c

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
recipes-devtools/python/python3-gast_0.3.3.bb | 12 ++++++++++++
1 file changed, 12 insertions(+)
create mode 100644 recipes-devtools/python/python3-gast_0.3.3.bb

diff --git a/recipes-devtools/python/python3-gast_0.3.3.bb b/recipes-devtools/python/python3-gast_0.3.3.bb
new file mode 100644
index 0000000..da3c477
--- /dev/null
+++ b/recipes-devtools/python/python3-gast_0.3.3.bb
@@ -0,0 +1,12 @@
+SUMMARY = "A generic AST to represent Python3's Abstract Syntax Tree(AST)."
+HOMEPAGE = "https://github.com/serge-sans-paille/gast"
+SECTION = "devel/python"
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=a3ad9b6802e713fc5e307e1230f1ea90"
+
+SRC_URI[md5sum] = "213b1820f576db14ed4fdf57efbfa67f"
+SRC_URI[sha256sum] = "b881ef288a49aa81440d2c5eb8aeefd4c2bb8993d5f50edae7413a85bfdb3b57"
+
+inherit pypi setuptools3
+
+BBCLASSEXTEND = "native"
--
2.21.0


[meta-tensorflow][PATCH 3/25] tensorflow: 1.13.0 -> 2.4.0

hongxu
 

Refresh patches to 2.4.0
- 0001-support-musl.patch
- 0001-third_party-eigen_archive-workaround-ice-failure-whi.patch
- 0001-use-local-bazel-to-workaround-bazel-paralle-issue.patch
- 0001-add-yocto-toolchain-to-support-cross-compiling.patch
- 0001-fix-build-tensorflow-lite-examples-label_image-label.patch
- 0001-label_image.lite-tweak-default-model-location.patch

Drop backported patches
- 0001-Fix-TensorFlow-on-Python-3.8-logger-issue.patch
- 0001-Provide-overload-to-cope-with-const-ness-change-of-N.patch
- 0001-Rename-gettid-functions.patch
- 0001-SyntaxError-around-async-keyword-on-Python-3.7.patch
- 0001-fix-compilation-error.patch

Minor change on LICENSE, copy year

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
...ensorFlow-on-Python-3.8-logger-issue.patch | 55 --------
...-to-cope-with-const-ness-change-of-N.patch | 52 --------
.../files/0001-Rename-gettid-functions.patch | 125 ------------------
...r-around-async-keyword-on-Python-3.7.patch | 116 ----------------
...toolchain-to-support-cross-compiling.patch | 60 ++++-----
...flow-lite-examples-label_image-label.patch | 38 +++---
.../files/0001-fix-compilation-error.patch | 58 --------
...ge.lite-tweak-default-model-location.patch | 21 +--
.../tensorflow/files/0001-support-musl.patch | 39 +++---
...n_archive-workaround-ice-failure-whi.patch | 121 ++++++++++++-----
...el-to-workaround-bazel-paralle-issue.patch | 24 ++--
...e_1.13.0.bb => tensorflow-native_2.4.0.bb} | 0
recipes-framework/tensorflow/tensorflow.inc | 11 +-
...nsorflow_1.13.0.bb => tensorflow_2.4.0.bb} | 1 +
14 files changed, 183 insertions(+), 538 deletions(-)
delete mode 100644 recipes-framework/tensorflow/files/0001-Fix-TensorFlow-on-Python-3.8-logger-issue.patch
delete mode 100644 recipes-framework/tensorflow/files/0001-Provide-overload-to-cope-with-const-ness-change-of-N.patch
delete mode 100644 recipes-framework/tensorflow/files/0001-Rename-gettid-functions.patch
delete mode 100644 recipes-framework/tensorflow/files/0001-SyntaxError-around-async-keyword-on-Python-3.7.patch
delete mode 100644 recipes-framework/tensorflow/files/0001-fix-compilation-error.patch
rename recipes-framework/tensorflow/{tensorflow-native_1.13.0.bb => tensorflow-native_2.4.0.bb} (100%)
rename recipes-framework/tensorflow/{tensorflow_1.13.0.bb => tensorflow_2.4.0.bb} (99%)

diff --git a/recipes-framework/tensorflow/files/0001-Fix-TensorFlow-on-Python-3.8-logger-issue.patch b/recipes-framework/tensorflow/files/0001-Fix-TensorFlow-on-Python-3.8-logger-issue.patch
deleted file mode 100644
index 714cfed..0000000
--- a/recipes-framework/tensorflow/files/0001-Fix-TensorFlow-on-Python-3.8-logger-issue.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From db8840ea06bee6c8384d88edba2faa027ed74c02 Mon Sep 17 00:00:00 2001
-From: Yong Tang <yong.tang.github@outlook.com>
-Date: Sun, 3 Nov 2019 19:52:04 +0000
-Subject: [PATCH] Fix TensorFlow on Python 3.8 logger issue
-
-This fix tries to address the issue raised in 33799
-where running tensorflow on python 3.8 (Ubuntu 18.04)
-raised the following error:
-```
-TypeError: _logger_find_caller() takes from 0 to 1 positional arguments but 2 were given
-```
-
-The issue was that findCaller changed in Python 3.8
-
-This PR fixes the issue.
-
-This PR fixes 33799
-
-Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
-
-Upstream-Status: Backport [https://github.com/tensorflow/tensorflow/pull/33953/commits/ea3063c929c69f738bf65bc99dad1159803e772f]
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- tensorflow/python/platform/tf_logging.py | 13 +++++++++++--
- 1 file changed, 11 insertions(+), 2 deletions(-)
-
-diff --git a/tensorflow/python/platform/tf_logging.py b/tensorflow/python/platform/tf_logging.py
-index 813bcb89be..4862e70e4d 100644
---- a/tensorflow/python/platform/tf_logging.py
-+++ b/tensorflow/python/platform/tf_logging.py
-@@ -57,9 +57,18 @@ def _get_caller(offset=3):
- f = f.f_back
- return None, None
-
--
- # The definition of `findCaller` changed in Python 3.2
--if _sys.version_info.major >= 3 and _sys.version_info.minor >= 2:
-+if _sys.version_info.major >= 3 and _sys.version_info.minor >= 8:
-+ def _logger_find_caller(stack_info=False, stacklevel=1): # pylint: disable=g-wrong-blank-lines
-+ code, frame = _get_caller(4)
-+ sinfo = None
-+ if stack_info:
-+ sinfo = '\n'.join(_traceback.format_stack())
-+ if code:
-+ return (code.co_filename, frame.f_lineno, code.co_name, sinfo)
-+ else:
-+ return '(unknown file)', 0, '(unknown function)', sinfo
-+elif _sys.version_info.major >= 3 and _sys.version_info.minor >= 2:
- def _logger_find_caller(stack_info=False): # pylint: disable=g-wrong-blank-lines
- code, frame = _get_caller(4)
- sinfo = None
---
-2.17.1
-
diff --git a/recipes-framework/tensorflow/files/0001-Provide-overload-to-cope-with-const-ness-change-of-N.patch b/recipes-framework/tensorflow/files/0001-Provide-overload-to-cope-with-const-ness-change-of-N.patch
deleted file mode 100644
index 8d9411c..0000000
--- a/recipes-framework/tensorflow/files/0001-Provide-overload-to-cope-with-const-ness-change-of-N.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-From 75ea0b31477d6ba9e990e296bbbd8ca4e7eebadf Mon Sep 17 00:00:00 2001
-From: Christian Sigg <csigg@google.com>
-Date: Fri, 26 Jun 2020 05:08:10 -0700
-Subject: [PATCH] Provide overload to cope with const-ness change of NumPy's
- PyUFuncGenericFunction.
-
-See https://github.com/tensorflow/tensorflow/issues/40688, https://github.com/tensorflow/tensorflow/pull/40654.
-
-PiperOrigin-RevId: 318452381
-Change-Id: Icc5152f2b020ef19882a49e3c86ac80bbe048d64
-
-Upstream-Status: Backport
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
----
- tensorflow/python/lib/core/bfloat16.cc | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/tensorflow/python/lib/core/bfloat16.cc b/tensorflow/python/lib/core/bfloat16.cc
-index feb01f11a1..bb6b720feb 100644
---- a/tensorflow/python/lib/core/bfloat16.cc
-+++ b/tensorflow/python/lib/core/bfloat16.cc
-@@ -517,7 +517,7 @@ bool RegisterBfloat16Cast(int numpy_type, bool cast_is_safe) {
- }
-
- template <typename InType, typename OutType, typename Functor>
--void BinaryUFunc(char** args, npy_intp* dimensions, npy_intp* steps,
-+void BinaryUFunc(char** args, const npy_intp* dimensions, const npy_intp* steps,
- void* data) {
- const char* i0 = args[0];
- const char* i1 = args[1];
-@@ -532,11 +532,17 @@ void BinaryUFunc(char** args, npy_intp* dimensions, npy_intp* steps,
- }
- }
-
-+// Numpy changed const-ness of PyUFuncGenericFunction, provide overload.
- template <typename Functor>
- void CompareUFunc(char** args, npy_intp* dimensions, npy_intp* steps,
- void* data) {
- BinaryUFunc<bfloat16, npy_bool, Functor>(args, dimensions, steps, data);
- }
-+template <typename Functor>
-+void CompareUFunc(char** args, const npy_intp* dimensions,
-+ const npy_intp* steps, void* data) {
-+ BinaryUFunc<bfloat16, npy_bool, Functor>(args, dimensions, steps, data);
-+}
-
- struct Bfloat16EqFunctor {
- npy_bool operator()(bfloat16 a, bfloat16 b) { return a == b; }
---
-2.21.0
-
diff --git a/recipes-framework/tensorflow/files/0001-Rename-gettid-functions.patch b/recipes-framework/tensorflow/files/0001-Rename-gettid-functions.patch
deleted file mode 100644
index 1e42ad3..0000000
--- a/recipes-framework/tensorflow/files/0001-Rename-gettid-functions.patch
+++ /dev/null
@@ -1,125 +0,0 @@
-From cf196efd43e489c91e29f7509529a4cc1e68b8b2 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 3 Apr 2020 11:11:35 +0800
-Subject: [PATCH] Rename the grpc versions to avoid naming conflicts
-
-Backport patch from grpc upstream to fix grpc conflicts issue
-
-Upstream-Status: Backport
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- tensorflow/workspace.bzl | 1 +
- .../0001-Rename-gettid-functions.patch | 88 +++++++++++++++++++
- 2 files changed, 89 insertions(+)
- create mode 100644 third_party/systemlibs/0001-Rename-gettid-functions.patch
-
-diff --git a/tensorflow/workspace.bzl b/tensorflow/workspace.bzl
-index a281803f41..66679e686d 100755
---- a/tensorflow/workspace.bzl
-+++ b/tensorflow/workspace.bzl
-@@ -466,6 +466,7 @@ def tf_workspace(path_prefix = "", tf_repo_name = ""):
- sha256 = "1aa84387232dda273ea8fdfe722622084f72c16f7b84bfc519ac7759b71cdc91",
- strip_prefix = "grpc-69b6c047bc767b4d80e7af4d00ccb7c45b683dae",
- system_build_file = clean_dep("//third_party/systemlibs:grpc.BUILD"),
-+ patch_file = clean_dep("//third_party/systemlibs:0001-Rename-gettid-functions.patch"),
- urls = [
- "https://mirror.bazel.build/github.com/grpc/grpc/archive/69b6c047bc767b4d80e7af4d00ccb7c45b683dae.tar.gz",
- "https://github.com/grpc/grpc/archive/69b6c047bc767b4d80e7af4d00ccb7c45b683dae.tar.gz",
-diff --git a/third_party/systemlibs/0001-Rename-gettid-functions.patch b/third_party/systemlibs/0001-Rename-gettid-functions.patch
-new file mode 100644
-index 0000000000..be338568ae
---- /dev/null
-+++ b/third_party/systemlibs/0001-Rename-gettid-functions.patch
-@@ -0,0 +1,88 @@
-+From fb56354fe381c705f930484117b01442a233063d Mon Sep 17 00:00:00 2001
-+From: Hongxu Jia <hongxu.jia@windriver.com>
-+Date: Fri, 3 Apr 2020 11:03:02 +0800
-+Subject: [PATCH] Rename gettid() functions.
-+
-+glibc 2.30 will declare its own gettid; see
-+https://sourceware.org/git/?p=glibc.git;a=commit;h=1d0fc213824eaa2a8f8c4385daaa698ee8fb7c92.
-+Rename the grpc versions to avoid naming conflicts.
-+
-+Signed-off-by: Benjamin Peterson <benjamin@dropbox.com>
-+Upstream-Status: Backport [https://github.com/grpc/grpc/commit/57586a1ca7f17b1916aed3dea4ff8de872dbf853]
-+
-+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-+---
-+ src/core/lib/gpr/log_linux.cc | 4 ++--
-+ src/core/lib/gpr/log_posix.cc | 4 ++--
-+ src/core/lib/iomgr/ev_epollex_linux.cc | 4 ++--
-+ 3 files changed, 6 insertions(+), 6 deletions(-)
-+
-+diff --git a/src/core/lib/gpr/log_linux.cc b/src/core/lib/gpr/log_linux.cc
-+index 561276f..8b597b4 100644
-+--- a/src/core/lib/gpr/log_linux.cc
-++++ b/src/core/lib/gpr/log_linux.cc
-+@@ -40,7 +40,7 @@
-+ #include <time.h>
-+ #include <unistd.h>
-+
-+-static long gettid(void) { return syscall(__NR_gettid); }
-++static long sys_gettid(void) { return syscall(__NR_gettid); }
-+
-+ void gpr_log(const char* file, int line, gpr_log_severity severity,
-+ const char* format, ...) {
-+@@ -70,7 +70,7 @@ void gpr_default_log(gpr_log_func_args* args) {
-+ gpr_timespec now = gpr_now(GPR_CLOCK_REALTIME);
-+ struct tm tm;
-+ static __thread long tid = 0;
-+- if (tid == 0) tid = gettid();
-++ if (tid == 0) tid = sys_gettid();
-+
-+ timer = static_cast<time_t>(now.tv_sec);
-+ final_slash = strrchr(args->file, '/');
-+diff --git a/src/core/lib/gpr/log_posix.cc b/src/core/lib/gpr/log_posix.cc
-+index 0acb225..cd0b702 100644
-+--- a/src/core/lib/gpr/log_posix.cc
-++++ b/src/core/lib/gpr/log_posix.cc
-+@@ -30,7 +30,7 @@
-+ #include <string.h>
-+ #include <time.h>
-+
-+-static intptr_t gettid(void) { return (intptr_t)pthread_self(); }
-++static intptr_t sys_gettid(void) { return (intptr_t)pthread_self(); }
-+
-+ void gpr_log(const char* file, int line, gpr_log_severity severity,
-+ const char* format, ...) {
-+@@ -85,7 +85,7 @@ void gpr_default_log(gpr_log_func_args* args) {
-+ char* prefix;
-+ gpr_asprintf(&prefix, "%s%s.%09d %7tu %s:%d]",
-+ gpr_log_severity_string(args->severity), time_buffer,
-+- (int)(now.tv_nsec), gettid(), display_file, args->line);
-++ (int)(now.tv_nsec), sys_gettid(), display_file, args->line);
-+
-+ fprintf(stderr, "%-70s %s\n", prefix, args->message);
-+ gpr_free(prefix);
-+diff --git a/src/core/lib/iomgr/ev_epollex_linux.cc b/src/core/lib/iomgr/ev_epollex_linux.cc
-+index 06a382c..371bd19 100644
-+--- a/src/core/lib/iomgr/ev_epollex_linux.cc
-++++ b/src/core/lib/iomgr/ev_epollex_linux.cc
-+@@ -1150,7 +1150,7 @@ static void end_worker(grpc_pollset* pollset, grpc_pollset_worker* worker,
-+ }
-+
-+ #ifndef NDEBUG
-+-static long gettid(void) { return syscall(__NR_gettid); }
-++static long sys_gettid(void) { return syscall(__NR_gettid); }
-+ #endif
-+
-+ /* pollset->mu lock must be held by the caller before calling this.
-+@@ -1170,7 +1170,7 @@ static grpc_error* pollset_work(grpc_pollset* pollset,
-+ #define WORKER_PTR (&worker)
-+ #endif
-+ #ifndef NDEBUG
-+- WORKER_PTR->originator = gettid();
-++ WORKER_PTR->originator = sys_gettid();
-+ #endif
-+ if (grpc_polling_trace.enabled()) {
-+ gpr_log(GPR_INFO,
-+--
-+2.17.1
-+
---
-2.17.1
-
diff --git a/recipes-framework/tensorflow/files/0001-SyntaxError-around-async-keyword-on-Python-3.7.patch b/recipes-framework/tensorflow/files/0001-SyntaxError-around-async-keyword-on-Python-3.7.patch
deleted file mode 100644
index 75cb572..0000000
--- a/recipes-framework/tensorflow/files/0001-SyntaxError-around-async-keyword-on-Python-3.7.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-From 8abbdce7a7ec7428b7f657e313ee0b6642c1de76 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 14 Feb 2019 10:45:55 +0800
-Subject: [PATCH] SyntaxError around async keyword on Python 3.7
-
-Backport a fix from upstream astor to fix the error
-
-Upstream-Status: Pending
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- tensorflow/workspace.bzl | 1 +
- ...-Don-t-use-async-as-a-keyword-argument-94.patch | 79 ++++++++++++++++++++++
- 2 files changed, 80 insertions(+)
- create mode 100644 third_party/systemlibs/0001-Don-t-use-async-as-a-keyword-argument-94.patch
-
-diff --git a/tensorflow/workspace.bzl b/tensorflow/workspace.bzl
-index aefab03..a281803 100755
---- a/tensorflow/workspace.bzl
-+++ b/tensorflow/workspace.bzl
-@@ -278,6 +278,7 @@ def tf_workspace(path_prefix = "", tf_repo_name = ""):
- tf_http_archive(
- name = "astor_archive",
- build_file = clean_dep("//third_party:astor.BUILD"),
-+ patch_file = clean_dep("//third_party/systemlibs:0001-Don-t-use-async-as-a-keyword-argument-94.patch"),
- sha256 = "ff6d2e2962d834acb125cc4dcc80c54a8c17c253f4cc9d9c43b5102a560bb75d",
- strip_prefix = "astor-0.6.2",
- system_build_file = clean_dep("//third_party/systemlibs:astor.BUILD"),
-diff --git a/third_party/systemlibs/0001-Don-t-use-async-as-a-keyword-argument-94.patch b/third_party/systemlibs/0001-Don-t-use-async-as-a-keyword-argument-94.patch
-new file mode 100644
-index 0000000..aafb172
---- /dev/null
-+++ b/third_party/systemlibs/0001-Don-t-use-async-as-a-keyword-argument-94.patch
-@@ -0,0 +1,79 @@
-+From fe1ef7f9d746847c157197e4cb2ab6505fe19faf Mon Sep 17 00:00:00 2001
-+From: Berker Peksag <berker.peksag@gmail.com>
-+Date: Fri, 23 Mar 2018 16:50:21 +0300
-+Subject: [PATCH] Don't use 'async' as a keyword argument (#94)
-+
-+Fixes #86
-+
-+Upstream-Status: Backport[https://github.com/berkerpeksag/astor.git]
-+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-+---
-+ astor/code_gen.py | 18 +++++++++---------
-+ 1 file changed, 9 insertions(+), 9 deletions(-)
-+
-+diff --git a/astor/code_gen.py b/astor/code_gen.py
-+index 7c27f70..47d6acc 100644
-+--- a/astor/code_gen.py
-++++ b/astor/code_gen.py
-+@@ -308,8 +308,8 @@ class SourceGenerator(ExplicitNodeVisitor):
-+ self.statement(node)
-+ self.generic_visit(node)
-+
-+- def visit_FunctionDef(self, node, async=False):
-+- prefix = 'async ' if async else ''
-++ def visit_FunctionDef(self, node, is_async=False):
-++ prefix = 'async ' if is_async else ''
-+ self.decorators(node, 1 if self.indentation else 2)
-+ self.statement(node, '%sdef %s' % (prefix, node.name), '(')
-+ self.visit_arguments(node.args)
-+@@ -322,7 +322,7 @@ class SourceGenerator(ExplicitNodeVisitor):
-+
-+ # introduced in Python 3.5
-+ def visit_AsyncFunctionDef(self, node):
-+- self.visit_FunctionDef(node, async=True)
-++ self.visit_FunctionDef(node, is_async=True)
-+
-+ def visit_ClassDef(self, node):
-+ have_args = []
-+@@ -364,24 +364,24 @@ class SourceGenerator(ExplicitNodeVisitor):
-+ self.else_body(else_)
-+ break
-+
-+- def visit_For(self, node, async=False):
-++ def visit_For(self, node, is_async=False):
-+ set_precedence(node, node.target)
-+- prefix = 'async ' if async else ''
-++ prefix = 'async ' if is_async else ''
-+ self.statement(node, '%sfor ' % prefix,
-+ node.target, ' in ', node.iter, ':')
-+ self.body_or_else(node)
-+
-+ # introduced in Python 3.5
-+ def visit_AsyncFor(self, node):
-+- self.visit_For(node, async=True)
-++ self.visit_For(node, is_async=True)
-+
-+ def visit_While(self, node):
-+ set_precedence(node, node.test)
-+ self.statement(node, 'while ', node.test, ':')
-+ self.body_or_else(node)
-+
-+- def visit_With(self, node, async=False):
-+- prefix = 'async ' if async else ''
-++ def visit_With(self, node, is_async=False):
-++ prefix = 'async ' if is_async else ''
-+ self.statement(node, '%swith ' % prefix)
-+ if hasattr(node, "context_expr"): # Python < 3.3
-+ self.visit_withitem(node)
-+@@ -392,7 +392,7 @@ class SourceGenerator(ExplicitNodeVisitor):
-+
-+ # new for Python 3.5
-+ def visit_AsyncWith(self, node):
-+- self.visit_With(node, async=True)
-++ self.visit_With(node, is_async=True)
-+
-+ # new for Python 3.3
-+ def visit_withitem(self, node):
-+--
-+2.7.4
-+
---
-2.7.4
-
diff --git a/recipes-framework/tensorflow/files/0001-add-yocto-toolchain-to-support-cross-compiling.patch b/recipes-framework/tensorflow/files/0001-add-yocto-toolchain-to-support-cross-compiling.patch
index 5fa5f91..8b42572 100644
--- a/recipes-framework/tensorflow/files/0001-add-yocto-toolchain-to-support-cross-compiling.patch
+++ b/recipes-framework/tensorflow/files/0001-add-yocto-toolchain-to-support-cross-compiling.patch
@@ -1,6 +1,6 @@
-From dd303f745d159a2359c81922a2171a409998a71d Mon Sep 17 00:00:00 2001
+From d4d9365e0731afcfbc3a07bb97a689bf7da81151 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 31 Jan 2019 20:37:26 +0800
+Date: Wed, 9 Dec 2020 09:41:10 +0800
Subject: [PATCH] add yocto toolchain to support cross compiling

Upstream-Status: Inappropriate [oe specific]
@@ -15,12 +15,12 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
5 files changed, 27 insertions(+)

diff --git a/WORKSPACE b/WORKSPACE
-index 7057d3f..869c180 100644
+index 9db1d9b80eb..6aa952642f2 100644
--- a/WORKSPACE
+++ b/WORKSPACE
-@@ -53,6 +53,12 @@ android_configure(name="local_config_android")
- load("@local_config_android//:android.bzl", "android_workspace")
- android_workspace()
+@@ -12,6 +12,12 @@ http_archive(
+ ],
+ )

+new_local_repository(
+ name = "yocto_compiler",
@@ -28,17 +28,18 @@ index 7057d3f..869c180 100644
+ build_file = "//:BUILD.yocto_compiler",
+)
+
- # Please add all new TensorFlow dependencies in workspace.bzl.
- tf_workspace()
-
+ # Load tf_repositories() before loading dependencies for other repository so
+ # that dependencies like com_google_protobuf won't be overridden.
+ load("//tensorflow:workspace.bzl", "tf_repositories")
diff --git a/tensorflow/BUILD b/tensorflow/BUILD
-index 823ad8f..6270301 100644
+index 56b33a493fc..85e172afa03 100644
--- a/tensorflow/BUILD
+++ b/tensorflow/BUILD
-@@ -100,6 +100,15 @@ config_setting(
+@@ -125,6 +125,15 @@ config_setting(
+ visibility = ["//visibility:public"],
)

- config_setting(
++config_setting(
+ name = "yocto_armeabi",
+ values = {
+ "crosstool_top": "@local_config_yocto_compiler//:toolchain",
@@ -47,24 +48,23 @@ index 823ad8f..6270301 100644
+ visibility = ["//visibility:public"],
+)
+
-+config_setting(
+ config_setting(
name = "android_arm",
values = {
- "crosstool_top": "//external:android/crosstool",
diff --git a/tensorflow/workspace.bzl b/tensorflow/workspace.bzl
-index aefab03..12c6fab 100755
+index a6ea0094dde..f6c47187c54 100755
--- a/tensorflow/workspace.bzl
+++ b/tensorflow/workspace.bzl
-@@ -12,6 +12,7 @@ load("//third_party/sycl:sycl_configure.bzl", "sycl_configure")
- load("//third_party/systemlibs:syslibs_configure.bzl", "syslibs_configure")
+@@ -10,6 +10,7 @@ load("//third_party/systemlibs:syslibs_configure.bzl", "syslibs_configure")
+ load("//third_party/toolchains/remote:configure.bzl", "remote_execution_configure")
load("//third_party/toolchains/clang6:repo.bzl", "clang6_configure")
load("//third_party/toolchains/cpus/arm:arm_compiler_configure.bzl", "arm_compiler_configure")
+load("//third_party/toolchains/yocto:yocto_compiler_configure.bzl", "yocto_compiler_configure")
+ load("//third_party/toolchains/embedded/arm-linux:arm_linux_toolchain_configure.bzl", "arm_linux_toolchain_configure")
load("//third_party:repo.bzl", "tf_http_archive")
load("//third_party/clang_toolchain:cc_configure_clang.bzl", "cc_download_clang_toolchain")
- load("@io_bazel_rules_closure//closure/private:java_import_external.bzl", "java_import_external")
-@@ -76,6 +77,13 @@ def tf_workspace(path_prefix = "", tf_repo_name = ""):
- remote_config_repo = "../arm_compiler",
+@@ -116,6 +117,13 @@ def tf_repositories(path_prefix = "", tf_repo_name = ""):
+ remote_config_repo_aarch64 = "../aarch64_compiler",
)

+ # Point //external/local_config_yocto_compiler to //external/yocto_compiler
@@ -74,25 +74,25 @@ index aefab03..12c6fab 100755
+ remote_config_repo = "../yocto_compiler",
+ )
+
- mkl_repository(
- name = "mkl_linux",
- build_file = clean_dep("//third_party/mkl:mkl.BUILD"),
+ # TFLite crossbuild toolchain for embeddeds Linux
+ arm_linux_toolchain_configure(
+ name = "local_config_embedded_arm",
diff --git a/third_party/aws/BUILD.bazel b/third_party/aws/BUILD.bazel
-index 5426f79..b106b12 100644
+index d9e40703caa..e1058edaba4 100644
--- a/third_party/aws/BUILD.bazel
+++ b/third_party/aws/BUILD.bazel
-@@ -24,6 +24,9 @@ cc_library(
- "@org_tensorflow//tensorflow:raspberry_pi_armeabi": glob([
+@@ -30,6 +30,9 @@ cc_library(
+ "@org_tensorflow//tensorflow:freebsd": glob([
"aws-cpp-sdk-core/source/platform/linux-shared/*.cpp",
]),
+ "@org_tensorflow//tensorflow:yocto_armeabi": glob([
+ "aws-cpp-sdk-core/source/platform/linux-shared/*.cpp",
+ ]),
"//conditions:default": [],
- }) + glob([
- "aws-cpp-sdk-core/include/**/*.h",
+ }) + select({
+ "//conditions:default": glob([
diff --git a/third_party/repo.bzl b/third_party/repo.bzl
-index bad6d20..9823cab 100644
+index ef729b5223d..39ec07eb328 100644
--- a/third_party/repo.bzl
+++ b/third_party/repo.bzl
@@ -16,6 +16,7 @@
@@ -104,5 +104,5 @@ index bad6d20..9823cab 100644

def _is_windows(ctx):
--
-2.7.4
+2.18.2

diff --git a/recipes-framework/tensorflow/files/0001-fix-build-tensorflow-lite-examples-label_image-label.patch b/recipes-framework/tensorflow/files/0001-fix-build-tensorflow-lite-examples-label_image-label.patch
index ba40d51..10b25bd 100644
--- a/recipes-framework/tensorflow/files/0001-fix-build-tensorflow-lite-examples-label_image-label.patch
+++ b/recipes-framework/tensorflow/files/0001-fix-build-tensorflow-lite-examples-label_image-label.patch
@@ -1,6 +1,6 @@
-From 1930f8aabbfe00debd2914f759cb5ac263215d49 Mon Sep 17 00:00:00 2001
+From 6b0a33d63954991637903028af4cfdd9a59cff0b Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Sun, 24 Feb 2019 03:33:00 -0500
+Date: Wed, 9 Dec 2020 09:47:49 +0800
Subject: [PATCH] fix build //tensorflow/lite/examples/label_image:label_image
failure

@@ -16,37 +16,35 @@ Upstream-Status: Inappropriate [oe specific]

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
- tensorflow/lite/kernels/internal/BUILD | 10 ++++++++++
- 1 file changed, 10 insertions(+)
+ tensorflow/lite/kernels/internal/BUILD | 8 ++++++++
+ 1 file changed, 8 insertions(+)

diff --git a/tensorflow/lite/kernels/internal/BUILD b/tensorflow/lite/kernels/internal/BUILD
-index 4be3226..959a9f0 100644
+index 94135c6adbe..9a07177e93a 100644
--- a/tensorflow/lite/kernels/internal/BUILD
+++ b/tensorflow/lite/kernels/internal/BUILD
-@@ -93,6 +93,13 @@ config_setting(
+@@ -116,6 +116,13 @@ config_setting(
+ },
)

- config_setting(
++config_setting(
+ name = "armeabi",
+ values = {
+ "cpu": "armeabi",
+ },
+)
+
-+config_setting(
+ config_setting(
name = "haswell",
values = {
- "cpu": "haswell",
-@@ -504,6 +511,9 @@ cc_library(
- ":armeabi-v7a": [
- ":neon_tensor_utils",
- ],
-+ ":armeabi": [
-+ ":neon_tensor_utils",
-+ ],
- ":armv7a": [
- ":neon_tensor_utils",
- ],
+@@ -772,6 +779,7 @@ cc_library(
+ ":arm",
+ ":arm64-v8a",
+ ":armeabi-v7a",
++ ":armeabi",
+ ":armhf",
+ ":armv7a",
+ ":ios_armv7",
--
-2.8.1
+2.18.2

diff --git a/recipes-framework/tensorflow/files/0001-fix-compilation-error.patch b/recipes-framework/tensorflow/files/0001-fix-compilation-error.patch
deleted file mode 100644
index 995b83b..0000000
--- a/recipes-framework/tensorflow/files/0001-fix-compilation-error.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From c1d33029372d7b4d3b5cc1d52d92c414c97ca763 Mon Sep 17 00:00:00 2001
-From: Chen Qi <Qi.Chen@windriver.com>
-Date: Fri, 21 Feb 2020 11:45:04 +0800
-Subject: [PATCH] fix compilation error
-
-This fix references https://github.com/tensorflow/tensorflow/issues/34197.
-
-Upstream-Status: Pending
-
-Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
----
- tensorflow/python/eager/pywrap_tfe_src.cc | 2 +-
- tensorflow/python/lib/core/bfloat16.cc | 2 +-
- tensorflow/python/lib/core/ndarray_tensor_bridge.cc | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/tensorflow/python/eager/pywrap_tfe_src.cc b/tensorflow/python/eager/pywrap_tfe_src.cc
-index 9ce500bc08..6c6cb215f2 100644
---- a/tensorflow/python/eager/pywrap_tfe_src.cc
-+++ b/tensorflow/python/eager/pywrap_tfe_src.cc
-@@ -1216,7 +1216,7 @@ static PyTypeObject TFE_Py_Tape_Type = {
- sizeof(TFE_Py_Tape), /* tp_basicsize */
- 0, /* tp_itemsize */
- &TFE_Py_Tape_Delete, /* tp_dealloc */
-- nullptr, /* tp_print */
-+ NULL, /* tp_print */
- nullptr, /* tp_getattr */
- nullptr, /* tp_setattr */
- nullptr, /* tp_reserved */
-diff --git a/tensorflow/python/lib/core/bfloat16.cc b/tensorflow/python/lib/core/bfloat16.cc
-index fde3a83770..9b8fa97958 100644
---- a/tensorflow/python/lib/core/bfloat16.cc
-+++ b/tensorflow/python/lib/core/bfloat16.cc
-@@ -317,7 +317,7 @@ PyTypeObject PyBfloat16_Type = {
- sizeof(PyBfloat16), // tp_basicsize
- 0, // tp_itemsize
- nullptr, // tp_dealloc
-- nullptr, // tp_print
-+ NULL, // tp_print
- nullptr, // tp_getattr
- nullptr, // tp_setattr
- nullptr, // tp_compare / tp_reserved
-diff --git a/tensorflow/python/lib/core/ndarray_tensor_bridge.cc b/tensorflow/python/lib/core/ndarray_tensor_bridge.cc
-index 0d5838505f..50c1f885f4 100644
---- a/tensorflow/python/lib/core/ndarray_tensor_bridge.cc
-+++ b/tensorflow/python/lib/core/ndarray_tensor_bridge.cc
-@@ -86,7 +86,7 @@ PyTypeObject TensorReleaserType = {
- 0, /* tp_itemsize */
- /* methods */
- TensorReleaser_dealloc, /* tp_dealloc */
-- nullptr, /* tp_print */
-+ NULL, /* tp_print */
- nullptr, /* tp_getattr */
- nullptr, /* tp_setattr */
- nullptr, /* tp_compare */
---
-2.17.1
-
diff --git a/recipes-framework/tensorflow/files/0001-label_image.lite-tweak-default-model-location.patch b/recipes-framework/tensorflow/files/0001-label_image.lite-tweak-default-model-location.patch
index 9185c54..597021a 100644
--- a/recipes-framework/tensorflow/files/0001-label_image.lite-tweak-default-model-location.patch
+++ b/recipes-framework/tensorflow/files/0001-label_image.lite-tweak-default-model-location.patch
@@ -1,32 +1,35 @@
-From 6d519e53de0a47cebb72111608f7424d7585c6bb Mon Sep 17 00:00:00 2001
+From dd73bef88a23d29299bc6e2f3c892ed81d65a86c Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Tue, 5 Mar 2019 22:06:34 -0500
+Date: Wed, 9 Dec 2020 09:53:30 +0800
Subject: [PATCH] label_image.lite: tweak default model location

Upstream-Status: Inappropriate [oe specific]

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
- tensorflow/lite/examples/label_image/label_image.h | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
+ tensorflow/lite/examples/label_image/label_image.h | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/tensorflow/lite/examples/label_image/label_image.h b/tensorflow/lite/examples/label_image/label_image.h
-index 88b047f..c541fec 100644
+index 1c00edb6558..a5bcf8c64d8 100644
--- a/tensorflow/lite/examples/label_image/label_image.h
+++ b/tensorflow/lite/examples/label_image/label_image.h
-@@ -29,9 +29,9 @@ struct Settings {
+@@ -34,10 +34,12 @@ struct Settings {
int loop_count = 1;
float input_mean = 127.5f;
float input_std = 127.5f;
- string model_name = "./mobilenet_quant_v1_224.tflite";
++ string model_name = "/usr/share/label_image/mobilenet_v1_1.0_224_quant.tflite";
+ tflite::FlatBufferModel* model;
- string input_bmp_name = "./grace_hopper.bmp";
- string labels_file_name = "./labels.txt";
-+ string model_name = "/usr/share/label_image/mobilenet_v1_1.0_224_quant.tflite";
+ string input_bmp_name = "/usr/share/label_image/grace_hopper.bmp";
+ string labels_file_name = "/usr/share/label_image/labels_mobilenet_quant_v1_224.txt";
- string input_layer_type = "uint8_t";
++
++
int number_of_threads = 4;
int number_of_results = 5;
+ int max_profiling_buffer_entries = 1024;
--
-2.8.1
+2.18.2

diff --git a/recipes-framework/tensorflow/files/0001-support-musl.patch b/recipes-framework/tensorflow/files/0001-support-musl.patch
index f76041b..355b0cb 100644
--- a/recipes-framework/tensorflow/files/0001-support-musl.patch
+++ b/recipes-framework/tensorflow/files/0001-support-musl.patch
@@ -1,6 +1,6 @@
-From 02e58aa624aa6c330984474b9119c6b29a1ed77d Mon Sep 17 00:00:00 2001
+From a37010bee0ef08a2b42c10fc6ca1f3bd793b0e6a Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Thu, 14 Feb 2019 10:26:27 -0500
+Date: Tue, 8 Dec 2020 17:06:52 +0800
Subject: [PATCH] support musl

Build fails looking for `execinfo.h` when building against musl
@@ -10,40 +10,41 @@ Build fails looking for `execinfo.h` when building against musl
execinfo.h: No such file or directory

Upstream-Status: Pending
+
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
- tensorflow/core/platform/default/stacktrace.h | 3 ++-
- tensorflow/core/platform/stacktrace_handler.cc | 3 ++-
+ tensorflow/core/platform/default/stacktrace.h | 3 ++-
+ tensorflow/core/platform/default/stacktrace_handler.cc | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/tensorflow/core/platform/default/stacktrace.h b/tensorflow/core/platform/default/stacktrace.h
-index c8e297f..8fecf05 100644
+index 0a8c124ff51..db7945611d3 100644
--- a/tensorflow/core/platform/default/stacktrace.h
+++ b/tensorflow/core/platform/default/stacktrace.h
-@@ -18,7 +18,8 @@ limitations under the License.
-
+@@ -20,7 +20,8 @@ limitations under the License.
#include "tensorflow/core/platform/platform.h"
- #if !defined(IS_MOBILE_PLATFORM) && defined(PLATFORM_POSIX) && \
-- (defined(__clang__) || defined(__GNUC__))
-+ (defined(__clang__) || defined(__GNUC__)) && \
+ // clang-format on
+
+-#if !defined(IS_MOBILE_PLATFORM) && (defined(__clang__) || defined(__GNUC__))
++#if !defined(IS_MOBILE_PLATFORM) && (defined(__clang__) || defined(__GNUC__)) && \
+ defined(__GLIBC__)
- #define TF_GENERATE_BACKTRACE
+ #define TF_HAS_STACKTRACE
#endif

-diff --git a/tensorflow/core/platform/stacktrace_handler.cc b/tensorflow/core/platform/stacktrace_handler.cc
-index ff31c97..41d62f7 100644
---- a/tensorflow/core/platform/stacktrace_handler.cc
-+++ b/tensorflow/core/platform/stacktrace_handler.cc
+diff --git a/tensorflow/core/platform/default/stacktrace_handler.cc b/tensorflow/core/platform/default/stacktrace_handler.cc
+index 70fcdc27042..f38fe71c917 100644
+--- a/tensorflow/core/platform/default/stacktrace_handler.cc
++++ b/tensorflow/core/platform/default/stacktrace_handler.cc
@@ -16,7 +16,8 @@ limitations under the License.
#include "tensorflow/core/platform/platform.h"

- #if !defined(PLATFORM_GOOGLE) && !defined(IS_MOBILE_PLATFORM) && \
-- defined(PLATFORM_POSIX) && (defined(__clang__) || defined(__GNUC__))
-+ defined(PLATFORM_POSIX) && (defined(__clang__) || defined(__GNUC__)) && \
+ #if !defined(IS_MOBILE_PLATFORM) && defined(PLATFORM_POSIX) && \
+- (defined(__clang__) || defined(__GNUC__))
++ (defined(__clang__) || defined(__GNUC__)) && \
+ defined(__GLIBC__)
#define TF_GENERATE_STACKTRACE
#endif

--
-2.8.1
+2.18.2

diff --git a/recipes-framework/tensorflow/files/0001-third_party-eigen_archive-workaround-ice-failure-whi.patch b/recipes-framework/tensorflow/files/0001-third_party-eigen_archive-workaround-ice-failure-whi.patch
index 354e988..5b6c292 100644
--- a/recipes-framework/tensorflow/files/0001-third_party-eigen_archive-workaround-ice-failure-whi.patch
+++ b/recipes-framework/tensorflow/files/0001-third_party-eigen_archive-workaround-ice-failure-whi.patch
@@ -1,6 +1,6 @@
-From dc5a05a06ad107141a9914635cd96bf7d60b9c25 Mon Sep 17 00:00:00 2001
+From 66ce33e48d8e48743d923fe2c152079604c9c386 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Mon, 6 Apr 2020 16:09:01 +0800
+Date: Tue, 8 Dec 2020 17:42:01 +0800
Subject: [PATCH] third_party/eigen_archive:workaround ice failure while
building from source with gcc 7.3.1

@@ -14,34 +14,46 @@ Upstream-Status: Inappropriate [wr-installer specific]

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
- tensorflow/workspace.bzl | 1 +
- ...ailure-while-building-from-source-wi.patch | 38 +++++++++++++++++++
- 2 files changed, 39 insertions(+)
- create mode 100644 third_party/systemlibs/0001-workaround-ice-failure-while-building-from-source-wi.patch
+ third_party/eigen3/gpu_packet_math.patch | 97 +++++++++++++++++-------
+ 1 file changed, 70 insertions(+), 27 deletions(-)

-diff --git a/tensorflow/workspace.bzl b/tensorflow/workspace.bzl
-index 66679e686d..983f6a19b4 100755
---- a/tensorflow/workspace.bzl
-+++ b/tensorflow/workspace.bzl
-@@ -138,6 +138,7 @@ def tf_workspace(path_prefix = "", tf_repo_name = ""):
- build_file = clean_dep("//third_party:eigen.BUILD"),
- sha256 = "753fbb58d0a49b6bcbcfb126ebfa2e21fc97f7471529ba835a096008ce588d8a",
- strip_prefix = "eigen-eigen-9f48e814419e",
-+ patch_file = clean_dep("//third_party/systemlibs:0001-workaround-ice-failure-while-building-from-source-wi.patch"),
- urls = [
- "https://mirror.bazel.build/bitbucket.org/eigen/eigen/get/9f48e814419e.tar.gz",
- "https://bitbucket.org/eigen/eigen/get/9f48e814419e.tar.gz",
-diff --git a/third_party/systemlibs/0001-workaround-ice-failure-while-building-from-source-wi.patch b/third_party/systemlibs/0001-workaround-ice-failure-while-building-from-source-wi.patch
-new file mode 100644
-index 0000000000..d6c06b61e6
---- /dev/null
-+++ b/third_party/systemlibs/0001-workaround-ice-failure-while-building-from-source-wi.patch
-@@ -0,0 +1,38 @@
-+From c6748051ee8a5526801ce2070856061eb82ebe12 Mon Sep 17 00:00:00 2001
+diff --git a/third_party/eigen3/gpu_packet_math.patch b/third_party/eigen3/gpu_packet_math.patch
+index c0f466c24d3..9ebced7be41 100644
+--- a/third_party/eigen3/gpu_packet_math.patch
++++ b/third_party/eigen3/gpu_packet_math.patch
+@@ -1,32 +1,30 @@
+-diff -ru a/Eigen/src/Geometry/arch/Geometry_SSE.h b/Eigen/src/Geometry/arch/Geometry_SSE.h
+---- a/Eigen/src/Geometry/arch/Geometry_SSE.h
+-+++ b/Eigen/src/Geometry/arch/Geometry_SSE.h
+-@@ -33,13 +33,14 @@
+- Packet4f b = be.template packet<BAlignment,Packet4f>(0);
+- Packet4f s1 = pmul(vec4f_swizzle1(a,1,2,0,2),vec4f_swizzle1(b,2,0,1,2));
+- Packet4f s2 = pmul(vec4f_swizzle1(a,3,3,3,1),vec4f_swizzle1(b,0,1,2,1));
+-- pstoret<float,Packet4f,ResAlignment>(
+-- &res.x(),
+-- padd(psub(pmul(a,vec4f_swizzle1(b,3,3,3,3)),
+-- pmul(vec4f_swizzle1(a,2,0,1,0),
+-- vec4f_swizzle1(b,1,2,0,0))),
+-- pxor(mask,padd(s1,s2))));
+--
+-+ pstoret<float, Packet4f, ResAlignment>(
+-+ &res.x(),
+-+ padd<Packet4f>(
+-+ psub<Packet4f>(pmul<Packet4f>(a, vec4f_swizzle1(b, 3, 3, 3, 3)),
+-+ pmul<Packet4f>(vec4f_swizzle1(a, 2, 0, 1, 0),
+-+ vec4f_swizzle1(b, 1, 2, 0, 0))),
+-+ pxor<Packet4f>(mask, padd(s1, s2))));
+-+
+- return res;
+- }
+- };
+-diff -ru a/Eigen/src/Core/GenericPacketMath.h b/Eigen/src/Core/GenericPacketMath.h
++From 791079e4f45c8ab706c6384b3efde387db09557b Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
-+Date: Mon, 6 Apr 2020 15:55:21 +0800
-+Subject: [PATCH] workaround ice failure while building from source with gcc
-+ 7.3.1
++Date: Tue, 8 Dec 2020 17:32:22 +0800
++Subject: [PATCH] 1. gpu_packet_math
++
++2. workaround ice failure while building from source with gcc 7.3.1
+
+The root cause is gcc ice issue:
+https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89752
@@ -53,14 +65,55 @@ index 0000000000..d6c06b61e6
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
-+ unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h | 4 +++-
-+ 1 file changed, 3 insertions(+), 1 deletion(-)
++ Eigen/src/Core/GenericPacketMath.h | 46 ++++++++-----------
++ Eigen/src/Geometry/arch/Geometry_SSE.h | 15 +++---
++ .../Eigen/CXX11/src/Tensor/TensorReduction.h | 4 +-
++ 3 files changed, 31 insertions(+), 34 deletions(-)
+
++diff --git a/Eigen/src/Core/GenericPacketMath.h b/Eigen/src/Core/GenericPacketMath.h
++index fad9453..d8bbc76 100644
+ --- a/Eigen/src/Core/GenericPacketMath.h
+ +++ b/Eigen/src/Core/GenericPacketMath.h
+-@@ -255,49 +255,43 @@
++@@ -255,49 +255,43 @@ EIGEN_DEVICE_FUNC inline std::complex<RealScalar> ptrue(const std::complex<RealS
+ return std::complex<RealScalar>(b, b);
+ }
+
+@@ -96,3 +94,48 @@ diff -ru a/Eigen/src/Core/GenericPacketMath.h b/Eigen/src/Core/GenericPacketMath
+ }
+
+ /** \internal \returns the bitwise and of \a a and not \a b */
++diff --git a/Eigen/src/Geometry/arch/Geometry_SSE.h b/Eigen/src/Geometry/arch/Geometry_SSE.h
++index 108cc9f..43677f4 100644
++--- a/Eigen/src/Geometry/arch/Geometry_SSE.h
+++++ b/Eigen/src/Geometry/arch/Geometry_SSE.h
++@@ -33,13 +33,14 @@ struct quat_product<Architecture::SSE, Derived, OtherDerived, float>
++ Packet4f b = be.template packet<BAlignment,Packet4f>(0);
++ Packet4f s1 = pmul(vec4f_swizzle1(a,1,2,0,2),vec4f_swizzle1(b,2,0,1,2));
++ Packet4f s2 = pmul(vec4f_swizzle1(a,3,3,3,1),vec4f_swizzle1(b,0,1,2,1));
++- pstoret<float,Packet4f,ResAlignment>(
++- &res.x(),
++- padd(psub(pmul(a,vec4f_swizzle1(b,3,3,3,3)),
++- pmul(vec4f_swizzle1(a,2,0,1,0),
++- vec4f_swizzle1(b,1,2,0,0))),
++- pxor(mask,padd(s1,s2))));
++-
+++ pstoret<float, Packet4f, ResAlignment>(
+++ &res.x(),
+++ padd<Packet4f>(
+++ psub<Packet4f>(pmul<Packet4f>(a, vec4f_swizzle1(b, 3, 3, 3, 3)),
+++ pmul<Packet4f>(vec4f_swizzle1(a, 2, 0, 1, 0),
+++ vec4f_swizzle1(b, 1, 2, 0, 0))),
+++ pxor<Packet4f>(mask, padd(s1, s2))));
+++
++ return res;
++ }
++ };
+diff --git a/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h b/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h
-+index bda1147..e2d7113 100644
++index 0a65591..0b00a31 100644
+--- a/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h
++++ b/unsupported/Eigen/CXX11/src/Tensor/TensorReduction.h
-+@@ -798,8 +798,10 @@ struct TensorEvaluator<const TensorReductionOp<Op, Dims, ArgType, MakePointer_>,
++@@ -815,8 +815,10 @@ struct TensorReductionEvaluatorBase<const TensorReductionOp<Op, Dims, ArgType, M
+ const Index firstIndex = firstInput(index);
+ for (Index i = 0; i < PacketSize; ++i) {
+ Op reducer(m_reducer);
@@ -73,8 +126,8 @@ index 0000000000..d6c06b61e6
+ } else if (PreservingInnerMostDims) {
+ const Index firstIndex = firstInput(index);
+--
-+2.17.1
++2.18.2
+
--
-2.17.1
+2.18.2

diff --git a/recipes-framework/tensorflow/files/0001-use-local-bazel-to-workaround-bazel-paralle-issue.patch b/recipes-framework/tensorflow/files/0001-use-local-bazel-to-workaround-bazel-paralle-issue.patch
index 14e8e47..e7b666e 100644
--- a/recipes-framework/tensorflow/files/0001-use-local-bazel-to-workaround-bazel-paralle-issue.patch
+++ b/recipes-framework/tensorflow/files/0001-use-local-bazel-to-workaround-bazel-paralle-issue.patch
@@ -1,6 +1,6 @@
-From ecc7014fe42ac0bc7bc502f2671a8da09c90d6ea Mon Sep 17 00:00:00 2001
+From 71e1fc302b41523aa4852ddf780cb2a42cf03f20 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 13 Mar 2019 17:55:08 +0800
+Date: Tue, 8 Dec 2020 17:11:48 +0800
Subject: [PATCH] use local bazel to workaround bazel paralle issue

Upstream-Status: Inappropriate [oe specific]
@@ -11,18 +11,18 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configure.py b/configure.py
-index 4f8cae2..2121a90 100644
+index b4907775d93..2a85871e52e 100644
--- a/configure.py
+++ b/configure.py
-@@ -454,7 +454,7 @@ def check_bazel_version(min_version, max_version):
- print('Cannot find bazel. Please install bazel.')
- sys.exit(0)
- curr_version = run_shell(
-- ['bazel', '--batch', '--bazelrc=/dev/null', 'version'])
-+ ['../bazel/bazel', '--batch', '--bazelrc=/dev/null', 'version'])
+@@ -480,7 +480,7 @@ def check_bazel_version(min_version, max_version):
+ sys.exit(1)

- for line in curr_version.split('\n'):
- if 'Build label: ' in line:
+ stderr = open(os.devnull, 'wb')
+- curr_version = run_shell(['bazel', '--version'],
++ curr_version = run_shell(['../bazel/bazel', '--version'],
+ allow_non_zero=True,
+ stderr=stderr)
+ if curr_version.startswith('bazel '):
--
-2.7.4
+2.18.2

diff --git a/recipes-framework/tensorflow/tensorflow-native_1.13.0.bb b/recipes-framework/tensorflow/tensorflow-native_2.4.0.bb
similarity index 100%
rename from recipes-framework/tensorflow/tensorflow-native_1.13.0.bb
rename to recipes-framework/tensorflow/tensorflow-native_2.4.0.bb
diff --git a/recipes-framework/tensorflow/tensorflow.inc b/recipes-framework/tensorflow/tensorflow.inc
index a729bdd..cd6518c 100644
--- a/recipes-framework/tensorflow/tensorflow.inc
+++ b/recipes-framework/tensorflow/tensorflow.inc
@@ -1,18 +1,13 @@
DESCRIPTION = "TensorFlow C/C++ Libraries"
LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=01e86893010a1b87e69a213faa753ebd"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=64a34301f8e355f57ec992c2af3e5157"

DEPENDS = "bazel-native protobuf-native util-linux-native protobuf"
-SRCREV = "c8875cbb1341f6ca14dd0ec908f1dde7d67f7808"
-SRC_URI = "git://github.com/tensorflow/tensorflow.git;branch=r1.13 \
- file://0001-SyntaxError-around-async-keyword-on-Python-3.7.patch \
+SRCREV = "97c3fef64ba9937a52af2d72fb4104b6e541d4b2"
+SRC_URI = "git://github.com/tensorflow/tensorflow.git;branch=r2.4 \
file://0001-support-musl.patch \
file://0001-use-local-bazel-to-workaround-bazel-paralle-issue.patch \
- file://0001-fix-compilation-error.patch \
- file://0001-Fix-TensorFlow-on-Python-3.8-logger-issue.patch \
- file://0001-Rename-gettid-functions.patch \
file://0001-third_party-eigen_archive-workaround-ice-failure-whi.patch \
- file://0001-Provide-overload-to-cope-with-const-ness-change-of-N.patch \
"

S = "${WORKDIR}/git"
diff --git a/recipes-framework/tensorflow/tensorflow_1.13.0.bb b/recipes-framework/tensorflow/tensorflow_2.4.0.bb
similarity index 99%
rename from recipes-framework/tensorflow/tensorflow_1.13.0.bb
rename to recipes-framework/tensorflow/tensorflow_2.4.0.bb
index 90b152b..aeb1a80 100644
--- a/recipes-framework/tensorflow/tensorflow_1.13.0.bb
+++ b/recipes-framework/tensorflow/tensorflow_2.4.0.bb
@@ -30,6 +30,7 @@ RDEPENDS_${PN} += " \
python3-grpcio \
python3-absl \
python3-astor \
+ python3-astunparse \
python3-gast \
python3-termcolor \
tensorboard \
--
2.21.0


[meta-tensorflow][PATCH 2/25] bazel-native: 0.21.0 -> 3.1.0

hongxu
 

Rebase patches to 3.1.0:
- 0001-HttpDownloader-save-download-tarball-to-distdir.patch
- 0001-fix-unzip-command-not-found.patch
- 0001-python3.patch

Drop backport patch:
- 0001-Rename-gettid-functions.patch

Tweak options according to [1]
[1] https://docs.bazel.build/versions/master/install-compile-source.html#bootstrap-unix-bootstrap

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
...native_0.21.0.bb => bazel-native_3.1.0.bb} | 7 +-
...der-save-download-tarball-to-distdir.patch | 119 ++++++++++--------
.../files/0001-Rename-gettid-functions.patch | 65 ----------
.../0001-fix-unzip-command-not-found.patch | 20 +--
.../bazel/files/0001-python3.patch | 32 ++---
5 files changed, 95 insertions(+), 148 deletions(-)
rename recipes-devtools/bazel/{bazel-native_0.21.0.bb => bazel-native_3.1.0.bb} (77%)
delete mode 100644 recipes-devtools/bazel/files/0001-Rename-gettid-functions.patch

diff --git a/recipes-devtools/bazel/bazel-native_0.21.0.bb b/recipes-devtools/bazel/bazel-native_3.1.0.bb
similarity index 77%
rename from recipes-devtools/bazel/bazel-native_0.21.0.bb
rename to recipes-devtools/bazel/bazel-native_3.1.0.bb
index f1baa33..f3efde1 100644
--- a/recipes-devtools/bazel/bazel-native_0.21.0.bb
+++ b/recipes-devtools/bazel/bazel-native_3.1.0.bb
@@ -2,12 +2,11 @@ DESCRIPTION = "Bazel build and test tool"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"

-SRC_URI[md5sum] = "8c8240b178a35c0f3c1bc03017550270"
-SRC_URI[sha256sum] = "6ccb831e683179e0cfb351cb11ea297b4db48f9eab987601c038aa0f83037db4"
+SRC_URI[md5sum] = "381ca27503c566ce5e489d1ba07d1d25"
+SRC_URI[sha256sum] = "d7f40d0cac95a06cea6cb5b7f7769085257caebc3ee84269dd9298da760d5615"

SRC_URI = "https://github.com/bazelbuild/bazel/releases/download/${PV}/bazel-${PV}-dist.zip \
file://0001-HttpDownloader-save-download-tarball-to-distdir.patch \
- file://0001-Rename-gettid-functions.patch \
file://0001-fix-unzip-command-not-found.patch \
file://0001-python3.patch \
"
@@ -30,7 +29,7 @@ do_compile () {
export JAVA_HOME="${STAGING_LIBDIR_NATIVE}/jvm/openjdk-8-native"
TMPDIR="${TOPDIR}/bazel" \
VERBOSE=yes \
- EXTRA_BAZEL_ARGS="--distdir=${TS_DL_DIR} --python_path=python3" \
+ EXTRA_BAZEL_ARGS="--host_javabase=@local_jdk//:jdk --python_path=python3" \
./compile.sh
}

diff --git a/recipes-devtools/bazel/files/0001-HttpDownloader-save-download-tarball-to-distdir.patch b/recipes-devtools/bazel/files/0001-HttpDownloader-save-download-tarball-to-distdir.patch
index 605756a..cdc270d 100644
--- a/recipes-devtools/bazel/files/0001-HttpDownloader-save-download-tarball-to-distdir.patch
+++ b/recipes-devtools/bazel/files/0001-HttpDownloader-save-download-tarball-to-distdir.patch
@@ -1,6 +1,6 @@
-From e31a37bc9cb53de5085e885b190652f994209cf6 Mon Sep 17 00:00:00 2001
+From 7225fc4a62a06b654fe7d04a2446a594888a7b8c Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Tue, 23 Apr 2019 05:21:40 -0400
+Date: Tue, 8 Dec 2020 10:58:52 +0800
Subject: [PATCH] HttpDownloader: save download tarball to distdir

It is helpful for collecting tarball url which supports offline build.
@@ -9,62 +9,75 @@ Upstream-Status: Inappropriate [oe specific]

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
- .../repository/downloader/HttpDownloader.java | 50 ++++++++++++++--------
- 1 file changed, 32 insertions(+), 18 deletions(-)
+ .../downloader/DownloadManager.java | 62 ++++++++++++-------
+ 1 file changed, 38 insertions(+), 24 deletions(-)

-diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/HttpDownloader.java b/src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/HttpDownloader.java
-index 18d10d2..cf71ac4 100755
---- a/src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/HttpDownloader.java
-+++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/HttpDownloader.java
-@@ -204,26 +204,29 @@ public class HttpDownloader {
+diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/DownloadManager.java b/src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/DownloadManager.java
+index a89077e..ccaadb3 100755
+--- a/src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/DownloadManager.java
++++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/downloader/DownloadManager.java
+@@ -152,33 +152,36 @@ public class DownloadManager {
+ } else if (!dir.isDirectory()) {
eventHandler.handle(Event.warn("distdir " + dir + " is not a directory"));
} else {
- boolean match = false;
-- Path candidate = dir.getRelative(destination.getBaseName());
-- try {
-- match = RepositoryCache.getChecksum(KeyType.SHA256, candidate).equals(sha256);
-- } catch (IOException e) {
-- // Not finding anything in a distdir is a normal case, so handle it absolutely
-- // quietly. In fact, it is not uncommon to specify a whole list of dist dirs,
-- // with the asumption that only one will contain an entry.
-- }
-- if (match) {
-- if (isCachingByProvidedSha256) {
-- try {
-- repositoryCache.put(sha256, candidate, KeyType.SHA256);
-- } catch (IOException e) {
-- eventHandler.handle(
-- Event.warn("Failed to copy " + candidate + " to repository cache: " + e));
-+ String[] basenames = {destination.getBaseName(), destination.getBaseName()+"_"+sha256};
-+ for (String basename: basenames) {
-+ Path candidate = dir.getRelative(basename);
-+ try {
-+ match = RepositoryCache.getChecksum(KeyType.SHA256, candidate).equals(sha256);
-+ } catch (IOException e) {
-+ // Not finding anything in a distdir is a normal case, so handle it absolutely
-+ // quietly. In fact, it is not uncommon to specify a whole list of dist dirs,
-+ // with the asumption that only one will contain an entry.
-+ }
-+ if (match) {
-+ if (isCachingByProvidedSha256) {
-+ try {
-+ repositoryCache.put(sha256, candidate, KeyType.SHA256);
-+ } catch (IOException e) {
-+ eventHandler.handle(
-+ Event.warn("Failed to copy " + candidate + " to repository cache: " + e));
-+ }
+- for (String name : candidateFileNames) {
++ for (String candidateFileName : candidateFileNames) {
+ boolean match = false;
+- Path candidate = dir.getRelative(name);
+- try {
+- eventHandler.post(
+- new CacheProgress(
+- mainUrl.toString(), "Checking " + cacheKeyType + " of " + candidate));
+- match = RepositoryCache.getChecksum(cacheKeyType, candidate).equals(cacheKey);
+- } catch (IOException e) {
+- // Not finding anything in a distdir is a normal case, so handle it absolutely
+- // quietly. In fact, it is common to specify a whole list of dist dirs,
+- // with the assumption that only one will contain an entry.
+- } finally {
+- eventHandler.post(new CacheProgress(mainUrl.toString()));
+- }
+- if (match) {
+- if (isCachingByProvidedChecksum) {
+- try {
+- repositoryCache.put(cacheKey, candidate, cacheKeyType, canonicalId);
+- } catch (IOException e) {
+- eventHandler.handle(
+- Event.warn("Failed to copy " + candidate + " to repository cache: " + e));
++ String[] names = {candidateFileName, candidateFileName+"_"+cacheKey};
++ for (String name: names) {
++ Path candidate = dir.getRelative(name);
++ try {
++ eventHandler.post(
++ new CacheProgress(
++ mainUrl.toString(), "Checking " + cacheKeyType + " of " + candidate));
++ match = RepositoryCache.getChecksum(cacheKeyType, candidate).equals(cacheKey);
++ } catch (IOException e) {
++ // Not finding anything in a distdir is a normal case, so handle it absolutely
++ // quietly. In fact, it is common to specify a whole list of dist dirs,
++ // with the assumption that only one will contain an entry.
++ } finally {
++ eventHandler.post(new CacheProgress(mainUrl.toString()));
++ }
++ if (match) {
++ if (isCachingByProvidedChecksum) {
++ try {
++ repositoryCache.put(cacheKey, candidate, cacheKeyType, canonicalId);
++ } catch (IOException e) {
++ eventHandler.handle(
++ Event.warn("Failed to copy " + candidate + " to repository cache: " + e));
++ }
+ }
++ FileSystemUtils.createDirectoryAndParents(destination.getParentDirectory());
++ FileSystemUtils.copyFile(candidate, destination);
++ return destination;
}
-+ FileSystemUtils.createDirectoryAndParents(destination.getParentDirectory());
-+ FileSystemUtils.copyFile(candidate, destination);
-+ return destination;
+- FileSystemUtils.createDirectoryAndParents(destination.getParentDirectory());
+- FileSystemUtils.copyFile(candidate, destination);
+- return destination;
}
-- FileSystemUtils.createDirectoryAndParents(destination.getParentDirectory());
-- FileSystemUtils.copyFile(candidate, destination);
-- return destination;
}
}
- }
-@@ -264,6 +267,17 @@ public class HttpDownloader {
+@@ -200,6 +203,17 @@ public class DownloadManager {
eventHandler.handle(Event.info("SHA256 (" + urls.get(0) + ") = " + newSha256));
}

@@ -73,7 +86,7 @@ index 18d10d2..cf71ac4 100755
+ FileSystemUtils.createDirectoryAndParents(dir);
+
+ if (dir.isDirectory()) {
-+ Path dl_mirror = dir.getRelative(destination.getBaseName()+"_"+sha256);
++ Path dl_mirror = dir.getRelative(destination.getBaseName()+"_"+checksum.get().toString());
+ if (!dl_mirror.exists())
+ FileSystemUtils.copyFile(destination, dl_mirror);
+ }
@@ -83,5 +96,5 @@ index 18d10d2..cf71ac4 100755
}

--
-2.8.1
+2.18.2

diff --git a/recipes-devtools/bazel/files/0001-Rename-gettid-functions.patch b/recipes-devtools/bazel/files/0001-Rename-gettid-functions.patch
deleted file mode 100644
index ca37531..0000000
--- a/recipes-devtools/bazel/files/0001-Rename-gettid-functions.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From a0b885aeb95a7ae9e93aea303a1edde74f71edac Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Fri, 3 Apr 2020 10:25:49 +0800
-Subject: [PATCH] Rename gettid() functions.
-
-glibc 2.30 will declare its own gettid; see
-https://sourceware.org/git/?p=glibc.git;a=commit;h=1d0fc213824eaa2a8f8c4385daaa698ee8fb7c92.
-Rename the grpc versions to avoid naming conflicts.
-
-Signed-off-by: Benjamin Peterson <benjamin@dropbox.com>
-Upstream-Status: Backport [https://github.com/grpc/grpc/commit/57586a1ca7f17b1916aed3dea4ff8de872dbf853]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
----
- third_party/grpc/src/core/support/log_linux.c | 4 ++--
- third_party/grpc/src/core/support/log_posix.c | 4 ++--
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/third_party/grpc/src/core/support/log_linux.c b/third_party/grpc/src/core/support/log_linux.c
-index 93a0c1b..367c921 100755
---- a/third_party/grpc/src/core/support/log_linux.c
-+++ b/third_party/grpc/src/core/support/log_linux.c
-@@ -54,7 +54,7 @@
- #include <sys/syscall.h>
- #include <unistd.h>
-
--static long gettid(void) { return syscall(__NR_gettid); }
-+static long sys_gettid(void) { return syscall(__NR_gettid); }
-
- void gpr_log(const char *file, int line, gpr_log_severity severity,
- const char *format, ...) {
-@@ -95,7 +95,7 @@ void gpr_default_log(gpr_log_func_args *args) {
-
- gpr_asprintf(&prefix, "%s%s.%09d %7tu %s:%d]",
- gpr_log_severity_string(args->severity), time_buffer,
-- (int)(now.tv_nsec), gettid(), display_file, args->line);
-+ (int)(now.tv_nsec), sys_gettid(), display_file, args->line);
-
- fprintf(stderr, "%-60s %s\n", prefix, args->message);
- gpr_free(prefix);
-diff --git a/third_party/grpc/src/core/support/log_posix.c b/third_party/grpc/src/core/support/log_posix.c
-index 3ff171f..f0420a7 100755
---- a/third_party/grpc/src/core/support/log_posix.c
-+++ b/third_party/grpc/src/core/support/log_posix.c
-@@ -45,7 +45,7 @@
- #include <time.h>
- #include <pthread.h>
-
--static intptr_t gettid(void) { return (intptr_t)pthread_self(); }
-+static intptr_t sys_gettid(void) { return (intptr_t)pthread_self(); }
-
- void gpr_log(const char *file, int line, gpr_log_severity severity,
- const char *format, ...) {
-@@ -95,7 +95,7 @@ void gpr_default_log(gpr_log_func_args *args) {
-
- fprintf(stderr, "%s%s.%09d %7tu %s:%d] %s\n",
- gpr_log_severity_string(args->severity), time_buffer,
-- (int)(now.tv_nsec), gettid(), display_file, args->line,
-+ (int)(now.tv_nsec), sys_gettid(), display_file, args->line,
- args->message);
- }
-
---
-2.17.1
-
diff --git a/recipes-devtools/bazel/files/0001-fix-unzip-command-not-found.patch b/recipes-devtools/bazel/files/0001-fix-unzip-command-not-found.patch
index 9fc7f03..eccc34a 100644
--- a/recipes-devtools/bazel/files/0001-fix-unzip-command-not-found.patch
+++ b/recipes-devtools/bazel/files/0001-fix-unzip-command-not-found.patch
@@ -1,6 +1,6 @@
-From e00e75dc8bc3c1153633e1ba7cb98a0a58658e86 Mon Sep 17 00:00:00 2001
+From 23e2aff67a03127572641c7286e306c2a20990e2 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Sat, 4 Apr 2020 12:48:01 +0800
+Date: Tue, 8 Dec 2020 11:05:13 +0800
Subject: [PATCH] fix unzip: command not found

If host does not provide unzip, build bazel will fail even though
@@ -18,18 +18,18 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java
-index fc4aad75..e1686732 100755
+index 16252df..e7cd609 100755
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/BazelRuleClassProvider.java
-@@ -420,7 +420,7 @@ public class BazelRuleClassProvider {
- // from the local machine. For now, this can be overridden with --action_env=PATH=<value>, so
- // at least there's a workaround.
- if (os != OS.WINDOWS) {
-- return "/bin:/usr/bin";
+@@ -469,7 +469,7 @@ public class BazelRuleClassProvider {
+ // Note that --action_env does not propagate to the host config, so it is not a viable
+ // workaround when a genrule is itself built in the host config (e.g. nested genrules). See
+ // #8536.
+- return "/bin:/usr/bin:/usr/local/bin";
+ return System.getenv("PATH");
}

- // Attempt to compute the MSYS root (the real Windows path of "/") from `sh`.
+ String newPath = "";
--
-2.17.1
+2.18.2

diff --git a/recipes-devtools/bazel/files/0001-python3.patch b/recipes-devtools/bazel/files/0001-python3.patch
index 50eaaf4..93eee2d 100644
--- a/recipes-devtools/bazel/files/0001-python3.patch
+++ b/recipes-devtools/bazel/files/0001-python3.patch
@@ -1,6 +1,6 @@
-From f3dcad42a53e78efdb87adbc98121dc66b53ec5f Mon Sep 17 00:00:00 2001
+From e43263d6163f7ba1622b268e93635bf42493f758 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Sun, 5 Apr 2020 23:40:31 +0800
+Date: Tue, 8 Dec 2020 11:09:44 +0800
Subject: [PATCH] set python3 interpreter

Since many distrobution choose python3, and drop python2,
@@ -20,28 +20,28 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java b/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java
-index 0ff5d15..997cfc9 100755
+index 2c0ae4d..ae39cc9 100755
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/python/BazelPythonSemantics.java
-@@ -185,7 +185,7 @@ public class BazelPythonSemantics implements PythonSemantics {
- .addOutput(executable)
- .setShellCommand(
- shExecutable,
-- "echo '#!/usr/bin/env python' | cat - "
-+ "echo '#!/usr/bin/env python3' | cat - "
- + zipFile.getExecPathString()
- + " > "
- + executable.getExecPathString())
+@@ -237,7 +237,7 @@ public class BazelPythonSemantics implements PythonSemantics {
+ PathFragment shExecutable = ShToolchain.getPathOrError(ruleContext);
+ // TODO(#8685): Remove this special-case handling as part of making the proper shebang a
+ // property of the Python toolchain configuration.
+- String pythonExecutableName = OS.getCurrent() == OS.OPENBSD ? "python3" : "python";
++ String pythonExecutableName = OS.getCurrent() == OS.OPENBSD ? "python3" : "python3";
+ ruleContext.registerAction(
+ new SpawnAction.Builder()
+ .addInput(zipFile)
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt b/src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt
-index 129ce90..959e3a5 100755
+index 59c00e8..31d29a4 100755
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/python/python_stub_template.txt
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/env python3

- import os
- import re
+ from __future__ import absolute_import
+ from __future__ import division
--
-2.17.1
+2.18.2

--
2.21.0


[meta-tensorflow][PATCH 1/25] openjdk-8-native: 212b04 -> 275b01

hongxu
 

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
...njdk-8-native_212b04.bb => openjdk-8-native_275b01.bb} | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
rename recipes-devtools/openjdk/{openjdk-8-native_212b04.bb => openjdk-8-native_275b01.bb} (78%)

diff --git a/recipes-devtools/openjdk/openjdk-8-native_212b04.bb b/recipes-devtools/openjdk/openjdk-8-native_275b01.bb
similarity index 78%
rename from recipes-devtools/openjdk/openjdk-8-native_212b04.bb
rename to recipes-devtools/openjdk/openjdk-8-native_275b01.bb
index 788612a..dcc1780 100644
--- a/recipes-devtools/openjdk/openjdk-8-native_212b04.bb
+++ b/recipes-devtools/openjdk/openjdk-8-native_275b01.bb
@@ -3,13 +3,13 @@ builds using source code from OpenJDK project"
LICENSE = "GPL-2.0-with-classpath-exception"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3e0b59f8fac05c3c03d4a26bbda13f8f"

-SRC_URI[md5sum] = "8082ad8dafec378f2a4b24cbfdb4a9a4"
-SRC_URI[sha256sum] = "ef6a3050a1c3477a6e13c24d10ab36decad548649a260559d466467401db15de"
+SRC_URI[md5sum] = "52c1f769ab67b58b4300713fb5d46a47"
+SRC_URI[sha256sum] = "fccaa6cc14571813dbb427ac08d5acd034782a2654e6090ad4d63e7200011ac4"
SRC_URI = " \
- https://github.com/ojdkbuild/contrib_jdk8u-ci/releases/download/jdk8u212-b04/jdk-8u212-ojdkbuild-linux-x64.zip \
+ https://github.com/ojdkbuild/contrib_jdk8u-ci/releases/download/jdk8u275-b01/jdk-8u275-ojdkbuild-linux-x64.zip \
"

-S = "${WORKDIR}/jdk-8u212-ojdkbuild-linux-x64"
+S = "${WORKDIR}/jdk-8u275-ojdkbuild-linux-x64"

do_patch[noexec] = "1"
do_configure[noexec] = "1"
--
2.21.0


Review request 0/25:[meta-tensorflow] upgrade tensorflow 1.13.1 -> 2.4.0.rc4

hongxu
 

# Build and Run
## 1. Clone away
```
$ mkdir <ts-project>
$ cd <ts-project>
$ git clone git://git.yoctoproject.org/meta-tensorflow
$ git clone git://git.openembedded.org/meta-openembedded
$ git clone git://git.openembedded.org/openembedded-core oe-core
$ cd oe-core
$ git clone git://git.openembedded.org/bitbake
```

## 2. Prepare build
```
$ . <ts-project>/oe-core/oe-init-build-env <build>

# Build qemux86-64 which runqemu supports kvm.
$ echo 'MACHINE = "qemux86-64"' >> conf/local.conf

$ echo 'IMAGE_INSTALL_append = " tensorflow"' >> conf/local.conf

Edit conf/bblayers.conf to include other layers
BBLAYERS ?= " \
<ts-project>/oe-core/meta \
<ts-project>/meta-openembedded/meta-python \
<ts-project>/meta-openembedded/meta-oe \
<ts-project>/meta-tensorflow \
"
```
## 3. Build image
```
cd <build>
$ bitbake core-image-minimal
```

## 4. Start qemu with slrip + kvm + 5GB memory:
```
$ runqemu qemux86-64 core-image-minimal slirp kvm qemuparams="-m 5120"
```

## 5. Verify the install
```
root@qemux86-64:~# python3 -c "import tensorflow as tf;print(tf.reduce_sum(tf.random.normal([1000, 1000])))"
tf.Tensor(-3304.6208, shape=(), dtype=float32)

## 6. Run tutorial case
### Refer: https://www.tensorflow.org/tutorials
```
root@qemux86-64:~# cat >code-v2.py <<ENDOF
import tensorflow as tf
mnist = tf.keras.datasets.mnist

(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

model = tf.keras.models.Sequential([
tf.keras.layers.Flatten(input_shape=(28, 28)),
tf.keras.layers.Dense(128, activation='relu'),
tf.keras.layers.Dropout(0.2),
tf.keras.layers.Dense(10)
])

predictions = model(x_train[:1]).numpy()
tf.nn.softmax(predictions).numpy()
loss_fn = tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True)
loss_fn(y_train[:1], predictions).numpy()

model.compile(optimizer='adam',
loss=loss_fn,
metrics=['accuracy'])
model.fit(x_train, y_train, epochs=5)
model.evaluate(x_test, y_test, verbose=2)

probability_model = tf.keras.Sequential([
model,
tf.keras.layers.Softmax()
])
probability_model(x_test[:5])

ENDOF

root@qemux86-64:~# python3 ./code-v2.py
2020-12-15 08:16:44.171593: I tensorflow/compiler/mlir/mlir_graph_optimization_pass.cc:116] None of the MLIR optimization passes are enabled (registered 2)
2020-12-15 08:16:44.184464: I tensorflow/core/platform/profile_utils/cpu_utils.cc:112] CPU Frequency: 3099995000 Hz
Epoch 1/5
1875/1875 [==============================] - 14s 7ms/step - loss: 0.4833 - accuracy: 0.8595
Epoch 2/5
1875/1875 [==============================] - 13s 7ms/step - loss: 0.1549 - accuracy: 0.9558
Epoch 3/5
1875/1875 [==============================] - 13s 7ms/step - loss: 0.1135 - accuracy: 0.9651
Epoch 4/5
1875/1875 [==============================] - 13s 7ms/step - loss: 0.0889 - accuracy: 0.9729
Epoch 5/5
1875/1875 [==============================] - 13s 7ms/step - loss: 0.0741 - accuracy: 0.9777
313/313 - 1s - loss: 0.0757 - accuracy: 0.9757
```
## 7. TensorFlow/TensorFlow Lite C++ Image Recognition Demo
```
root@qemux86-64:~# time label_image
2020-12-15 08:18:34.853885: I tensorflow/core/platform/profile_utils/cpu_utils.cc:112] CPU Frequency: 3099995000 Hz
2020-12-15 08:18:41.565167: I tensorflow/examples/label_image/main.cc:252] military uniform (653): 0.834306
2020-12-15 08:18:41.567874: I tensorflow/examples/label_image/main.cc:252] mortarboard (668): 0.0218696
2020-12-15 08:18:41.568936: I tensorflow/examples/label_image/main.cc:252] academic gown (401): 0.0103581
2020-12-15 08:18:41.569985: I tensorflow/examples/label_image/main.cc:252] pickelhaube (716): 0.00800819
2020-12-15 08:18:41.571025: I tensorflow/examples/label_image/main.cc:252] bulletproof vest (466): 0.00535086

real 0m7.178s
user 0m6.101s
sys 0m0.893s

root@qemux86-64:~# time label_image.lite
INFO: Loaded model /usr/share/label_image/mobilenet_v1_1.0_224_quant.tflite
INFO: resolved reporter
INFO: invoked
INFO: average time: 213.584 ms
INFO: 0.780392: 653 military uniform
INFO: 0.105882: 907 Windsor tie
INFO: 0.0156863: 458 bow tie
INFO: 0.0117647: 466 bulletproof vest
INFO: 0.00784314: 835 suit

real 0m0.233s
user 0m0.216s
sys 0m0.012s


Re: [meta-tensorflow] maintained?

Marek Belisko
 

On Wed, Dec 16, 2020 at 1:07 AM Randy MacLeod
<randy.macleod@windriver.com> wrote:

On 2020-12-14 7:56 a.m., Marek Belisko wrote:

Hi,

I'm l;booking for a tensorflow recipe and forum that meta-tensorflow
have support for it (also saw that gatesgarth branch is there) but I
cannot build tensorflow + tensorflow seems to be a bit outdated.
Anybody know if this layer is maintained? Thanks.

I succeeded in building tensorflow last night on master with

the layers in WR Linux:

https://github.com/WindRiver-Labs/wrlinux-x

Can you explain what host distro and collection
of branches and versions you used and what error you saw?
I'm using poky, meta-openembedded and meta-tegra all dunfell releases.
I added dunfell to compatible layers in meta-tensorflow and then getting this:
WARNING: --batch mode is deprecated. Please instead explicitly shut
down your Bazel server using the command "bazel shutdown".
INFO: Invocation ID: cd0ca5b3-b48c-458a-9ca1-11fb5292749b
Loading:
Loading: 0 packages loaded
Loading: 4 packages loaded
currently loading: tensorflow
Analyzing: 8 targets (5 packages loaded, 0 targets configured)
Analyzing: 8 targets (179 packages loaded, 2877 targets configured)
Analyzing: 8 targets (282 packages loaded, 8970 targets configured)
Analyzing: 8 targets (308 packages loaded, 11447 targets configured)
Analyzing: 8 targets (315 packages loaded, 12715 targets configured)
Analyzing: 8 targets (341 packages loaded, 16192 targets configured)
Analyzing: 8 targets (345 packages loaded, 18281 targets configured)
Analyzing: 8 targets (346 packages loaded, 19684 targets configured)
Analyzing: 8 targets (346 packages loaded, 19684 targets configured)
Analyzing: 8 targets (346 packages loaded, 19684 targets configured)
Analyzing: 8 targets (346 packages loaded, 19684 targets configured)
Analyzing: 8 targets (346 packages loaded, 19684 targets configured)
Analyzing: 8 targets (346 packages loaded, 19684 targets configured)
ERROR: /home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow/1.13.0-r0/git/tensorflow/tools/pip_package/BUILD:149:1:
no such package '@icu//': java.io.IOException: Error downloading
[https://mirror.bazel.build/github.com/unicode-org/icu/archive/release-62-1.tar.gz,
https://github.com/unicode-org/icu/archive/release-62-1.tar.gz] to
/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow/1.13.0-r0/bazel/output_base/external/icu/release-62-1.tar.gz:
Checksum was 86b85fbf1b251d7a658de86ce5a0c8f34151027cc60b01e1b76f167379acf181
but wanted e15ffd84606323cbad5515bf9ecdf8061cc3bf80fb883b9e6aa162e485aa9761
and referenced by '//tensorflow/tools/pip_package:licenses'
ERROR: Analysis of target
'//tensorflow/tools/pip_package:build_pip_package' failed; build
aborted: no such package '@icu//': java.io.IOException: Error
downloading [https://mirror.bazel.build/github.com/unicode-org/icu/archive/release-62-1.tar.gz,
https://github.com/unicode-org/icu/archive/release-62-1.tar.gz] to
/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow/1.13.0-r0/bazel/output_base/external/icu/release-62-1.tar.gz:
Checksum was 86b85fbf1b251d7a658de86ce5a0c8f34151027cc60b01e1b76f167379acf181
but wanted e15ffd84606323cbad5515bf9ecdf8061cc3bf80fb883b9e6aa162e485aa9761
INFO: Elapsed time: 21.350s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (346 packages loaded,
19684 targets configured)
FAILED: Build did NOT complete successfully (346 packages loaded,
19684 targets configured)
WARNING: exit code 1 from a shell command.

ERROR: Logfile of failure stored in:
/home/ubuntu/projects/test/build/tmp/work/aarch64-poky-linux/tensorflow/1.13.0-r0/temp/log.do_compile.6577

../Randy

BR,

marek
--
as simple and primitive as possible
-------------------------------------------------
Marek Belisko - OPEN-NANDRA
Freelance Developer

Ruska Nova Ves 219 | Presov, 08005 Slovak Republic
Tel: +421 915 052 184
skype: marekwhite
twitter: #opennandra
web: http://open-nandra.com


[ANNOUNCEMENT]Milestone 1 for Yocto Project 3.3 (yocto-3.3_M1) now available

Vineela
 

Hello,

We are pleased to announce the first milestone release for Yocto Project 3.3 (yocto-3.3_M1) is now available for download.

Download:

http://downloads.yoctoproject.org/releases/yocto/milestones/yocto-3.3_M1

bitbake: 5775d9463ecedf8681cb6c919b240b80fe70f5a3
meta-arm: 2a530c34199e9aaff2bab1ac53d81f112f34647f
meta-gplv2: 6e8e969590a22a729db1ff342de57f2fd5d02d43
meta-intel: 7d79beb5093da8adf0f9b106a33d8e0904a50a48
meta-kernel: e5a0723a3f3dadd880893bccf9bff88a9b46843d
meta-mingw: 352d8b0aa3c7bbd5060a4cc2ebe7c0e964de4879
oecore: a55b01a3a1faf9a52d7edad074c76327f637aaa2
poky: f36484e88d21346357bd1fa1bef6fdcc42bed54a

Full Test Report:

http://downloads.yoctoproject.org/releases/yocto/milestones/yocto-3.3_M1/testreport.txt

Sincerely

Vineela Tummalapalli,
Yocto Project Build and Release
vineela.tummalapalli@intel.com


Re: [meta-tensorflow] maintained?

Randy MacLeod
 

On 2020-12-14 7:56 a.m., Marek Belisko wrote:
Hi,

I'm l;booking for a tensorflow recipe and forum that meta-tensorflow
have support for it (also saw that gatesgarth branch is there) but I
cannot build tensorflow + tensorflow seems to be a bit outdated.
Anybody know if this layer is maintained? Thanks.
I succeeded in building tensorflow last night on master with

the layers in WR Linux:

   https://github.com/WindRiver-Labs/wrlinux-x

Can you explain what host distro and collection
of branches and versions you used and what error you saw?

../Randy



BR,

marek





-- 
# Randy MacLeod
# Wind River Linux


Re: [ANNOUNCEMENT] Yocto Project 3.2.1 (gatesgarth-24.0.1) is Released

Peter Kjellerstedt
 

-----Original Message-----
From: yocto@lists.yoctoproject.org <yocto@lists.yoctoproject.org> On
Behalf Of Vineela
Sent: den 15 december 2020 22:13
To: 'yocto-announce@lists.yoctoproject.org' <yocto-
announce@lists.yoctoproject.org>; 'yocto@lists.yoctoproject.org'
<yocto@lists.yoctoproject.org>; 'yocto-request@eclists.intel.com' <yocto-
request@eclists.intel.com>
Subject: [yocto] [ANNOUNCEMENT] Yocto Project 3.2.1 (gatesgarth-24.0.1)
is Released

Hello,

We are pleased to announce the Yocto Project 3.2.1 (gatesgarth-24.0.1)
Release is now available for download.

http://downloads.yoctoproject.org/releases/yocto/yocto-3.2.1/poky-gatesgarth-24.0.1.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-3.2.1/poky-gatesgarth-24.0.1.tar.bz2

A gpg signed version of these release notes is available at:

http://downloads.yoctoproject.org/releases/yocto/yocto-3.2.1/RELEASENOTES

Full Test Report:

http://downloads.yoctoproject.org/releases/yocto/yocto-
3.2.1/testreport.txt

Thank you for everyone's contributions to this release.

Vineela Tummalapalli
Yocto Project Build and Release
vineela.tummalapalli@intel.com


--------------------------
yocto-3.2.1 Release Notes
--------------------------

--------------------------
Repositories/Downloads
--------------------------
[cut]

Repository Name: meta-gplv2
Repository Location: https://git.yoctoproject.org/git/meta-gplv2
Branch: gatesgarth
Tag: yocto-3.2.1
The yocto-3.2.1 and gatesgarth-24.0.1 tags for meta-gplv2 have been incorrectly
set on the dunfell branch rather than the gatesgarth branch. The Git revision
and tar balls below are correct though. Since the tags are signed I do now want
to modify them myself, so please correct them as soon as possible.

Git Revision: 6e8e969590a22a729db1ff342de57f2fd5d02d43
Release Artefact: meta-gplv2-gatesgarth-24.0.1
sha: f43941fee62bccb5dee55809ab8c65d60eae82cf06cd05f3b150e93efaff86b6
Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-3.2.1/meta-gplv2-gatesgarth-24.0.1.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-3.2.1/meta-gplv2-gatesgarth-24.0.1.tar.bz2
//Peter


[ANNOUNCEMENT] Yocto Project 3.2.1 (gatesgarth-24.0.1) is Released

Vineela
 

Hello,

We are pleased to announce the Yocto Project 3.2.1 (gatesgarth-24.0.1) Release is now available for download.

http://downloads.yoctoproject.org/releases/yocto/yocto-3.2.1/poky-gatesgarth-24.0.1.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-3.2.1/poky-gatesgarth-24.0.1.tar.bz2

A gpg signed version of these release notes is available at:

http://downloads.yoctoproject.org/releases/yocto/yocto-3.2.1/RELEASENOTES

Full Test Report:

http://downloads.yoctoproject.org/releases/yocto/yocto-3.2.1/testreport.txt

Thank you for everyone's contributions to this release.

Vineela Tummalapalli
Yocto Project Build and Release
vineela.tummalapalli@intel.com


--------------------------
yocto-3.2.1 Release Notes
--------------------------

--------------------------
Repositories/Downloads
--------------------------

Repository Name: poky
Repository Location: https://git.yoctoproject.org/git/poky
Branch: gatesgarth
Tag: yocto-3.2.1
Git Revision: 943ef2fad8428f002850e3655a3312e13d0dcb2c
Release Artefact: poky-gatesgarth-24.0.1
sha: a0dce009fa33f1d655f2c5ecdc46b434c7ed6a64a904ca8ea1617c19816a37bf
Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-3.2.1/poky-gatesgarth-24.0.1.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-3.2.1/poky-gatesgarth-24.0.1.tar.bz2

Repository Name: openembedded-core
Repository Location: https://git.openembedded.org/openembedded-core
Branch: gatesgarth
Tag: 2020-10.1-gatesgarth
Git Revision: d11ab9cb77bf91f939035417b757773a5d80242c
Release Artefact: oecore-gatesgarth-24.0.1
sha: e49a5ebbb3c9bdddebce33f3ed18acba498122148cbc60df2439954e207c19d2
Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-3.2.1/oecore-gatesgarth-24.0.1.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-3.2.1/oecore-gatesgarth-24.0.1.tar.bz2

Repository Name: meta-mingw
Repository Location: https://git.yoctoproject.org/git/meta-mingw
Branch: gatesgarth
Tag: yocto-3.2.1
Git Revision: 352d8b0aa3c7bbd5060a4cc2ebe7c0e964de4879
Release Artefact: meta-mingw-gatesgarth-24.0.1
sha: d42b851d0c314533380e66c140f8ad2a33737f2984f0213f604fe684a20f1569
Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-3.2.1/meta-mingw-gatesgarth-24.0.1.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-3.2.1/meta-mingw-gatesgarth-24.0.1.tar.bz2

Repository Name: meta-gplv2
Repository Location: https://git.yoctoproject.org/git/meta-gplv2
Branch: gatesgarth
Tag: yocto-3.2.1
Git Revision: 6e8e969590a22a729db1ff342de57f2fd5d02d43
Release Artefact: meta-gplv2-gatesgarth-24.0.1
sha: f43941fee62bccb5dee55809ab8c65d60eae82cf06cd05f3b150e93efaff86b6
Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-3.2.1/meta-gplv2-gatesgarth-24.0.1.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-3.2.1/meta-gplv2-gatesgarth-24.0.1.tar.bz2

Repository Name: bitbake
Repository Location: https://git.openembedded.org/bitbake
Branch: gatesgarth
Tag: 2020-10.1-gatesgarth
Git Revision: fec2b85689bba1d26ad6f376bc11cc29bb27cbe5
Release Artefact: bitbake-gatesgarth-24.0.1
sha: f2a41c89f0817f72c0f330825e5bcf76ee6ba52179807d6cd229e3b88a677a39
Download Locations:
http://downloads.yoctoproject.org/releases/yocto/yocto-3.2.1/bitbake-gatesgarth-24.0.1.tar.bz2
http://mirrors.kernel.org/yocto/yocto/yocto-3.2.1/bitbake-gatesgarth-24.0.1.tar.bz2

Repository Name: yocto-docs
Repository Location: https://git.yoctoproject.org/git/yocto-docs
Branch: gatesgarth
Tag: yocto-3.2.1
Git Revision: b9d69c76561eb6708cd217126a5ed08b52315fa5

---------------
Contributors
--------------
Alexander Kanavin
Alistair
Anuj Mittal
Bruce Ashfield
Chee Yang Lee
Denys Zagorui
Diego Santa Cruz
Fedor Ross
Gratian Crisan
He Zhe
INC@Cisco)
Jose Quaresma
Khem Raj
Konrad Weihmann
Lee Chee Yang
Loic Domaigne
Mark Jonas
Matt Madison
Max Krummenacher
Michael halstead
Mingli Yu
Nathan Rossi
Nicolas Dechesne
Paul Eggleton
Quentin Schulz
Richard Leitner
Richard Purdie
Robert P. J. Day
Ross Burton
Sangeeta Jain
Stacy Gaikovaia
Stephen Jolley
Steve Sakoman
Vineela Tummalapalli
Vyacheslav Yurkov
Wonmin Jung
Yann E. MORIN
Yi Zhao
Yongxin Liu

---------------
Known Issues
---------------
Failure in ptest: valgrind.drd and valgrind.helgrind


---------------
Security Fixes
---------------
gstreamer1.0-plugins-base: set CVE_PRODUCT
gstreamer1.0-rtsp-server: set CVE_PRODUCT
sqlite3: add CVE-2015-3717 to whitelist
python3: add CVE-2007-4559 to whitelist
qemu: fix CVE-2020-24352
python3: fix CVE-2020-27619
libproxy: fix CVE-2020-26154
openssh: whitelist CVE-2014-9278
freetype: fix CVE-2020-15999, backport from 2.10.4
grub: clean up CVE patches
ruby: fix CVE-2020-25613
grub: fix several CVEs in grub 2.04


---------------
Fixes
---------------
build-appliance-image: Update to gatesgarth head revision
build-appliance: Correct branch to gatesgarth
build-appliance-image: Update to gatesgarth head revision
poky.conf: bump version for 3.2.1 release
releases.rst: add gatesgarth to current releases
sphinx: releases: add link to 3.1.3
documentation: prepare for 3.2.1 release
lttng-modules: Backport a patch to fix btrfs build failure
lttng-modules: update 2.12.2 -> 2.12.3
distutils-common-base: fix LINKSHARED expansion
binutils: Fix linker errors on chromium/ffmpeg on aarch64
e2fsprogs: Fix a ptest permissions determinism issue
fs-perms: Ensure /usr/src/debug/ file modes are correct
valgrind: helgrind: Intercept libc functions
eudev: remove bashism to be compatible with dash
sysvinit: remove bashism to be compatible with dash
cve-check: show real PN/PV
glib-2.0: RDEPEND on dbusmock only when GI_DATA_ENABLED is True
linux-yocto/5.4: update to v5.4.78
linux-yocto/5.8: ext4/tipc warning fixups
linux-yocto/5.8: perf: Alias SYS_futex with SYS_futex_time64 on 32-bit arches with 64bit time_t
linux-yocto/5.4: perf: Alias SYS_futex with SYS_futex_time64 on 32-bit arches with 64bit time_t
kernel-devsrc: improve reproducibility for arm64
license_image.bbclass: use canonical name for license files
linux-firmware: rdepend on license for all nvidia packages
roofs_*.bbclass: fix missing vardeps for do_rootfs
weston-init: Fix incorrect idle-time setting
kernel: Set proper LD in KERNEL_KCONFIG_COMMAND
kernel: relocate copy of module.lds to module compilation task
kernel: provide module.lds for out of tree builds in v5.10+
linux-yocto/5.4: update to v5.4.75
linux-yocto/5.8: update to v5.8.18
linux-yocto/5.8: config cleanup / warnings
linux-yocto/5.4: config cleanup / warnings
linux-yocto-dev: move to v5.10-rc
linux-yocto/5.4: update to v5.4.73
linux-yocto/5.8: update to v5.8.17
linux-yocto/5.4: update to v5.4.72
linux-yocto/5.8: update to v5.8.16
linux-yocto/5.4: update to v5.4.71
linux-yocto/5.8: update to v5.8.15
bluez5: update to 5.55
bitbake: Add missing documentation Makefile
diffstat: add nativesdk to BBCLASSEXTEND
gstreamer1.0: warn the user when something is wrong with GstBufferPool
libbsd: Remove BSD-4-Clause from main package
layer.conf: fix syntax error in PATH setting
gawk: Avoid using host ar during cross compile
lrzsz: Use Cross AR during compile
binutils: reproducibility: reuse debug-prefix-map for stabs
testimage: print results for interrupted runs
oeqa/core/context: initialize _run_end_time
oeqa/core/context: expose results as variable
conf-notes.txt: mention more important images than just sato
clutter-gst-3.0: do not call out to host gstreamer plugin scanner
kernel-module-split.bbclass: identify kernel modconf files as configuration files
alsa-utils: Fix license to GPLv2 only
libdnf: Fix license as it contains 'or later' clause
ptest-runner: Fix license as it contains 'or later' clause
update_udev_hwdb: clean hwdb.bin
apt: remove host contamination with gtest
recipes-core/busybox: fixup licensing information
common-licenses: add bzip2-1.0.4
qemuboot.bbclass: Fix a typo
libsdl2: Fix directfb SDL_RenderFillRect
libsdl2: Fix directfb syntax error
gst-validate: Update 1.16.2 -> Update 1.16.3
gstreamer1.0-python: Update 1.16.2 -> Update 1.16.3
gstreamer1.0-omx: Update 1.16.2 -> Update 1.16.3
gstreamer1.0-rtsp-server: Update 1.16.2 -> Update 1.16.3
gstreamer1.0-vaapi: Update 1.16.2 -> Update 1.16.3
gstreamer1.0-libav: Update 1.16.2 -> Update 1.16.3
gstreamer1.0-plugins-ugly: Update 1.16.2 -> Update 1.16.3
gstreamer1.0-plugins-bad: Update 1.16.2 -> Update 1.16.3
gstreamer1.0-plugins-good: Update 1.16.2 -> Update 1.16.3
gstreamer1.0-plugins-base: Update 1.16.2 -> Update 1.16.3
gstreamer1.0: Update 1.16.2 -> Update 1.16.3
gstreamer1.0: Fix reproducibility issue around libcap
poky.yaml: updates for 3.2
poky.yaml: remove unused variables
conf: use bitbake 1.48 branch for intersphinx
conf: update for release 3.2
adt-manual: delete obsolete ADT manual, and related content
scripts/buildhistory_analysis: Avoid tracebacks from file comparision code
deb: replace deprecated apt force-yes argument
netbase: Add whitespace to purge bogus hash equivalence from autobuilder
netbase: update SRC_URI to reflect new file name
init-ifupdown: Merge all interface files for differnet qemus
init-ifupdown: Define interfaces file for riscv emulators
sstatesig: Log timestamps for hashequiv in reprodubile builds for do_package
webkitgtk: Disable gold linker and JIT on riscv
bitbake.conf: Exclude ${CCACHE_DIR} from pseudo database
README: "yocto-project-qs" -> "brief-yoctoprojectqs"
ref-manual/ref-variables: "PACKAGE_FEEDS_ARCHS" -> "PACKAGE_FEED_ARCHS"
dev-manual: Add a note about prelink changing prebuild binaries
ref-manual: add migration info about MLPREFIX changes
ref-manual: add migration info for image-artifact-names
ref-manual: add IMAGE_LINK_NAME
ref-manual/faq: Add entry for why binaries are changed in images
ref-manual: add migration section for 3.2
ref-manual: add IMAGE_NAME_SUFFIX variable
ref-manual: add IMAGE_VERSION_SUFFIX variable
ref-manual: add PSEUDO_IGNORE_PATHS
ref-manual: QA check updates
ref-manual: fix for features_check class change
ref-manual: add reference anchors for each QA check
dev-manual/dev-manual-common-tasks: fix typos and use extlinks
docs: kernel-dev-faq: update outdated RDEPENDS_kernel-base
docs: kernel-dev-common: add .patch file extension to SRC_URI files
docs: kernel-dev: fix typos, highlights and links


Canceled: OpenEmbedded Happy Hour December 30

Denys Dmytriyenko
 

All,

FYI, our OpenEmbedded Happy Hour is being canceled for December 30 due to the
Holiday season. We will resume the normal schedule in January.

Thank you and Happy Holidays!

--
Regards,
Denys Dmytriyenko <denis@denix.org>
PGP: 0x420902729A92C964 - https://denix.org/0x420902729A92C964
Fingerprint: 25FC E4A5 8A72 2F69 1186 6D76 4209 0272 9A92 C964


Yocto Project Status WW50'20

Stephen Jolley
 

Current Dev Position: YP 3.3 M2 development

Next Deadline: 18th January 2021 YP 3.3 M2 build 

 

Next Team Meetings:

 

Key Status/Updates:

  • YP 3.2.1 is due for imminent release
  • YP 3.3 M1 has been through QA and currently under review from the TSC
  • Patches for 3.3 M2 are now being reviewed, tested and merged.
  • The project’s work on reproducibility was mentioned in their monthly newsletter  https://reproducible-builds.org/reports/2020-11/
  • CVE statistics continue to look worse for master after ‘improvements’ to the matching code, help in resolving these newly highlighted issues would be much appreciated.
  • Intermittent autobuilder issues continue to occur. You can see the list of failures we’re continuing to see by searching for the “AB-INT” tag in bugzilla: https://bugzilla.yoctoproject.org/buglist.cgi?quicksearch=AB-INT
  • Given the vacation many people are taking at this time and the expected ramp down in patch load and newsworthy items, we’re not planning another status report until 5th January. The project technical and triage meetings will also ramp down for this period and resume in the first week of January unless there is any pressing development that needs urgent attention. 

 

Ways to contribute:

 

YP 3.3 Milestone Dates:

  • YP 3.3 M1 is out of QA.
  • YP 3.3 M2 build date 2021/01/18
  • YP 3.3 M2 Release date 2021/01/29
  • YP 3.3 M3 build date 2021/03/01
  • YP 3.3 M3 Release date 2021/03/12
  • YP 3.3 M4 build date 2021/04/05
  • YP 3.3 M4 Release date 2021/04/30

 

Planned upcoming dot releases:

  • YP 3.2.1 should release soon.
  • YP 3.1.5 build date 2021/01/11
  • YP 3.1.5 release date 2021/01/22
  • YP 3.2.2 build date 2021/02/08
  • YP 3.2.2 release date 2021/02/19
  • YP 3.1.6 build date 2021/02/22
  • YP 3.1.6 release date 2021/03/05
  • YP 3.1.7 build date 2021/03/22
  • YP 3.1.7 release date 2021/04/02

 

Tracking Metrics:

 

The Yocto Project’s technical governance is through its Technical Steering Committee, more information is available at:

https://wiki.yoctoproject.org/wiki/TSC

 

The Status reports are now stored on the wiki at: https://wiki.yoctoproject.org/wiki/Weekly_Status

 

[If anyone has suggestions for other information you’d like to see on this weekly status update, let us know!]

 

Thanks,

 

Stephen K. Jolley

Yocto Project Program Manager

(    Cell:                (208) 244-4460

* Email:              sjolley.yp.pm@...

 


pygame 1.9.1 python3 issue?

Marek Belisko
 

Hi,

I'm trying to add pygame to my image and took a recipe from
https://github.com/openembedded/openembedded/blob/master/recipes/python/python-pygame_1.9.1.bb.
with few tweaks I can build it on dunfell but when trying to use on
board
I'm getting cythos errors. Doesn anybody share updated version which
works with recent poky releases? I tried to pass cmpila phase on 2.0.0
but it seems it's too much for my knowledge ;)

Thanks and BR,

marek

--
as simple and primitive as possible
-------------------------------------------------
Marek Belisko - OPEN-NANDRA
Freelance Developer

Ruska Nova Ves 219 | Presov, 08005 Slovak Republic
Tel: +421 915 052 184
skype: marekwhite
twitter: #opennandra
web: http://open-nandra.com


#yocto #zeus #kernel -broken atomic modsset #yocto #zeus #kernel

Monsees, Steven C (US)
 

 

Ok, so I am trying to understand the impact of the following issue seen under our “zeus” based Intel platform build:

 

https://patchwork.kernel.org/project/dri-devel/patch/20190905181834.6234-1-daniel.vetter@.../

 

The patch is currently preventing my image from going down the DRM_CLIENT_CAP_ATOMIC path…

 

I currently have algorithms centered around the GPU dependent on X and this path, and would like to be able to work around this, if possible.

 

My goal was to get our Yocto based platform in line with the current Yocto release, all our original code was done using the “rocko” release. I have now ported our Intel based build to “zeus” with this being our final issue…

 

Questions:

 

(1) If I wanted to rebuild the “zeus” 3.0.4 kernel to add debug code around this issue how would I go about doing this ?

(2)  Under my downloads directory I see linux-5.2.tar.xz is downloaded, tar ball is without the patch, so I am assuming the patch being applied after, correct ?

(3)  I do not see this built under the build tree after I build my Yocto image, Are some components under the builds tree removed after successfully being built ?, and how might I stop them from being deleted for inspection, etc. ?

(4)  When I perform “bitbake -e linux | grep ^T=” I see the following”

ERROR: Nothing PROVIDES 'linux'. Close matches:

  syslinux

  linuxptp

  linux-atm

Was the linux-5.2 package renamed on built or am I looking at the wrong package as my stating point ?

(5)  It appears the patch was added to the kernel (https://github.com/torvalds/linux/tree/master) about a year ago, has the patch been applied to any earlier pre-zeus releases ?

(6)  Will this X11 issue be addressed in future releases, i.e. “gatesgarth”. “hardnott” ?

(7)  It is unclear but would you know about what release they might have broken this path ?

 

Thanks,

Steve

 

 

3061 - 3080 of 54812