poky: subtree update:488e39b623..c8075ed8f1

Alejandro Hernandez Samaniego (1):
      bitbake: fetch2/wget: Avoid crashing when connection drops mid checkstatus

Alexander Kanavin (17):
      webkit/wpe: only check even versions
      syslinux: use NO_INLINE_FUNCS in CFLAGS
      dosfstools: update 4.1 -> 4.2
      e2fsprogs: update 1.45.7 -> 1.46.1
      elfutils: update 0.182 -> 0.183
      meson: update 0.56.2 -> 0.57.1
      perl: update 5.32.0 -> 5.32.1
      openssl: address ptest failures caused by perl 5.32.1
      ptest-perl/run-ptest: address failures caused by perl 5.32.1
      pango: update 1.48.0 -> 1.48.2
      vulkan-samples: update to latest revision
      webkitgtk: update 2.30.4 -> 2.30.5
      libgcrypt: update 1.8.7 -> 1.9.2
      pinentry: update 1.1.0 -> 1.1.1
      libmd: add a recipe
      libbsd: udpate 0.10.0 -> 0.11.3
      scripts/lib/wic/partition.py: do not set FAT size

Charlie Davies (2):
      bitbake: bitbake: providers: fix incorrect return type bug
      bitbake: bitbake: providers: use pythonic empty list check

Colin Finck (1):
      dosfstools: Build --without-iconv

Diego Santa Cruz (4):
      packagegroup-base: use amixer instead of alsamixer
      packagegroup-base: do not force hdparm and e2fsprogs
      sysklogd: do not open any network sockets by default
      createrepo-c: set path to magic database for native and nativesdk

Dorinda (7):
      gdb-common.inc: add PACKAGECONFIG for debuginfod
      meta/recipes-bsp: Add HOMEPAGE / DESCRIPTION
      meta/recipes-connectivity: Add HOMEPAGE / DESCRIPTION
      meta/recipes-devtools: Add HOMEPAGE / DESCRIPTION
      meta/recipes-core: Add HOMEPAGE / DESCRIPTION
      scripts/oe-debuginfod: script that fetches package manager directory
      binutils: add PACKAGECONFIG for debuginfod

Florian Bezdeka (1):
      wic: Warn if an ext filesystem affected by the Y2038 problem is used

He Zhe (1):
      glibc: Disable CPU ISA level requirement check

Jan Brzezanski (1):
      bitbake: Force parser shutdown after catching an exception

Jan-Simon Moeller (1):
      Add core-image-weston to reproducible build tests

Jan-Simon Möller (2):
      reproducible_builds: SOURCE_DATE_EPOCH should not be 0
      oe-selftests: add rpm to reproducible build selftest

Jate Sujjavanich (1):
      iputils: Fix cap_net_raw for installed binaries

Joel Stanley (1):
      conf/machine-sdk: Add ppc64le SDK machine

Joshua Watt (2):
      bitbake: event: Fix broken builds when multiconfig has a hyphen in the name
      diffoscope: Add python3-rpm as dependency

Khem Raj (23):
      nettle: Upgrade to 3.7.1
      runqemu: Add new option to disable vga emulation
      linuxloader: Deal with little-endian ppc64 ldso name
      musl: Install /lib directory
      goarch.bbclass: Fix ppc64le detection
      bitbake.conf: Do not use lib64 for baselib on musl/ppc64
      glibc: Build for power9 cpu when using powerpc64le tunes
      tune-power9: Enable qemu-usermode
      selftest: Replace building dep tool with direnv
      goarch: Use softfloat instead of 387 for 386 goarch
      go: Upgrade compiler to 1.16 major release
      go: Enable CGO and pie buildmode on rv64
      go-helloworld: Turn into a go module enabled build
      binutils: Upgrade to 2.36.1 release
      llvm: Upgrade to 11.1.0 release
      oeqa/pam: Need shadow installed for the tests
      glibc: Fix rawmemchr
      rxvt-unicode: Do not use throw specifications
      llvm: Fix build with c++17
      dtc: Fix array-bounds error
      puzzles: Fix stringop-overflow warning
      igt-gpu-tools: Fix warnings with gcc 11
      kea: Fix configure test error with gcc11

