Commit Graph

171 Commits

Author SHA1 Message Date
Leon Anavi
8fc8f38399 python3-manifest.json: Fix re in core
Following the update from 3.10.6 to 3.11.0, the source code of
module re for regular expression operations has been moved to
Lib/re/. File python3-manifest.json has been modified according
to the new path.

According to the instructions the new python3-manifest.json
version was created by running bitbake python3 -c create_manifest.
Because of this it also updated other files and rdepends in it.

(From OE-Core rev: 830393e7aa0150566d871acd877908e08fa06964)

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-11-07 14:32:42 +00:00
Leon Anavi
d23d41bc25 get_module_deps3.py: Check attribute '__file__'
Check if the module object has attribute '__file__' to fix and
avoid errors like:

AttributeError: module '_abc' has no attribute '__file__'. Did you mean: '__name__'?

(From OE-Core rev: 8acce12c1a4cf37ac312c92d62a6ae93a349dddf)

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-11-07 14:32:41 +00:00
Alexander Kanavin
b06633b6ae python3: update 3.10.6 -> 3.11.0
The semaphore fix has landed and is available from 3.11 onwards:
1ee0f94d16

Drop 0001-Mitigate-the-race-condition-in-testSockName.patch
as it is merged upstream.

(From OE-Core rev: f10cdc155e47af5627ee999c57e1d083f9382a91)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-10-29 16:28:36 +01:00
Leon Anavi
694695211f python3-manifest.json: Move urllib to netclient
Move urllib from core to netclient because it imports base64.

(From OE-Core rev: e74ab2c144042b0a9f788b1b15f11b2800e2c7a1)

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-10-26 12:28:38 +01:00
Leon Anavi
8e6e1634a7 python3-manifest.json: Add zoneinfo
The zoneinfo module provides a concrete time zone implementation
to support the IANA time zone database as originally specified in
PEP 615.

(From OE-Core rev: 668bb1c3828bb66fcd3ed8d0fc16fb11eef3a45f)

Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-21 20:19:53 +01:00
Alexander Kanavin
d3a6ccf58a python: submit CC to cc_basename patch upstream
(From OE-Core rev: db9ad0553bc253bd7faaecf0026b2a945a125815)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-09-02 15:58:25 +01:00
Alexander Kanavin
8a6ba1ed40 python3: upgrade 3.10.5 -> 3.10.6
(From OE-Core rev: 7779cc998bea2aab2a66b874cd849b3a0b6e7721)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-08-10 08:25:28 +01:00
Ross Burton
a51d3cb69a python3: fix a race condition in the test_socket.testSockName test
This test uses find_unused_port() which is inherently racey, so retry
it a few times before failing.

