From 367905c7037fad4633d5d9e500acea1c1797a29d Mon Sep 17 00:00:00 2001 From: Pavel Zhukov <pavel.zhukov@huawei.com> Date: Mon, 13 Dec 2021 19:27:42 +0100 Subject: [PATCH] default.xml: Bump oe-core revision This update brings few CVE fixes (vim, ncurces, glib, etc) as well as bind and python updates. We had python updated downstream and bind is unsupported so the update should not break current API. Signed-off-by: Pavel Zhukov <pavel.zhukov@huawei.com> --- manifests/default.xml | 2 +- ...ib-termcap-to-linker-flags-to-avoid-.patch | 25 - ...lib-as-location-for-site-packages-an.patch | 214 --- ...hell-version-of-python-config-that-w.patch | 35 - ...-search-system-for-headers-libraries.patch | 29 - ...-fix-another-place-where-lib-is-hard.patch | 31 - ...file-do-not-compile-.pyc-in-parallel.patch | 58 - ...sue36464-parallel-build-race-problem.patch | 34 - ...-qemu-wrapper-when-gathering-profile.patch | 25 - ...FLAG_REF-always-for-interned-strings.patch | 35 - ...-detection-of-mips-architecture-for-.patch | 209 --- .../python3/0001-configure.ac-fix-LIBPL.patch | 35 - ...fig-append-STAGING_LIBDIR-python-sys.patch | 42 - ...n3-Do-not-hardcode-lib-for-distutils.patch | 43 - ...asename-to-replace-CC-for-checking-c.patch | 121 -- ...ssing-libraries-to-Extension-for-mul.patch | 69 - ...pes.test_find-skip-without-tools-sdk.patch | 33 - ...le.py-correct-the-test-output-format.patch | 48 - ...report-missing-dependencies-for-disa.patch | 32 - ...up.py-do-not-add-a-curses-include-pa.patch | 48 - ...tutils-prefix-is-inside-staging-area.patch | 58 - .../python3/avoid_warning_about_tkinter.patch | 31 - .../python/python3/cgi_py.patch | 32 - .../python3/check_build_completeness.py | 17 - .../python/python3/create_manifest3.py | 433 ------ .../python/python3/crosspythonpath.patch | 25 - .../python/python3/get_module_deps3.py | 146 -- .../python/python3/makerace.patch | 23 - .../python/python3/python-config.patch | 54 - .../python/python3/python3-manifest.json | 1223 ----------------- .../python/python3/reformat_sysconfig.py | 21 - .../recipes-devtools/python/python3/run-ptest | 3 - .../recipes-devtools/python/python3_3.8.12.bb | 363 ----- .../gmp/gmp/CVE-2021-43618.patch | 27 - .../recipes-support/gmp/gmp_6.2%.bbappend | 6 - 35 files changed, 1 insertion(+), 3629 deletions(-) delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/0001-Do-not-use-the-shell-version-of-python-config-that-w.patch delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/0001-Makefile-do-not-compile-.pyc-in-parallel.patch delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/0001-Use-FLAG_REF-always-for-interned-strings.patch delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/0001-configure.ac-fix-LIBPL.patch delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/0001-python3-Do-not-hardcode-lib-for-distutils.patch delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/0001-setup.py-pass-missing-libraries-to-Extension-for-mul.patch delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/0001-test_ctypes.test_find-skip-without-tools-sdk.patch delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/cgi_py.patch delete mode 100755 meta-oniro-staging/recipes-devtools/python/python3/check_build_completeness.py delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/create_manifest3.py delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/crosspythonpath.patch delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/get_module_deps3.py delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/makerace.patch delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/python-config.patch delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/python3-manifest.json delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/reformat_sysconfig.py delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3/run-ptest delete mode 100644 meta-oniro-staging/recipes-devtools/python/python3_3.8.12.bb delete mode 100644 meta-oniro-staging/recipes-support/gmp/gmp/CVE-2021-43618.patch delete mode 100644 meta-oniro-staging/recipes-support/gmp/gmp_6.2%.bbappend diff --git a/manifests/default.xml b/manifests/default.xml index 6b270995..ccb029db 100644 --- a/manifests/default.xml +++ b/manifests/default.xml @@ -39,7 +39,7 @@ SPDX-FileCopyrightText: Huawei Inc. More info can be found at https://wiki.yoctoproject.org/wiki/Releases. --> <project name="bitbake" remote="oe" revision="f1a3e9d22b5f4fb01c4a0e4ba03afb1afbba47f1" path="bitbake" /> - <project name="openembedded-core" remote="oe" revision="44b1970c40e9d73f6e63fb10cdc55837a26f5921" path="oe-core" /> + <project name="openembedded-core" remote="oe" revision="f788765e1b9832d0da8ec4ce49aa811115864b0e" path="oe-core" /> <project name="meta-openembedded" remote="openembedded" revision="7889158dcd187546fc5e99fd81d0779cad3e8d17" path="meta-openembedded" /> <project name="meta-freertos" remote="aehs29" revision="f3c2edb0f22c34b35a775c5d17ea1424d44bee21" path="meta-freertos" /> <project name="meta-st-stm32mp" remote="stm" revision="b25a2b0daa6e9e1e3ce76b9fdf5bd7cbf30e90fc" path="meta-st-stm32mp" /> diff --git a/meta-oniro-staging/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch b/meta-oniro-staging/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch deleted file mode 100644 index 59592821..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 039c53dd5baddec3359a05be0bff46a3b32bbb84 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Fri, 25 Jan 2019 19:04:13 +0100 -Subject: [PATCH] Do not add /usr/lib/termcap to linker flags to avoid host - contamination - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - ---- - setup.py | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/setup.py b/setup.py -index 20d7f35..ab18ff0 100644 ---- a/setup.py -+++ b/setup.py -@@ -957,7 +957,6 @@ class PyBuildExt(build_ext): - 'termcap'): - readline_libs.append('termcap') - self.add(Extension('readline', ['readline.c'], -- library_dirs=['/usr/lib/termcap'], - extra_link_args=readline_extra_link_args, - libraries=readline_libs)) - else: diff --git a/meta-oniro-staging/recipes-devtools/python/python3/0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch b/meta-oniro-staging/recipes-devtools/python/python3/0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch deleted file mode 100644 index 112c9794..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch +++ /dev/null @@ -1,214 +0,0 @@ -From a078b6ff1492e848ad1055764fb9a414abaf3e12 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Tue, 5 Feb 2019 15:52:02 +0100 -Subject: [PATCH] Do not hardcode "lib" as location for modules, site-packages - and lib-dynload - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - ---- - Include/pythonrun.h | 2 ++ - Lib/site.py | 4 ++-- - Makefile.pre.in | 5 +++-- - Modules/getpath.c | 22 ++++++++++++++-------- - Python/getplatform.c | 10 ++++++++++ - Python/sysmodule.c | 2 ++ - 6 files changed, 33 insertions(+), 12 deletions(-) - -diff --git a/Include/pythonrun.h b/Include/pythonrun.h -index 46091e0..61b2e15 100644 ---- a/Include/pythonrun.h -+++ b/Include/pythonrun.h -@@ -7,6 +7,8 @@ - extern "C" { - #endif - -+PyAPI_FUNC(const char *) Py_GetLib(void); -+ - #ifndef Py_LIMITED_API - PyAPI_FUNC(int) PyRun_SimpleStringFlags(const char *, PyCompilerFlags *); - PyAPI_FUNC(int) PyRun_AnyFileExFlags( -diff --git a/Lib/site.py b/Lib/site.py -index a065ab0..1d720ef 100644 ---- a/Lib/site.py -+++ b/Lib/site.py -@@ -335,12 +335,12 @@ def getsitepackages(prefixes=None): - seen.add(prefix) - - if os.sep == '/': -- sitepackages.append(os.path.join(prefix, "lib", -+ sitepackages.append(os.path.join(prefix, sys.lib, - "python%d.%d" % sys.version_info[:2], - "site-packages")) - else: - sitepackages.append(prefix) -- sitepackages.append(os.path.join(prefix, "lib", "site-packages")) -+ sitepackages.append(os.path.join(prefix, sys.lib, "site-packages")) - return sitepackages - - def addsitepackages(known_paths, prefixes=None): -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 65665df..be49140 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -143,7 +143,7 @@ LIBDIR= @libdir@ - MANDIR= @mandir@ - INCLUDEDIR= @includedir@ - CONFINCLUDEDIR= $(exec_prefix)/include --SCRIPTDIR= $(prefix)/lib -+SCRIPTDIR= @libdir@ - ABIFLAGS= @ABIFLAGS@ - - # Detailed destination directories -@@ -753,6 +753,7 @@ Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile - -DEXEC_PREFIX='"$(exec_prefix)"' \ - -DVERSION='"$(VERSION)"' \ - -DVPATH='"$(VPATH)"' \ -+ -DLIB='"$(LIB)"' \ - -o $@ $(srcdir)/Modules/getpath.c - - Programs/python.o: $(srcdir)/Programs/python.c -@@ -868,7 +869,7 @@ regen-symbol: $(srcdir)/Include/graminit.h - Python/compile.o Python/symtable.o Python/ast_unparse.o Python/ast.o Python/future.o Parser/parsetok.o: $(srcdir)/Include/graminit.h $(srcdir)/Include/Python-ast.h - - Python/getplatform.o: $(srcdir)/Python/getplatform.c -- $(CC) -c $(PY_CORE_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c -+ $(CC) -c $(PY_CORE_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -DLIB='"$(LIB)"' -o $@ $(srcdir)/Python/getplatform.c - - Python/importdl.o: $(srcdir)/Python/importdl.c - $(CC) -c $(PY_CORE_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c -diff --git a/Modules/getpath.c b/Modules/getpath.c -index b727f66..c003e46 100644 ---- a/Modules/getpath.c -+++ b/Modules/getpath.c -@@ -128,6 +128,7 @@ typedef struct { - wchar_t *exec_prefix; /* EXEC_PREFIX macro */ - - wchar_t *lib_python; /* "lib/pythonX.Y" */ -+ wchar_t *multilib_python; /* "lib[suffix]/pythonX.Y" */ - - int prefix_found; /* found platform independent libraries? */ - int exec_prefix_found; /* found the platform dependent libraries? */ -@@ -386,7 +387,7 @@ search_for_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig, - if (delim) { - *delim = L'\0'; - } -- status = joinpath(prefix, calculate->lib_python, prefix_len); -+ status = joinpath(prefix, calculate->multilib_python, prefix_len); - if (_PyStatus_EXCEPTION(status)) { - return status; - } -@@ -444,7 +445,7 @@ search_for_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig, - do { - /* Path: <argv0_path or substring> / <lib_python> / LANDMARK */ - size_t n = wcslen(prefix); -- status = joinpath(prefix, calculate->lib_python, prefix_len); -+ status = joinpath(prefix, calculate->multilib_python, prefix_len); - if (_PyStatus_EXCEPTION(status)) { - return status; - } -@@ -467,7 +468,7 @@ search_for_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig, - if (safe_wcscpy(prefix, calculate->prefix, prefix_len) < 0) { - return PATHLEN_ERR(); - } -- status = joinpath(prefix, calculate->lib_python, prefix_len); -+ status = joinpath(prefix, calculate->multilib_python, prefix_len); - if (_PyStatus_EXCEPTION(status)) { - return status; - } -@@ -510,7 +511,7 @@ calculate_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig, - if (safe_wcscpy(prefix, calculate->prefix, prefix_len) < 0) { - return PATHLEN_ERR(); - } -- status = joinpath(prefix, calculate->lib_python, prefix_len); -+ status = joinpath(prefix, calculate->multilib_python, prefix_len); - if (_PyStatus_EXCEPTION(status)) { - return status; - } -@@ -635,7 +636,7 @@ search_for_exec_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig, - return PATHLEN_ERR(); - } - } -- status = joinpath(exec_prefix, calculate->lib_python, exec_prefix_len); -+ status = joinpath(exec_prefix, calculate->multilib_python, exec_prefix_len); - if (_PyStatus_EXCEPTION(status)) { - return status; - } -@@ -667,7 +668,7 @@ search_for_exec_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig, - do { - /* Path: <argv0_path or substring> / <lib_python> / "lib-dynload" */ - size_t n = wcslen(exec_prefix); -- status = joinpath(exec_prefix, calculate->lib_python, exec_prefix_len); -+ status = joinpath(exec_prefix, calculate->multilib_python, exec_prefix_len); - if (_PyStatus_EXCEPTION(status)) { - return status; - } -@@ -689,7 +690,7 @@ search_for_exec_prefix(PyCalculatePath *calculate, _PyPathConfig *pathconfig, - if (safe_wcscpy(exec_prefix, calculate->exec_prefix, exec_prefix_len) < 0) { - return PATHLEN_ERR(); - } -- status = joinpath(exec_prefix, calculate->lib_python, exec_prefix_len); -+ status = joinpath(exec_prefix, calculate->multilib_python, exec_prefix_len); - if (_PyStatus_EXCEPTION(status)) { - return status; - } -@@ -928,7 +929,7 @@ calculate_argv0_path(PyCalculatePath *calculate, const wchar_t *program_full_pat - return PATHLEN_ERR(); - } - reduce(argv0_path); -- status = joinpath(argv0_path, calculate->lib_python, argv0_path_len); -+ status = joinpath(argv0_path, calculate->multilib_python, argv0_path_len); - if (_PyStatus_EXCEPTION(status)) { - PyMem_RawFree(wbuf); - return status; -@@ -1201,6 +1202,10 @@ calculate_init(PyCalculatePath *calculate, const PyConfig *config) - if (!calculate->lib_python) { - return DECODE_LOCALE_ERR("EXEC_PREFIX define", len); - } -+ calculate->multilib_python = Py_DecodeLocale(LIB "/python" VERSION, &len); -+ if (!calculate->multilib_python) { -+ return DECODE_LOCALE_ERR("EXEC_PREFIX define", len); -+ } - - calculate->warnings = config->pathconfig_warnings; - calculate->pythonpath_env = config->pythonpath_env; -@@ -1216,6 +1221,7 @@ calculate_free(PyCalculatePath *calculate) - PyMem_RawFree(calculate->prefix); - PyMem_RawFree(calculate->exec_prefix); - PyMem_RawFree(calculate->lib_python); -+ PyMem_RawFree(calculate->multilib_python); - PyMem_RawFree(calculate->path_env); - } - -diff --git a/Python/getplatform.c b/Python/getplatform.c -index 81a0f7a..d55396b 100644 ---- a/Python/getplatform.c -+++ b/Python/getplatform.c -@@ -10,3 +10,13 @@ Py_GetPlatform(void) - { - return PLATFORM; - } -+ -+#ifndef LIB -+#define LIB "lib" -+#endif -+ -+const char * -+Py_GetLib(void) -+{ -+ return LIB; -+} -diff --git a/Python/sysmodule.c b/Python/sysmodule.c -index 5b0fb81..0dce754 100644 ---- a/Python/sysmodule.c -+++ b/Python/sysmodule.c -@@ -2668,6 +2668,8 @@ _PySys_InitCore(_PyRuntimeState *runtime, PyInterpreterState *interp, - PyUnicode_FromString(Py_GetCopyright())); - SET_SYS_FROM_STRING("platform", - PyUnicode_FromString(Py_GetPlatform())); -+ SET_SYS_FROM_STRING("lib", -+ PyUnicode_FromString(Py_GetLib())); - SET_SYS_FROM_STRING("maxsize", - PyLong_FromSsize_t(PY_SSIZE_T_MAX)); - SET_SYS_FROM_STRING("float_info", diff --git a/meta-oniro-staging/recipes-devtools/python/python3/0001-Do-not-use-the-shell-version-of-python-config-that-w.patch b/meta-oniro-staging/recipes-devtools/python/python3/0001-Do-not-use-the-shell-version-of-python-config-that-w.patch deleted file mode 100644 index 83fd52d8..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/0001-Do-not-use-the-shell-version-of-python-config-that-w.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 148861fa16f2aaacd518770f337ea54b5182f981 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Tue, 29 Jan 2019 15:03:01 +0100 -Subject: [PATCH] Do not use the shell version of python-config that was - introduced in 3.4 - -Revert instead to the original python version: it has our tweaks and -outputs directories correctly. - -Upstream-Status: Inappropriate [oe-specific] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - Makefile.pre.in | 9 +++------ - 1 file changed, 3 insertions(+), 6 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 2d2e11f..cc19942 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1431,12 +1431,9 @@ python-config: $(srcdir)/Misc/python-config.in Misc/python-config.sh - sed -e "s,@EXENAME@,$(BINDIR)/python$(LDVERSION)$(EXE)," < $(srcdir)/Misc/python-config.in >python-config.py - @ # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -> ${VAR} - LC_ALL=C sed -e 's,\$$(\([A-Za-z0-9_]*\)),\$$\{\1\},g' < Misc/python-config.sh >python-config -- @ # On Darwin, always use the python version of the script, the shell -- @ # version doesn't use the compiler customizations that are provided -- @ # in python (_osx_support.py). -- @if test `uname -s` = Darwin; then \ -- cp python-config.py python-config; \ -- fi -+ @ # In OpenEmbedded, always use the python version of the script, the shell -+ @ # version is broken in multiple ways, and doesn't return correct directories -+ cp python-config.py python-config - - - # Install the include files diff --git a/meta-oniro-staging/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch b/meta-oniro-staging/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch deleted file mode 100644 index acf8e1e9..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/0001-Don-t-search-system-for-headers-libraries.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 85e8f86ad2b7dec0848cd55b8e810a5e2722b20a Mon Sep 17 00:00:00 2001 -From: Jeremy Puhlman <jpuhlman@mvista.com> -Date: Wed, 4 Mar 2020 00:06:42 +0000 -Subject: [PATCH] Don't search system for headers/libraries - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Jeremy Puhlman <jpuhlman@mvista.com> ---- - setup.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/setup.py b/setup.py -index 9da1b3a..59782c0 100644 ---- a/setup.py -+++ b/setup.py -@@ -674,8 +674,8 @@ class PyBuildExt(build_ext): - add_dir_to_list(self.compiler.include_dirs, - sysconfig.get_config_var("INCLUDEDIR")) - -- system_lib_dirs = ['/lib64', '/usr/lib64', '/lib', '/usr/lib'] -- system_include_dirs = ['/usr/include'] -+ system_lib_dirs = [] -+ system_include_dirs = [] - # lib_dirs and inc_dirs are used to search for files; - # if a file is found in one of those directories, it can - # be assumed that no additional -I,-L directives are needed. --- -2.24.1 - diff --git a/meta-oniro-staging/recipes-devtools/python/python3/0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch b/meta-oniro-staging/recipes-devtools/python/python3/0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch deleted file mode 100644 index b9758368..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch +++ /dev/null @@ -1,31 +0,0 @@ -From a21f4f8fa5e5c0601898740b4ac08ec84f41e190 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Thu, 18 Apr 2019 17:11:06 +0200 -Subject: [PATCH] Lib/sysconfig.py: fix another place where 'lib' is hardcoded - as the library path - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - Lib/sysconfig.py | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py -index d15cec8..87fa5e6 100644 ---- a/Lib/sysconfig.py -+++ b/Lib/sysconfig.py -@@ -20,10 +20,10 @@ __all__ = [ - - _INSTALL_SCHEMES = { - 'posix_prefix': { -- 'stdlib': '{installed_base}/lib/python{py_version_short}', -- 'platstdlib': '{platbase}/lib/python{py_version_short}', -- 'purelib': '{base}/lib/python{py_version_short}/site-packages', -- 'platlib': '{platbase}/lib/python{py_version_short}/site-packages', -+ 'stdlib': '{LIBDEST}', -+ 'platstdlib': '{LIBDEST}', -+ 'purelib': '{LIBDEST}/site-packages', -+ 'platlib': '{LIBDEST}/site-packages', - 'include': - '{installed_base}/include/python{py_version_short}{abiflags}', - 'platinclude': diff --git a/meta-oniro-staging/recipes-devtools/python/python3/0001-Makefile-do-not-compile-.pyc-in-parallel.patch b/meta-oniro-staging/recipes-devtools/python/python3/0001-Makefile-do-not-compile-.pyc-in-parallel.patch deleted file mode 100644 index b1bceac5..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/0001-Makefile-do-not-compile-.pyc-in-parallel.patch +++ /dev/null @@ -1,58 +0,0 @@ -From c501e121a872cbcef8ffe626c1de173a125be9f8 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Thu, 16 Jan 2020 12:34:20 +0100 -Subject: [PATCH] Makefile: do not compile .pyc in parallel - -This was found to break reproducibility, and produce strange file ownership -races. - -The upstream commit introducing the change was: -https://github.com/python/cpython/commit/1a2dd82f56bd813aacc570e172cefe55a8a41504 - -Upstream-Status: Pending -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - Makefile.pre.in | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 1241112..5dfdf44 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1457,30 +1457,30 @@ libinstall: build_all $(srcdir)/Modules/xxmodule.c - fi - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \ -- -j0 -d $(LIBDEST) -f \ -+ -d $(LIBDEST) -f \ - -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \ - $(DESTDIR)$(LIBDEST) - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \ -- -j0 -d $(LIBDEST) -f \ -+ -d $(LIBDEST) -f \ - -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \ - $(DESTDIR)$(LIBDEST) - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \ -- -j0 -d $(LIBDEST) -f \ -+ -d $(LIBDEST) -f \ - -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \ - $(DESTDIR)$(LIBDEST) - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -Wi $(DESTDIR)$(LIBDEST)/compileall.py \ -- -j0 -d $(LIBDEST)/site-packages -f \ -+ -d $(LIBDEST)/site-packages -f \ - -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -Wi -O $(DESTDIR)$(LIBDEST)/compileall.py \ -- -j0 -d $(LIBDEST)/site-packages -f \ -+ -d $(LIBDEST)/site-packages -f \ - -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -Wi -OO $(DESTDIR)$(LIBDEST)/compileall.py \ -- -j0 -d $(LIBDEST)/site-packages -f \ -+ -d $(LIBDEST)/site-packages -f \ - -x badsyntax $(DESTDIR)$(LIBDEST)/site-packages - -PYTHONPATH=$(DESTDIR)$(LIBDEST) $(RUNSHARED) \ - $(PYTHON_FOR_BUILD) -m lib2to3.pgen2.driver $(DESTDIR)$(LIBDEST)/lib2to3/Grammar.txt diff --git a/meta-oniro-staging/recipes-devtools/python/python3/0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch b/meta-oniro-staging/recipes-devtools/python/python3/0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch deleted file mode 100644 index 237645bc..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 840fda32c82550259d02a7a56a78a9c05162b1a1 Mon Sep 17 00:00:00 2001 -From: Changqing Li <changqing.li@windriver.com> -Date: Wed, 8 May 2019 16:10:29 +0800 -Subject: [PATCH] Makefile: fix Issue36464 (parallel build race problem) - -When using make -j with the 'install' target, it's possible for altbininstall -(which normally creates BINDIR) and libainstall (which doesn't, though it -installs python-config there) to race, resulting in a failure due to -attempting to install python-config into a nonexistent BINDIR. Ensure it also -exists in the libainstall target. - -Upstream-Status: Submitted [https://github.com/python/cpython/pull/13186] - -Signed-off-by: Changqing Li <changqing.li@windriver.com> ---- - Makefile.pre.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index 15f3687..7e9f173 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -1456,7 +1456,7 @@ LIBPL= @LIBPL@ - LIBPC= $(LIBDIR)/pkgconfig - - libainstall: @DEF_MAKE_RULE@ python-config -- @for i in $(LIBDIR) $(LIBPL) $(LIBPC); \ -+ @for i in $(LIBDIR) $(LIBPL) $(LIBPC) $(BINDIR); \ - do \ - if test ! -d $(DESTDIR)$$i; then \ - echo "Creating directory $$i"; \ --- -2.7.4 - diff --git a/meta-oniro-staging/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch b/meta-oniro-staging/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch deleted file mode 100644 index fa7735ff..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch +++ /dev/null @@ -1,25 +0,0 @@ -From cf6a9100902484e4d028ee88742dd2487b014a98 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Wed, 30 Jan 2019 12:41:04 +0100 -Subject: [PATCH] Makefile.pre: use qemu wrapper when gathering profile data - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - Makefile.pre.in | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -diff --git a/Makefile.pre.in b/Makefile.pre.in -index a3a02a7..d5503dd 100644 ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -507,8 +507,7 @@ build_all_generate_profile: - $(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS_NODIST) $(PGO_PROF_GEN_FLAG)" LDFLAGS_NODIST="$(LDFLAGS_NODIST) $(PGO_PROF_GEN_FLAG)" LIBS="$(LIBS)" - - run_profile_task: -- @ # FIXME: can't run for a cross build -- $(LLVM_PROF_FILE) $(RUNSHARED) ./$(BUILDPYTHON) $(PROFILE_TASK) || true -+ ./pgo-wrapper ./python -m test.regrtest --pgo test_grammar test_opcodes test_dict test_builtin test_exceptions test_types test_support || true - - build_all_merge_profile: - $(LLVM_PROF_MERGER) diff --git a/meta-oniro-staging/recipes-devtools/python/python3/0001-Use-FLAG_REF-always-for-interned-strings.patch b/meta-oniro-staging/recipes-devtools/python/python3/0001-Use-FLAG_REF-always-for-interned-strings.patch deleted file mode 100644 index 957839bf..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/0001-Use-FLAG_REF-always-for-interned-strings.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 6c8ea7c1dacd42f3ba00440231ec0e6b1a38300d Mon Sep 17 00:00:00 2001 -From: Inada Naoki <songofacandy@gmail.com> -Date: Sat, 14 Jul 2018 00:46:11 +0900 -Subject: [PATCH] Use FLAG_REF always for interned strings - -Upstream-Status: Submitted [https://github.com/python/cpython/pull/8226] -Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> ---- - Python/marshal.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -diff --git a/Python/marshal.c b/Python/marshal.c -index 6d06266c6a..51db2e3b2e 100644 ---- a/Python/marshal.c -+++ b/Python/marshal.c -@@ -275,9 +275,14 @@ w_ref(PyObject *v, char *flag, WFILE *p) - if (p->version < 3 || p->hashtable == NULL) - return 0; /* not writing object references */ - -- /* if it has only one reference, it definitely isn't shared */ -- if (Py_REFCNT(v) == 1) -+ /* If it has only one reference, it definitely isn't shared. -+ * But we use TYPE_REF always for interned string, to PYC file stable -+ * as possible. -+ */ -+ if (Py_REFCNT(v) == 1 && -+ !(PyUnicode_CheckExact(v) && PyUnicode_CHECK_INTERNED(v))) { - return 0; -+ } - - entry = _Py_HASHTABLE_GET_ENTRY(p->hashtable, v); - if (entry != NULL) { --- -2.21.0 - diff --git a/meta-oniro-staging/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch b/meta-oniro-staging/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch deleted file mode 100644 index c4fae09a..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch +++ /dev/null @@ -1,209 +0,0 @@ -From 1ad771d86728ee2ed30e202e9768d8d825f96467 Mon Sep 17 00:00:00 2001 -From: Matthias Schoepfer <matthias.schoepfer@ithinx.io> -Date: Fri, 31 May 2019 15:34:34 +0200 -Subject: [PATCH] bpo-36852: proper detection of mips architecture for soft - float - -When (cross) compiling for softfloat mips, __mips_hard_float will not be -defined and detection of OS triplet in configure.ac / configure will fail. - -This also has to do with the custom detection of the build triplet. Trying -to do this in a more autoconf/autotools manner. - -Upstream-Status: Submitted [https://github.com/python/cpython/pull/13196] -Signed-off-by: Matthias Schoepfer <matthias.schoepfer@ithinx.io> - -%% original patch: 0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch ---- - configure.ac | 175 +++++++-------------------------------------------- - 1 file changed, 21 insertions(+), 154 deletions(-) - -diff --git a/configure.ac b/configure.ac -index ede710e..bc81b0b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -710,160 +710,27 @@ fi - MULTIARCH=$($CC --print-multiarch 2>/dev/null) - AC_SUBST(MULTIARCH) - --AC_MSG_CHECKING([for the platform triplet based on compiler characteristics]) --cat >> conftest.c <<EOF --#undef bfin --#undef cris --#undef fr30 --#undef linux --#undef hppa --#undef hpux --#undef i386 --#undef mips --#undef powerpc --#undef sparc --#undef unix --#if defined(__ANDROID__) -- # Android is not a multiarch system. --#elif defined(__linux__) --# if defined(__x86_64__) && defined(__LP64__) -- x86_64-linux-gnu --# elif defined(__x86_64__) && defined(__ILP32__) -- x86_64-linux-gnux32 --# elif defined(__i386__) -- i386-linux-gnu --# elif defined(__aarch64__) && defined(__AARCH64EL__) --# if defined(__ILP32__) -- aarch64_ilp32-linux-gnu --# else -- aarch64-linux-gnu --# endif --# elif defined(__aarch64__) && defined(__AARCH64EB__) --# if defined(__ILP32__) -- aarch64_be_ilp32-linux-gnu --# else -- aarch64_be-linux-gnu --# endif --# elif defined(__alpha__) -- alpha-linux-gnu --# elif defined(__ARM_EABI__) && defined(__ARM_PCS_VFP) --# if defined(__ARMEL__) -- arm-linux-gnueabihf --# else -- armeb-linux-gnueabihf --# endif --# elif defined(__ARM_EABI__) && !defined(__ARM_PCS_VFP) --# if defined(__ARMEL__) -- arm-linux-gnueabi --# else -- armeb-linux-gnueabi --# endif --# elif defined(__hppa__) -- hppa-linux-gnu --# elif defined(__ia64__) -- ia64-linux-gnu --# elif defined(__m68k__) && !defined(__mcoldfire__) -- m68k-linux-gnu --# elif defined(__mips_hard_float) && defined(__mips_isa_rev) && (__mips_isa_rev >=6) && defined(_MIPSEL) --# if _MIPS_SIM == _ABIO32 -- mipsisa32r6el-linux-gnu --# elif _MIPS_SIM == _ABIN32 -- mipsisa64r6el-linux-gnuabin32 --# elif _MIPS_SIM == _ABI64 -- mipsisa64r6el-linux-gnuabi64 --# else --# error unknown platform triplet --# endif --# elif defined(__mips_hard_float) && defined(__mips_isa_rev) && (__mips_isa_rev >=6) --# if _MIPS_SIM == _ABIO32 -- mipsisa32r6-linux-gnu --# elif _MIPS_SIM == _ABIN32 -- mipsisa64r6-linux-gnuabin32 --# elif _MIPS_SIM == _ABI64 -- mipsisa64r6-linux-gnuabi64 --# else --# error unknown platform triplet --# endif --# elif defined(__mips_hard_float) && defined(_MIPSEL) --# if _MIPS_SIM == _ABIO32 -- mipsel-linux-gnu --# elif _MIPS_SIM == _ABIN32 -- mips64el-linux-gnuabin32 --# elif _MIPS_SIM == _ABI64 -- mips64el-linux-gnuabi64 --# else --# error unknown platform triplet --# endif --# elif defined(__mips_hard_float) --# if _MIPS_SIM == _ABIO32 -- mips-linux-gnu --# elif _MIPS_SIM == _ABIN32 -- mips64-linux-gnuabin32 --# elif _MIPS_SIM == _ABI64 -- mips64-linux-gnuabi64 --# else --# error unknown platform triplet --# endif --# elif defined(__or1k__) -- or1k-linux-gnu --# elif defined(__powerpc__) && defined(__SPE__) -- powerpc-linux-gnuspe --# elif defined(__powerpc64__) --# if defined(__LITTLE_ENDIAN__) -- powerpc64le-linux-gnu --# else -- powerpc64-linux-gnu --# endif --# elif defined(__powerpc__) -- powerpc-linux-gnu --# elif defined(__s390x__) -- s390x-linux-gnu --# elif defined(__s390__) -- s390-linux-gnu --# elif defined(__sh__) && defined(__LITTLE_ENDIAN__) -- sh4-linux-gnu --# elif defined(__sparc__) && defined(__arch64__) -- sparc64-linux-gnu --# elif defined(__sparc__) -- sparc-linux-gnu --# elif defined(__riscv) --# if __riscv_xlen == 32 -- riscv32-linux-gnu --# elif __riscv_xlen == 64 -- riscv64-linux-gnu --# else --# error unknown platform triplet --# endif --# else --# error unknown platform triplet --# endif --#elif defined(__FreeBSD_kernel__) --# if defined(__LP64__) -- x86_64-kfreebsd-gnu --# elif defined(__i386__) -- i386-kfreebsd-gnu --# else --# error unknown platform triplet --# endif --#elif defined(__gnu_hurd__) -- i386-gnu --#elif defined(__APPLE__) -- darwin --#elif defined(__VXWORKS__) -- vxworks --#else --# error unknown platform triplet --#endif -- --EOF -- --if $CPP $CPPFLAGS conftest.c >conftest.out 2>/dev/null; then -- PLATFORM_TRIPLET=`grep -v '^#' conftest.out | grep -v '^ *$' | tr -d ' '` -- AC_MSG_RESULT([$PLATFORM_TRIPLET]) --else -- AC_MSG_RESULT([none]) --fi --rm -f conftest.c conftest.out -+AC_CANONICAL_TARGET -+## Not using $target to filter out vendor -+## Need to handle macos, vxworks and hurd special (?) :-/ -+case ${target_os} in -+ darwin*) -+ PLATFORM_TRIPLET=darwin -+ ;; -+ hurd*) -+ PLATFORM_TRIPLET=i386-gnu -+ ;; -+ vxworks*) -+ PLATFORM_TRIPLET=vxworks -+ ;; -+ *) -+ if test "${target_cpu}" != "i686"; then -+ PLATFORM_TRIPLET=${target_cpu}-${target_os} -+ else -+ PLATFORM_TRIPLET=i386-${target_os} -+ fi -+ ;; -+esac - - if test x$PLATFORM_TRIPLET != x && test x$MULTIARCH != x; then - if test x$PLATFORM_TRIPLET != x$MULTIARCH; then --- -2.24.1 - diff --git a/meta-oniro-staging/recipes-devtools/python/python3/0001-configure.ac-fix-LIBPL.patch b/meta-oniro-staging/recipes-devtools/python/python3/0001-configure.ac-fix-LIBPL.patch deleted file mode 100644 index 123ce3a2..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/0001-configure.ac-fix-LIBPL.patch +++ /dev/null @@ -1,35 +0,0 @@ -From acce3d441e7eadadd2d3ce38654155dc43f1f607 Mon Sep 17 00:00:00 2001 -From: Changqing Li <changqing.li@windriver.com> -Date: Fri, 7 Feb 2020 09:36:25 +0800 -Subject: [PATCH] configure.ac: fix LIBPL - -Use LIBDIR rather than prefix/lib, so that it would work when lib64. - -Upstream-Status: Inappropriate [oe-core specific] - -Signed-off-by: Robert Yang <liezhi.yang@windriver.com> -Signed-off-by: Li Zhou <li.zhou@windriver.c> -Signed-off-by: Changqing Li <changqing.li@windriver.com> ---- - configure.ac | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.ac b/configure.ac -index ce04258..915f475 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -4532,9 +4532,9 @@ fi - dnl define LIBPL after ABIFLAGS and LDVERSION is defined. - AC_SUBST(PY_ENABLE_SHARED) - if test x$PLATFORM_TRIPLET = x; then -- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}" -+ LIBPL='$(LIBDIR)'"/python${VERSION}/config-${LDVERSION}" - else -- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}" -+ LIBPL='$(LIBDIR)'"/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}" - fi - AC_SUBST(LIBPL) - --- -2.7.4 - diff --git a/meta-oniro-staging/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch b/meta-oniro-staging/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch deleted file mode 100644 index e7af3c6f..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 7ada9c749f6beb51c13a3debc850755e911548a6 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Thu, 31 Jan 2019 16:46:30 +0100 -Subject: [PATCH] distutils/sysconfig: append - STAGING_LIBDIR/python-sysconfigdata to sys.path - -So that target configuration can be used when running native python - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - ---- - Lib/distutils/sysconfig.py | 2 ++ - Lib/sysconfig.py | 2 ++ - 2 files changed, 4 insertions(+) - -diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py -index b51629e..2df348c 100644 ---- a/Lib/distutils/sysconfig.py -+++ b/Lib/distutils/sysconfig.py -@@ -438,6 +438,8 @@ def _init_posix(): - platform=sys.platform, - multiarch=getattr(sys.implementation, '_multiarch', ''), - )) -+ if 'STAGING_LIBDIR' in os.environ: -+ sys.path.append(os.environ['STAGING_LIBDIR']+'/python-sysconfigdata') - _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0) - build_time_vars = _temp.build_time_vars - global _config_vars -diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py -index b2d790b..405273c 100644 ---- a/Lib/sysconfig.py -+++ b/Lib/sysconfig.py -@@ -419,6 +419,8 @@ def _init_posix(vars): - """Initialize the module as appropriate for POSIX systems.""" - # _sysconfigdata is generated at build time, see _generate_posix_vars() - name = _get_sysconfigdata_name() -+ if 'STAGING_LIBDIR' in os.environ: -+ sys.path.append(os.environ['STAGING_LIBDIR']+'/python-sysconfigdata') - _temp = __import__(name, globals(), locals(), ['build_time_vars'], 0) - build_time_vars = _temp.build_time_vars - vars.update(build_time_vars) diff --git a/meta-oniro-staging/recipes-devtools/python/python3/0001-python3-Do-not-hardcode-lib-for-distutils.patch b/meta-oniro-staging/recipes-devtools/python/python3/0001-python3-Do-not-hardcode-lib-for-distutils.patch deleted file mode 100644 index fe031b99..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/0001-python3-Do-not-hardcode-lib-for-distutils.patch +++ /dev/null @@ -1,43 +0,0 @@ -From bb711b53f10d32a90a27ccf4b0dc51e4a701d862 Mon Sep 17 00:00:00 2001 -From: Changqing Li <changqing.li@windriver.com> -Date: Fri, 7 Feb 2020 09:42:09 +0800 -Subject: [PATCH] python3: Do not hardcode "lib" for distutils - -Get the sys.lib from python3 itself and do not use -hardcoded value of 'lib' for distutils. - -Upstream-Status: Inappropriate [oe-core specific] - -Signed-off-by: Li Zhou <li.zhou@windriver.com> -Signed-off-by: Changqing Li <changqing.li@windriver.com> ---- - Lib/distutils/command/install.py | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py -index c625c95..8e32f54 100644 ---- a/Lib/distutils/command/install.py -+++ b/Lib/distutils/command/install.py -@@ -19,6 +19,8 @@ from site import USER_BASE - from site import USER_SITE - HAS_USER_SITE = True - -+libname = sys.lib -+ - WINDOWS_SCHEME = { - 'purelib': '$base/Lib/site-packages', - 'platlib': '$base/Lib/site-packages', -@@ -29,8 +31,8 @@ WINDOWS_SCHEME = { - - INSTALL_SCHEMES = { - 'unix_prefix': { -- 'purelib': '$base/lib/python$py_version_short/site-packages', -- 'platlib': '$platbase/lib/python$py_version_short/site-packages', -+ 'purelib': '$base/' + libname + '/python$py_version_short/site-packages', -+ 'platlib': '$platbase/' + libname + '/python$py_version_short/site-packages', - 'headers': '$base/include/python$py_version_short$abiflags/$dist_name', - 'scripts': '$base/bin', - 'data' : '$base', --- -2.7.4 - diff --git a/meta-oniro-staging/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch b/meta-oniro-staging/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch deleted file mode 100644 index fb10ca94..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch +++ /dev/null @@ -1,121 +0,0 @@ -From 994783da5c21cab81b6589ed2d4275e665a946f9 Mon Sep 17 00:00:00 2001 -From: Changqing Li <changqing.li@windriver.com> -Date: Mon, 22 Oct 2018 15:19:51 +0800 -Subject: [PATCH] python3: use cc_basename to replace CC for checking compiler - -When working path contains "clang"/"gcc"/"icc", it might be part of $CC -because of the "--sysroot" parameter. That could cause judgement error -about clang/gcc/icc compilers. e.g. -When "icc" is containded in working path, below errors are reported when -compiling python3: -x86_64-wrs-linux-gcc: error: strict: No such file or directory -x86_64-wrs-linux-gcc: error: unrecognized command line option '-fp-model' - -Here use cc_basename to replace CC for checking compiler to avoid such -kind of issue. - -Upstream-Status: Pending - -Signed-off-by: Li Zhou <li.zhou@windriver.com> - -patch originally from Li Zhou, I just rework it to new version - -Signed-off-by: Changqing Li <changqing.li@windriver.com> - ---- - configure.ac | 19 ++++++++++--------- - 1 file changed, 10 insertions(+), 9 deletions(-) - -diff --git a/configure.ac b/configure.ac -index a189d42..0f85486 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -54,6 +54,7 @@ AC_CONFIG_HEADER(pyconfig.h) - AC_CANONICAL_HOST - AC_SUBST(build) - AC_SUBST(host) -+LT_INIT - - # pybuilddir.txt will be created by --generate-posix-vars in the Makefile - rm -f pybuilddir.txt -@@ -671,7 +672,7 @@ AC_MSG_RESULT($with_cxx_main) - preset_cxx="$CXX" - if test -z "$CXX" - then -- case "$CC" in -+ case "$cc_basename" in - gcc) AC_PATH_TOOL(CXX, [g++], [g++], [notfound]) ;; - cc) AC_PATH_TOOL(CXX, [c++], [c++], [notfound]) ;; - clang|*/clang) AC_PATH_TOOL(CXX, [clang++], [clang++], [notfound]) ;; -@@ -957,7 +958,7 @@ rmdir CaseSensitiveTestDir - - case $ac_sys_system in - hp*|HP*) -- case $CC in -+ case $cc_basename in - cc|*/cc) CC="$CC -Ae";; - esac;; - esac -@@ -1335,7 +1336,7 @@ else - fi], - [AC_MSG_RESULT(no)]) - if test "$Py_LTO" = 'true' ; then -- case $CC in -+ case $cc_basename in - *clang*) - AC_SUBST(LLVM_AR) - AC_PATH_TOOL(LLVM_AR, llvm-ar, '', ${llvm_path}) -@@ -1425,7 +1426,7 @@ then - fi - fi - LLVM_PROF_ERR=no --case $CC in -+case $cc_basename in - *clang*) - # Any changes made here should be reflected in the GCC+Darwin case below - PGO_PROF_GEN_FLAG="-fprofile-instr-generate" -@@ -1486,7 +1487,7 @@ esac - # compiler and platform. BASECFLAGS tweaks need to be made even if the - # user set OPT. - --case $CC in -+case $cc_basename in - *clang*) - cc_is_clang=1 - ;; -@@ -1622,7 +1623,7 @@ yes) - - # ICC doesn't recognize the option, but only emits a warning - ## XXX does it emit an unused result warning and can it be disabled? -- case "$CC" in -+ case "$cc_basename" in - *icc*) - ac_cv_disable_unused_result_warning=no - ;; -@@ -1943,7 +1944,7 @@ yes) - esac - - # ICC needs -fp-model strict or floats behave badly --case "$CC" in -+case "$cc_basename" in - *icc*) - CFLAGS_NODIST="$CFLAGS_NODIST -fp-model strict" - ;; -@@ -2711,7 +2712,7 @@ then - then - LINKFORSHARED="-Wl,--export-dynamic" - fi;; -- SunOS/5*) case $CC in -+ SunOS/5*) case $cc_basename in - *gcc*) - if $CC -Xlinker --help 2>&1 | grep export-dynamic >/dev/null - then -@@ -5362,7 +5363,7 @@ if test "$have_gcc_asm_for_x87" = yes; then - # Some versions of gcc miscompile inline asm: - # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46491 - # http://gcc.gnu.org/ml/gcc/2010-11/msg00366.html -- case $CC in -+ case $cc_basename in - *gcc*) - AC_MSG_CHECKING(for gcc ipa-pure-const bug) - saved_cflags="$CFLAGS" diff --git a/meta-oniro-staging/recipes-devtools/python/python3/0001-setup.py-pass-missing-libraries-to-Extension-for-mul.patch b/meta-oniro-staging/recipes-devtools/python/python3/0001-setup.py-pass-missing-libraries-to-Extension-for-mul.patch deleted file mode 100644 index ea0af02e..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/0001-setup.py-pass-missing-libraries-to-Extension-for-mul.patch +++ /dev/null @@ -1,69 +0,0 @@ -From 7019ba184b828ed7253750cf409fc5760ef90a54 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Thu, 9 Jan 2020 17:44:05 +0100 -Subject: [PATCH] setup.py: pass missing libraries to Extension for - multiprocessing module - -In the following commit: -... -commit e711cafab13efc9c1fe6c5cd75826401445eb585 -Author: Benjamin Peterson <benjamin@python.org> -Date: Wed Jun 11 16:44:04 2008 +0000 - - Merged revisions 64104,64117 via svnmerge from - svn+ssh://pythondev@svn.python.org/python/trunk -... -(see diff in setup.py) -It assigned libraries for multiprocessing module according -the host_platform, but not pass it to Extension. - -In glibc, the following commit caused two definition of -sem_getvalue are different. -https://sourceware.org/git/?p=glibc.git;a=commit;h=042e1521c794a945edc43b5bfa7e69ad70420524 -(see diff in nptl/sem_getvalue.c for detail) -`__new_sem_getvalue' is the latest sem_getvalue@@GLIBC_2.1 -and `__old_sem_getvalue' is to compat the old version -sem_getvalue@GLIBC_2.0. - -To build python for embedded Linux systems: -http://www.yoctoproject.org/docs/2.3.1/yocto-project-qs/yocto-project-qs.html -If not explicitly link to library pthread (-lpthread), it will -load glibc's sem_getvalue randomly at runtime. - -Such as build python on linux x86_64 host and run the python -on linux x86_32 target. If not link library pthread, it caused -multiprocessing bounded semaphore could not work correctly. -... ->>> import multiprocessing ->>> pool_sema = multiprocessing.BoundedSemaphore(value=1) ->>> pool_sema.acquire() -True ->>> pool_sema.release() -Traceback (most recent call last): - File "<stdin>", line 1, in <module> -ValueError: semaphore or lock released too many times -... - -And the semaphore issue also caused multiprocessing.Queue().put() hung. - -Upstream-Status: Pending - -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - setup.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/setup.py b/setup.py -index ec3f2a4..b0f1541 100644 ---- a/setup.py -+++ b/setup.py -@@ -1671,7 +1671,7 @@ class PyBuildExt(build_ext): - libraries=libs, - include_dirs=["Modules/_multiprocessing"])) - -- self.add(Extension('_multiprocessing', multiprocessing_srcs, -+ self.add(Extension('_multiprocessing', multiprocessing_srcs, libraries=['pthread'], - include_dirs=["Modules/_multiprocessing"])) - - def detect_uuid(self): diff --git a/meta-oniro-staging/recipes-devtools/python/python3/0001-test_ctypes.test_find-skip-without-tools-sdk.patch b/meta-oniro-staging/recipes-devtools/python/python3/0001-test_ctypes.test_find-skip-without-tools-sdk.patch deleted file mode 100644 index a44d3396..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/0001-test_ctypes.test_find-skip-without-tools-sdk.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 7a2bddfa437be633bb6945d0e6b7d6f27da870ad Mon Sep 17 00:00:00 2001 -From: Tim Orling <timothy.t.orling@intel.com> -Date: Fri, 18 Jun 2021 11:56:50 -0700 -Subject: [PATCH] test_ctypes.test_find: skip without tools-sdk - -These tests need full packagegroup-core-buildessential, the -easiest way to dynamically check for that is looking for -'tools-sdk' in IMAGE_FEATURES. - -Upstream-Status: Inappropriate [oe-specific] - -Signed-off-by: Tim Orling <timothy.t.orling@intel.com> ---- - Lib/ctypes/test/test_find.py | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Lib/ctypes/test/test_find.py b/Lib/ctypes/test/test_find.py -index 92ac184..0d009d1 100644 ---- a/Lib/ctypes/test/test_find.py -+++ b/Lib/ctypes/test/test_find.py -@@ -112,10 +112,12 @@ class FindLibraryLinux(unittest.TestCase): - # LD_LIBRARY_PATH) - self.assertEqual(find_library(libname), 'lib%s.so' % libname) - -+ @unittest.skip("Needs IMAGE_FEATURES += \"tools-sdk\"") - def test_find_library_with_gcc(self): - with unittest.mock.patch("ctypes.util._findSoname_ldconfig", lambda *args: None): - self.assertNotEqual(find_library('c'), None) - -+ @unittest.skip("Needs IMAGE_FEATURES += \"tools-sdk\"") - def test_find_library_with_ld(self): - with unittest.mock.patch("ctypes.util._findSoname_ldconfig", lambda *args: None), \ - unittest.mock.patch("ctypes.util._findLib_gcc", lambda *args: None): diff --git a/meta-oniro-staging/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch b/meta-oniro-staging/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch deleted file mode 100644 index f9d2eadc..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/0001-test_locale.py-correct-the-test-output-format.patch +++ /dev/null @@ -1,48 +0,0 @@ -From e11787d373baa6d7b0e0d94aff8ccd373203bfb1 Mon Sep 17 00:00:00 2001 -From: Tim Orling <ticotimo@gmail.com> -Date: Wed, 16 Jun 2021 07:49:52 -0700 -Subject: [PATCH] test_locale.py: correct the test output format - -Before this patch: - # python3 -m test -v test_locale - [snip] - test_getsetlocale_issue1813 (test.test_locale.TestMiscellaneous) ... testing with ('tr_TR', 'ISO8859-9') ok - [snip] - - After this patch: - # python3 -m test -v test_locale - [snip] - test_getsetlocale_issue1813 (test.test_locale.TestMiscellaneous) ... testing with ('tr_TR', 'ISO8859-9')... ok - [snip] - - Make the test ended with "... ok" is common in python - unittest world, we should make it keep consistent - with other test cases in case it may be ignored to - record in the report if we use the common filter - "... ok". - -Upstream-Status: Submitted [https://github.com/python/cpython/pull/15132] - -Signed-off-by: Mingli Yu <mingli.yu@windriver.com> - - -Refresh patch for upstream changes in 3.8.9 - -Signed-off-by: Tim Orling <timothy.t.orling@intel.com> ---- - Lib/test/test_locale.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/Lib/test/test_locale.py b/Lib/test/test_locale.py -index 39091c0..5050f3d 100644 ---- a/Lib/test/test_locale.py -+++ b/Lib/test/test_locale.py -@@ -563,7 +563,7 @@ class TestMiscellaneous(unittest.TestCase): - self.skipTest('test needs Turkish locale') - loc = locale.getlocale(locale.LC_CTYPE) - if verbose: -- print('testing with %a' % (loc,), end=' ', flush=True) -+ print('testing with %a...' % (loc,), end=' ', flush=True) - try: - locale.setlocale(locale.LC_CTYPE, loc) - except locale.Error as exc: diff --git a/meta-oniro-staging/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch b/meta-oniro-staging/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch deleted file mode 100644 index 4bd98f62..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch +++ /dev/null @@ -1,32 +0,0 @@ -From a2dd127b4163aff6cc35af0d0251321964232ad4 Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Mon, 7 Oct 2019 13:22:14 +0200 -Subject: [PATCH] setup.py: do not report missing dependencies for disabled - modules - -Reporting those missing dependencies is misleading as the modules would not -have been built anyway. This particularly matters in oe-core's automated -build completeness checker which relies on the report. - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> - ---- - setup.py | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/setup.py b/setup.py -index 7691258..ec3f2a4 100644 ---- a/setup.py -+++ b/setup.py -@@ -408,6 +408,10 @@ class PyBuildExt(build_ext): - print("%-*s %-*s %-*s" % (longest, e, longest, f, - longest, g)) - -+ # There is no need to report missing module dependencies, -+ # if the modules have been disabled in the first place. -+ self.missing = list(set(self.missing) - set(sysconf_dis)) -+ - if self.missing: - print() - print("Python build finished successfully!") diff --git a/meta-oniro-staging/recipes-devtools/python/python3/0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch b/meta-oniro-staging/recipes-devtools/python/python3/0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch deleted file mode 100644 index e04a9160..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 863c09f640a5dfd33ff22915b0d5fee7bc5df70a Mon Sep 17 00:00:00 2001 -From: Alexander Kanavin <alex.kanavin@gmail.com> -Date: Sun, 16 Feb 2020 17:50:25 +0100 -Subject: [PATCH] configure.ac, setup.py: do not add a curses include path from - the host - -This leads to host contamination, and particularly can cause -curses modules to fail at runtime if the host curses is configured -differently to native curses (observed on current OpenSuse Tumbleweed -as dnf failures). - -Upstream-Status: Inappropriate [oe-core specific] -Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> ---- - configure.ac | 6 ------ - setup.py | 2 -- - 2 files changed, 8 deletions(-) - -diff --git a/configure.ac b/configure.ac -index 915f475..c911011 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -4828,12 +4828,6 @@ then - [Define if you have struct stat.st_mtimensec]) - fi - --# first curses header check --ac_save_cppflags="$CPPFLAGS" --if test "$cross_compiling" = no; then -- CPPFLAGS="$CPPFLAGS -I/usr/include/ncursesw" --fi -- - AC_CHECK_HEADERS(curses.h ncurses.h) - - # On Solaris, term.h requires curses.h -diff --git a/setup.py b/setup.py -index b0f1541..7208cd0 100644 ---- a/setup.py -+++ b/setup.py -@@ -973,8 +973,6 @@ class PyBuildExt(build_ext): - panel_library = 'panel' - if curses_library == 'ncursesw': - curses_defines.append(('HAVE_NCURSESW', '1')) -- if not CROSS_COMPILING: -- curses_includes.append('/usr/include/ncursesw') - # Bug 1464056: If _curses.so links with ncursesw, - # _curses_panel.so must link with panelw. - panel_library = 'panelw' diff --git a/meta-oniro-staging/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch b/meta-oniro-staging/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch deleted file mode 100644 index 61ac3e71..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/12-distutils-prefix-is-inside-staging-area.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 251347fc970a397a9cd63ed3f87c5e6c52e15187 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Tue, 14 May 2013 15:00:26 -0700 -Subject: [PATCH] python3: Add target and native recipes - -Upstream-Status: Inappropriate [embedded specific] - -02/2015 Rebased for Python 3.4.2 - -# The proper prefix is inside our staging area. -# Signed-Off: Michael 'Mickey' Lauer <mickey@vanille-media.de> -# Signed-off-by: Phil Blundell <philb@gnu.org> -# Signed-off-by: Khem Raj <raj.khem@gmail.com> -# Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> - ---- - Lib/distutils/sysconfig.py | 14 +++++++++++--- - 1 file changed, 11 insertions(+), 3 deletions(-) - -diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py -index 2df348c..4f8db84 100644 ---- a/Lib/distutils/sysconfig.py -+++ b/Lib/distutils/sysconfig.py -@@ -96,7 +96,9 @@ def get_python_inc(plat_specific=0, prefix=None): - If 'prefix' is supplied, use it instead of sys.base_prefix or - sys.base_exec_prefix -- i.e., ignore 'plat_specific'. - """ -- if prefix is None: -+ if prefix is None and os.environ.get('STAGING_INCDIR', ""): -+ prefix = os.environ['STAGING_INCDIR'].rstrip('include') -+ elif prefix is None: - prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX - if os.name == "posix": - if python_build: -@@ -139,7 +141,13 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None): - If 'prefix' is supplied, use it instead of sys.base_prefix or - sys.base_exec_prefix -- i.e., ignore 'plat_specific'. - """ -- if prefix is None: -+ if os.environ.get('STAGING_LIBDIR', ""): -+ lib_basename = os.environ['STAGING_LIBDIR'].split('/')[-1] -+ else: -+ lib_basename = "lib" -+ if prefix is None and os.environ.get('STAGING_LIBDIR', ""): -+ prefix = os.environ['STAGING_LIBDIR'].rstrip(lib_basename) -+ elif prefix is None: - if standard_lib: - prefix = plat_specific and BASE_EXEC_PREFIX or BASE_PREFIX - else: -@@ -147,7 +155,7 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None): - - if os.name == "posix": - libpython = os.path.join(prefix, -- "lib", "python" + get_python_version()) -+ lib_basename, "python" + get_python_version()) - if standard_lib: - return libpython - else: diff --git a/meta-oniro-staging/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch b/meta-oniro-staging/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch deleted file mode 100644 index 184540e7..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch +++ /dev/null @@ -1,31 +0,0 @@ -From ba7202700578d435b07cfdfb7b57e83185752800 Mon Sep 17 00:00:00 2001 -From: Andrei Gherzan <andrei@gherzan.ro> -Date: Mon, 28 Jan 2019 15:57:54 +0000 -Subject: [PATCH] _tkinter module needs tk module along with tcl. tk is not yet - integrated in yocto so we skip the check for this module. Avoid a warning by - not adding this module to missing variable. - -Upstream-Status: Inappropriate [distribution] - -Also simply disable the tk module since its not in DEPENDS. -Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> - ---- - setup.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/setup.py b/setup.py -index ab18ff0..7691258 100644 ---- a/setup.py -+++ b/setup.py -@@ -1706,8 +1706,8 @@ class PyBuildExt(build_ext): - self.detect_decimal() - self.detect_ctypes() - self.detect_multiprocessing() -- if not self.detect_tkinter(): -- self.missing.append('_tkinter') -+# if not self.detect_tkinter(): -+# self.missing.append('_tkinter') - self.detect_uuid() - - ## # Uncomment these lines if you want to play with xxmodule.c diff --git a/meta-oniro-staging/recipes-devtools/python/python3/cgi_py.patch b/meta-oniro-staging/recipes-devtools/python/python3/cgi_py.patch deleted file mode 100644 index 6c4ba543..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/cgi_py.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 62336285cba38017b35cb761c03f0c7e80a671a3 Mon Sep 17 00:00:00 2001 -From: Mark Hatle <mark.hatle@windriver.com> -Date: Wed, 21 Sep 2011 20:55:33 -0500 -Subject: [PATCH] Lib/cgi.py: Update the script as mentioned in the comment - -Upstream-Status: Inappropriate [distribution] - -Signed-off-by: Mark Hatle <mark.hatle@windriver.com> - ---- - Lib/cgi.py | 11 +---------- - 1 file changed, 1 insertion(+), 10 deletions(-) - -diff --git a/Lib/cgi.py b/Lib/cgi.py -index 8cf6687..094c7b4 100755 ---- a/Lib/cgi.py -+++ b/Lib/cgi.py -@@ -1,13 +1,4 @@ --#! /usr/local/bin/python -- --# NOTE: the above "/usr/local/bin/python" is NOT a mistake. It is --# intentionally NOT "/usr/bin/env python". On many systems --# (e.g. Solaris), /usr/local/bin is not in $PATH as passed to CGI --# scripts, and /usr/local/bin is the default directory where Python is --# installed, so /usr/bin/env would be unable to find python. Granted, --# binary installations by Linux vendors often install Python in --# /usr/bin. So let those vendors patch cgi.py to match their choice --# of installation. -+#! /usr/bin/env python - - """Support module for CGI (Common Gateway Interface) scripts. - diff --git a/meta-oniro-staging/recipes-devtools/python/python3/check_build_completeness.py b/meta-oniro-staging/recipes-devtools/python/python3/check_build_completeness.py deleted file mode 100755 index a1eace3f..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/check_build_completeness.py +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env python3 -import sys -logfile = open(sys.argv[1]).read() - -necessary_bits = logfile.find("The necessary bits to build these optional modules were not found") -to_find_bits = logfile.find("To find the necessary bits, look in setup.py in detect_modules() for the module's name.") -if necessary_bits != -1: - print("%s" %(logfile[necessary_bits:to_find_bits])) - -failed_to_build = logfile.find("Failed to build these modules:") -if failed_to_build != -1: - failed_to_build_end = logfile.find("\n\n", failed_to_build) - print("%s" %(logfile[failed_to_build:failed_to_build_end])) - -if necessary_bits != -1 or failed_to_build != -1: - sys.exit(1) - diff --git a/meta-oniro-staging/recipes-devtools/python/python3/create_manifest3.py b/meta-oniro-staging/recipes-devtools/python/python3/create_manifest3.py deleted file mode 100644 index 4da02a29..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/create_manifest3.py +++ /dev/null @@ -1,433 +0,0 @@ -# This script is used as a bitbake task to create a new python manifest -# $ bitbake python -c create_manifest -# -# Our goal is to keep python-core as small as posible and add other python -# packages only when the user needs them, hence why we split upstream python -# into several packages. -# -# In a very simplistic way what this does is: -# Launch python and see specifically what is required for it to run at a minimum -# -# Go through the python-manifest file and launch a separate task for every single -# one of the files on each package, this task will check what was required for that -# specific module to run, these modules will be called dependencies. -# The output of such task will be a list of the modules or dependencies that were -# found for that file. -# -# Such output will be parsed by this script, we will look for each dependency on the -# manifest and if we find that another package already includes it, then we will add -# that package as an RDEPENDS to the package we are currently checking; in case we dont -# find the current dependency on any other package we will add it to the current package -# as part of FILES. -# -# -# This way we will create a new manifest from the data structure that was built during -# this process, on this new manifest each package will contain specifically only -# what it needs to run. -# -# There are some caveats which we try to deal with, such as repeated files on different -# packages, packages that include folders, wildcards, and special packages. -# Its also important to note that this method only works for python files, and shared -# libraries. Static libraries, header files and binaries need to be dealt with manually. -# -# This script differs from its python2 version mostly on how shared libraries are handled -# The manifest file for python3 has an extra field which contains the cached files for -# each package. -# Tha method to handle cached files does not work when a module includes a folder which -# itself contains the pycache folder, gladly this is almost never the case. -# -# Author: Alejandro Enedino Hernandez Samaniego "aehs29" <aehs29 at gmail dot com> - - -import sys -import subprocess -import json -import os -import collections - -# Get python version from ${PYTHON_MAJMIN} -pyversion = str(sys.argv[1]) - -# Hack to get native python search path (for folders), not fond of it but it works for now -pivot = 'recipe-sysroot-native' -for p in sys.path: - if pivot in p: - nativelibfolder = p[:p.find(pivot)+len(pivot)] - -# Empty dict to hold the whole manifest -new_manifest = collections.OrderedDict() - -# Check for repeated files, folders and wildcards -allfiles = [] -repeated = [] -wildcards = [] - -hasfolders = [] -allfolders = [] - -def isFolder(value): - value = value.replace('${PYTHON_MAJMIN}',pyversion) - if os.path.isdir(value.replace('${libdir}',nativelibfolder+'/usr/lib')) or os.path.isdir(value.replace('${libdir}',nativelibfolder+'/usr/lib64')) or os.path.isdir(value.replace('${libdir}',nativelibfolder+'/usr/lib32')): - return True - else: - return False - -def isCached(item): - if '__pycache__' in item: - return True - else: - return False - -def prepend_comments(comments, json_manifest): - with open(json_manifest, 'r+') as manifest: - json_contents = manifest.read() - manifest.seek(0, 0) - manifest.write(comments + json_contents) - -# Read existing JSON manifest -with open('python3-manifest.json') as manifest: - # The JSON format doesn't allow comments so we hack the call to keep the comments using a marker - manifest_str = manifest.read() - json_start = manifest_str.find('# EOC') + 6 # EOC + \n - manifest.seek(0) - comments = manifest.read(json_start) - manifest_str = manifest.read() - old_manifest = json.loads(manifest_str, object_pairs_hook=collections.OrderedDict) - -# -# First pass to get core-package functionality, because we base everything on the fact that core is actually working -# Not exactly the same so it should not be a function -# - -print ('Getting dependencies for package: core') - - -# This special call gets the core dependencies and -# appends to the old manifest so it doesnt hurt what it -# currently holds. -# This way when other packages check for dependencies -# on the new core package, they will still find them -# even when checking the old_manifest - -output = subprocess.check_output([sys.executable, 'get_module_deps3.py', 'python-core-package']).decode('utf8') -for coredep in output.split(): - coredep = coredep.replace(pyversion,'${PYTHON_MAJMIN}') - if isCached(coredep): - if coredep not in old_manifest['core']['cached']: - old_manifest['core']['cached'].append(coredep) - else: - if coredep not in old_manifest['core']['files']: - old_manifest['core']['files'].append(coredep) - - -# The second step is to loop through the existing files contained in the core package -# according to the old manifest, identify if they are modules, or some other type -# of file that we cant import (directories, binaries, configs) in which case we -# can only assume they were added correctly (manually) so we ignore those and -# pass them to the manifest directly. - -for filedep in old_manifest['core']['files']: - if isFolder(filedep): - if isCached(filedep): - if filedep not in old_manifest['core']['cached']: - old_manifest['core']['cached'].append(filedep) - else: - if filedep not in old_manifest['core']['files']: - old_manifest['core']['files'].append(filedep) - continue - if '${bindir}' in filedep: - if filedep not in old_manifest['core']['files']: - old_manifest['core']['files'].append(filedep) - continue - if filedep == '': - continue - if '${includedir}' in filedep: - if filedep not in old_manifest['core']['files']: - old_manifest['core']['files'].append(filedep) - continue - - # Get actual module name , shouldnt be affected by libdir/bindir, etc. - pymodule = os.path.splitext(os.path.basename(os.path.normpath(filedep)))[0] - - - # We now know that were dealing with a python module, so we can import it - # and check what its dependencies are. - # We launch a separate task for each module for deterministic behavior. - # Each module will only import what is necessary for it to work in specific. - # The output of each task will contain each module's dependencies - - print ('Getting dependencies for module: %s' % pymodule) - output = subprocess.check_output([sys.executable, 'get_module_deps3.py', '%s' % pymodule]).decode('utf8') - print ('The following dependencies were found for module %s:\n' % pymodule) - print (output) - - - for pymodule_dep in output.split(): - pymodule_dep = pymodule_dep.replace(pyversion,'${PYTHON_MAJMIN}') - - if isCached(pymodule_dep): - if pymodule_dep not in old_manifest['core']['cached']: - old_manifest['core']['cached'].append(pymodule_dep) - else: - if pymodule_dep not in old_manifest['core']['files']: - old_manifest['core']['files'].append(pymodule_dep) - - -# At this point we are done with the core package. -# The old_manifest dictionary is updated only for the core package because -# all others will use this a base. - - -# To improve the script speed, we check which packages contain directories -# since we will be looping through (only) those later. -for pypkg in old_manifest: - for filedep in old_manifest[pypkg]['files']: - if isFolder(filedep): - print ('%s is a folder' % filedep) - if pypkg not in hasfolders: - hasfolders.append(pypkg) - if filedep not in allfolders: - allfolders.append(filedep) - - - -# This is the main loop that will handle each package. -# It works in a similar fashion than the step before, but -# we will now be updating a new dictionary that will eventually -# become the new manifest. -# -# The following loops though all packages in the manifest, -# through all files on each of them, and checks whether or not -# they are modules and can be imported. -# If they can be imported, then it checks for dependencies for -# each of them by launching a separate task. -# The output of that task is then parsed and the manifest is updated -# accordingly, wether it should add the module on FILES for the current package -# or if that module already belongs to another package then the current one -# will RDEPEND on it - -for pypkg in old_manifest: - # Use an empty dict as data structure to hold data for each package and fill it up - new_manifest[pypkg] = collections.OrderedDict() - new_manifest[pypkg]['summary'] = old_manifest[pypkg]['summary'] - new_manifest[pypkg]['rdepends'] = [] - new_manifest[pypkg]['files'] = [] - new_manifest[pypkg]['cached'] = old_manifest[pypkg]['cached'] - - # All packages should depend on core - if pypkg != 'core': - new_manifest[pypkg]['rdepends'].append('core') - new_manifest[pypkg]['cached'] = [] - - print('\n') - print('--------------------------') - print ('Handling package %s' % pypkg) - print('--------------------------') - - # Handle special cases, we assume that when they were manually added - # to the manifest we knew what we were doing. - special_packages = ['misc', 'modules', 'dev', 'tests'] - if pypkg in special_packages or 'staticdev' in pypkg: - print('Passing %s package directly' % pypkg) - new_manifest[pypkg] = old_manifest[pypkg] - continue - - for filedep in old_manifest[pypkg]['files']: - # We already handled core on the first pass, we can ignore it now - if pypkg == 'core': - if filedep not in new_manifest[pypkg]['files']: - new_manifest[pypkg]['files'].append(filedep) - continue - - # Handle/ignore what we cant import - if isFolder(filedep): - new_manifest[pypkg]['files'].append(filedep) - # Asyncio (and others) are both the package and the folder name, we should not skip those... - path,mod = os.path.split(filedep) - if mod != pypkg: - continue - if '${bindir}' in filedep: - if filedep not in new_manifest[pypkg]['files']: - new_manifest[pypkg]['files'].append(filedep) - continue - if filedep == '': - continue - if '${includedir}' in filedep: - if filedep not in new_manifest[pypkg]['files']: - new_manifest[pypkg]['files'].append(filedep) - continue - - # Get actual module name , shouldnt be affected by libdir/bindir, etc. - # We need to check if the imported module comes from another (e.g. sqlite3.dump) - path,pymodule = os.path.split(filedep) - path = os.path.basename(path) - pymodule = os.path.splitext(os.path.basename(pymodule))[0] - - # If this condition is met, it means we need to import it from another module - # or its the folder itself (e.g. unittest) - if path == pypkg: - if pymodule: - pymodule = path + '.' + pymodule - else: - pymodule = path - - - - # We now know that were dealing with a python module, so we can import it - # and check what its dependencies are. - # We launch a separate task for each module for deterministic behavior. - # Each module will only import what is necessary for it to work in specific. - # The output of each task will contain each module's dependencies - - print ('\nGetting dependencies for module: %s' % pymodule) - output = subprocess.check_output([sys.executable, 'get_module_deps3.py', '%s' % pymodule]).decode('utf8') - print ('The following dependencies were found for module %s:\n' % pymodule) - print (output) - - reportFILES = [] - reportRDEPS = [] - - for pymodule_dep in output.split(): - - # Warning: This first part is ugly - # One of the dependencies that was found, could be inside of one of the folders included by another package - # We need to check if this happens so we can add the package containing the folder as an rdependency - # e.g. Folder encodings contained in codecs - # This would be solved if no packages included any folders - - # This can be done in two ways: - # 1 - We assume that if we take out the filename from the path we would get - # the folder string, then we would check if folder string is in the list of folders - # This would not work if a package contains a folder which contains another folder - # e.g. path/folder1/folder2/filename folder_string= path/folder1/folder2 - # folder_string would not match any value contained in the list of folders - # - # 2 - We do it the other way around, checking if the folder is contained in the path - # e.g. path/folder1/folder2/filename folder_string= path/folder1/folder2 - # is folder_string inside path/folder1/folder2/filename?, - # Yes, it works, but we waste a couple of milliseconds. - - pymodule_dep = pymodule_dep.replace(pyversion,'${PYTHON_MAJMIN}') - inFolders = False - for folder in allfolders: - # The module could have a directory named after it, e.g. xml, if we take out the filename from the path - # we'll end up with ${libdir}, and we want ${libdir}/xml - if isFolder(pymodule_dep): - check_path = pymodule_dep - else: - check_path = os.path.dirname(pymodule_dep) - if folder in check_path : - inFolders = True # Did we find a folder? - folderFound = False # Second flag to break inner for - # Loop only through packages which contain folders - for pypkg_with_folder in hasfolders: - if (folderFound == False): - # print('Checking folder %s on package %s' % (pymodule_dep,pypkg_with_folder)) - for folder_dep in old_manifest[pypkg_with_folder]['files'] or folder_dep in old_manifest[pypkg_with_folder]['cached']: - if folder_dep == folder: - print ('%s folder found in %s' % (folder, pypkg_with_folder)) - folderFound = True - if pypkg_with_folder not in new_manifest[pypkg]['rdepends'] and pypkg_with_folder != pypkg: - new_manifest[pypkg]['rdepends'].append(pypkg_with_folder) - else: - break - - # A folder was found so we're done with this item, we can go on - if inFolders: - continue - - - - # No directories beyond this point - # We might already have this module on the dictionary since it could depend on a (previously checked) module - if pymodule_dep not in new_manifest[pypkg]['files'] and pymodule_dep not in new_manifest[pypkg]['cached']: - # Handle core as a special package, we already did it so we pass it to NEW data structure directly - if pypkg == 'core': - print('Adding %s to %s FILES' % (pymodule_dep, pypkg)) - if pymodule_dep.endswith('*'): - wildcards.append(pymodule_dep) - if isCached(pymodule_dep): - new_manifest[pypkg]['cached'].append(pymodule_dep) - else: - new_manifest[pypkg]['files'].append(pymodule_dep) - - # Check for repeated files - if pymodule_dep not in allfiles: - allfiles.append(pymodule_dep) - else: - if pymodule_dep not in repeated: - repeated.append(pymodule_dep) - else: - - - # Last step: Figure out if we this belongs to FILES or RDEPENDS - # We check if this module is already contained on another package, so we add that one - # as an RDEPENDS, or if its not, it means it should be contained on the current - # package, and we should add it to FILES - for possible_rdep in old_manifest: - # Debug - # print('Checking %s ' % pymodule_dep + ' in %s' % possible_rdep) - if pymodule_dep in old_manifest[possible_rdep]['files'] or pymodule_dep in old_manifest[possible_rdep]['cached']: - # Since were nesting, we need to check its not the same pypkg - if(possible_rdep != pypkg): - if possible_rdep not in new_manifest[pypkg]['rdepends']: - # Add it to the new manifest data struct as RDEPENDS since it contains something this module needs - reportRDEPS.append('Adding %s to %s RDEPENDS, because it contains %s\n' % (possible_rdep, pypkg, pymodule_dep)) - new_manifest[pypkg]['rdepends'].append(possible_rdep) - break - else: - - # Since this module wasnt found on another package, it is not an RDEP, - # so we add it to FILES for this package. - # A module shouldn't contain itself (${libdir}/python3/sqlite3 shouldnt be on sqlite3 files) - if os.path.basename(pymodule_dep) != pypkg: - reportFILES.append(('Adding %s to %s FILES\n' % (pymodule_dep, pypkg))) - if isCached(pymodule_dep): - new_manifest[pypkg]['cached'].append(pymodule_dep) - else: - new_manifest[pypkg]['files'].append(pymodule_dep) - if pymodule_dep.endswith('*'): - wildcards.append(pymodule_dep) - if pymodule_dep not in allfiles: - allfiles.append(pymodule_dep) - else: - if pymodule_dep not in repeated: - repeated.append(pymodule_dep) - - print('\n') - print('#################################') - print('Summary for module %s' % pymodule) - print('FILES found for module %s:' % pymodule) - print(''.join(reportFILES)) - print('RDEPENDS found for module %s:' % pymodule) - print(''.join(reportRDEPS)) - print('#################################') - -print('The following FILES contain wildcards, please check if they are necessary') -print(wildcards) -print('The following FILES contain folders, please check if they are necessary') -print(hasfolders) - - -# Sort it just so it looks nicer -for pypkg in new_manifest: - new_manifest[pypkg]['files'].sort() - new_manifest[pypkg]['cached'].sort() - new_manifest[pypkg]['rdepends'].sort() - -# Create the manifest from the data structure that was built -with open('python3-manifest.json.new','w') as outfile: - json.dump(new_manifest,outfile, indent=4) - outfile.write('\n') - -prepend_comments(comments,'python3-manifest.json.new') - -if (repeated): - error_msg = '\n\nERROR:\n' - error_msg += 'The following files are repeated (contained in more than one package),\n' - error_msg += 'this is likely to happen when new files are introduced after an upgrade,\n' - error_msg += 'please check which package should get it,\n modify the manifest accordingly and re-run the create_manifest task:\n' - error_msg += '\n'.join(repeated) - error_msg += '\n' - sys.exit(error_msg) - diff --git a/meta-oniro-staging/recipes-devtools/python/python3/crosspythonpath.patch b/meta-oniro-staging/recipes-devtools/python/python3/crosspythonpath.patch deleted file mode 100644 index d789ab57..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/crosspythonpath.patch +++ /dev/null @@ -1,25 +0,0 @@ -configure.ac: add CROSSPYTHONPATH into PYTHONPATH for PYTHON_FOR_BUILD - -When building x86->x86 the system will try to execute .so and related items -from the default PYTHONPATH. This will fail if the target CPU contains -instructions that the host CPU does not have, add CROSSPYTHONPATH -into PYTHONPATH so we can prepend the list to find correct libs. - -Upstream-Status: Inappropriate [OE-Core integration specific] - -Credits-to: Mark Hatle <mark.hatle@windriver.com> -Credits-to: Jackie Huang <jackie.huang@windriver.com> -Signed-off-by: Ricardo Ribalda <ricardo@ribalda.com> -diff --git a/configure.ac b/configure.ac -index 4ab19a6..7036a53 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -76,7 +76,7 @@ if test "$cross_compiling" = yes; then - AC_MSG_ERROR([python$PACKAGE_VERSION interpreter not found]) - fi - AC_MSG_RESULT($interp) -- PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$interp -+ PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(CROSSPYTHONPATH):$(shell test -f pybuilddir.txt && echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$interp - fi - elif test "$cross_compiling" = maybe; then - AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH]) diff --git a/meta-oniro-staging/recipes-devtools/python/python3/get_module_deps3.py b/meta-oniro-staging/recipes-devtools/python/python3/get_module_deps3.py deleted file mode 100644 index fd12baad..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/get_module_deps3.py +++ /dev/null @@ -1,146 +0,0 @@ -# This script is launched on separate task for each python module -# It checks for dependencies for that specific module and prints -# them out, the output of this execution will have all dependencies -# for a specific module, which will be parsed an dealt on create_manifest.py -# -# Author: Alejandro Enedino Hernandez Samaniego "aehs29" <aehs29@gmail.com> - -# We can get a log per module, for all the dependencies that were found, but its messy. -debug=False - -import sys - -# We can get a list of the modules which are currently required to run python -# so we run python-core and get its modules, we then import what we need -# and check what modules are currently running, if we substract them from the -# modules we had initially, we get the dependencies for the module we imported. - -# We use importlib to achieve this, so we also need to know what modules importlib needs -import importlib - -core_deps=set(sys.modules) - -def fix_path(dep_path): - import os - # We DONT want the path on our HOST system - pivot='recipe-sysroot-native' - dep_path=dep_path[dep_path.find(pivot)+len(pivot):] - - if '/usr/bin' in dep_path: - dep_path = dep_path.replace('/usr/bin''${bindir}') - - # Handle multilib, is there a better way? - if '/usr/lib32' in dep_path: - dep_path = dep_path.replace('/usr/lib32','${libdir}') - if '/usr/lib64' in dep_path: - dep_path = dep_path.replace('/usr/lib64','${libdir}') - if '/usr/lib' in dep_path: - dep_path = dep_path.replace('/usr/lib','${libdir}') - if '/usr/include' in dep_path: - dep_path = dep_path.replace('/usr/include','${includedir}') - if '__init__.' in dep_path: - dep_path = os.path.split(dep_path)[0] - return dep_path - - -# Module to import was passed as an argument -current_module = str(sys.argv[1]).rstrip() -if(debug==True): - log = open('log_%s' % current_module,'w') - log.write('Module %s generated the following dependencies:\n' % current_module) -try: - importlib.import_module('%s' % current_module) -except ImportError as e: - if (debug==True): - log.write('Module was not found') - pass - - -# Get current module dependencies, dif will contain a list of specific deps for this module -module_deps=set(sys.modules) - -# We handle the core package (1st pass on create_manifest.py) as a special case -if current_module == 'python-core-package': - dif = core_deps -else: - # We know this is not the core package, so there must be a difference. - dif = module_deps-core_deps - - -# Check where each dependency came from -for item in dif: - dep_path='' - try: - if (debug==True): - log.write('Calling: sys.modules[' + '%s' % item + '].__file__\n') - dep_path = sys.modules['%s' % item].__file__ - except AttributeError as e: - # Deals with thread (builtin module) not having __file__ attribute - if debug==True: - log.write(item + ' ') - log.write(str(e)) - log.write('\n') - pass - except NameError as e: - # Deals with NameError: name 'dep_path' is not defined - # because module is not found (wasn't compiled?), e.g. bddsm - if (debug==True): - log.write(item+' ') - log.write(str(e)) - pass - - # Site-customize is a special case since we (OpenEmbedded) put it there manually - if 'sitecustomize' in dep_path: - dep_path = '${libdir}/python${PYTHON_MAJMIN}/sitecustomize.py' - # Prints out result, which is what will be used by create_manifest - print (dep_path) - continue - - dep_path = fix_path(dep_path) - - import sysconfig - soabi=sysconfig.get_config_var('SOABI') - # Check if its a shared library and deconstruct it - if soabi in dep_path: - if (debug==True): - log.write('Shared library found in %s' % dep_path) - dep_path = dep_path.replace(soabi,'*') - print (dep_path) - continue - - if (debug==True): - log.write(dep_path+'\n') - # Prints out result, which is what will be used by create_manifest - print (dep_path) - - - import imp - cpython_tag = imp.get_tag() - cached='' - # Theres no naive way to find *.pyc files on python3 - try: - if (debug==True): - log.write('Calling: sys.modules[' + '%s' % item + '].__cached__\n') - cached = sys.modules['%s' % item].__cached__ - except AttributeError as e: - # Deals with thread (builtin module) not having __cached__ attribute - if debug==True: - log.write(item + ' ') - log.write(str(e)) - log.write('\n') - pass - except NameError as e: - # Deals with NameError: name 'cached' is not defined - if (debug==True): - log.write(item+' ') - log.write(str(e)) - pass - if cached is not None: - if (debug==True): - log.write(cached) - cached = fix_path(cached) - cached = cached.replace(cpython_tag,'*') - print (cached) - -if debug==True: - log.close() diff --git a/meta-oniro-staging/recipes-devtools/python/python3/makerace.patch b/meta-oniro-staging/recipes-devtools/python/python3/makerace.patch deleted file mode 100644 index 8971f28b..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/makerace.patch +++ /dev/null @@ -1,23 +0,0 @@ -libainstall installs python-config.py but the .pyc cache files are generated -by the libinstall target. This means some builds may not generate the pyc files -for python-config.py depending on the order things happen in. This means builds -are not always reproducible. - -Add a dependency to avoid the race. - -Upstream-Status: Pending -Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> - -Index: Python-3.8.11/Makefile.pre.in -=================================================================== ---- Python-3.8.11.orig/Makefile.pre.in -+++ Python-3.8.11/Makefile.pre.in -@@ -1415,7 +1415,7 @@ LIBSUBDIRS= tkinter tkinter/test tkinter - unittest unittest/test unittest/test/testmock \ - venv venv/scripts venv/scripts/common venv/scripts/posix \ - curses pydoc_data --libinstall: build_all $(srcdir)/Modules/xxmodule.c -+libinstall: build_all $(srcdir)/Modules/xxmodule.c libainstall - @for i in $(SCRIPTDIR) $(LIBDEST); \ - do \ - if test ! -d $(DESTDIR)$$i; then \ diff --git a/meta-oniro-staging/recipes-devtools/python/python3/python-config.patch b/meta-oniro-staging/recipes-devtools/python/python3/python-config.patch deleted file mode 100644 index c8a8f3d4..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/python-config.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 07df0ae0d70cba6d1847fe1c24a71063930bec60 Mon Sep 17 00:00:00 2001 -From: Tyler Hall <tylerwhall@gmail.com> -Date: Sun, 4 May 2014 20:06:43 -0400 -Subject: [PATCH] python-config: Revert to using distutils.sysconfig - -The newer sysconfig module shares some code with distutils.sysconfig, but the same modifications as in - -12-distutils-prefix-is-inside-staging-area.patch makes distutils.sysconfig - -affect the native runtime as well as cross building. Use the old, patched -implementation which returns paths in the staging directory and for the target, -as appropriate. - -Upstream-Status: Inappropriate [Embedded Specific] - -Signed-off-by: Tyler Hall <tylerwhall@gmail.com> -: - ---- - Misc/python-config.in | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/Misc/python-config.in b/Misc/python-config.in -index 727c4a8..c702829 100644 ---- a/Misc/python-config.in -+++ b/Misc/python-config.in -@@ -6,7 +6,7 @@ - import getopt - import os - import sys --import sysconfig -+from distutils import sysconfig - - valid_opts = ['prefix', 'exec-prefix', 'includes', 'libs', 'cflags', - 'ldflags', 'extension-suffix', 'help', 'abiflags', 'configdir', -@@ -35,14 +35,14 @@ if '--help' in opt_flags: - - for opt in opt_flags: - if opt == '--prefix': -- print(sysconfig.get_config_var('prefix')) -+ print(sysconfig.PREFIX) - - elif opt == '--exec-prefix': -- print(sysconfig.get_config_var('exec_prefix')) -+ print(sysconfig.EXEC_PREFIX) - - elif opt in ('--includes', '--cflags'): -- flags = ['-I' + sysconfig.get_path('include'), -- '-I' + sysconfig.get_path('platinclude')] -+ flags = ['-I' + sysconfig.get_python_inc(), -+ '-I' + sysconfig.get_python_inc(plat_specific=True)] - if opt == '--cflags': - flags.extend(getvar('CFLAGS').split()) - print(' '.join(flags)) diff --git a/meta-oniro-staging/recipes-devtools/python/python3/python3-manifest.json b/meta-oniro-staging/recipes-devtools/python/python3/python3-manifest.json deleted file mode 100644 index 3bcc9b86..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/python3-manifest.json +++ /dev/null @@ -1,1223 +0,0 @@ -# DO NOT (entirely) modify this file manually, please read. -# -# IMPORTANT NOTE: -# Please keep in mind that the create_manifest task relies on the fact the the -# target and native Python packages are the same, and it also needs to be executed -# with a fully working native package (with all the PACKAGECONFIGs enabled and all -# and all the modules should be working, check log.do_compile), otherwise the script -# will fail to find dependencies correctly, this note is valid either if you are -# upgrading to a new Python version or adding a new package. -# -# -# If you are adding a new package please follow the next steps: -# How to add a new package: -# - If a user wants to add a new package all that has to be done is: -# Modify the python3-manifest.json file, and add the required file(s) to the FILES list, -# fill up the SUMMARY section as well, the script should handle all the rest. -# -# Real example: -# We want to add a web browser package, including the file webbrowser.py -# which at the moment is on python3-misc. -# "webbrowser": { -# "files": ["${libdir}/python${PYTHON_MAJMIN}/lib-dynload/webbrowser.py"], -# "rdepends": [], -# "summary": "Python Web Browser support"} -# -# * Note that the rdepends field was left empty -# -# We run $ bitbake python3 -c create_manifest and the resulting manifest -# should be completed after a few seconds, showing something like: -# "webbrowser": { -# "files": ["${libdir}/python${PYTHON_MAJMIN}/webbrowser.py"], -# "rdepends": ["core","fcntl","io","pickle","shell","subprocess"], -# "summary": "Python Web Browser support"} -# -# -# If you are upgrading Python to a new version please follow the next steps: -# After each Python upgrade, the create_manifest task should be executed, because we -# don't control what changes on upstream Python, so, some module dependency -# might have changed without us realizing it, a certain module can either have -# more or less dependencies, or could be depending on a new file that was just -# created on the new release and for obvious reasons we wouldn't have it on our -# old manifest, all of these issues would cause runtime errors on our system. -# -# - Upgrade both the native and target Python packages to a new version -# - Run the create_manifest task for the target Python package as its shown below: -# -# $ bitbake python3 -c create_manifest -# -# This will automatically replace your manifest file located under the Python directory -# with an new one, which contains the new dependencies (if any). -# -# Several things could have gone wrong here, I will try to explain a few: -# -# a) A new file was introduced on this release, e.g. sha3*.so: -# The task will check what its needed to import every module, more than one module would -# would probably depend on sha3*.so, although only one module should contain it. -# -# After running the task, the new manifest will have the sha3*.so file on more than one -# module, you need to manually decide which one of them should get it and delete it from -# the others, for example sha3*.so should likely be on ${PN}-crypt. -# Once you have deleted from the others you need to run the create_manifest task again, -# this will populate the other module's rdepends fields, with ${PN}-crypt and you should be -# good to go. -# -# b) The native package wasn't built correctly and its missing a certain module: -# As mentioned before, you need to make sure the native package was built with all the modules -# because it is used as base to build the manifest file, you need to manually check log.do_compile -# since it won't error out the compile function if its only missing a couple of modules. -# -# e.g. missing the _uuid module, log.do_compile would show the following: -# Python build finished successfully! -# The necessary bits to build these optional modules were not found: -# _uuid -# -# What will happen here is that the new manifest would not be aware that the _uuid module exists, so -# not only we won't know of any dependencies to it, but also, the _uuid* files will be packaged on -# the misc package (which is where any file that doesn't belong anywhere else ends up). -# -# This will eventually cause runtime errors on our system if we don't include the misc package on -# on our image, because the _uuid files will be missing. -# If we build the _uuid module correctly and run the create_manifest task the _uuid files will be -# detected correctly along with its dependencies, and we will get a working manifest. -# -# This is the reason why it is important to make sure we have a fully working native build, -# so we can avoid these errors. -# -# -# -# DO NOT MODIFY THE NEXT LINE!, IT IS USED AS A MARKER FOR THE ACTUAL JSON MANIFEST -# EOC -{ - "tests": { - "summary": "Python test suite", - "rdepends": [ - "core", - "modules" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/*/test", - "${libdir}/python${PYTHON_MAJMIN}/*/tests", - "${libdir}/python${PYTHON_MAJMIN}/idlelib/idle_test/", - "${libdir}/python${PYTHON_MAJMIN}/test" - ], - "cached": [] - }, - "2to3": { - "summary": "Python automated Python 2 to 3 code translator", - "rdepends": [ - "core" - ], - "files": [ - "${bindir}/2to3*", - "${libdir}/python${PYTHON_MAJMIN}/lib2to3" - ], - "cached": [] - }, - "asyncio": { - "summary": "Python Asynchronous I/O", - "rdepends": [ - "core", - "io", - "logging", - "netclient", - "numbers", - "stringold", - "typing" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/asyncio", - "${libdir}/python${PYTHON_MAJMIN}/concurrent", - "${libdir}/python${PYTHON_MAJMIN}/concurrent/futures", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_asyncio.*.so" - ], - "cached": [] - }, - "audio": { - "summary": "Python Audio Handling", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/chunk.py", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/audioop.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/ossaudiodev.*.so", - "${libdir}/python${PYTHON_MAJMIN}/sndhdr.py", - "${libdir}/python${PYTHON_MAJMIN}/sunau.py", - "${libdir}/python${PYTHON_MAJMIN}/wave.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/chunk.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/sndhdr.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/sunau.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/wave.*.pyc" - ] - }, - "codecs": { - "summary": "Python codec", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_multibytecodec.*.so", - "${libdir}/python${PYTHON_MAJMIN}/xdrlib.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/xdrlib.*.pyc" - ] - }, - "compile": { - "summary": "Python bytecode compilation support", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/compileall.py", - "${libdir}/python${PYTHON_MAJMIN}/py_compile.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/compileall.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/py_compile.*.pyc" - ] - }, - "compression": { - "summary": "Python high-level compression support", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/gzip.py", - "${libdir}/python${PYTHON_MAJMIN}/tarfile.py", - "${libdir}/python${PYTHON_MAJMIN}/zipfile.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/gzip.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/tarfile.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/zipfile.*.pyc" - ] - }, - "core": { - "summary": "Python interpreter and core modules", - "rdepends": [], - "files": [ - "${bindir}/python${PYTHON_MAJMIN}", - "${bindir}/python${PYTHON_MAJMIN}.real", - "${bindir}/python3", - "${includedir}/python${PYTHON_MAJMIN}/pyconfig*.h", - "${libdir}/python${PYTHON_MAJMIN}/UserDict.py", - "${libdir}/python${PYTHON_MAJMIN}/UserList.py", - "${libdir}/python${PYTHON_MAJMIN}/UserString.py", - "${libdir}/python${PYTHON_MAJMIN}/__future__.py", - "${libdir}/python${PYTHON_MAJMIN}/_abcoll.py", - "${libdir}/python${PYTHON_MAJMIN}/_bootlocale.py", - "${libdir}/python${PYTHON_MAJMIN}/_collections_abc.py", - "${libdir}/python${PYTHON_MAJMIN}/_compression.py", - "${libdir}/python${PYTHON_MAJMIN}/_markupbase.py", - "${libdir}/python${PYTHON_MAJMIN}/_sitebuiltins.py", - "${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py", - "${libdir}/python${PYTHON_MAJMIN}/_weakrefset.py", - "${libdir}/python${PYTHON_MAJMIN}/abc.py", - "${libdir}/python${PYTHON_MAJMIN}/argparse.py", - "${libdir}/python${PYTHON_MAJMIN}/ast.py", - "${libdir}/python${PYTHON_MAJMIN}/bisect.py", - "${libdir}/python${PYTHON_MAJMIN}/bz2.py", - "${libdir}/python${PYTHON_MAJMIN}/code.py", - "${libdir}/python${PYTHON_MAJMIN}/codecs.py", - "${libdir}/python${PYTHON_MAJMIN}/codeop.py", - "${libdir}/python${PYTHON_MAJMIN}/collections", - "${libdir}/python${PYTHON_MAJMIN}/collections/abc.py", - "${libdir}/python${PYTHON_MAJMIN}/configparser.py", - "${libdir}/python${PYTHON_MAJMIN}/contextlib.py", - "${libdir}/python${PYTHON_MAJMIN}/copy.py", - "${libdir}/python${PYTHON_MAJMIN}/copyreg.py", - "${libdir}/python${PYTHON_MAJMIN}/csv.py", - "${libdir}/python${PYTHON_MAJMIN}/dis.py", - "${libdir}/python${PYTHON_MAJMIN}/encodings", - "${libdir}/python${PYTHON_MAJMIN}/encodings/aliases.py", - "${libdir}/python${PYTHON_MAJMIN}/encodings/latin_1.py", - "${libdir}/python${PYTHON_MAJMIN}/encodings/utf_8.py", - "${libdir}/python${PYTHON_MAJMIN}/enum.py", - "${libdir}/python${PYTHON_MAJMIN}/fnmatch.py", - "${libdir}/python${PYTHON_MAJMIN}/functools.py", - "${libdir}/python${PYTHON_MAJMIN}/genericpath.py", - "${libdir}/python${PYTHON_MAJMIN}/getopt.py", - "${libdir}/python${PYTHON_MAJMIN}/gettext.py", - "${libdir}/python${PYTHON_MAJMIN}/heapq.py", - "${libdir}/python${PYTHON_MAJMIN}/imp.py", - "${libdir}/python${PYTHON_MAJMIN}/importlib", - "${libdir}/python${PYTHON_MAJMIN}/importlib/_bootstrap.py", - "${libdir}/python${PYTHON_MAJMIN}/importlib/_bootstrap_external.py", - "${libdir}/python${PYTHON_MAJMIN}/importlib/abc.py", - "${libdir}/python${PYTHON_MAJMIN}/importlib/machinery.py", - "${libdir}/python${PYTHON_MAJMIN}/importlib/util.py", - "${libdir}/python${PYTHON_MAJMIN}/inspect.py", - "${libdir}/python${PYTHON_MAJMIN}/io.py", - "${libdir}/python${PYTHON_MAJMIN}/keyword.py", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/_struct.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/binascii.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/time.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/__pycache__/xreadlines.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_bisect.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_bz2.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_csv.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_heapq.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_lzma.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_opcode.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_posixsubprocess.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_struct.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/array.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/binascii.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/grp.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/math.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/parser.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/readline.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/select.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/time.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/unicodedata.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/xreadlines.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/zlib.*.so", - "${libdir}/python${PYTHON_MAJMIN}/linecache.py", - "${libdir}/python${PYTHON_MAJMIN}/locale.py", - "${libdir}/python${PYTHON_MAJMIN}/lzma.py", - "${libdir}/python${PYTHON_MAJMIN}/new.py", - "${libdir}/python${PYTHON_MAJMIN}/ntpath.py", - "${libdir}/python${PYTHON_MAJMIN}/opcode.py", - "${libdir}/python${PYTHON_MAJMIN}/operator.py", - "${libdir}/python${PYTHON_MAJMIN}/optparse.py", - "${libdir}/python${PYTHON_MAJMIN}/os.py", - "${libdir}/python${PYTHON_MAJMIN}/pathlib.py", - "${libdir}/python${PYTHON_MAJMIN}/pkgutil.py", - "${libdir}/python${PYTHON_MAJMIN}/platform.py", - "${libdir}/python${PYTHON_MAJMIN}/posixpath.py", - "${libdir}/python${PYTHON_MAJMIN}/re.py", - "${libdir}/python${PYTHON_MAJMIN}/reprlib.py", - "${libdir}/python${PYTHON_MAJMIN}/rlcompleter.py", - "${libdir}/python${PYTHON_MAJMIN}/runpy.py", - "${libdir}/python${PYTHON_MAJMIN}/selectors.py", - "${libdir}/python${PYTHON_MAJMIN}/shutil.py", - "${libdir}/python${PYTHON_MAJMIN}/signal.py", - "${libdir}/python${PYTHON_MAJMIN}/site.py", - "${libdir}/python${PYTHON_MAJMIN}/sitecustomize.py", - "${libdir}/python${PYTHON_MAJMIN}/sre_compile.py", - "${libdir}/python${PYTHON_MAJMIN}/sre_constants.py", - "${libdir}/python${PYTHON_MAJMIN}/sre_parse.py", - "${libdir}/python${PYTHON_MAJMIN}/stat.py", - "${libdir}/python${PYTHON_MAJMIN}/stringprep.py", - "${libdir}/python${PYTHON_MAJMIN}/struct.py", - "${libdir}/python${PYTHON_MAJMIN}/subprocess.py", - "${libdir}/python${PYTHON_MAJMIN}/symbol.py", - "${libdir}/python${PYTHON_MAJMIN}/sysconfig.py", - "${libdir}/python${PYTHON_MAJMIN}/textwrap.py", - "${libdir}/python${PYTHON_MAJMIN}/threading.py", - "${libdir}/python${PYTHON_MAJMIN}/token.py", - "${libdir}/python${PYTHON_MAJMIN}/tokenize.py", - "${libdir}/python${PYTHON_MAJMIN}/traceback.py", - "${libdir}/python${PYTHON_MAJMIN}/types.py", - "${libdir}/python${PYTHON_MAJMIN}/warnings.py", - "${libdir}/python${PYTHON_MAJMIN}/weakref.py", - "${prefix}/lib/python${PYTHON_MAJMIN}/config*/*[!.a]" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/__future__.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_bootlocale.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_collections_abc.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_compression.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_markupbase.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sitebuiltins.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_sysconfigdata.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_weakrefset.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/abc.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/argparse.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ast.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/bisect.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/bz2.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/code.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/codecs.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/codeop.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/configparser.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/contextlib.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/copy.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/copyreg.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/csv.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/dis.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/enum.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/fnmatch.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/functools.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/genericpath.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/getopt.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/gettext.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/heapq.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/imp.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/inspect.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/io.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/keyword.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/linecache.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/locale.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/lzma.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ntpath.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/opcode.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/operator.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/optparse.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/os.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pathlib.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pkgutil.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/platform.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/posixpath.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/re.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/reprlib.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/rlcompleter.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/runpy.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/selectors.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/shutil.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/signal.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/site.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/sre_compile.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/sre_constants.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/sre_parse.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/stat.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/stringprep.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/struct.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/subprocess.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/symbol.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/sysconfig.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/textwrap.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/threading.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/token.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/tokenize.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/traceback.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/types.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/warnings.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/weakref.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/collections/__pycache__", - "${libdir}/python${PYTHON_MAJMIN}/collections/__pycache__/abc.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/encodings/__pycache__", - "${libdir}/python${PYTHON_MAJMIN}/encodings/__pycache__/aliases.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/encodings/__pycache__/latin_1.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/encodings/__pycache__/utf_8.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/importlib/__pycache__", - "${libdir}/python${PYTHON_MAJMIN}/importlib/__pycache__/abc.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/importlib/__pycache__/machinery.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/importlib/__pycache__/util.*.pyc" - ] - }, - "crypt": { - "summary": "Python basic cryptographic and hashing support", - "rdepends": [ - "core", - "math", - "stringold" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/crypt.py", - "${libdir}/python${PYTHON_MAJMIN}/hashlib.py", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_blake2.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_crypt.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_hashlib.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_md5.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha1.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha256.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha3.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sha512.*.so" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/crypt.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/hashlib.*.pyc" - ] - }, - "ctypes": { - "summary": "Python C types support", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/ctypes", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_ctypes.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_ctypes_test.*.so" - ], - "cached": [] - }, - "curses": { - "summary": "Python curses support", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/curses", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_curses.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_curses_panel.*.so" - ], - "cached": [] - }, - "datetime": { - "summary": "Python calendar and time support", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/_strptime.py", - "${libdir}/python${PYTHON_MAJMIN}/calendar.py", - "${libdir}/python${PYTHON_MAJMIN}/datetime.py", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_datetime.*.so" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_strptime.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/calendar.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/datetime.*.pyc" - ] - }, - "db": { - "summary": "Python file-based database support", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/dbm", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_dbm.*.so" - ], - "cached": [] - }, - "debugger": { - "summary": "Python debugger", - "rdepends": [ - "core", - "pprint", - "shell", - "stringold" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/bdb.py", - "${libdir}/python${PYTHON_MAJMIN}/pdb.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/bdb.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pdb.*.pyc" - ] - }, - "dev": { - "cached": [], - "files": [ - "${base_libdir}/*.a", - "${base_libdir}/*.o", - "${bindir}/python*-config*", - "${datadir}/aclocal", - "${datadir}/pkgconfig", - "${includedir}", - "${libdir}/*.a", - "${libdir}/*.la", - "${libdir}/*.o", - "${libdir}/lib*${SOLIBSDEV}", - "${libdir}/pkgconfig" - ], - "rdepends": [ - "core", - "distutils" - ], - "summary": "Python development package" - }, - "difflib": { - "summary": "Python helpers for computing deltas between objects", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/difflib.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/difflib.*.pyc" - ] - }, - "distutils-windows": { - "summary": "Python distribution utilities (Windows installer stubs)", - "rdepends": [ - "core" - ], - "files": [], - "cached": [] - }, - "distutils": { - "summary": "Python Distribution Utilities", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/distutils" - ], - "cached": [] - }, - "doctest": { - "summary": "Python framework for running examples in docstrings", - "rdepends": [ - "asyncio", - "compression", - "core", - "debugger", - "difflib", - "io", - "logging", - "netclient", - "numbers", - "pprint", - "shell", - "stringold", - "typing", - "unittest" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/doctest.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/doctest.*.pyc" - ] - }, - "email": { - "summary": "Python email support", - "rdepends": [ - "core", - "crypt", - "datetime", - "io", - "math", - "netclient" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/email", - "${libdir}/python${PYTHON_MAJMIN}/imaplib.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/imaplib.*.pyc" - ] - }, - "fcntl": { - "summary": "Python's fcntl interface", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/fcntl.*.so" - ], - "cached": [] - }, - "gdbm": { - "summary": "Python GNU database support", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_gdbm.*.so" - ], - "cached": [] - }, - "html": { - "summary": "Python HTML processing support", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/formatter.py", - "${libdir}/python${PYTHON_MAJMIN}/html" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/formatter.*.pyc" - ] - }, - "idle": { - "summary": "Python Integrated Development Environment", - "rdepends": [ - "core" - ], - "files": [ - "${bindir}/idle*", - "${libdir}/python${PYTHON_MAJMIN}/idlelib" - ], - "cached": [] - }, - "image": { - "summary": "Python graphical image handling", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/colorsys.py", - "${libdir}/python${PYTHON_MAJMIN}/imghdr.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/colorsys.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/imghdr.*.pyc" - ] - }, - "io": { - "summary": "Python low-level I/O", - "rdepends": [ - "compression", - "core", - "crypt", - "math", - "netclient", - "shell" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/_pyio.py", - "${libdir}/python${PYTHON_MAJMIN}/ipaddress.py", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_socket.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_ssl.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/termios.*.so", - "${libdir}/python${PYTHON_MAJMIN}/pipes.py", - "${libdir}/python${PYTHON_MAJMIN}/socket.py", - "${libdir}/python${PYTHON_MAJMIN}/ssl.py", - "${libdir}/python${PYTHON_MAJMIN}/tempfile.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_pyio.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ipaddress.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pipes.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/socket.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ssl.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/tempfile.*.pyc" - ] - }, - "json": { - "summary": "Python JSON support", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/json", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_json.*.so" - ], - "cached": [] - }, - "logging": { - "summary": "Python logging support", - "rdepends": [ - "core", - "stringold" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/logging" - ], - "cached": [] - }, - "mailbox": { - "summary": "Python mailbox format support", - "rdepends": [ - "core", - "crypt", - "datetime", - "email", - "fcntl", - "io", - "math", - "mime", - "netclient", - "stringold" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/mailbox.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/mailbox.*.pyc" - ] - }, - "math": { - "summary": "Python math support", - "rdepends": [ - "core", - "crypt" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_random.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/cmath.*.so", - "${libdir}/python${PYTHON_MAJMIN}/random.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/random.*.pyc" - ] - }, - "mime": { - "summary": "Python MIME handling APIs", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/quopri.py", - "${libdir}/python${PYTHON_MAJMIN}/uu.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/quopri.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/uu.*.pyc" - ] - }, - "mmap": { - "summary": "Python memory-mapped file support", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/mmap.*.so" - ], - "cached": [] - }, - "modules": { - "cached": [], - "files": [], - "rdepends": [ - "2to3", - "asyncio", - "audio", - "codecs", - "compile", - "compression", - "core", - "crypt", - "ctypes", - "curses", - "datetime", - "db", - "debugger", - "difflib", - "distutils", - "doctest", - "email", - "fcntl", - "html", - "idle", - "image", - "io", - "json", - "logging", - "mailbox", - "math", - "mime", - "mmap", - "multiprocessing", - "netclient", - "netserver", - "numbers", - "pickle", - "pkgutil", - "plistlib", - "pprint", - "profile", - "pydoc", - "resource", - "shell", - "smtpd", - "sqlite3", - "stringold", - "syslog", - "terminal", - "threading", - "tkinter", - "typing", - "unittest", - "unixadmin", - "venv", - "xml", - "xmlrpc" - ], - "rrecommends": [ - "distutils-windows" - ], - "summary": "All Python modules" - }, - "multiprocessing": { - "summary": "Python multiprocessing support", - "rdepends": [ - "core", - "io", - "pickle" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_multiprocessing.*.so", - "${libdir}/python${PYTHON_MAJMIN}/multiprocessing" - ], - "cached": [] - }, - "netclient": { - "summary": "Python Internet Protocol clients", - "rdepends": [ - "core", - "crypt", - "datetime", - "email", - "io", - "math", - "mime", - "stringold" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/base64.py", - "${libdir}/python${PYTHON_MAJMIN}/ftplib.py", - "${libdir}/python${PYTHON_MAJMIN}/hmac.py", - "${libdir}/python${PYTHON_MAJMIN}/http", - "${libdir}/python${PYTHON_MAJMIN}/http/__pycache__", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_uuid.*.so", - "${libdir}/python${PYTHON_MAJMIN}/mimetypes.py", - "${libdir}/python${PYTHON_MAJMIN}/nntplib.py", - "${libdir}/python${PYTHON_MAJMIN}/poplib.py", - "${libdir}/python${PYTHON_MAJMIN}/smtplib.py", - "${libdir}/python${PYTHON_MAJMIN}/telnetlib.py", - "${libdir}/python${PYTHON_MAJMIN}/urllib", - "${libdir}/python${PYTHON_MAJMIN}/urllib/__pycache__", - "${libdir}/python${PYTHON_MAJMIN}/uuid.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/base64.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/ftplib.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/hmac.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/mimetypes.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/nntplib.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/poplib.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/smtplib.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/telnetlib.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/uuid.*.pyc" - ] - }, - "netserver": { - "summary": "Python Internet Protocol servers", - "rdepends": [ - "compression", - "core", - "crypt", - "datetime", - "email", - "html", - "io", - "math", - "mime", - "netclient", - "stringold" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/cgi.py", - "${libdir}/python${PYTHON_MAJMIN}/socketserver.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/cgi.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/socketserver.*.pyc" - ] - }, - "numbers": { - "summary": "Python number APIs", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/_pydecimal.py", - "${libdir}/python${PYTHON_MAJMIN}/contextvars.py", - "${libdir}/python${PYTHON_MAJMIN}/decimal.py", - "${libdir}/python${PYTHON_MAJMIN}/fractions.py", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_contextvars.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_decimal.*.so", - "${libdir}/python${PYTHON_MAJMIN}/numbers.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_pydecimal.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/contextvars.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/decimal.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/fractions.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/numbers.*.pyc" - ] - }, - "pickle": { - "summary": "Python serialisation/persistence support", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/_compat_pickle.py", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_pickle.*.so", - "${libdir}/python${PYTHON_MAJMIN}/pickle.py", - "${libdir}/python${PYTHON_MAJMIN}/pickletools.py", - "${libdir}/python${PYTHON_MAJMIN}/shelve.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_compat_pickle.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pickle.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pickletools.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/shelve.*.pyc" - ] - }, - "pkgutil": { - "summary": "Python package extension utility support", - "rdepends": [ - "core" - ], - "files": [], - "cached": [] - }, - "plistlib": { - "summary": "Generate and parse Mac OS X .plist files", - "rdepends": [ - "core", - "datetime", - "xml" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/plistlib.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/plistlib.*.pyc" - ] - }, - "pprint": { - "summary": "Python pretty-print support", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/pprint.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pprint.*.pyc" - ] - }, - "profile": { - "summary": "Python basic performance profiling support", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/cProfile.py", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_lsprof.*.so", - "${libdir}/python${PYTHON_MAJMIN}/profile.py", - "${libdir}/python${PYTHON_MAJMIN}/pstats.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/cProfile.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/profile.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pstats.*.pyc" - ] - }, - "pydoc": { - "summary": "Python interactive help support", - "rdepends": [ - "core", - "netclient" - ], - "files": [ - "${bindir}/pydoc*", - "${libdir}/python${PYTHON_MAJMIN}/pydoc.py", - "${libdir}/python${PYTHON_MAJMIN}/pydoc_data" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pydoc.*.pyc" - ] - }, - "resource": { - "summary": "Python resource control interface", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/resource.*.so" - ], - "cached": [] - }, - "shell": { - "summary": "Python shell-like functionality", - "rdepends": [ - "compression", - "core", - "stringold" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/cmd.py", - "${libdir}/python${PYTHON_MAJMIN}/glob.py", - "${libdir}/python${PYTHON_MAJMIN}/shlex.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/cmd.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/glob.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/shlex.*.pyc" - ] - }, - "smtpd": { - "summary": "Python Simple Mail Transport Daemon", - "rdepends": [ - "core", - "crypt", - "datetime", - "email", - "io", - "math", - "mime", - "netclient", - "stringold" - ], - "files": [ - "${bindir}/smtpd.py", - "${libdir}/python${PYTHON_MAJMIN}/asynchat.py", - "${libdir}/python${PYTHON_MAJMIN}/asyncore.py", - "${libdir}/python${PYTHON_MAJMIN}/smtpd.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/asynchat.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/asyncore.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/smtpd.*.pyc" - ] - }, - "sqlite3": { - "summary": "Python Sqlite3 database support", - "rdepends": [ - "core", - "datetime" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_sqlite3.*.so", - "${libdir}/python${PYTHON_MAJMIN}/sqlite3" - ], - "cached": [] - }, - "stringold": { - "summary": "Python string APIs [deprecated]", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/string.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/string.*.pyc" - ] - }, - "syslog": { - "summary": "Python syslog interface", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/syslog.*.so" - ], - "cached": [] - }, - "terminal": { - "summary": "Python terminal controlling support", - "rdepends": [ - "core", - "io" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/pty.py", - "${libdir}/python${PYTHON_MAJMIN}/tty.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/pty.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/tty.*.pyc" - ] - }, - "threading": { - "summary": "Python threading & synchronization support", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/_dummy_thread.py", - "${libdir}/python${PYTHON_MAJMIN}/_threading_local.py", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_queue.*.so", - "${libdir}/python${PYTHON_MAJMIN}/queue.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_dummy_thread.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/_threading_local.*.pyc", - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/queue.*.pyc" - ] - }, - "tkinter": { - "summary": "Python Tcl/Tk bindings", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_tkinter.*.so", - "${libdir}/python${PYTHON_MAJMIN}/tkinter" - ], - "cached": [] - }, - "typing": { - "summary": "Python typing support", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/typing.py" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/typing.*.pyc" - ] - }, - "unittest": { - "summary": "Python unit testing framework", - "rdepends": [ - "asyncio", - "compression", - "core", - "difflib", - "io", - "logging", - "netclient", - "numbers", - "pprint", - "stringold", - "typing" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/unittest", - "${libdir}/python${PYTHON_MAJMIN}/unittest/", - "${libdir}/python${PYTHON_MAJMIN}/unittest/__pycache__" - ], - "cached": [] - }, - "unixadmin": { - "summary": "Python Unix administration support", - "rdepends": [ - "core", - "io" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/getpass.py", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/nis.*.so" - ], - "cached": [ - "${libdir}/python${PYTHON_MAJMIN}/__pycache__/getpass.*.pyc" - ] - }, - "venv": { - "summary": "Provides support for creating lightweight virtual environments with their own site directories, optionally isolated from system site directories.", - "rdepends": [ - "compression", - "core", - "logging", - "stringold" - ], - "files": [ - "${bindir}/pyvenv*", - "${libdir}/python${PYTHON_MAJMIN}/venv" - ], - "cached": [] - }, - "xml": { - "summary": "Python basic XML support", - "rdepends": [ - "core" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/_elementtree.*.so", - "${libdir}/python${PYTHON_MAJMIN}/lib-dynload/pyexpat.*.so", - "${libdir}/python${PYTHON_MAJMIN}/xml" - ], - "cached": [] - }, - "xmlrpc": { - "summary": "Python XML-RPC support", - "rdepends": [ - "core", - "xml" - ], - "files": [ - "${libdir}/python${PYTHON_MAJMIN}/xmlrpc", - "${libdir}/python${PYTHON_MAJMIN}/xmlrpc/__pycache__" - ], - "cached": [] - } -} diff --git a/meta-oniro-staging/recipes-devtools/python/python3/reformat_sysconfig.py b/meta-oniro-staging/recipes-devtools/python/python3/reformat_sysconfig.py deleted file mode 100644 index c4164313..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/reformat_sysconfig.py +++ /dev/null @@ -1,21 +0,0 @@ -#! /usr/bin/env python3 -# -# SPDX-License-Identifier: MIT -# -# Copyright 2019 by Garmin Ltd. or its subsidiaries -# -# A script to reformat python sysconfig - -import sys -import pprint -l = {} -g = {} -with open(sys.argv[1], 'r') as f: - exec(f.read(), g, l) - -with open(sys.argv[1], 'w') as f: - for k in sorted(l.keys()): - f.write('%s = ' % k) - pprint.pprint(l[k], stream=f, width=sys.maxsize) - f.write('\n') - diff --git a/meta-oniro-staging/recipes-devtools/python/python3/run-ptest b/meta-oniro-staging/recipes-devtools/python/python3/run-ptest deleted file mode 100644 index 405b07f4..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3/run-ptest +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -python3 -m test -v | sed -u -e '/\.\.\. ok/ s/^/PASS: /g' -r -e '/\.\.\. (ERROR|FAIL)/ s/^/FAIL: /g' -e '/\.\.\. skipped/ s/^/SKIP: /g' -e 's/ \.\.\. ok//g' -e 's/ \.\.\. ERROR//g' -e 's/ \.\.\. FAIL//g' -e 's/ \.\.\. skipped//g' diff --git a/meta-oniro-staging/recipes-devtools/python/python3_3.8.12.bb b/meta-oniro-staging/recipes-devtools/python/python3_3.8.12.bb deleted file mode 100644 index cfcc91b3..00000000 --- a/meta-oniro-staging/recipes-devtools/python/python3_3.8.12.bb +++ /dev/null @@ -1,363 +0,0 @@ -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 = "PSF-2.0 & BSD-0-Clause" -SECTION = "devel/python" - -LIC_FILES_CHKSUM = "file://LICENSE;md5=c22d2438294c784731bf9dd224a467b7" - -SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz \ - file://run-ptest \ - file://create_manifest3.py \ - file://get_module_deps3.py \ - file://python3-manifest.json \ - file://check_build_completeness.py \ - file://cgi_py.patch \ - file://0001-Do-not-add-usr-lib-termcap-to-linker-flags-to-avoid-.patch \ - ${@bb.utils.contains('PACKAGECONFIG', 'tk', '', 'file://avoid_warning_about_tkinter.patch', d)} \ - file://0001-Do-not-use-the-shell-version-of-python-config-that-w.patch \ - file://python-config.patch \ - file://0001-Makefile.pre-use-qemu-wrapper-when-gathering-profile.patch \ - file://0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch \ - file://0001-python3-use-cc_basename-to-replace-CC-for-checking-c.patch \ - file://0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch \ - file://0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch \ - file://0001-bpo-36852-proper-detection-of-mips-architecture-for-.patch \ - file://crosspythonpath.patch \ - file://reformat_sysconfig.py \ - file://0001-Use-FLAG_REF-always-for-interned-strings.patch \ - file://0001-test_locale.py-correct-the-test-output-format.patch \ - file://0017-setup.py-do-not-report-missing-dependencies-for-disa.patch \ - file://0001-setup.py-pass-missing-libraries-to-Extension-for-mul.patch \ - file://0001-Makefile-do-not-compile-.pyc-in-parallel.patch \ - file://0001-configure.ac-fix-LIBPL.patch \ - file://0001-python3-Do-not-hardcode-lib-for-distutils.patch \ - file://0020-configure.ac-setup.py-do-not-add-a-curses-include-pa.patch \ - file://makerace.patch \ - " - -SRC_URI_append_class-native = " \ - file://0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch \ - file://12-distutils-prefix-is-inside-staging-area.patch \ - file://0001-Don-t-search-system-for-headers-libraries.patch \ - " - -SRC_URI[md5sum] = "9dd8f82e586b776383c82e27923f8795" -SRC_URI[sha256sum] = "b1d3a76420375343b5e8a22fceb1ac65b77193e9ed27146524f0a9db058728ea" - -# exclude pre-releases for both python 2.x and 3.x -UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P<pver>\d+(\.\d+)+).tar" - -CVE_PRODUCT = "python" - -# Upstream consider this expected behaviour -CVE_CHECK_WHITELIST += "CVE-2007-4559" -# This is not exploitable when glibc has CVE-2016-10739 fixed. -CVE_CHECK_WHITELIST += "CVE-2019-18348" - -# This is windows only issue. -CVE_CHECK_WHITELIST += "CVE-2020-15523" - -PYTHON_MAJMIN = "3.8" - -S = "${WORKDIR}/Python-${PV}" - -BBCLASSEXTEND = "native nativesdk" - -inherit autotools pkgconfig qemu ptest multilib_header update-alternatives - -MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}" - -ALTERNATIVE_${PN}-dev = "python3-config" -ALTERNATIVE_LINK_NAME[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config" -ALTERNATIVE_TARGET[python3-config] = "${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX}" - - -DEPENDS = "bzip2-replacement-native libffi bzip2 openssl sqlite3 zlib virtual/libintl xz virtual/crypt util-linux libtirpc libnsl2 autoconf-archive" -DEPENDS_append_class-target = " python3-native" -DEPENDS_append_class-nativesdk = " python3-native" - -EXTRA_OECONF = " --without-ensurepip --enable-shared" -EXTRA_OECONF_append_class-native = " --bindir=${bindir}/${PN}" - -export CROSSPYTHONPATH="${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/" - -EXTRANATIVEPATH += "python3-native" - -CACHED_CONFIGUREVARS = " \ - ac_cv_file__dev_ptmx=yes \ - ac_cv_file__dev_ptc=no \ - ac_cv_working_tzset=yes \ -" -python() { - # PGO currently causes builds to not be reproducible, so disable it for - # now. See YOCTO #13407 - if bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', True, False, d) and d.getVar('BUILD_REPRODUCIBLE_BINARIES') != '1': - d.setVar('PACKAGECONFIG_PGO', 'pgo') - else: - d.setVar('PACKAGECONFIG_PGO', '') -} - -PACKAGECONFIG_class-target ??= "readline ${PACKAGECONFIG_PGO} gdbm" -PACKAGECONFIG_class-native ??= "readline gdbm" -PACKAGECONFIG_class-nativesdk ??= "readline gdbm" -PACKAGECONFIG[readline] = ",,readline" -# Use profile guided optimisation by running PyBench inside qemu-user -PACKAGECONFIG[pgo] = "--enable-optimizations,,qemu-native" -PACKAGECONFIG[tk] = ",,tk" -PACKAGECONFIG[gdbm] = ",,gdbm" - -do_configure_prepend () { - mkdir -p ${B}/Modules - cat > ${B}/Modules/Setup.local << EOF -*disabled* -${@bb.utils.contains('PACKAGECONFIG', 'gdbm', '', '_gdbm _dbm', d)} -${@bb.utils.contains('PACKAGECONFIG', 'readline', '', 'readline', d)} -EOF -} - -CPPFLAGS_append = " -I${STAGING_INCDIR}/ncursesw -I${STAGING_INCDIR}/uuid" - -EXTRA_OEMAKE = '\ - STAGING_LIBDIR=${STAGING_LIBDIR} \ - STAGING_INCDIR=${STAGING_INCDIR} \ - LIB=${baselib} \ -' - -do_compile_prepend_class-target() { - if ${@bb.utils.contains('PACKAGECONFIG', 'pgo', 'true', 'false', d)}; then - qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${B}', '${STAGING_DIR_TARGET}/${base_libdir}'])}" - cat >pgo-wrapper <<EOF -#!/bin/sh -cd ${B} -$qemu_binary "\$@" -EOF - chmod +x pgo-wrapper - fi -} - -do_install_prepend() { - ${WORKDIR}/check_build_completeness.py ${T}/log.do_compile -} - -do_install_append_class-target() { - oe_multilib_header python${PYTHON_MAJMIN}/pyconfig.h -} - -do_install_append_class-native() { - # Make sure we use /usr/bin/env python - for PYTHSCRIPT in `grep -rIl ${bindir}/${PN}/python ${D}${bindir}/${PN}`; do - sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' $PYTHSCRIPT - done - # Add a symlink to the native Python so that scripts can just invoke - # "nativepython" and get the right one without needing absolute paths - # (these often end up too long for the #! parser in the kernel as the - # buffer is 128 bytes long). - ln -s python3-native/python3 ${D}${bindir}/nativepython3 -} - -do_install_append() { - mkdir -p ${D}${libdir}/python-sysconfigdata - sysconfigfile=`find ${D} -name _sysconfig*.py` - cp $sysconfigfile ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py - - sed -i \ - -e "s,^ 'LIBDIR'.*, 'LIBDIR': '${STAGING_LIBDIR}'\,,g" \ - -e "s,^ 'INCLUDEDIR'.*, 'INCLUDEDIR': '${STAGING_INCDIR}'\,,g" \ - -e "s,^ 'CONFINCLUDEDIR'.*, 'CONFINCLUDEDIR': '${STAGING_INCDIR}'\,,g" \ - -e "/^ 'INCLDIRSTOMAKE'/{N; s,/usr/include,${STAGING_INCDIR},g}" \ - -e "/^ 'INCLUDEPY'/s,/usr/include,${STAGING_INCDIR},g" \ - ${D}${libdir}/python-sysconfigdata/_sysconfigdata.py -} - -do_install_append_class-nativesdk () { - create_wrapper ${D}${bindir}/python${PYTHON_MAJMIN} TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1' -} - -SSTATE_SCAN_FILES += "Makefile _sysconfigdata.py" -PACKAGE_PREPROCESS_FUNCS += "py_package_preprocess" - -py_package_preprocess () { - # Remove references to buildmachine paths in target Makefile and _sysconfigdata - sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' -e s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \ - -e 's|${DEBUG_PREFIX_MAP}||g' \ - -e 's:${HOSTTOOLS_DIR}/::g' \ - -e 's:${RECIPE_SYSROOT_NATIVE}::g' \ - -e 's:${RECIPE_SYSROOT}::g' \ - -e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \ - ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}*/Makefile \ - ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py \ - ${PKGD}/${bindir}/python${PYTHON_MAJMIN}-config - - # Reformat _sysconfigdata after modifying it so that it remains - # reproducible - for c in ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py; do - python3 ${WORKDIR}/reformat_sysconfig.py $c - done - - # Recompile _sysconfigdata after modifying it - cd ${PKGD} - sysconfigfile=`find . -name _sysconfigdata_*.py` - ${STAGING_BINDIR_NATIVE}/python3-native/python3 \ - -c "from py_compile import compile; compile('$sysconfigfile')" - ${STAGING_BINDIR_NATIVE}/python3-native/python3 \ - -c "from py_compile import compile; compile('$sysconfigfile', optimize=1)" - ${STAGING_BINDIR_NATIVE}/python3-native/python3 \ - -c "from py_compile import compile; compile('$sysconfigfile', optimize=2)" - cd - - - mv ${PKGD}/${bindir}/python${PYTHON_MAJMIN}-config ${PKGD}/${bindir}/python${PYTHON_MAJMIN}-config-${MULTILIB_SUFFIX} - - #Remove the unneeded copy of target sysconfig data - rm -rf ${PKGD}/${libdir}/python-sysconfigdata -} - -# We want bytecode precompiled .py files (.pyc's) by default -# but the user may set it on their own conf -INCLUDE_PYCS ?= "1" - -python(){ - import collections, json - - filename = os.path.join(d.getVar('THISDIR'), 'python3', 'python3-manifest.json') - # This python changes the datastore based on the contents of a file, so mark - # that dependency. - bb.parse.mark_dependency(d, filename) - - with open(filename) as manifest_file: - manifest_str = manifest_file.read() - json_start = manifest_str.find('# EOC') + 6 - manifest_file.seek(json_start) - manifest_str = manifest_file.read() - python_manifest = json.loads(manifest_str, object_pairs_hook=collections.OrderedDict) - - # First set RPROVIDES for -native case - # Hardcoded since it cant be python3-native-foo, should be python3-foo-native - pn = 'python3' - rprovides = d.getVar('RPROVIDES').split() - - # ${PN}-misc-native is not in the manifest - rprovides.append(pn + '-misc-native') - - for key in python_manifest: - pypackage = pn + '-' + key + '-native' - if pypackage not in rprovides: - rprovides.append(pypackage) - - d.setVar('RPROVIDES_class-native', ' '.join(rprovides)) - - # Then work on the target - include_pycs = d.getVar('INCLUDE_PYCS') - - packages = d.getVar('PACKAGES').split() - pn = d.getVar('PN') - - newpackages=[] - for key in python_manifest: - pypackage = pn + '-' + key - - if pypackage not in packages: - # We need to prepend, otherwise python-misc gets everything - # so we use a new variable - newpackages.append(pypackage) - - # "Build" python's manifest FILES, RDEPENDS and SUMMARY - d.setVar('FILES_' + pypackage, '') - for value in python_manifest[key]['files']: - d.appendVar('FILES_' + pypackage, ' ' + value) - - # Add cached files - if include_pycs == '1': - for value in python_manifest[key]['cached']: - d.appendVar('FILES_' + pypackage, ' ' + value) - - for value in python_manifest[key]['rdepends']: - # Make it work with or without $PN - if '${PN}' in value: - value=value.split('-', 1)[1] - d.appendVar('RDEPENDS_' + pypackage, ' ' + pn + '-' + value) - - for value in python_manifest[key].get('rrecommends', ()): - if '${PN}' in value: - value=value.split('-', 1)[1] - d.appendVar('RRECOMMENDS_' + pypackage, ' ' + pn + '-' + value) - - d.setVar('SUMMARY_' + pypackage, python_manifest[key]['summary']) - - # Prepending so to avoid python-misc getting everything - packages = newpackages + packages - d.setVar('PACKAGES', ' '.join(packages)) - d.setVar('ALLOW_EMPTY_${PN}-modules', '1') - d.setVar('ALLOW_EMPTY_${PN}-pkgutil', '1') -} - -# Files needed to create a new manifest - -do_create_manifest() { - # This task should be run with every new release of Python. - # We must ensure that PACKAGECONFIG enables everything when creating - # a new manifest, this is to base our new manifest on a complete - # native python build, containing all dependencies, otherwise the task - # wont be able to find the required files. - # e.g. BerkeleyDB is an optional build dependency so it may or may not - # be present, we must ensure it is. - - cd ${WORKDIR} - # This needs to be executed by python-native and NOT by HOST's python - nativepython3 create_manifest3.py ${PYTHON_MAJMIN} - cp python3-manifest.json.new ${THISDIR}/python3/python3-manifest.json -} - -# bitbake python -c create_manifest -# Make sure we have native python ready when we create a new manifest -addtask do_create_manifest after do_patch do_prepare_recipe_sysroot - -# manual dependency additions -RRECOMMENDS_${PN}-core_append_class-nativesdk = " nativesdk-python3-modules" -RRECOMMENDS_${PN}-crypt_append_class-target = " openssl ca-certificates" -RRECOMMENDS_${PN}-crypt_append_class-nativesdk = " openssl ca-certificates" - -# For historical reasons PN is empty and provided by python3-modules -FILES_${PN} = "" -RPROVIDES_${PN}-modules = "${PN}" - -FILES_${PN}-pydoc += "${bindir}/pydoc${PYTHON_MAJMIN} ${bindir}/pydoc3" -FILES_${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAJMIN}" - -# provide python-pyvenv from python3-venv -RPROVIDES_${PN}-venv += "python3-pyvenv" - -# package libpython3 -PACKAGES =+ "libpython3 libpython3-staticdev" -FILES_libpython3 = "${libdir}/libpython*.so.*" -FILES_libpython3-staticdev += "${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}-*/libpython${PYTHON_MAJMIN}.a" -INSANE_SKIP_${PN}-dev += "dev-elf" -INSANE_SKIP_${PN}-ptest += "dev-deps" - -# catch all the rest (unsorted) -PACKAGES += "${PN}-misc" -RDEPENDS_${PN}-misc += "python3-core python3-email python3-codecs python3-pydoc python3-pickle python3-audio" -RDEPENDS_${PN}-modules_append_class-target = " python3-misc" -RDEPENDS_${PN}-modules_append_class-nativesdk = " python3-misc" -FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN} ${libdir}/python${PYTHON_MAJMIN}/lib-dynload" - -# catch manpage -PACKAGES += "${PN}-man" -FILES_${PN}-man = "${datadir}/man" - -# See https://bugs.python.org/issue18748 and https://bugs.python.org/issue37395 -RDEPENDS_libpython3_append_libc-glibc = " libgcc" -RDEPENDS_${PN}-ctypes_append_libc-glibc = " ${MLPREFIX}ldconfig" -RDEPENDS_${PN}-ptest = "${PN}-modules ${PN}-tests ${PN}-dev unzip bzip2 libgcc tzdata-europe coreutils sed" -RDEPENDS_${PN}-ptest_append_libc-glibc = " locale-base-tr-tr.iso-8859-9" -RDEPENDS_${PN}-tkinter += "${@bb.utils.contains('PACKAGECONFIG', 'tk', 'tk tk-lib', '', d)}" -RDEPENDS_${PN}-dev = "" - -RDEPENDS_${PN}-tests_append_class-target = " bash" -RDEPENDS_${PN}-tests_append_class-nativesdk = " bash" - -# Python's tests contain large numbers of files we don't need in the recipe sysroots -SYSROOT_PREPROCESS_FUNCS += " py3_sysroot_cleanup" -py3_sysroot_cleanup () { - rm -rf ${SYSROOT_DESTDIR}${libdir}/python${PYTHON_MAJMIN}/test -} diff --git a/meta-oniro-staging/recipes-support/gmp/gmp/CVE-2021-43618.patch b/meta-oniro-staging/recipes-support/gmp/gmp/CVE-2021-43618.patch deleted file mode 100644 index 67d61263..00000000 --- a/meta-oniro-staging/recipes-support/gmp/gmp/CVE-2021-43618.patch +++ /dev/null @@ -1,27 +0,0 @@ -# Upstream-status: Submitted/Backport -# Upstream-URL: https://lists.openembedded.org/g/openembedded-core/message/158561 - -# HG changeset patch -# User Marco Bodrato <bodrato@mail.dm.unipi.it> -# Date 1634836009 -7200 -# Node ID 561a9c25298e17bb01896801ff353546c6923dbd -# Parent e1fd9db13b475209a864577237ea4b9105b3e96e -mpz/inp_raw.c: Avoid bit size overflows - -diff -r e1fd9db13b47 -r 561a9c25298e mpz/inp_raw.c ---- a/mpz/inp_raw.c Tue Dec 22 23:49:51 2020 +0100 -+++ b/mpz/inp_raw.c Thu Oct 21 19:06:49 2021 +0200 -@@ -88,8 +88,11 @@ - - abs_csize = ABS (csize); - -+ if (UNLIKELY (abs_csize > ~(mp_bitcnt_t) 0 / 8)) -+ return 0; /* Bit size overflows */ -+ - /* round up to a multiple of limbs */ -- abs_xsize = BITS_TO_LIMBS (abs_csize*8); -+ abs_xsize = BITS_TO_LIMBS ((mp_bitcnt_t) abs_csize * 8); - - if (abs_xsize != 0) - { - diff --git a/meta-oniro-staging/recipes-support/gmp/gmp_6.2%.bbappend b/meta-oniro-staging/recipes-support/gmp/gmp_6.2%.bbappend deleted file mode 100644 index 3187185a..00000000 --- a/meta-oniro-staging/recipes-support/gmp/gmp_6.2%.bbappend +++ /dev/null @@ -1,6 +0,0 @@ -# SPDX-FileCopyrightText: Huawei Inc. -# -# SPDX-License-Identifier: Apache-2.0 - -FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" -SRC_URI += "file://CVE-2021-43618.patch" -- GitLab