Klaus Heinrich Kiwi (1):
      kernel-fitimage: Don't use unit addresses on FIT

Martin Jansa (3):
      sstatesig.py: show an error instead of warning when sstate manifest isn't found
      glib-2.0: replace THISDIR instead of COREBASE in find_meson_cross_files --cross-file paths
      coreutils: use u-a for base32

Meh Mbeh Ida Delphine (7):
      licenses: Update license file to match current SPDX names
      recipes-gnome: Add missing HOMEPAGE and DESCRIPTION for recipes
      recipes-graphics: Add missing HOMEPAGE and DESCRIPTION for recipes.
      recipes-kernel: Add missing HOMEPAGE and DESCRIPTION for recipes.
      recipes-multimedia: Add missing HOMEPAGE and DESCRIPTION for recipes.
      recipes-sato: Add missing HOMEPAGE and DESCRIPTION for recipes
      recipes-support: Add missing HOMEPAGE and DESCRIPTION for recipes

Michael Halstead (2):
      releases: update to include 3.2.2
      releases: update to include 3.1.6

Mike Crowe (2):
      externalsrc: Pass through npmsw URIs in SRC_URI
      gcc-sanitizers: Move content from gcclibdir into libdir

Milan Shah (1):
      report-error.bbclass: Add layer and bitbake version info to error report

Mingli Yu (1):
      python3: Fix python interpreter line length for nativesdk

Oleksandr Kravchuk (4):
      python3: update to 3.9.2
      ell: update to 0.38
      net-tools: update to 2.10
      busybox: update 1.33.0

Peter Kjellerstedt (1):
      asciidoc: Switch to using the main branch

Randy MacLeod (3):
      Add libgit2, libssh2 from meta-oe for rust
      libssh2: pull in additional commits from meta-oe
      libgit2: pull in updates from meta-oe

Richard Purdie (61):
      maintainers: Update email address for Victor
      figures/yp-how-it-works-new-diagram.png: Fix spelling error underline
      recipes: Update common-licenses references to match new names
      licenses.conf: Add missing 'or-later' mappings
      licenses: Fix canonical license for 'or-later' handling
      licenses: Update INCOMPATIBLE_LICENSE for 'or-later' handling
      license_image: Don't canonicalise INCOMPATIBLE_LICENSE
      selftest/incompatible_lic: Update the tests after the 'or-later' license handling changes
      gma500-gfx-check: Update licence to match changes in OE-Core
      diffoscope: Upgrade 166 -> 167
      linux-firmware: upgrade 20201218 -> 20210208
      python3-pycryptodome/pycryptodomex: upgrade 3.9.9 -> 3.10.1
      apt: Upgrade 1.8.2.1 -> 1.8.2.2
      python3-magic: upgrade 0.4.18 -> 0.4.20
      libproxy: Avoid /etc/sysconfig determinism issue
      rsync: Fix a file sorting determinism issue
      rsync: Fix group name determinism issue
      libcap-ng: Fix python bindings determinism issue
      libcap-ng: Replace python patch with a better fix
      libevdev: Update patch status to backport
      ca-certificates: Clean up two patches and submit upstream
      libpcre: Drop old/stale patch
      diffoscope: Ensure the correct magic file is used
      babeltrace2: Fix reproducibility
      reproducible: Improve SOURCE_DATE_EPOCH_FALLBACK handling
      selftest/reproducible: Remove exclusions for recipes which now reproduce
      diffoscope: Ensure rpm is configured correctly
      package/package_rpm: Disable font_provides configuration for reproducibilty
      fonts: Bump HASHEQUIV_HASH_VERSION after rpmdeps change
      reproduce: Fix exclusion list for rpm
      maintainers: add entries libssh2 libgit2
      cups: Fix reproducibility issues
      gcr: Fix reproducibility issue
      rsync: Update patch status
      gtk-doc: Fix reproducibility issue
      epiphany: Fix reproducibility issue
      epiphany: Fix distributor contamination from /etc/os-release
      gst-devtools: Fix reproducibility issue
      parted: Fix reproducibility issue
      libsecret: Improve determimism
      libhandy: Fix reproducibility issue
      selftest/reproducible: Don't call sync between each file compare
      image: Add directories to PSEUDO_IGNORE_PATHS
      populate_sdk: Add directories to PSEUDO_IGNORE_PATHS
      bitbake.conf/image: Move image specific PSEUDO_IGNORE_PATHS to image class
      bitbake.conf: Split PSEUDO_IGNORE_PATHS to be more readable
      bootchart2: Fix manpage reproducibility issue
      igt-gpu-tools: Fix reproducibility issue
      libid3tag: Fix reproducibility issue
      apr-util: Fix CFLAGS used in build
      gstreamer1.0-python: Set internal python library path correcty
      diffoscope: Upgrade 167 -> 168
      syslinux: Fix reproducibility issues
      swig: Fix reproducibility issue
      efivar: Fix reproducibility issue
      systemd-bootchart: Disable LTO to fix reproducibility
      selftest/reproducible: Add ability to pull some objects from sstate
      qemu: Determinism fixes
      lttng: Fix reproducibility issues
      ltp: Fixing determinism issues
      python3-cython: Remove build paths from debug sources