[ YOCTO #14840 ]

(From OE-Core rev: efac044cabdbe77556a0b9903595fd602f39ac8d)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-21 18:44:27 +01:00
Xu Huan
672a8caece python3: upgrade 3.10.4 -> 3.10.5
0001-Don-t-search-system-for-headers-libraries.patch
refreshed for new version.

(From OE-Core rev: e654a0cd296fc1d030e7794e27c6578574b2e20c)

Signed-off-by: Xu Huan <xuhuan.fnst@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-21 18:44:27 +01:00
Paulo Neves
750f4bfea9 python: Avoid shebang overflow on python-config.py
The native path may be too big, leading to shebang
overflow. Just use the #!/usr/bin/env python3.

(From OE-Core rev: 84783dee09e48cb930c7cd27944eaf3f03997237)

Signed-off-by: Paulo Neves <ptsneves@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-06-17 17:57:44 +01:00
Richard Purdie
012f2db86b python3: Ensure stale empty python module directories don't break the build
There are two issues inside importlib. Firstly, the modules are accessed in
on disk order. This means behaviour seen on one system might not reproduce
on another and is a real headache.

Secondly, empty directories left behind by previous modules might be looked
at. This has caused a long string of different issues for us.

As a result, patch this to a behaviour which works for us. Upstream discussion
can follow later, this is breaking builds for too many people to leave unpatched.

[YOCTO #14816]

(From OE-Core rev: e5944a38db513e033c3a3e9313267055f7254be7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-28 18:38:02 +01:00
Alexander Kanavin
b890fcbd79 python3: use built-in distutils for ptest, rather than setuptools' 'fork'
The setuptools version is now used by default when setuptools is installed,
but it  is incompatible with some of python's own tests.

(From OE-Core rev: c0c1ee33781733d712cd983be460001cd7938014)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-05-20 22:52:23 +01:00
Khem Raj
dbe3a77e0d python3: Do not detect multiarch when cross compiling
This was a long standing problem seen on aarch64 build hosts when
compiling python3 with clang cross compiler. The issue is not seen with
gcc because native glibc headers are still compatible with gcc cross compiler

(From OE-Core rev: 407744b00d702e3133304e1b43064a5634ca02cf)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Ross Burton <ross.burton@arm.com>
Cc: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-04-13 16:52:24 +01:00
Alexander Kanavin
0b1dc4e3d4 python3: update 3.10.1 -> 3.10.2
License-Update: copyright years

(From OE-Core rev: d6515a7f58d0405efea21e3be4158681ed9edbe6)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-20 11:57:28 +00:00
Alexander Kanavin
fa7dd5d046 python3: drop unneeded multiprocessing module patch
pthread has been merged into the main libc library
(and was never separate in musl), so separate linking
for it is no longer needed.

I ran the reproducing sequence on qemux86, qemux86_64 and same targets with musl,
and it went fine:

root@qemux86:~# python3
Python 3.10.0 (default, Oct  4 2021, 17:55:55) [GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import multiprocessing
>>> pool_sema = multiprocessing.BoundedSemaphore(value=1)
>>> pool_sema.acquire()
True
>>> pool_sema.release()
>>>

(From OE-Core rev: 2eabd3b611f4afa5eafa4490b6b0ef7578b742de)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-01-12 21:09:02 +00:00
Ross Burton
679cb095f2 python3: backport a fix so the test suite passes with OpenSSL 3.0.1
The test suite makes incorrect assumptions about OpenSSL versions post-
3.0, so backport the fix for the test suite.

(From OE-Core rev: 2b5e9cfd2c1914d606725029c59cd50cca3d5511)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-12-21 12:01:41 +00:00
Oleksandr Kravchuk
2faf8fe584 python3: udpate to 3.10.1
Refreshed patches.

(From OE-Core rev: b82ea986a492791716c3da07a7d728edd17654c9)

Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-12-12 11:27:24 +00:00
Alexander Kanavin
7f1f9d843b python3: mark patch as inappropriate, with better explanation
(From OE-Core rev: 3a21835e69dfcdedf74512aec14583e8762317e5)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-12-06 11:09:52 +00:00
Ross Burton
851be8baed python3: silence DeprecationWarnings in python3-config
Our patched python3-config uses distutils, but that will emit a
DeprecationWarning when imported.  This isn't useful when using the
output of python3-config to find include paths.

This isn't a huge problem typically as the warning goes to stderr, but
some build systems read both stdout and stderr.

(From OE-Core rev: e25b8f5af70a094307dc5c0a25f213ae9570f349)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-03 10:12:42 +00:00
Tim Orling
18f933d20d python3-manifest: -pprint RDEPENDS on -profile
python3-profile includes dataclasses.

pprint imports dataclasses:
https://github.com/python/cpython/blob/3.10/Lib/pprint.py#L38

(From OE-Core rev: 900d7c3a8f68e9ce751a0b5cc839b8838fdebf3f)

Signed-off-by: Tim Orling <timothy.t.orling@intel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-27 09:46:41 +01:00
Alexander Kanavin
fae4ba632b python3: update 3.9.7 -> 3.10.0
native and target 0001-Lib-sysconfig.py-use-libdir-values-from-configuratio.patch
replaced by native-only 0001-Lib-sysconfig.py-use-prefix-value-from-build-configu.patch
which is more reboust against upstream changes, and keeps target code unmodified.

This however necessitated adding 0001-sysconfig.py-use-platlibdir-also-for-purelib.patch
to avoid hardcoding 'lib' on target builds as libdir.

Drop chunk from 0001-distutils-sysconfig-append-STAGING_LIBDIR-python-sys.patch as
upstream now uses sysconfig directly inside distutils.

Add 0001-Lib-pty.py-handle-stdin-I-O-errors-same-way-as-maste.patch and
0001-multiprocessing-disable-a-failing-test.patch to address ptest failures.

License-Update: copyright years, case corrections.

(From OE-Core rev: 72a75043a946f7db01d3ec04c8889e055f542cca)

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-14 11:57:38 +01:00
Joshua Watt
3115aa157d python3: Fix sysroot reproducibility
Fixes the reformatting of the sysconfigdata to be reproducible in the
sysroot as well as in the package. During this a bug was uncovered in
the way that the data was reformatted where it appears that python
cannot parse a single line of code over 40000 characters. To work around
this, pass a maximum with of "1" to pprint instead of sys.maxsize which
will cause it to wrap as often as possible and should keep it
reproducible.

(From OE-Core rev: 2def2c145c303f27d93ba73876d4c6b214f18166)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-10-01 14:51:45 +01:00
Richard Purdie
a4b94a7ff2 python3: Add a fix for a make install race
Add a fix for reproducibility issues where pyc files for python-config.py
may not always be generated.

(From OE-Core rev: d1c3a87c48b598b6e5624d0affe8bd89320631bf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-16 21:23:43 +01:00
zhengruoqin
ea29a3c116 python3: upgrade 3.9.5 -> 3.9.6
0001-Makefile-fix-Issue36464-parallel-build-race-problem.patch
removed since it is included in 3.9.6

(From OE-Core rev: 1a12d978f2046fc5d3abc96db3753e378f29ecae)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@fujitsu.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-02 23:14:32 +01:00
Tim Orling
721555184b python3: skip tests requiring tools-sdk
Conditionally skip test_ctypes.test_find unless
IMAGE_FEATURES contains 'tools-sdk' as these test
cases require full packagegroup-core-buildessential

Fixes:
  AssertionError: Failed ptests:
  {'python3': ['test_find_library_with_gcc', 'test_find_library_with_ld']}

(From OE-Core rev: 70e2fc066a18c35e42610d75eeaa1edd9aab7cf2)

(From OE-Core rev: c6567235cba55f50ca77d5db848c887232f3670c)

Signed-off-by: Tim Orling <timothy.t.orling@intel.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-06-21 11:09:56 +01:00
Tim Orling
f071b059a0 python3-manifest: add statistics subpackage
cpython/Lib/statistics.py contains common statistics functions

"""
Basic statistics module.
This module provides functions for calculating statistics of data, including
averages, variance, and standard deviation.
"""

(From OE-Core rev: cf1c49fea90e11bc037025e15e44f705a12385bf)

Signed-off-by: Tim Orling <timothy.t.orling@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-06-17 00:07:05 +01:00
Ross Burton
d686afb18f python3: update status on upstreamed patch
(From OE-Core rev: 319fb2d804b193d39d78010115e28a31b4f9f6e9)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-05-18 23:52:54 +01:00
Alejandro Enedino Hernandez Samaniego
a8ec0d8cfd python3: Upgrade 3.9.2 -> 3.9.4
- Rebased patch 0001-test_locale.py-correct-the-test-output-format
  Maintainer needs to sign CLA and resubmit
- configure now explicitly requires autoconf-archive to be present

(From OE-Core rev: 34cb8f2a2ed36ad929dca9055c96f2f843656b8f)

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
Alejandro Enedino Hernandez Samaniego
51b7ecfef3 python3: Improve logging, syntax and update deprecated modules to create_manifest
The imp module has een deprecated by upstream python, drop its usage
  (imp.get_tag) in favor of sys.implementation.cache_tag.

Avoid incorrectly getting dependencies for running script and
multiprocessing module.

Improve logging behavior of the create_manifest task:
- Use indentation.
- Logs on temp directory.
- Use a proper debug flag.
- Standarize syntax.

(From OE-Core rev: a3ac339f5b8549a050308ba94c4ef9093f10e303)

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-18 11:37:26 +01:00
Yi Fan Yu
d1b90dae19 python3: Skip failing ptests due to load variability
Skip tests until load issue is fixed,
most commonly seen on the arm64 builder.

[YOCTO #14296]

(From OE-Core rev: 7c67bc2476b784083acbc7a55ecf3627ec8f2b6b)

Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-04-05 15:29:02 +01:00
Martin Jansa
84e4c97835 python3: fix PACKAGECONFIG handling
* it was changed from sysconf_dis to mods_disabled in:
  https://git.openembedded.org/openembedded-core/diff/meta/recipes-devtools/python/python3/0017-setup.py-do-not-report-missing-dependencies-for-disa.patch?id=7347556b18b45c5f9afc2cade565a75c95876914

  but unfortunately this doesn't work as mods_disabled set by remove_configured_extensions
  can contain only extensions which were disabled, as this list:
  self.extensions: ['_struct', 'array', '_contextvars', 'math', 'cmath', 'time', '_datetime', '_zoneinfo', '_random', '_bisect', '_heapq', '_pickle', 'atexit', '_json', '_lsprof', 'unicodedata', '_opcode', '_asyncio', '_abc', '_queue', '_statistics', 'fcntl', 'pwd', 'grp', 'spwd', 'select', 'parser', 'mmap', 'syslog', '_xxsubinterpreters', 'audioop', '_csv', '_posixsubprocess', '_testcapi', '_testinternalcapi', '_testbuffer', '_testimportmultiple', '_testmultiphase', '_xxtestfuzz', '_curses', '_curses_panel', '_crypt', '_socket', '_ssl', '_hashlib', '_sha256', '_sha512', '_md5', '_sha1', '_blake2', '_sha3', '_sqlite3', 'termios', 'resource', 'ossaudiodev', 'nis', 'zlib', 'binascii', '_bz2', '_lzma', 'pyexpat', '_elementtree', '_multibytecodec', '_codecs_kr', '_codecs_jp', '_codecs_cn', '_codecs_tw', '_codecs_hk', '_codecs_iso2022', '_decimal', '_ctypes_test', '_posixshmem', '_multiprocessing', '_uuid', 'xxlimited', '_ctypes']

  while PACKAGECONFIG in python3 usually uses this to disable _dbm, _gdbm or runtime modules.

* without this change the do_install will fail (based on check_build_completeness.py log.do_compile) with:
  | ERROR: Execution of '/OE/build/oe-core/tmp-glibc/work/x86_64-linux/python3-native/3.9.0-r0/temp/run.do_install.69743' failed with exit code 1:
  | The necessary bits to build these optional modules were not found:
  | _dbm                  _gdbm                 readline

(From OE-Core rev: fa5243693e35e1e0dc3247e2178f181051f68e77)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-03-23 22:51:25 +00:00
Oleksandr Kravchuk
9f1e8ced83 python3: update to 3.9.2
Removed CVE patch was upstreamed.

License-Update: copyright years.

(From OE-Core rev: fafb8a88cd0365ff4327a1d6062d9f48b2927910)

Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-23 22:35:00 +00:00
Anuj Mittal
90ae075867 python3: fix CVE-2021-3177
(From OE-Core rev: 2ed4f61e9d694fef8ff72b8eeb2163634e96c3bb)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:49 +00:00
Alexander Kanavin
ec7bc4a26c python3: update 3.9.0 -> 3.9.1
(From OE-Core rev: 11935507525e9c5c0dd6dcb217bdfee0b07ebba9)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-12-30 14:01:07 +00:00
Lee Chee Yang
e05d37ec89 python3: fix CVE-2020-27619
(From OE-Core rev: ad6b184b5a87b8bcdd5e28f19be841a78f5e51df)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-24 10:27:45 +00:00
Alejandro Hernandez Samaniego
82c9a7c82e python3: Update manifest
Update the python3-manifest to match the files installed by the
new version of python3.
- Kept tkinter the way it was although tk isnt part of OE-Core
- Made typing part of python3-core
- Update other packages with new dependencies such as filecmp and dataclasses.

(From OE-Core rev: 5933d7bae8103eaad5b204438704ea04ebc0d291)

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alhe@linux.microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-11 10:08:12 +00:00
Alexander Kanavin
354f96bf78 python: update 3.8.5 -> 3.9.0
Drop 0001-Do-not-hardcode-lib-as-location-for-site-packages-an.patch,
0001-configure.ac-fix-LIBPL.patch and 0001-python3-Do-not-hardcode-lib-for-distutils.patch
as they are all replaced by the new --platlibdir option to ./configure

Rename 0001-Lib-sysconfig.py-fix-another-place-where-lib-is-hard.patch to
0001-Lib-sysconfig.py-use-libdir-values-from-configuratio.patch
and describe the changes better.

License-Update: documentation now dual license under PSF & BSD
(not relevant for the recipe.
(From OE-Core rev: 7347556b18b45c5f9afc2cade565a75c95876914)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-30 13:22:49 +00:00
Ross Burton
bb759f56f6 meta: add/fix invalid Upstream-Status tags
(From OE-Core rev: 630ce8130598e2bca7231ac28a7cc18b5b942544)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-23 20:54:03 +01:00
Nathan Rossi
56fd64447c python3-manifest.json: Updates
- Regenerate using create_manifest
- Fix up some indentation compared to generated
- Add "secrets" module into netclient package (introduced in 3.6)
- Move "urllib" python package into core package, it is used more
  commonly than just netclient (e.g. email, xml, mimetypes, pydoc)
- Update compression package dependencies due to some modules moving
  into core package
- Update dependencies due to improvements to get_module_deps handling
  modules of a python package (e.g. ctypes.utils)

(From OE-Core rev: 892a8fb85a986a65e9ebef368ddab15068fb6d92)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-11 20:35:39 +01:00
Nathan Rossi
dc74b6e8d5 python3: Improve handling of python3 manifest generation
Specifically cover detection of modules within a python package that do
not import anything within their __init__.py. This is at least the case
with the xmlrpc package which is only used via its modules xmlrpc.server
and xmlrpc.client. Other important corner cases include ctypes.utils
which depends on some modules not used by ctypes.

This is implemented by generally assuming that importing all the modules
of a package (aka *.py within a package, excluding _*.py) will provide
enough information.

Also due to this change some modules import sysconfig, resulting in
sysconfigdata being imported. Handle the conversion of its path to a
wildcard based on the platform dependent name being replaced.

(From OE-Core rev: bef4be54e02df5f230d250487f85994a3b7bbd77)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-08-11 20:35:39 +01:00
Mingli Yu
3439ad8616 Revert "python3: define a profile directory path"
After ccache upgrade to 3.7.11, there is below logic introduced.
58895dc Add knowledge about -fprofile-{correction,reorder-functions,values}

And the python3 ccache build issue [1] is fixed in ccache 3.7.11, so there
is no need to define a profile directory path for python3 any more.

[1] https://github.com/ccache/ccache/issues/615

(From OE-Core rev: 6cd08bdf72c05982ba000b1186cf139382679e04)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-25 15:11:05 +01:00
Mingli Yu
9e856a0a1a python3: define a profile directory path
After ccache upgrade to 3.7.10, there comes below error when
enable ccache to build python3 and check [1] and [2] for more
details.
 | Python-3.8.3/Modules/_contextvarsmodule.c:43:1: error: source locations for function 'PyInit__contextvars' have changed, the profile data may be out of date [-Werror=coverage-mismatch]

That's because the logic for profile directory changes a little in
[3] after ccache upgrades to 3.7.10.

So define a profile directory path accordingly to fix the above error.

[1] https://github.com/ccache/ccache/issues/615
[2] https://lists.openembedded.org/g/openembedded-core/topic/75170448#140065
[3] 91a2954eb4

(From OE-Core rev: 0000d30fb82aafa5064051502a927c5fc447b63b)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-07-12 12:21:48 +01:00
Alexander Kanavin
2d294c1127 python3: upgrade 3.8.2 -> 3.8.3
(From OE-Core rev: 01dafe1796a5c91ce12b344ee09e7179f6b4ccac)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-06-04 13:27:29 +01:00
Tim Orling
a1a7dec7a1 python3-manifest.json: add pathlib to core
The pathlib module is for Object-oriented filesystem paths

It also provides a lot of handy utilities for checking on
paths. This seems to justify adding it to the core package
along side os, sys, and the other *path libraries.

[YOCTO #13670]

(From OE-Core rev: e5d3a6b2fb1fad62dec6389b16fec258df0b573d)

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-24 14:10:07 +01:00
Matthias Schoepfer
1aa01b21b5 python3: fixing bpo-36852 patch for builds on i686 architecture
The original patch "bpo-36852: proper detection of mips architecture
for soft float" uses AC_CANONICAL_TARGET to determine the platform
triplet. While AC_CANONICAL_TARGET exports i686 as target_cpu, gcc
is using i386 instead. We fall back here to i386, as it is conform
to the previous behavior.

Upstream Status: Submitted [https://github.com/python/cpython/pull/13196]

(From OE-Core rev: 6beab388e73b3ac6157650855a6c1fb1d71e8015)

Signed-off-by: Matthias Schoepfer <matthias.schoepfer@ithinx.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-31 13:58:01 +01:00
Jeremy Puhlman
400743867d python3-native: Should not search the system for headers/libraries.
The specific issue here is rpc/rpc.h, but its likely more general.
/usr/include is searched for rpc/rpc.h and if it exists on the
system, it changes behavior. If you are using the extended buildtools
tarball on a machine that has /usr/include/rpc/rpc.h, it will decide
that is good enough and not continue to search. nis fails to build
because /usr/include and /usr/lib are not part of the include/link
paths for the buildtools tarball compiler(nor should they be).

This makes it so python3-native will not build if you are using the
extended buildtools tarball, but from a larger issue perspective it
is building in likely different ways depending on what machine it
is building on.

libtirpc is already a depend so we shouldn't need the hosts rpc/rcp.h.

(From OE-Core rev: f37dfc7907ae7bac08d40468ddde2e5b8bba030c)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
Alexander Kanavin
39970f583d python3: resolve ncurses host contamination
(From OE-Core rev: ee7be51444b609a5cc1fd223b9395e9642d3bfac)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-18 23:53:54 +00:00
Yi Zhao
59acf5e384 python3: install _tkinter.*.so to python3-tkinter package
When enable PACKAGECONFIG[tk], we should install _tkinter.*.so to
python3-tkinter package rather than python3-misc package.

Fixes:
ERROR: python3-3.8.1-r0 do_package_qa: QA Issue:
/usr/lib/python3.8/lib-dynload/_tkinter.cpython-38-x86_64-linux-gnu.so
contained in package python3-misc requires libtk8.6.so()(64bit), but no
providers found in RDEPENDS_python3-misc? [file-rdeps]

(From OE-Core rev: 991d7ced7262a1340878bada307c6d021ea9cb77)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14 13:07:23 +00:00
Changqing Li
b7a5901dd6 python3: Do not hardcode "lib" for distutils
Get the sys.lib from python3 itself and do not use
hardcoded value of 'lib' for distutils.

Solve the error below that occurs when run "python3 setup.py
install"
on lib64 multilib platform:
[Errno 2] No such file or directory:
'/usr/lib/python3.7/site-packages/test-easy-install-1828.write-test'

(From OE-Core rev: fb33127de5d80f5bcb84edf6cf4007bca73fa863)

Signed-off-by: Li Zhou <li.zhou@windriver.com>

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:02 +00:00
Changqing Li
e774c22381 python3: fix the installation path of libpython3.7m.a for multilib
Fix the installation path of libpython3.7m.a on mulitlib lib64
platform to lib64 instead of lib

(From OE-Core rev: 3081d3993095d2e4817bbef33c9c90dd814a45d7)

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-08 13:20:02 +00:00