summaryrefslogtreecommitdiff
path: root/poky/meta/recipes-devtools/python
diff options
context:
space:
mode:
authorAndrew Geissler <geissonator@yahoo.com>2021-03-06 00:25:55 +0300
committerBrad Bishop <bradleyb@fuzziesquirrel.com>2021-03-15 14:02:06 +0300
commit90fd73cb556c0db84e45514413a68f9c5e1aea22 (patch)
tree6c7246c5c56fe53360bdcedf98b1331e5730fd34 /poky/meta/recipes-devtools/python
parent97771a30474a164ca08efd09209692a1fb8a4574 (diff)
downloadopenbmc-90fd73cb556c0db84e45514413a68f9c5e1aea22.tar.xz
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
Diffstat (limited to 'poky/meta/recipes-devtools/python')
-rw-r--r--poky/meta/recipes-devtools/python/python-cython.inc2
-rw-r--r--poky/meta/recipes-devtools/python/python-pycryptodome.inc2
-rw-r--r--poky/meta/recipes-devtools/python/python3-cython_0.29.21.bb18
-rw-r--r--poky/meta/recipes-devtools/python/python3-cython_0.29.22.bb33
-rw-r--r--poky/meta/recipes-devtools/python/python3-git_3.1.14.bb (renamed from poky/meta/recipes-devtools/python/python3-git_3.1.13.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3-magic_0.4.22.bb (renamed from poky/meta/recipes-devtools/python/python3-magic_0.4.18.bb)6
-rw-r--r--poky/meta/recipes-devtools/python/python3-pycryptodome_3.10.1.bb5
-rw-r--r--poky/meta/recipes-devtools/python/python3-pycryptodome_3.9.9.bb5
-rw-r--r--poky/meta/recipes-devtools/python/python3-pycryptodomex_3.10.1.bb (renamed from poky/meta/recipes-devtools/python/python3-pycryptodomex_3.9.9.bb)2
-rw-r--r--poky/meta/recipes-devtools/python/python3/CVE-2021-3177.patch191
-rw-r--r--poky/meta/recipes-devtools/python/python3_3.9.2.bb (renamed from poky/meta/recipes-devtools/python/python3_3.9.1.bb)10
11 files changed, 52 insertions, 224 deletions
diff --git a/poky/meta/recipes-devtools/python/python-cython.inc b/poky/meta/recipes-devtools/python/python-cython.inc
index b1e71f3cc..da6eba254 100644
--- a/poky/meta/recipes-devtools/python/python-cython.inc
+++ b/poky/meta/recipes-devtools/python/python-cython.inc
@@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=e23fadd6ceef8c618fc1c65191d846fa"
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 68b084eb0..48481bcf9 100644
--- a/poky/meta/recipes-devtools/python/python-pycryptodome.inc
+++ b/poky/meta/recipes-devtools/python/python-pycryptodome.inc
@@ -3,7 +3,7 @@ DESCRIPTION = "PyCryptodome is a self-contained Python package of low-level\
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 2ce6bdbd6..000000000
--- 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 000000000..01f716c16
--- /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
index 807767e56..911c8f148 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 @@ PYPI_PACKAGE = "GitPython"
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
index 101b96d31..b82892759 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 @@ DESCRIPTION = "This module uses ctypes to access the libmagic file type \
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 000000000..28448b84f
--- /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 1e84ce4df..000000000
--- 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
index abff71efd..a6b3b3e93 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 a48207162..000000000
--- 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
index ad032e97a..af1843a18 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 @@ SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \
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 @@ SRC_URI_append_class-native = " \
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() {
}
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'
}