Ross Burton (1):
      grub: shuffle packaging for aarch64 builds

Scott Murray (1):
      screen: fix CVE-2021-26937

Stefan Ghinea (2):
      wpa-supplicant: fix CVE-2021-0326
      cups: fix CVE-2020-10001

Tomasz Dziendzielski (1):
      bitbake.conf: Introduce FAKEROOTLOGS variable used by bitbake to print pseudo.log

Vivien Didelot (1):
      systemd: Fix importd requirements comment

Wang Mingyu (12):
      util-linux: upgrade 2.36.1 -> 2.36.2
      xkeyboard-config: upgrade 2.31 -> 2.32
      liburcu: upgrade 0.12.1 -> 0.12.2
      lttng-ust: upgrade 2.12.0 -> 2.12.1
      openssl: upgrade 1.1.1i -> 1.1.1j
      bluez5: upgrade 5.55 -> 5.56
      libxcrypt: upgrade 4.4.17 -> 4.4.18
      nfs-utils: upgrade 2.5.2 -> 2.5.3
      ccache: upgrade 4.1 -> 4.2
      eudev: upgrade 3.2.9 -> 3.2.10
      glslang: upgrade 11.1.0 -> 11.2.0
      iproute2: upgrade 5.10.0 -> 5.11.0

Yi Fan Yu (3):
      libnl: add ptest support
      gdb: Remove "ALLOW_EMPTY_gdbserver" on riscv
      valgrind: Increase timeout duration 30 -> 90 s

zhengruoqin (8):
      glibc-package.inc: Fix arm multlib header issue with struct_stat.h
      glibc: Unify wordsize.h with arm multilibs
      libxcrypt-compat: upgrade 4.4.17 -> 4.4.18
      log4cplus: upgrade 2.0.5 -> 2.0.6
      python3-cython: upgrade 0.29.21 -> 0.29.22
      python3-git: upgrade 3.1.13 -> 3.1.14
      sysvinit: upgrade 2.98 -> 2.99
      python3-magic: upgrade 0.4.20 -> 0.4.22

Signed-off-by: Andrew Geissler <geissonator@yahoo.com>
Change-Id: I69b5102d327da636a9c36642b46841e4341368d8
diff --git a/poky/meta/recipes-devtools/python/python-cython.inc b/poky/meta/recipes-devtools/python/python-cython.inc
index b1e71f3..da6eba2 100644
--- a/poky/meta/recipes-devtools/python/python-cython.inc
+++ b/poky/meta/recipes-devtools/python/python-cython.inc
@@ -7,7 +7,7 @@
 PYPI_PACKAGE = "Cython"
 BBCLASSEXTEND = "native nativesdk"
 
-SRC_URI[sha256sum] = "e57acb89bd55943c8d8bf813763d20b9099cc7165c0f16b707631a7654be9cad"
+SRC_URI[sha256sum] = "df6b83c7a6d1d967ea89a2903e4a931377634a297459652e4551734c48195406"
 UPSTREAM_CHECK_REGEX = "Cython-(?P<pver>.*)\.tar"
 
 inherit pypi
