summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/python
AgeCommit message (Collapse)Author
2018-09-06python3-manifest: Avoid duplicate modulesAlejandro Enedino Hernandez Samaniego
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 Samaniego
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 Samaniego
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 Samaniego
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 Burton
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 Jia
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 Straka
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 Straka
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 Straka
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 Mittal
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 Yang
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 Yang
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 Yang
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 Lehtonen
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 Yang
- 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 Yang
- 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 Yang
- 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 Yang
- 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 Jia
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 Jia
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 Jia
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>
2018-07-18python-setuptools: rationalise dependenciesRoss Burton
There's no need to do native- and nativesdk-specific DEPENDS as the BBCLASSEXTENDs handles those renames for us. There's no need to have a subset of RDEPENDS for class-native as all with the new manifest the python-native PROVIDES are complete. Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-07-18python-setuptools.inc: avoid using += with an over-rideAndre McCurdy
An over-ride replaces the original value regardless of whether or not it's set up with +=. As replacing the original value seems to be the intention here, drop the += to make it more explicit. Also some minor recipe formatting tweaks. Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-07-13python3-pygobject: update to 3.28.3Derek Straka
Update the python3-pygobject package to the latest stable version Tested on the qemu with core-image-minimal Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-07-13python*-setuptools: update to 40.0.0Derek Straka
Update the python{3}-setuptools to the latest stable version Tested on the qemu with core-image-minimal Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-07-05python3-dbus: update to latest stable version of 1.2.8Derek Straka
Remove the PACKAGECONFIG for documentation as it now requires python3-sphinx which is not provided in any existing recipe. Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-07-05python: update to version 2.7.15Derek Straka
Update to the latest stable version License-Update: Copyright year updated to include 2018 Remove the alignment patch that is included upstream Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-07-05python3-pip: update to version 10.0.1Derek Straka
License-Update: Update checksum for whitespace (CRLF) changes Update to the latest stable version Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-07-05python3-git: update to 2.1.10Derek Straka
python3-git was updated to the latest stable version Tested on qemux86-64 using core-image-minimal Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-07-02python*-setuptools: update to 39.2.0Derek Straka
Update the python{3}-setuptools to the latest stable version Tested on the qemu with core-image-minimal Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-29python3: fix file conflict when multilib enabledZhang Xiao
Config file python3.5m-config conflicts between 32 and 64 bit packages. Use update-alternatives to add base_libdir as suffix to avoid it. [YOCTO #12511] Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-06-03nativesdk-python*: suppress user site dirsMartin Kelly
Currently, $HOME/.local is being added into sys.path in the Python SDK causing subtle host contamination. Suppress this by exporting PYTHONNOUSERSITE = "1" as documented in PEP 370. This issue occurred in the past for python*-native and was fixed similarly in OE-core commit 8fe9fb4d5a61dcbcb3fc5b9ee0234cc135af873f ("python*native.bbclass: suppress user site dirs"). Signed-off-by: Martin Kelly <mkelly@xevo.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-22python2: Fix build with gcc8Ross Burton
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-05-04python3-native: correctly invoke regen-importlib make targetJoe Slater
Redefiine regen-all in Makefile to invoke regen-importlib after building other regen- targets. Change the recipe to not build it before regen-all. This avoids trying to build it multiple times, which can occasionally fail. Signed-off-by: Joe Slater <joe.slater@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-05-04python 2.7: fix multilib patch to accept multiarch style pathsKoen Kooi
Using 'basename' to strip the prefix fails when using multiarch style paths. Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-05-04python*-setuptools: update to 39.0.1Derek Straka
Update the python{3}-setuptools to the latest stable version Tested on the qemu with core-image-minimal Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-05-04python3-pip: update to version 9.0.3Derek Straka
Update to the latest stable version Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-04-18uninative: Add allow-shlib-undefined to BUILD_LDFLAGS and drop other workaroundsRichard Purdie
We have a problem when for example, a glibc 2.27 based system builds some library like libpopt-native and puts it into sstate then it is reused on a pre glibc-2.27 system to build something which depends on popt like rpm-native. This results in an error like: recipe-sysroot-native/usr/lib/libpopt.so: undefined reference to `glob@GLIBC_2.27' In the past we've had this problem with new symbols like getrandom and getentropy, here its with a more complex symbol where there is an old version and a newer version. We've looked into various options, basically we cannot link against our uninative libc/ld.so since we don't have the right headers or compiler link libraries. The compiler doesn't allow you to switch in a new set either, even if we did want to ship them. Shipping a complete compiler, dev headers and libs also isn't an option. On the other hand if we follow the ld man page, it does say: """ The reasons for allowing undefined symbol references in shared libraries specified at link time are that: - A shared library specified at link time may not be the same as the one that is available at load time, so the symbol might actually be resolvable at load time. """ which is exactly this case. By the time the binary runs, it will use our uninative loader and libc and the symbol will be available. Therefore we basically have a choice, we get weird intermittent bugs, we drop uninative entirely, or we pass this option. If we pass the option, we can drop the other workarounds too. (From OE-Core rev: 75a62ede393bf6b4972390ef5290d50add19341a) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-13python3: Add recommended modules to nativesdk installTom Hochstein
The python3 installation in the SDK did not include the minimum set of modules to be functional, particularly in the case where Python is brought in through dependencies. Rather than requiring the user to explicitly add the modules, it's better to pull in the modules through RRECOMMENDS. Note that the Python 2 recipe already does this. Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-04-07Revert "python3: fix create_manifest to handle pycache folders"Richard Purdie
Alejandro asked this be reverted as the patch causes more problems than it solves. This reverts commit 5d288d286e0adb221649d896c132a607ecddc490.
2018-04-05python3-pygobject: remove duplication in inheritMaxin B. John
Since gnomebase class already inherits autotools and pkgconfig, there is no need to repeat it here. Signed-off-by: Maxin B. John <maxin.john@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-04-03python3: Improve logging capabilities for do_create_manifestAlejandro Enedino Hernandez Samaniego
Adds a couple of prints to get a nicer log, and creates a small summary or report after checking every module, it makes it more feasible for adoption, easier to debug why a module ended at a certain package and see how the manifest was created. Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-30python3: Fix do_create_manifest for python3-sqlite3Alejandro Enedino Hernandez Samaniego
Some of the sqlite3 files ended up in python3-misc incorrectly, this is caused becuse we couldnt add the whole ${libdir}/python3/sqlite3 folder on the package because we also have another sqlite3-tests package that needs to include another folder from that directory. This patch not only fixes the do_create_manifest script to handle this situation, but also patches the manifest (created using the script) which also fixes a hiddn runtime dependency that we wouldn't have seen. Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-30python3: fix create_manifest to handle pycache foldersAlejandro Enedino Hernandez Samaniego
We have a couple of python modules that contain folders themselves, for that reason they also contain a __pycache__ folder inside those directories, since we include the whole folder in the manifest, the pycache directories end up with the files and not the cache files. This patch catches that and adds the directories to the correct structure. Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-03-30python3: consolidate sqlite3 filesRoss Burton
Some of the sqlite3 module was in python3-misc by accident, move the files into python3-sqlite3 where they belong. Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-20python3-pip: update to 9.0.2Derek Straka
Update to the latest stable release Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-20python3-pygobject: update to 3.28.1Derek Straka
Update to the latest stable release Tested in qemux86-64 running core-image-minimal Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-20python*-setuptools: update to 39.0.0Derek Straka
Update the python{3}-setuptools to the latest stable version Tested on the qemu with core-image-minimal Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-20python3-native: update to version 3.5.5 to fix security issuesDerek Straka
License-Update: checksum change is due to bump in copyright year Resolves CVE-2017-1000158 and other potential security issues See https://docs.python.org/3.5/whatsnew/changelog.html#python-3-5-5-final Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-20python3-native: fix build races in 'make regen-all'Alexander Kanavin
Python 2.x and target Python 3.x do not have this issue. [YOCTO #12596] Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>