summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools/python
AgeCommit message (Collapse)AuthorFiles
2018-10-04python: fix failing ssl testsAnuj Mittal6
Backport two and pick some other in-review patches from Ubuntu to fix ssl test failures because of OpenSSL 1.1.x changes. Fixes [YOCTO #12788] Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-09-29python: move sqlite module into python-sqliteRoss Burton1
The module was accidentally included in python-misc. Also re-run create_manifest to update the dependencies of python-sqlite3, causing some whitespace changes. [ YOCTO #12933 ] Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-29python: mark the tests modules as special when updating the manifestRoss Burton1
We manually maintain the tests package's content and dependencies, so mark is as special (matching create_manifest3.py). Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-29python3: move sqlite files into python-sqliteRoss Burton1
sqlite3/__init__.py was accidentally included in python3-misc. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-21python3: remove specal handling of sqite3-testsRoss Burton1
This package doesn't exist anymore so the manifest tool doesn't need to handle it specially. Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-09-21python3: consolidate testsRoss Burton1
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. Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-09-21python3: respect package order in manifestRoss Burton1
Don't sort the manifest when using it to generate packaging rules, so ordering can be used to have complex packaging rules. Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-09-21python3: don't sort the manifest in create_manifestRoss Burton2
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. Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-09-21python: consolidate testsAndrew Geissler1
Currently the bulk of the tests in python-tests, some more in python-sqlite3-tests, and others in their parent module (such as python-ctypes). This is pointless space usage if we're not planning on running the tests, so consolidate all the tests into python-tests. This is a backport of the same changes done by Ross Burton for python3 Changes since v1: - Rebase Signed-off-by: Andrew Geissler <geissonator@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-09-21python: respect package order in manifestAndrew Geissler1
Don't sort the manifest when using it to generate packaging rules, so ordering can be used to have complex packaging rules. This is a backport of the same changes done by Ross Burton for python3 Changes since v1: - Rebase Signed-off-by: Andrew Geissler <geissonator@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-09-21python: don't sort the manifest in create_manifestAndrew Geissler2
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. This is a backport of the same changes done by Ross Burton for python3 Changes since v1: - Moved distutils-staticdev above distutils so packaging rules work as expected. Changes since v2: - Rebase Signed-off-by: Andrew Geissler <geissonator@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-09-13python3: fix openssl 1.1.1 changesRoss Burton1
Due to human error an older revision of the SSL patch was merged. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-13python3: don't hard-code version in python-configRoss Burton1
Use variables instead of hard-coding to remove another variation between releases. Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-09-13python3: add PACKAGECONFIG for bluetoothRoss Burton1
Instead of forcibly disabling Bluetooth (support for Bluetooth sockets in the socket module), add a PACKAGECONFIG. The default remains disabled for consistency. Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-09-13python: we use system ffi so no need to autoreconf in-tree libffiRoss Burton1
For target Python we use the libffi that we build, so we don't need to autoreconf the in-tree libffi. Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-09-13python3: remove redundant assignmentsRoss Burton1
_PYTHON_PROJECT_BASE and _PYTHON_PROJECT_SRC appear to be set in setup.py from the source directory and build directory correctly, so this is redundant. Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-09-13python3: split common assignments into a dedicated python3.incRoss Burton3
Instead of including the Py2 python.inc and having to undo some of the assignments, create a new python3.inc to hold the common configuration. Over time we can move more from the recipes into this file to unify the target and native recipes. Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-09-13python3{,-native}: backport openssl 1.1.1 compatibility changesAnuj Mittal7
Backport changes from 3.7/3.6 to fix failing python3 ssl test suite. Fixes [YOCTO #12919] Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2018-09-13python3{,native}: update to 3.5.6Anuj Mittal2
Includes changes: 76aa2c0a9a bpo-33216: Clarify the documentation for CALL_FUNCTION_* (#8338) 1b141b9553 Doc: Backport language switcher (bpo-33700, bpo-31045) (#8048) f381cfe07d [3.5] bpo-33001: Prevent buffer overrun in os.symlink (GH-5989) (#5991) 937ac1fe06 [3.5] bpo-32981: Fix catastrophic backtracking vulns (GH-5955) (#6034) Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2018-09-11python3: fix multiprocessingRoss Burton2
glibc 2.28 slightly changed the behaviour of sigaddset() which broke multiprocessing. Backport a patch from Python 3.6 to solve this. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-11python3: remove patch that inadvertently disables xattrsRoss Burton3
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. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-11python3: remove redundant patchRoss Burton3
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. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-11python3: fix ftplib with TLS 1.3Ross Burton2
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. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-07python3: use regrtest instead of PyBench for profile-guided-optimisationRoss Burton1
PyBench takes a long time to run, also upstream have removed it from Python and instead use test.regrtest —pgo to profile the interpreter. The results are good: not only does Python compile faster (~300s vs ~600s on my machine) but Phoronix’s PyBench test runs in 2130ms compared to 2229ms when using PyBench to train (and 2345ms with PGO disabled). Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-07python3: don't use runtime checks to identify float endianismRoss Burton2
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. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-06python3: trim PGO patchRoss Burton1
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. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-06python3: add toggle for profile-guided-optimisationRoss Burton1
Add a PACKAGECONFIG for profile-guided-optimisation, and default to whether qemu-usermode is available. Move --enable-optimizations to the pgo optimisation as all this currently does is use the PGO rules, causing a performance hit if PGO isn't actually used. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-06python3: generalise make commandsRoss Burton1
We're repeating the same make invocation over and over, twice without setting OPT=${CFLAGS} which doesn't seem right. Centralise the make invocation to clean up the tasks. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-06python3: fix indentation on create_manifest3Alejandro Enedino Hernandez Samaniego1
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-06python3-manifest: Avoid duplicate modulesAlejandro Enedino Hernandez Samaniego1
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. Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-06python3: Clean up create manifest scriptAlejandro Enedino Hernandez Samaniego1
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. Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-06python3: Modify create_manifest to make it versionlessAlejandro Enedino Hernandez Samaniego2
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 Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-06python3-manifest: Use PYTHON_MAJMIN instead of hard coded versionAlejandro Enedino Hernandez Samaniego1
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 Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-05python: Run pybench once for optimisation task in pgoRoss Burton1
There is no good reason to loop 10 times on the test since the profile optimisation won't change between runs, we don't need/want a statistical average. This is just burning cpu cycles, just make 1 run. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-21python/python3: add virtual/crypt to DEPENDSHongxu Jia2
Since `6146b8c glibc: Disable crypt support in glibc' in oe-core, python2/3 could not find symbol crypt which caused import crypt failed. [snip] >>> import crypt Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib64/python3.5/crypt.py", line 3, in <module> import _crypt ImportError: /usr/lib64/python3.5/lib-dynload/_crypt.cpython-35m-x86_64-linux-gnu.so: undefined symbol: crypt [snip] Add virtual/crypt to DEPENDS, and python's build system (setup.py) will search libcrypt.so in recipe-sysroot and add `-lcrypt' if it exists. Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-20python3-git: update to version 2.1.11Derek Straka2
Update to the latest stable release Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-20python3-gitdb: update to version 2.0.4Derek Straka2
Update to the latest stable release Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-20python3-pip: update to version 18.0Derek Straka1
License-Update: Update checksum for copyright year changes Update to the latest stable version Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-16python3: enable profile optimized buildsAnuj Mittal3
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. Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-02python3-testtools: 2.2.0 -> 2.3.0Robert Yang2
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-02python3-subunit: 1.1.0 -> 1.3.0Robert Yang2
The license file changes from README to README.rst, and the lines which contains license info is from 1 to 20. The license is still Apache-2.0. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-02python-pbr: 3.1.1 -> 4.2.0Robert Yang2
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-31python3: fix depends of python3-testsMarkus Lehtonen1
Make the tests subpackage depend on all modules as test.regrtest uses most (if not all) of them. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-07-30python3-subunit: add it for oeqaRobert Yang2
- It is required by oeqa, add it so that we can add nativesdk-python3-subunit to buildtools-tarball. - The original one is python-subunit_1.1.0.bb which is from meta-openstack layer, I divided it into python-subunit.inc and python3-subunit_1.1.0.bb and extended to nativesdk. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-07-30python3-testtools: add it for oeqaRobert Yang2
- It is required by oeqa, add it so that we can add nativesdk-python3-testtools to buildtools-tarball. - The original one is python-testtools_2.3.0.bb which is from meta-openstack layer, I divided it into python-testtools.inc and python3-testtools_2.2.0.bb, and extended to nativesdk. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-07-30python3-pbr: add it for python3-testtoolsRobert Yang2
- The python3-testtools RDEPENDS on it. - It is from meta-python, I extended it to nativesdk. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-07-30python3-extras: add it for python3-testtoolsRobert Yang2
- The python3-testtools RDEPENDS on it. - The original one is python-extras_1.0.0.bb which is from meta-openstack layer, I divided it into python-extras.inc and python3-extras_1.0.0.bb, and extended to nativesdk. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-07-26python3-pip: clean up obsoleteHongxu Jia1
Since unify var-DISTUTILS_INSTALL_ARGS in distutils and setuptools, - The local DISTUTILS_INSTALL_ARGS assignment is obsolete; - The site.py is not be generated any more; - The layout is in a standard pip dir (such as /usr/lib/python3.5/site- packages/pip rather than /lib/python3.5/site-packages/pip-10.0.1- py3.5.egg/pip), the pth file is not required; `#!/usr/bin/env python3' is already used, do not manually sed. [YOCTO #8446] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-07-26python-setuptools.inc: clean up useless local var-DISTUTILS_INSTALL_ARGSHongxu Jia1
Since unify var-DISTUTILS_INSTALL_ARGS in distutils and setuptools, The local var-DISTUTILS_INSTALL_ARGS broke do_install ... error: option --script-dir not recognized ERROR: python3 setup.py install execution failed. ... [YOCTO #8446] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-07-26distutils/setuptools-native, distutils3/setuptools3-native: do not try to ↵Hongxu Jia2
fetch code during do_compile If a python recipe is using setuptools and the setup_requires argument, where setuptools will use easy_install to fetch the module if it isn't present. The build failed on a machine where a proxy was required, but succeeded on a machine which had direct access to the internet Add var-NO_FETCH_BUILD, and set it in distutils_do_compile which does not allow to fetch code from internet during do_compile. Example result: ... ERROR: Do not try to fetch `pytest-runner1' for building. Please add its native recipe to DEPENDS. Traceback (most recent call last): File "setup.py", line 56, in <module> ... The improvement is flexible for test_requirements argument (used at `setup.py test'), where use easy_install also. [YOCTO #12084] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>