diff --git a/poky/meta/recipes-devtools/python/python-pycryptodome.inc b/poky/meta/recipes-devtools/python/python-pycryptodome.inc
index 68b084e..48481bc 100644
--- a/poky/meta/recipes-devtools/python/python-pycryptodome.inc
+++ b/poky/meta/recipes-devtools/python/python-pycryptodome.inc
@@ -3,7 +3,7 @@
  cryptographic primitives."
 HOMEPAGE = "http://www.pycryptodome.org"
 LICENSE = "PD & BSD-2-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=6dc0e2a13d2f25d6f123c434b761faba"
+LIC_FILES_CHKSUM = "file://LICENSE.rst;md5=accfa6aeaceb3ba96676edf18e78302c"
 
 inherit pypi
 
diff --git a/poky/meta/recipes-devtools/python/python3-cython_0.29.21.bb b/poky/meta/recipes-devtools/python/python3-cython_0.29.21.bb
deleted file mode 100644
index 2ce6bdb..0000000
--- a/poky/meta/recipes-devtools/python/python3-cython_0.29.21.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-inherit setuptools3
-require python-cython.inc
-
-RDEPENDS_${PN} += "\
-    python3-setuptools \
-"
-
-# running build_ext a second time during install fails, because Python
-# would then attempt to import cythonized modules built for the target
-# architecture.
-DISTUTILS_INSTALL_ARGS += "--skip-build"
-
-do_install_append() {
-    # rename scripts that would conflict with the Python 2 build of Cython
-    mv ${D}${bindir}/cython ${D}${bindir}/cython3
-    mv ${D}${bindir}/cythonize ${D}${bindir}/cythonize3
-    mv ${D}${bindir}/cygdb ${D}${bindir}/cygdb3
-}
diff --git a/poky/meta/recipes-devtools/python/python3-cython_0.29.22.bb b/poky/meta/recipes-devtools/python/python3-cython_0.29.22.bb
new file mode 100644
index 0000000..01f716c
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-cython_0.29.22.bb
@@ -0,0 +1,33 @@
+inherit setuptools3
+require python-cython.inc
+
+RDEPENDS_${PN} += "\
+    python3-setuptools \
+"
+
+# running build_ext a second time during install fails, because Python
+# would then attempt to import cythonized modules built for the target
+# architecture.
+DISTUTILS_INSTALL_ARGS += "--skip-build"
+
+do_install_append() {
+    # rename scripts that would conflict with the Python 2 build of Cython
+    mv ${D}${bindir}/cython ${D}${bindir}/cython3
+    mv ${D}${bindir}/cythonize ${D}${bindir}/cythonize3
+    mv ${D}${bindir}/cygdb ${D}${bindir}/cygdb3
+}
+
+PACKAGEBUILDPKGD += "cython_fix_sources"
+
+cython_fix_sources () {
+	sed -i -e 's#${WORKDIR}#/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}#g' \
+		${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/FlowControl.c \
+		${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/FusedNode.c \
+		${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/Scanning.c \
+		${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Compiler/Visitor.c \
+		${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Plex/Actions.c \
+		${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Plex/Scanners.c \
+		${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Runtime/refnanny.c \
+		${PKGD}/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/Cython-${PV}/Cython/Tempita/_tempita.c \
+		${PKGD}${libdir}/${PYTHON_DIR}/site-packages/Cython*/SOURCES.txt
+}
diff --git a/poky/meta/recipes-devtools/python/python3-git_3.1.13.bb b/poky/meta/recipes-devtools/python/python3-git_3.1.14.bb
similarity index 91%
rename from poky/meta/recipes-devtools/python/python3-git_3.1.13.bb
rename to poky/meta/recipes-devtools/python/python3-git_3.1.14.bb
index 807767e..911c8f1 100644
--- a/poky/meta/recipes-devtools/python/python3-git_3.1.13.bb
+++ b/poky/meta/recipes-devtools/python/python3-git_3.1.14.bb
@@ -12,7 +12,7 @@
 
 inherit pypi setuptools3
 
-SRC_URI[sha256sum] = "8621a7e777e276a5ec838b59280ba5272dd144a18169c36c903d8b38b99f750a"
+SRC_URI[sha256sum] = "be27633e7509e58391f10207cd32b2a6cf5b908f92d9cd30da2e514e1137af61"
 
 DEPENDS += " ${PYTHON_PN}-gitdb"
 
diff --git a/poky/meta/recipes-devtools/python/python3-magic_0.4.18.bb b/poky/meta/recipes-devtools/python/python3-magic_0.4.22.bb
similarity index 71%
rename from poky/meta/recipes-devtools/python/python3-magic_0.4.18.bb
rename to poky/meta/recipes-devtools/python/python3-magic_0.4.22.bb
index 101b96d..b828927 100644
--- a/poky/meta/recipes-devtools/python/python3-magic_0.4.18.bb
+++ b/poky/meta/recipes-devtools/python/python3-magic_0.4.22.bb
@@ -5,18 +5,18 @@
 HOMEPAGE = "http://github.com/ahupp/python-magic"
 
 LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=16a934f165e8c3245f241e77d401bb88"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=61495c152d794e6be5799a9edca149e3"
 
 PYPI_PACKAGE = "python-magic"
 
 inherit pypi setuptools3
 
-SRC_URI[md5sum] = "5edc6caa39cc62641850f6b1b6f284ba"
-SRC_URI[sha256sum] = "b757db2a5289ea3f1ced9e60f072965243ea43a2221430048fd8cacab17be0ce"
+SRC_URI[sha256sum] = "ca884349f2c92ce830e3f498c5b7c7051fe2942c3ee4332f65213b8ebff15a62"
 
 RDEPENDS_${PN} += "file \
                    ${PYTHON_PN}-ctypes \
                    ${PYTHON_PN}-io \
+                   ${PYTHON_PN}-logging \
                    ${PYTHON_PN}-shell"
 
 BBCLASSEXTEND = "native"
diff --git a/poky/meta/recipes-devtools/python/python3-pycryptodome_3.10.1.bb b/poky/meta/recipes-devtools/python/python3-pycryptodome_3.10.1.bb
new file mode 100644
index 0000000..28448b8
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3-pycryptodome_3.10.1.bb
@@ -0,0 +1,5 @@
+require python-pycryptodome.inc
+inherit setuptools3
+
+SRC_URI[sha256sum] = "3e2e3a06580c5f190df843cdb90ea28d61099cf4924334d5297a995de68e4673"
+
diff --git a/poky/meta/recipes-devtools/python/python3-pycryptodome_3.9.9.bb b/poky/meta/recipes-devtools/python/python3-pycryptodome_3.9.9.bb
deleted file mode 100644
index 1e84ce4..0000000
--- a/poky/meta/recipes-devtools/python/python3-pycryptodome_3.9.9.bb
+++ /dev/null
@@ -1,5 +0,0 @@
-require python-pycryptodome.inc
-inherit setuptools3
-
-SRC_URI[sha256sum] = "910e202a557e1131b1c1b3f17a63914d57aac55cf9fb9b51644962841c3995c4"
-
diff --git a/poky/meta/recipes-devtools/python/python3-pycryptodomex_3.9.9.bb b/poky/meta/recipes-devtools/python/python3-pycryptodomex_3.10.1.bb
similarity index 69%
rename from poky/meta/recipes-devtools/python/python3-pycryptodomex_3.9.9.bb
rename to poky/meta/recipes-devtools/python/python3-pycryptodomex_3.10.1.bb
index abff71e..a6b3b3e 100644
--- a/poky/meta/recipes-devtools/python/python3-pycryptodomex_3.9.9.bb
+++ b/poky/meta/recipes-devtools/python/python3-pycryptodomex_3.10.1.bb
@@ -1,7 +1,7 @@
 require python-pycryptodome.inc
 inherit setuptools3
 
-SRC_URI[sha256sum] = "7b5b7c5896f8172ea0beb283f7f9428e0ab88ec248ce0a5b8c98d73e26267d51"
+SRC_URI[sha256sum] = "541cd3e3e252fb19a7b48f420b798b53483302b7fe4d9954c947605d0a263d62"
 
 FILES_${PN}-tests = " \
     ${PYTHON_SITEPACKAGES_DIR}/Cryptodome/SelfTest/ \
diff --git a/poky/meta/recipes-devtools/python/python3/CVE-2021-3177.patch b/poky/meta/recipes-devtools/python/python3/CVE-2021-3177.patch
deleted file mode 100644
index a482071..0000000
--- a/poky/meta/recipes-devtools/python/python3/CVE-2021-3177.patch
+++ /dev/null
@@ -1,191 +0,0 @@
-From c347cbe694743cee120457aa6626712f7799a932 Mon Sep 17 00:00:00 2001
-From: "Miss Islington (bot)"
- <31488909+miss-islington@users.noreply.github.com>
-Date: Mon, 18 Jan 2021 13:29:31 -0800
-Subject: [PATCH] closes bpo-42938: Replace snprintf with Python unicode
- formatting in ctypes param reprs. (GH-24247)
-
-(cherry picked from commit 916610ef90a0d0761f08747f7b0905541f0977c7)
-
-Co-authored-by: Benjamin Peterson <benjamin@python.org>
-
-Co-authored-by: Benjamin Peterson <benjamin@python.org>
-
-CVE: CVE-2021-3177
-Upstream-Status: Backport [https://github.com/python/cpython/commit/c347cbe694743cee120457aa6626712f7799a932]
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- Lib/ctypes/test/test_parameters.py            | 43 ++++++++++++++++
- .../2021-01-18-09-27-31.bpo-42938.4Zn4Mp.rst  |  2 +
- Modules/_ctypes/callproc.c                    | 51 +++++++------------
- 3 files changed, 64 insertions(+), 32 deletions(-)
- create mode 100644 Misc/NEWS.d/next/Security/2021-01-18-09-27-31.bpo-42938.4Zn4Mp.rst
-
-diff --git a/Lib/ctypes/test/test_parameters.py b/Lib/ctypes/test/test_parameters.py
-index e4c25fd880cef..531894fdec838 100644
---- a/Lib/ctypes/test/test_parameters.py
-+++ b/Lib/ctypes/test/test_parameters.py
-@@ -201,6 +201,49 @@ def __dict__(self):
-         with self.assertRaises(ZeroDivisionError):
-             WorseStruct().__setstate__({}, b'foo')
- 
-+    def test_parameter_repr(self):
-+        from ctypes import (
-+            c_bool,
-+            c_char,
-+            c_wchar,
-+            c_byte,
-+            c_ubyte,
-+            c_short,
-+            c_ushort,
-+            c_int,
-+            c_uint,
-+            c_long,
-+            c_ulong,
-+            c_longlong,
-+            c_ulonglong,
-+            c_float,
-+            c_double,
-+            c_longdouble,
-+            c_char_p,
-+            c_wchar_p,
-+            c_void_p,
-+        )
-+        self.assertRegex(repr(c_bool.from_param(True)), r"^<cparam '\?' at 0x[A-Fa-f0-9]+>$")
-+        self.assertEqual(repr(c_char.from_param(97)), "<cparam 'c' ('a')>")
-+        self.assertRegex(repr(c_wchar.from_param('a')), r"^<cparam 'u' at 0x[A-Fa-f0-9]+>$")
-+        self.assertEqual(repr(c_byte.from_param(98)), "<cparam 'b' (98)>")
-+        self.assertEqual(repr(c_ubyte.from_param(98)), "<cparam 'B' (98)>")
-+        self.assertEqual(repr(c_short.from_param(511)), "<cparam 'h' (511)>")
-+        self.assertEqual(repr(c_ushort.from_param(511)), "<cparam 'H' (511)>")
-+        self.assertRegex(repr(c_int.from_param(20000)), r"^<cparam '[li]' \(20000\)>$")
-+        self.assertRegex(repr(c_uint.from_param(20000)), r"^<cparam '[LI]' \(20000\)>$")
-+        self.assertRegex(repr(c_long.from_param(20000)), r"^<cparam '[li]' \(20000\)>$")
-+        self.assertRegex(repr(c_ulong.from_param(20000)), r"^<cparam '[LI]' \(20000\)>$")
-+        self.assertRegex(repr(c_longlong.from_param(20000)), r"^<cparam '[liq]' \(20000\)>$")
-+        self.assertRegex(repr(c_ulonglong.from_param(20000)), r"^<cparam '[LIQ]' \(20000\)>$")
-+        self.assertEqual(repr(c_float.from_param(1.5)), "<cparam 'f' (1.5)>")
-+        self.assertEqual(repr(c_double.from_param(1.5)), "<cparam 'd' (1.5)>")
-+        self.assertEqual(repr(c_double.from_param(1e300)), "<cparam 'd' (1e+300)>")
-+        self.assertRegex(repr(c_longdouble.from_param(1.5)), r"^<cparam ('d' \(1.5\)|'g' at 0x[A-Fa-f0-9]+)>$")
-+        self.assertRegex(repr(c_char_p.from_param(b'hihi')), "^<cparam 'z' \(0x[A-Fa-f0-9]+\)>$")
-+        self.assertRegex(repr(c_wchar_p.from_param('hihi')), "^<cparam 'Z' \(0x[A-Fa-f0-9]+\)>$")
-+        self.assertRegex(repr(c_void_p.from_param(0x12)), r"^<cparam 'P' \(0x0*12\)>$")
-+
- ################################################################
- 
- if __name__ == '__main__':
-diff --git a/Misc/NEWS.d/next/Security/2021-01-18-09-27-31.bpo-42938.4Zn4Mp.rst b/Misc/NEWS.d/next/Security/2021-01-18-09-27-31.bpo-42938.4Zn4Mp.rst
-new file mode 100644
-index 0000000000000..7df65a156feab
---- /dev/null
-+++ b/Misc/NEWS.d/next/Security/2021-01-18-09-27-31.bpo-42938.4Zn4Mp.rst
-@@ -0,0 +1,2 @@
-+Avoid static buffers when computing the repr of :class:`ctypes.c_double` and
-+:class:`ctypes.c_longdouble` values.
-diff --git a/Modules/_ctypes/callproc.c b/Modules/_ctypes/callproc.c
-index b0a36a30248f7..f2506de54498e 100644
---- a/Modules/_ctypes/callproc.c
-+++ b/Modules/_ctypes/callproc.c
-@@ -489,58 +489,47 @@ is_literal_char(unsigned char c)
- static PyObject *
- PyCArg_repr(PyCArgObject *self)
- {
--    char buffer[256];
-     switch(self->tag) {
-     case 'b':
-     case 'B':
--        sprintf(buffer, "<cparam '%c' (%d)>",
-+        return PyUnicode_FromFormat("<cparam '%c' (%d)>",
-             self->tag, self->value.b);
--        break;
-     case 'h':
-     case 'H':
--        sprintf(buffer, "<cparam '%c' (%d)>",
-+        return PyUnicode_FromFormat("<cparam '%c' (%d)>",
-             self->tag, self->value.h);
--        break;
-     case 'i':
-     case 'I':
--        sprintf(buffer, "<cparam '%c' (%d)>",
-+        return PyUnicode_FromFormat("<cparam '%c' (%d)>",
-             self->tag, self->value.i);
--        break;
-     case 'l':
-     case 'L':
--        sprintf(buffer, "<cparam '%c' (%ld)>",
-+        return PyUnicode_FromFormat("<cparam '%c' (%ld)>",
-             self->tag, self->value.l);
--        break;
- 
-     case 'q':
-     case 'Q':
--        sprintf(buffer,
--#ifdef MS_WIN32
--            "<cparam '%c' (%I64d)>",
--#else
--            "<cparam '%c' (%lld)>",
--#endif
-+        return PyUnicode_FromFormat("<cparam '%c' (%lld)>",
-             self->tag, self->value.q);
--        break;
-     case 'd':
--        sprintf(buffer, "<cparam '%c' (%f)>",
--            self->tag, self->value.d);
--        break;
--    case 'f':
--        sprintf(buffer, "<cparam '%c' (%f)>",
--            self->tag, self->value.f);
--        break;
--
-+    case 'f': {
-+        PyObject *f = PyFloat_FromDouble((self->tag == 'f') ? self->value.f : self->value.d);
-+        if (f == NULL) {
-+            return NULL;
-+        }
-+        PyObject *result = PyUnicode_FromFormat("<cparam '%c' (%R)>", self->tag, f);
-+        Py_DECREF(f);
-+        return result;
-+    }
-     case 'c':
-         if (is_literal_char((unsigned char)self->value.c)) {
--            sprintf(buffer, "<cparam '%c' ('%c')>",
-+            return PyUnicode_FromFormat("<cparam '%c' ('%c')>",
-                 self->tag, self->value.c);
-         }
-         else {
--            sprintf(buffer, "<cparam '%c' ('\\x%02x')>",
-+            return PyUnicode_FromFormat("<cparam '%c' ('\\x%02x')>",
-                 self->tag, (unsigned char)self->value.c);
-         }
--        break;
- 
- /* Hm, are these 'z' and 'Z' codes useful at all?
-    Shouldn't they be replaced by the functionality of c_string
-@@ -549,22 +538,20 @@ PyCArg_repr(PyCArgObject *self)
-     case 'z':
-     case 'Z':
-     case 'P':
--        sprintf(buffer, "<cparam '%c' (%p)>",
-+        return PyUnicode_FromFormat("<cparam '%c' (%p)>",
-             self->tag, self->value.p);
-         break;
- 
-     default:
-         if (is_literal_char((unsigned char)self->tag)) {
--            sprintf(buffer, "<cparam '%c' at %p>",
-+            return PyUnicode_FromFormat("<cparam '%c' at %p>",
-                 (unsigned char)self->tag, (void *)self);
-         }
-         else {
--            sprintf(buffer, "<cparam 0x%02x at %p>",
-+            return PyUnicode_FromFormat("<cparam 0x%02x at %p>",
-                 (unsigned char)self->tag, (void *)self);
-         }
--        break;
-     }
--    return PyUnicode_FromString(buffer);
- }
- 
- static PyMemberDef PyCArgType_members[] = {
-
diff --git a/poky/meta/recipes-devtools/python/python3_3.9.1.bb b/poky/meta/recipes-devtools/python/python3_3.9.2.bb
similarity index 96%
rename from poky/meta/recipes-devtools/python/python3_3.9.1.bb
rename to poky/meta/recipes-devtools/python/python3_3.9.2.bb
index ad032e9..af1843a 100644
--- a/poky/meta/recipes-devtools/python/python3_3.9.1.bb
+++ b/poky/meta/recipes-devtools/python/python3_3.9.2.bb
@@ -1,9 +1,10 @@
 SUMMARY = "The Python Programming Language"
 HOMEPAGE = "http://www.python.org"
+DESCRIPTION = "Python is a programming language that lets you work more quickly and integrate your systems more effectively."
 LICENSE = "PSFv2"
 SECTION = "devel/python"
 
-LIC_FILES_CHKSUM = "file://LICENSE;md5=33223c9ef60c31e3f0e866cb09b65e83"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=c22d2438294c784731bf9dd224a467b7"
 
 SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
            file://run-ptest \
@@ -29,7 +30,6 @@
            file://0001-Makefile-do-not-compile-.pyc-in-parallel.patch \
            file://0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch \
            file://0001-Lib-sysconfig.py-use-libdir-values-from-configuratio.patch \
-           file://CVE-2021-3177.patch \
            "
 
 SRC_URI_append_class-native = " \
@@ -37,7 +37,7 @@
            file://12-distutils-prefix-is-inside-staging-area.patch \
            file://0001-Don-t-search-system-for-headers-libraries.patch \
            "
-SRC_URI[sha256sum] = "991c3f8ac97992f3d308fefeb03a64db462574eadbff34ce8bc5bb583d9903ff"
+SRC_URI[sha256sum] = "3c2034c54f811448f516668dce09d24008a0716c3a794dd8639b5388cbde247d"
 
 # exclude pre-releases for both python 2.x and 3.x
 UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar"
@@ -178,6 +178,10 @@
 }
 
 do_install_append_class-nativesdk () {
+    # Make sure we use /usr/bin/env python
+    for PYTHSCRIPT in `grep -rIl ${bindir}/python ${D}${bindir}`; do
+         sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' $PYTHSCRIPT
+    done
     create_wrapper ${D}${bindir}/python${PYTHON_MAJMIN} TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1'
 }