summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/python/python3
Commit message (Collapse)AuthorAgeFilesLines
* python3: Upgrade 3.7.4 -> 3.7.5Adrian Bunk2019-11-183-134/+2
| | | | | | | | | | | | | | Backported patch removed. 3.7.5 also includes the fix for CVE-2019-16935. (From OE-Core rev: deabbb60b98418bd4fcf97adc3293b65d3ff306e) Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: CVE-2019-16056Chen Qi2019-11-181-0/+132
| | | | | | | | | (From OE-Core rev: 8818a7e878644d1c695385eb256f53a34179fbbb) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: fix the test_locale output formatMingli Yu2019-11-181-0/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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". [YOCTO #13298] (From OE-Core rev: 5b8022db53d9ef50ea35b034a6e27477038a508b) Signed-off-by: Mingli Yu <mingli.yu@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Fix .pyc file reproduciblilityJoshua Watt2019-11-181-0/+35
| | | | | | | | | | | | Applies a patch to python that makes the pre-compiled .pyc files generated during the build reproducible. (From OE-Core rev: c2c6f30554f96e551b71b3d66fb599a5d28a10bb) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Reformat sysconfigJoshua Watt2019-11-181-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | Reformats the sysconfig file when packaging. This file is output by using the python pprint function. This function will wrap long lines at 80 characters by default, and will even split strings at whitespace boundaries to do so, e.g.: 'A': 'B is really' ' long' This causes a problem for reproducibility however because there might be lines of differing lengths depending on the build path. These non-reproducible paths are removed, but their effect on string wrapping from pprint remains. To correct this, reformat the entire sysconfig file by re-printing using pprint with an (effectively) unlimited line length. (From OE-Core rev: 01e4409e81c3d037fcba82fbcb3273dd1118490b) Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: python3: Fix build error x86->x86Ricardo Ribalda Delgado2019-11-181-0/+25
| | | | | | | | | | | | | | | | | | | | | 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. Fixes: Illegal instruction (core dumped) Makefile:625: recipe for target 'sharedmods' failed make: *** [sharedmods] Error 132 make: *** Waiting for unfinished jobs.... (From OE-Core rev: 2f8086ce87bbb62ef971be4da80c2c2b9d8c9c66) Signed-off-by: Ricardo Ribalda Delgado <ricardo@ribalda.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: fix build on softfloat mipsMatthias Schoepfer via Openembedded-core2019-11-181-0/+201
| | | | | | | | | | | | | | | | This patch originally only meant to correct the python3 build for mips with softfloat, as the original test only checked for mips hardfloat. Replaced custom C Program for triplet detection with autotools triplet detection. (From OE-Core rev: f3326309c7c22a6034917f6eee21908c61f44a2f) Signed-off-by: Matthias Schoepfer <matthias.schoepfer@ithinx.io> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: fix do_install fail for parallel buiildChangqing Li2019-11-181-0/+34
| | | | | | | | | | | | | | | 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. (From OE-Core rev: dc84f40fd485863fb6c77e641d76135b21867d39) Signed-off-by: Changqing Li <changqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: upgrade 3.7.3 -> 3.7.4Anuj Mittal2019-10-081-151/+0
| | | | | | | | | | | | | | | | Also fixes CVE-2019-9740, CVE-2019-9948. For details, see: https://docs.python.org/3.7/whatsnew/changelog.html#python-3-7-4-final (From OE-Core rev: 6b7604c536a7a2da99490a7550f997a8e35ca043) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> [ Backported patch removed. ] Signed-off-by: Adrian Bunk <bunk@stusta.de> [Bug fix only update] Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python: update to 3.7.3Alexander Kanavin2019-10-084-280/+2
| | | | | | | | | | | | | | License-update: copyright years (From OE-Core rev: 845b9a4ed2b83d716688a7b0d8bf13f37e79a025) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> [ Backported patches removed. ] Signed-off-by: Adrian Bunk <bunk@stusta.de> [Bug fix only update] Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: fix CVE-2019-9740Anuj Mittal2019-09-301-0/+151
| | | | | | | | | | | | CVE-2019-9947 is same as CVE-2019-9740 and mark it as such. See: https://bugs.python.org/issue30458 (From OE-Core rev: 86626171f5a8734c96e9b683f6fec5b779cd20e9) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: fix CVE-2018-20852 CVE-2019-9636Anuj Mittal2019-07-292-0/+278
| | | | | | | (From OE-Core rev: eb415873caad54dbf332f9ebf5f3164da3459953) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Drop ptest hackRichard Purdie2019-05-121-60/+0
| | | | | | | | | | | With the kernel TCP backlog queue coalescing bug fixed in the 5.0 kernels we don't need this patch anymore and can run the tests. (From OE-Core rev: 058d613af39a24cffe6053e0ff98b503c73e920e) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Adding back wrapper and using OEPYTHON3HOME variable for python3Jaewon Lee2019-05-121-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding back the python wrapper and adding a patch to use OEPYTHON3HOME instead of PYTHONHOME if set, for python3. If we add back the wrapper as is, we would see the following error that we also see in Thud: ImportError: No module named site OpenEmbedded requires 'python' to be python v2 (>= 2.7.3), not python v3. Please upgrade your python v2 This is because python3 would've set PYTHONHOME to use nativesdk python3 libraries but when the oe-buildenv-internal script tries to call python2 for the py_v27_check, there will be no python2 libraries in the PYTHONHOME directory. In other words, bitbake needs host python2 and the env variable set from the wrapper contaminates the env and host python2 won't be able to find its libraries Creating another variable OEPYTHON3HOME and using this in the python3 wrapper to allow for a way to set a different paths for python3 and python2 [YOCTO #13208] (From OE-Core rev: 5ae52eb8508c0ba5713489dc4661649c19dceeed) Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com> Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: add another multilib fixAlexander Kanavin2019-05-121-0/+31
| | | | | | | | | (From OE-Core rev: c0f789569813403fa61feded6a4530ff0cf3eb8c) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Fix ptest output parsingRichard Purdie2019-04-111-1/+1
| | | | | | | | | | A previous fix to python added -W and removed -v. This reverts that part of the change since we're no longer getting ptest results at all. This change back to more verbose output means we start getting test results again. (From OE-Core rev: d70c77e4d5ec1d7cb4f134377df11e6475f31062) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Avoid hanging testsRichard Purdie2019-04-111-0/+60
| | | | | | | | | | | | There are python tests which hang with recent kernels, 5.0 onwards. This causes ptest to timeout for python3. Disable the problematic test until we better understand the real cause and fix of the issue (discussions are happening with upstream). See the patch for details/links. (From OE-Core rev: 2a48df02a2871635f8235645bfd7f7a3ff0aef31) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* openssh/util-linux/python*: Ensure ptest output is unbufferedRichard Purdie2019-04-091-1/+1
| | | | | | | | | | | | | We need to run sed with the -u option to ensure the output is unbuffered else ptest-runner may timeout thinkig things were idle. Busybox doesn't have the -u option so we need to RDEPEND on sed (which is a good thing to do if we use it anyway). Alex Kanavin should get credit for discovering the problem. (From OE-Core rev: d3ffbebf43c23faa43af81c9ecf6fcaef36d675b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python: improve ptestRoss Burton2019-04-021-1/+1
| | | | | | | | | | | | | Add missing runtime dependencies: the test suite needs proper chmod from coreutils, and the Europe/Minsk timezone. Also change run-ptest to use -W (run verbosely on failure) instead of -v (always verbose) to hopefully reduce the noise in the ptest reports. (From OE-Core rev: 7574f6850797fb7556d2f8077860b7c1d26ae8ec) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: tweaks to achieve 100% pass rate in ptestAlexander Kanavin2019-02-081-2/+2
| | | | | | | (From OE-Core rev: 22f4f1ef17219448416b7cf2a570c7acd7149a64) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: upgrade to 3.7.2Alexander Kanavin2019-02-0845-2548/+410
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | I took the same approach as the recent perl upgrade: write recipe from scratch, taking the pieces from the old recipe only when they were proven to be necessary. The pgo, manifest and ptest features are all preserved. New features: - native and target recipes are now unified into one recipe - check_build_completeness.py runs right after do_compile() and verifies that all optional modules have been built (a notorious source of regressions) - a new approach to sysconfig.py and distutils/sysconfig.py returning values appropriate for native or target builds: we copy the configuration file to a separate folder, add that folder to sys.path (through environment variable that differs between native and target builds), and point python to the file through another environment variable. There were a few other patches where it was difficult to decide if the patch is still relevant, and how to test that it works correctly; please add those as-needed by testing the new python. (From OE-Core rev: 02714c105426b0d687620913c1a7401b386428b6) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: use ncursesw, not ncursesAlexander Kanavin2019-01-211-1/+1
| | | | | | | | | | | So that wide-char functions are accssible. [YOCTO #13142] (From OE-Core rev: 042187a65d0622fbd721346b4e55146616c87fd8) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python/python3: use cc_basename to replace CC for checking compilerChangqing Li2019-01-071-0/+140
| | | | | | | | | | | | | | | | | | | | | | | | 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. eg: if build under /yocto/builds/xicc/, bitbake python, $CC will contains xicc, will make $CC match *icc, but actuall xicc just folder name. When "*icc" is matched, below errors are reported when compiling python/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. (From OE-Core rev: 96383efa2726ed1bf7893332d726112a8552fc24) 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>
* python3: Fix do_configure check platform triplet error (2)Serhey Popovych2018-12-151-0/+40
| | | | | | | | | | | | | | | | | | | | | | When building for powerpc 32bit with musl following error triggered from do_configure: checking for the platform triplet based on compiler characteristics... powerpc-linux-gnu configure: error: internal configure error for the platform triplet, please file a bug report This is caused by PLATFORM_TRIPLET != MULTIARCH mismatch since MULTIARCH in case of musl is powerpc-linux-musl. Since triplet is used as part module name as described in PEP-3149 to make fix less intrusive alias powerpc-linux-musl to powerpc-linux-gnu to avoid possible runtime (e.g. tests) incompatibilities later. Fix was inspired by commit cda0ef61d373 ("python3: fix do_configure check platform triplet error"). (From OE-Core rev: b2ec91e12088afa0560aecede587d0970fc64110) Signed-off-by: Serhey Popovych <serhe.popovych@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* create_manifest3: Dont match filenames which contain the directory name for ↵Alejandro Enedino Hernandez Samaniego2018-12-091-1/+7
| | | | | | | | | | | | | | | | | | | | new manifest When creating a new python3 manifest, there is a corner case on which the filepath for a certain dependency that was found, could contain the path of an existing folder, e.g. ${libdir}/python3/xmlrpclib.py module path contains ${libdir}/python3/xml, this causes an issue where the dependency doesnt get eventually added on FILES for that module. This patch checks if the dependency that was found is a directory, if it is, it checks if it matches one of the existing directories on the manifest, if it is not, then it checks if the dependency's path (without the filename) matches one of the directories. (From OE-Core rev: 59db12fdf294cfab5c1730337d092a75867658f7) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: drop redundant patchRoss Burton2018-12-051-38/+0
| | | | | | | | | | | | This patch altered the clean target's behaviour to skip the ipkg-install directory. However this directory isn't created by opkg, opkg-utils, or the package_ipk class; and we don't invoke the clean target as we perform out-of-tree builds. (From OE-Core rev: 9f8bd475701e5d797d3ffc1ba97647101ba0b9b0) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Adds instructions to the manifest fileAlejandro Enedino Hernandez Samaniego2018-12-012-5/+109
| | | | | | | | | | | | | | | | | | | | | While there is a bit of documentation regarding building a new manifest file for python, it seems that users usually only read the manifest file. The manifest file is in JSON format which doesn't allow comments, hence why instructions were initially put elsewhere. This patch hacks the call to open the JSON manifest file by using a marker to trick it into reading only part of the file as the manifest itself, and keep the other part as comments, which contain instructions for the user to run the create_manifest task after an upgrade or when adding a new package. (From OE-Core rev: 3eab24c6dc095fd2305b9be8467aab1191141e35) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: add tk supportMingli Yu2018-11-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support to enable tk via PACKAGECONFIG. before this patch: # python3 Python 3.5.6 (default, Nov 8 2018, 04:53:45) [GCC 8.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import tkinter Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib64/python3.5/tkinter/__init__.py", line 35, in <module> import _tkinter # If this fails your Python may not be configured for Tk ImportError: No module named '_tkinter' >>> After this patch, if enable tk in PACKAGECONFIG, then # python3 Python 3.5.6 (default, Nov 8 2018, 03:15:52) [GCC 8.2.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import tkinter >>> (From OE-Core rev: 4b781d545e7e0b084201cd6a8fad953b0f231513) Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: add python3-venv to the python3-modules RDEPENDSRoss Burton2018-11-071-0/+1
| | | | | | | (From OE-Core rev: ed5e7541677f6a046f85389cd0c879be3db422cd) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Fix python3-pyvenv run-time dependencyHugues Kamba2018-11-071-0/+16
| | | | | | | | | | | | | | | | | | | | | | | Pyvenv is just a small script that uses venv to create virtual environments. https://www.python.org/dev/peps/pep-0405/#creating-virtual-environments This patch adds the python3-venv module as a self-contained package which python3-pyvenv must depend on at run-time. The patch also provides the package python3-pyvenv from the pyhton3-venv package.This is good for future-proofing since python3-pyvenv has been deprecated and only python3-venv is now available in Python 3.6. https://docs.python.org/3/library/venv.html. Without this patch python3-pyvenv is broken because it is missing the venv module at run-time. This patch specifies the newly created python3-venv as a run-time dependency of python3-pyvenv. (From OE-Core rev: effa141bfce55aab25142ee578c95383c755ad73) Signed-off-by: Hugues Kamba <hugues.kamba@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: add ptest runnerRoss Burton2018-10-141-0/+3
| | | | | | | | | Copy the Python 2 run-ptest script to execute the Python 3 test suite. (From OE-Core rev: d371ff04628bdf7bac66341aeb9a66d145f66416) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: fix patch headersRoss Burton2018-10-081-0/+3
| | | | | | | (From OE-Core rev: 46bc904bf9cf3b2a01de0ba140b31066f90bfa49) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: move sqlite files into python-sqliteRoss Burton2018-10-011-7/+2
| | | | | | | | | sqlite3/__init__.py was accidentally included in python3-misc. (From OE-Core rev: 4e397e16996662bce51608cf5e20448b9803c476) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: remove specal handling of sqite3-testsRoss Burton2018-09-211-1/+1
| | | | | | | | | | This package doesn't exist anymore so the manifest tool doesn't need to handle it specially. (From OE-Core rev: 30eadb119a64d8561b946d5b8ee30244caeaf134) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: consolidate testsRoss Burton2018-09-211-22/+14
| | | | | | | | | | | | Currently the bulk of the tests in python3-tests, some more in python3-sqlite3-tests, and others in their parent module (such as python3-ctypes). This is pointless space usage if we're not planning on running the tests, so consolidate all the tests into python3-tests. (From OE-Core rev: 554d3690dab49fee3c93b6b677eb3ef58cff64c1) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: don't sort the manifest in create_manifestRoss Burton2018-09-212-480/+479
| | | | | | | | | | | | | | | | Instead of sorting the entire manifest when it is updated, use OrderedDict to preserve the order of fields. This means that packages can be ordered in the manifest to allow non-trivial FILES assignments (such as a package that picks up pieces of other packages) The manifest has been regenerated with the new stable ordering, and distutils-staticdev moved above distutils so the packaging rules work as expected. (From OE-Core rev: 1c67c2146e3644a26367a32885d27a4378f17ac6) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: fix openssl 1.1.1 changesRoss Burton2018-09-131-17/+10
| | | | | | | | | Due to human error an older revision of the SSL patch was merged. (From OE-Core rev: 325af0f4a821971a7aeeca35b10e3558f86029e0) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3{,-native}: backport openssl 1.1.1 compatibility changesAnuj Mittal2018-09-135-0/+857
| | | | | | | | | | | Backport changes from 3.7/3.6 to fix failing python3 ssl test suite. Fixes [YOCTO #12919] (From OE-Core rev: 6c123468b546931de005cf136d98bca6b893b37b) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: fix multiprocessingRoss Burton2018-09-131-0/+56
| | | | | | | | | | glibc 2.28 slightly changed the behaviour of sigaddset() which broke multiprocessing. Backport a patch from Python 3.6 to solve this. (From OE-Core rev: df1874eda517070dab86270ffafd5fe9a307e76b) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: remove patch that inadvertently disables xattrsRoss Burton2018-09-131-17/+0
| | | | | | | | | | | This patch dates back to the addition of the Python 3 recipe to oe-core, and as listxattr is never added to supports_follow_symlinks the extended attribute support will never be enabled. (From OE-Core rev: 9806e141e85b4e4c38eb7b45e6f2fbc2d2aed29d) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: remove redundant patchRoss Burton2018-09-131-96/+0
| | | | | | | | | | | None of the Python invocations that this changes are actually called, and there's no need to provide a HOSTPGEN variable when the recipe can just override PGEN directly. (From OE-Core rev: 47a8602171428b7ce5d897f7e2c2f26b203b8b63) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: fix ftplib with TLS 1.3Ross Burton2018-09-131-0/+57
| | | | | | | | | | With OpenSSL 1.1.x TLS 1.3 can be used, so backport a patch from Python 3.6 to fix the ftplib unit test. (From OE-Core rev: a31047bec6b7c368674d4620e70e526ac211b936) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: don't use runtime checks to identify float endianismRoss Burton2018-09-101-0/+212
| | | | | | | | | | | | | | | Python uses AC_RUN_IFELSE to determine the byte order for floats and doubles, and falls back onto "I don't know" if it can't run code. This results in crippled floating point numbers in Python, and the regression tests fail. Instead of running code, take a macro from autoconf-archive which compiles C with a special double in which has an ASCII representation, and then greps the binary to identify the format. (From OE-Core rev: 1781b87ae0765c1867da2fa8c56bf988b4e84405) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: trim PGO patchRoss Burton2018-09-101-2/+2
| | | | | | | | | | | There's no need to delete the line that removes the profile data, as we're not using it after the build. This reduces the size of the patch, making it easier to maintain. (From OE-Core rev: 561577add4b935d9bfb7b7dd6abdc3e26c1d9143) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: fix indentation on create_manifest3Alejandro Enedino Hernandez Samaniego2018-09-061-54/+54
| | | | | | | (From OE-Core rev: 76b4596c3782590bd27a7d46c2b64393c3a83944) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-manifest: Avoid duplicate modulesAlejandro Enedino Hernandez Samaniego2018-09-061-4/+1
| | | | | | | | | | | There was a bug where modules were being added twice to the core package, this patches the manifest to reflect the fix on the create_manifest script. (From OE-Core rev: 9ddbff824052751b4d0bb30c453ecb5098d728c9) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Clean up create manifest scriptAlejandro Enedino Hernandez Samaniego2018-09-061-190/+242
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch intends to clean up the whole create_manifest script/task for python3. This is an effort to make the code more human friendly and facilitate adoption, it not only cleans up the code but it also improves comments, it should also be easier to upgrade the manifest after each python3 upgrade now, with these fixes the transition to python 3.7 should be seamless. It fixes a rather harmless bug where module dependencies were being added twice to the core package and adds tests and sqlite3-tests as special packages since we want specific dependencies on those. It also fixes a bug that happened on a few packages that contained a directory with the same name as the module itself e.g. asyncio, where the script avoided checking that module for dependencies. Lastly, it improves the output, it errors out if a module is found on more than one package, which is what usually happens when python upstream introduces a new file, hence why the current manifest is unaware of, it is better to exit with an error because otherwise the user wouldnt know if anything went wrong unless the output of the script was checked manually. (From OE-Core rev: 658042073cb58c58ac4db4ff13689d1ffd89b72e) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Modify create_manifest to make it versionlessAlejandro Enedino Hernandez Samaniego2018-09-061-1/+9
| | | | | | | | | | | | | This patch improves the create_manifest script by making it use PYTHON_MAJMIN instead of hard coded paths containing the version number when looking at the necessary modules for every package, the script should now be independent of the python(3) version on which were working (From OE-Core rev: b94af33b5ffdd62617cf69fca4d99e927447740a) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-manifest: Use PYTHON_MAJMIN instead of hard coded versionAlejandro Enedino Hernandez Samaniego2018-09-061-402/+402
| | | | | | | | | | | Currently the manifest contains hard coded paths with the version number, e.g. python3.5, this patch changes the paths to use the variable PYTHON_MAJMIN instead, this should make the python upgrades easier (From OE-Core rev: a6fab3ca81e3dc6ee226840ed7e9f1cd21ecbc2a) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: enable profile optimized buildsAnuj Mittal2018-08-162-0/+96
| | | | | | | | | | | | | | | | | | | | | | Enable profile guided optimization (pgo) for python3. Enabling pgo in python is generally as simple as invoking the target profile-opt which: - builds python binaries with profile instrumentation enabled, - runs a specific profile task using that python to get the profile data and, - feeds the compiler with this profile data and rebuilds python. This change invokes qemu-user for the second step of running a profile task using target python. Depending on how long profile task takes to run, this might add a significant time to compilation (which would be true for native builds too). The default profile task can be changed by the users depending on what makes sense for their use case (or can be left empty). In case qemu-user isn't supported, profile task won't be run. (From OE-Core rev: 05a2a53f9cc7e75b4a3838ab9368cadf0f15ba1b) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>