summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/python
Commit message (Collapse)AuthorAgeFilesLines
...
* python: fix RDEPENDS on several recipes, due to non-existent packagesAlejandro Hernandez2018-01-208-15/+3
| | | | | | | | | | | The packaging has been altered slightly so ensure the dependencies are all still valid. (From OE-Core rev: 3328211afdef8ffb00dd4dff1143959d5412b075) Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Fix native compilation of gdbm module and manifestAlejandro Hernandez2018-01-202-3/+14
| | | | | | | | | | | | | | | | | | | | | The gdbm module wasnt being built on python3-native showing the following error during compilation: Failed to build these modules: _gdbm This patch adds the required dependency to fix the compilation problem. This issue on python3-native caused the manifest creation script to be unaware of the gdbm library, so this patch also fixes the create_manifest task for target python, and the manifest file to reflect the changes on target python as well. (From OE-Core rev: c47b54aeae5daabb458d6f7118a16257021c1822) Signed-off-by: Alejandro Hernandez <alejandr@xilinx.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python*-manifest.json: add dependencies, runpyTim Orling2018-01-202-5/+49
| | | | | | | | | | | | | | | | | | | | | * runpy allows running modules/scripts with 'python -m foo' - create explicit python2 and 3 packages rather than the misc catchall * python3-setuptools and html.parser RDEPENDS on _markupbase - add to python3-core rather than misc catchall * pip3 RDEPENDS on plistlib, http.client - already packaged in python2, add to python3 - add http/ to -netclient * "pip3 install" RDEPENDS on encodingds.idna - encodings.idna packaged in -core, but missing: - stringprep (move from -codecs to -core) - unicodedata (move from -codecs to -core) (From OE-Core rev: 65a85c7db3de8d16ff91a5208a59cc2202d34e5b) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Restructure python3 packaging and replace it with autopackagingAlejandro Hernandez2018-01-207-1148/+1675
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See previous commit (python2 version) for more info, since mostly everything applies here as well. Old manifest file had several issues: - Its unorganized and hard to read and understand it for an average human being. - When a new package needs to be added, the user actually has to modify the script that creates the manifest, then call the script to create a new manifest, and then submit a patch for both the script and the manifest, so its a little convoluted. - Git complains every single time a patch is submitted to the manifest, since it violates some of its guidelines. - It changes or may change with every release of python, its impossible to know if the required files for a certain package have changed (it could have more or less dependencies), the only way of doing so would be to install and test them all one by one on separate individual images, and even then we wouldnt know if they require less dependencies, we would just know if an extra dependency is required since it would complain, lets face it, this isnt feasible. - The same thing happens for new packages, if someone wants to add a new package, its dependencies need to be checked manually one by one. Features/Fixes: - A new manifest format is used (JSON), easy to read and understand. This file is parsed by the python recipe and python packages read from here are passed directly to bitbake during parsing time. - It provides an automatic manifest creation task (explained on previous commit), which automagically checks for every package dependencies and adds them to the new manifest, hence we will have on each package exactly what that package needs to be run, providing finer granularity. - Dependencies are also checked automagically for new packages (explained on previous commit). This patch has the same features as the python2 version but it differs in the following ways: - Python3 handles precompiled bytecode files (*.pyc) differently. for this reason and since we are cross compiling, wildcards couldnt be avoided on python3 (See PEP #3147 [1]). Both the manifest and the manifest creation script handle this differently, the manifest for python3 has an extra field for cached files, which is how it lets the user install the cached files or not via : INCLUDE_PYCS = "1" on their local.conf. - Shared libraries nomenclature also changed on python3, so again, we use wildcards to deal with this issue ( See PEP #3149 [2]): - Fixes python3 manifest, python3-core should be base and everything should depend on it, hence several packages were deleted: python3-enum, re, gdbm, subprocess, signal, readline. - When building python3-native it adds as symlink to it called nativepython3, which is then isued by the create_manifest task. - Fixes [YOCTO #11513] while were at it. References: [1] https://www.python.org/dev/peps/pep-3147/ [2] https://www.python.org/dev/peps/pep-3149/ (From OE-Core rev: 54ac820b8a639950ccb534dcd9d6eaf8b2b736e0) Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python2 create_manifest.py: fix trailing whitespace in jsonTim Orling2018-01-201-1/+1
| | | | | | | | | | | | | | | | The json.dumps function adds trailing whitespace when using indent, because the default separator is not ','. The workaround [1] is to set the separators to be ',' and ': ', e.g. separators=(',', ': ') [1] https://hg.python.org/cpython/rev/78bad589f205 (From OE-Core rev: e4cc287e41af2e52240a20d4bf2b6cc0f1f85314) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python: Restructure python packaging and replace it with autopackagingAlejandro Hernandez2018-01-208-862/+1528
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The reason we have a manifest file for python is that our goal is to keep python-core as small as posible and add other python packages only when the user needs them, hence why we split upstream python into several packages. Although our manifest file has several issues: - Its unorganized and hard to read and understand it for an average human being. - When a new package needs to be added, the user actually has to modify the script that creates the manifest, then call the script to create a new manifest, and then submit a patch for both the script and the manifest, so its a little convoluted. - Git complains every single time a patch is submitted to the manifest, since it violates some of its guidelines. - It changes or may change with every release of python, its impossible to know if the required files for a certain package have changed (it could have more or less dependencies), the only way of doing so would be to install and test them all one by one on separate individual images, and even then we wouldnt know if they require less dependencies, we would just know if an extra dependency is required since it would complain, lets face it, this isnt feasible. - The same thing happens for new packages, if someone wants to add a new package, its dependencies need to be checked manually one by one. This patch fixes those issues, while adding some additional features. Features/Fixes: - A new manifest format is used (JSON), easy to read and understand. This file is parsed by the python recipe and python packages read from here are passed directly to bitbake during parsing time. - It provides an automatic manifest creation task (explained below), which automagically checks for every package dependencies and adds them to the new manifest, hence we will have on each package exactly what that package needs to be run, providing finer granularity. - Dependencies are also checked automagically for new packages (explained below). - Fixes the manifest in the following ways: * python-core should be base and all packages should depend on it, fixes lang, string, codecs, etc. * Fixes packages with repeated files (e.g. bssdb and db, or netclient and mime, and many others). - Sitecustomize was fixed since encoding was deprecated. - The JSON manifest file invalidates bitbake's cache, so if it changes the python package will be rebuilt. - It creates a solution for users that want precompiled bytecode files (*.pyc) INCLUDE_PYCS = "1" can be set by the user on their local.conf to include such files, some argument they get faster boot time, even when the files would be created on their first run?, but they also sometimes give a magic number error and take up space, so we leave it to the user to decide if they want them or not. - Fixes python-core dependencies, e.g. When python is run on an image, it TRIES to import everything it needs, but it doesnt necessarily fails when it doesnt find something, so even if we didnt know, we had errors like (trimmed on purpose): # trying /usr/lib/python2.7/_locale.so # trying /usr/lib/python2.7/lib-dynload/_locale.so # trying /usr/lib/python2.7/_sysconfigdata.so while it didnt complain about _locale it should have imported it, after creating a new manifest with the automated script we get: # trying /usr/lib/python2.7/lib-dynload/_locale.so dlopen("/usr/lib/python2.7/lib-dynload/_locale.so", 2); import _locale # dynamically loaded from /usr/lib/python2.7/lib-dynload/_locale.so How to use (after a new release of python, or maybe before every OE release): - A new task called create_manifest was added to the python package, which may be invoked via: $ bitbake python -c create_manifest This task runs a script on native python on our HOST system, and since the python and python-native packages come from the same source, we can use it to know the dependencies of each module as if we were doing it on an image, this script is called create_manifest.py and in a very simplistic way it does the following: 1. Reads the JSON manifest file and creates a dictionary data structure with all of our python packages, their FILES, RDEPENDS and SUMMARY. 2. Loops through all of them and runs every module listed on them asynchronously, determining every dependency that they have. 3. These module dependencies are then handled, to be able to know which packages contain those files and which should RDEPEND on one another. 4. The data structure that comes out of this, is then used to create a new manifest file which is automatically copied onto the user's python directory replacing the old one. Create_manifest script features: - Handles modules which dont exist anymore (new release for example). - Handles modules that are builtin. - Deals with modules which were not compiled (e.g. bsddb or ossaudiodev) - Deals with packages which include folders. - Deals with packages which include FILES with a wildcard. - The manifest can be constructed on a multilib environment as well. - This method works for both python modules and shared libraries used by python. How to add a new package: - If a user wants to add a new package all that has to be done is modify the python2-manifest.json file, and add the required file(s) to the FILES list, the script should handle all the rest. Real example: We want to add a web browser package, including the file webbrowser.py which at the moment is on python-misc. "webbrowser": { "files": ["${libdir}/python2.7/lib-dynload/webbrowser.py"], "rdepends": [], "summary": "Python Web Browser support"} Run bitbake python -c create_manifest and the resulting manifest should be completed after a few seconds, showing something like: "webbrowser": { "files": ["${libdir}/python2.7/webbrowser.py"], "rdepends": ["core","fcntl","io","pickle","shell","subprocess"], "summary": "Python Web Browser support"} Known errors/issues: - Some special packages are handled differently: core, misc, modules,dev, staticdev. All these should be handled manually, because they either include binaries, static libraries, include files, etc. (something that we cant import). Specifically static libraries are not not supported by this method and have to be handled by the user. - The change should be transparent to the user, other than the fact that now we CANT build python-foo (it was pretty dumb anyway, since what building python-foo actually did was building the whole python package anyway), but doing IMAGE_INSTALL_append = " python-foo" would create an image with the requested package with no issues. [YOCTO #11510] [YOCTO #11694] [YOCTO #11695] (From OE-Core rev: 6959e2e4dba5bbfa6ffd49c44e738cc1c38bc280) Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-dev: improve reproducibilityJuro Bystricky2018-01-051-0/+5
| | | | | | | | | | | Remove remaining build host references from packaged files. [#YOCTO 11472] (From OE-Core rev: e21723bb9b6035714268eeab5f43e2d1cb798a0d) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-pygobject: update to 3.26.1Derek Straka2018-01-021-2/+2
| | | | | | | | | | | Update to the latest stable release Tested in qemux86-64 running core-image-minimal (From OE-Core rev: 01610f3ba7c62afdfab118e8cf44c3c1c900ba57) Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-pycairo: update to 1.15.4Derek Straka2018-01-021-2/+2
| | | | | | | | | | | Update to the latest stable release Tested in qemux86-64 running core-image-minimal (From OE-Core rev: 8c3eb79d91351bba8be0eadb3cce60b8327fc232) Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-git: update to 2.1.8Derek Straka2018-01-022-2/+2
| | | | | | | | | | | python3-git was updated to the latest stable version Tested on qemux86-64 using core-image-minimal (From OE-Core rev: 0f774c4ac0c71f4806e455a8b9ea7e13cc2f22da) Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python*-setuptools: update to 38.2.5Derek Straka2018-01-023-2/+2
| | | | | | | | | | | Update the python{3}-setuptools to the latest stable version Tested on the qemu with core-image-minimal (From OE-Core rev: 57ba31f67ef593f36c4154a8680d21825f4e5555) Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-gitdb: upgrade to v2.0.3Tim Orling2018-01-022-4/+6
| | | | | | | | | | * Change PYPI_PACKAGE to gitdb2 to reflect upstream change * Now inherits setuptools rather than distutils (From OE-Core rev: dc2ddbf8cb825e577a2a35d96a1a2fa9042b74f8) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-scons: upgrade to v3.0.1; use pypi.bbclassTim Orling2017-12-133-47/+3
| | | | | | | | | | | | | * Simplify recipe by using pypi.bbclass * Drop patch for __future__ print_function - fixed upstream: https://github.com/SConsProject/scons/pull/1/commits/4c199d06e76afb9379e76942d0f68caa57f42509 (From OE-Core rev: cf5c44ac611c2c2657e6fd3c1f723bcb20b812dd) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-iniparse: use pypi.bbclassTim Orling2017-12-131-6/+3
| | | | | | | | | | * Simplify recipe by using pypi.bbclass (From OE-Core rev: aa458b5fdb8d5d0ac93ced3b198bef2daa4e24b4) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-git: use pypi.bbclassTim Orling2017-12-132-10/+21
| | | | | | | | | | | * Simplify python3-git by using pypi.bbclass * Consolidate common content in .inc (From OE-Core rev: 5288e401c769a80f499d0775dd9bd1304e2298f4) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-gitdb: use pypi.bbclassTim Orling2017-12-132-10/+12
| | | | | | | | | | | * Simplify python3-gitdb using pypi.bbclass * Consolidate common content in .inc (From OE-Core rev: e7083207684b18dd55d6b4dc88fc1ffc90d16476) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-smmap: use pypi.bbclassTim Orling2017-12-132-10/+7
| | | | | | | | | | | * Simpify python3-smmap using pypi.bbclass * Consolidate common content in .inc (From OE-Core rev: f976a76116bb69ca3603de36b7327615e3e947c2) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-mako: use pypi.bbclassTim Orling2017-12-132-14/+10
| | | | | | | | | | | * Simpify python3-mako by using pypi.bbclass * Consolidate common content in .inc (From OE-Core rev: dac10db1853bae722f35e6aab24569f12df30b55) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-async: use pypi.bbclassTim Orling2017-12-132-9/+4
| | | | | | | | | | | * Simplify by using pypi.bbclass * Use PYTHON_PN for RDEPENDS in .inc to avoid duplication (From OE-Core rev: 57c67b740b25a72cc6fdde68368f49496eabb872) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-six: use pypi.bbclassTim Orling2017-12-132-7/+3
| | | | | | | | | | | * Simplify python3-six by using pypi.bbclass - Use PYTHON_PN in .inc to avoid duplication in RDEPENDS (From OE-Core rev: 38993c3fac841e8e6a01cca43d0d4cecda05439e) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-nose: use pypi.bbclassTim Orling2017-12-133-47/+20
| | | | | | | | | | | | * Simplify python- and python3-nose by using pypi.bbclass * Consolidate common content in python-nose.inc - Avoid duplication by using PYTHON_PN variable (From OE-Core rev: 351e741cea4538cfe30640bd6e451c0fbc1d0329) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-pip: use pypi.bbclassTim Orling2017-12-131-10/+3
| | | | | | | | | | * Simplify recipe by using pypi.bbclass (From OE-Core rev: 120627640e74dd00adabc52657ab71e523a2f261) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-setuptools: upgrade to 38.2.4; use pypi.bbclass; improvementsTim Orling2017-12-135-82/+51
| | | | | | | | | | | | | | | * Simplify python- and python3-setuptools with pypi.bbclass * inherit setuptools rather than distutils * Consolidate common settings in python-setuptools.inc - use PYTHON_PN variable to eliminate duplication - python3-setuptools had missing RDEPENDS (e.g., plistlib) - installer no longer creates setuptools.pth, drop fixes (From OE-Core rev: 624a6f209248a0c8e0759d43f246c903a8db6a71) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-*-manifest/generators: add runpy; python3-plistlibTim Orling2017-12-132-0/+30
| | | | | | | | | | | | * runpy allows running modules/scripts with 'python -m foo' * python3-setuptools RDEPENDS on plistlib (present in python2) * pip3 RDEPENDS on _markupbase (add to python3-core) (From OE-Core rev: d95f1005c35bd9c7e22c40c7c17d264fe9435c6b) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-*-manifest/generators: fix long line lengthsTim Orling2017-12-132-145/+1514
| | | | | | | | | | | | | | The generators create python-*-manifest.inc files with lines over 2500 characters long which breaks sending patches via git send-email (because of smtp limitation). This patchset formats all the long lines into multiple lines. (From OE-Core rev: 3a1900a5691466a04b24907067f43117b318ca7e) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: remove two setup.py cross-compile hacksMarkus Lehtonen2017-12-023-65/+0
| | | | | | | | | | | | | | | | | Remove two unneeded hacks. The first hack ("setup.py: no host headers libs" patch) is not needed because we use cross-compiler (e.g. i586-oe-linux-gcc) which has not been configured with any host system include or library directories, and thus, we don't get any host system directories when running "gcc -E -v". The second hack becomes useless after the first hack has been removed and we get the standard include and lib directories normally from gcc. (From OE-Core rev: 9e9545ef818adfb57f428db96d4c2ebb0ea65ec6) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-pycairo: fix upstream version checkAlexander Kanavin2017-11-301-0/+1
| | | | | | | | (From OE-Core rev: 3959c7117514ebd6066169b14c260ebba3641a04) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-scons: fix upstream version checkAlexander Kanavin2017-11-301-1/+2
| | | | | | | | (From OE-Core rev: f7593743ebb9ecb321c436659a0a1b12907282b7) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python: add PACKAGECONFIG for Berkeley DB moduleRoss Burton2017-11-081-1/+13
| | | | | | | | | | The bsddb module is deprecated and requires an old version of Berkeley DB that some may be unhappy with even shipping, so expose a way to disable the module. (From OE-Core rev: 701250dae6c5d3f464bf6d7c46c19d59d1c00bec) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: remove obsolete db dependencyRoss Burton2017-11-051-1/+1
| | | | | | | | | | The bsddb module was removed in Python 3 and the dbm module doesn't support Berkeley DB as an option, so this build dependency can be removed. (From OE-Core rev: f16eac28d909bc6570d3587a2f4ac26ae0dc6048) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-scons*: upgrade to 3.0.0Jose Lamego2017-11-053-4/+46
| | | | | | | | | | | | | | | | | | Both python-scons and python-scons-native need to be upgraded to latest upstream version. LIC_FILES_CHKSUM changed due to updated year in date, but rest of file remain the same. Following dependencies were added to enable appropriate package usage: python-shell, python-pprint and python-importlib. A patch was taken from upstream to support python2 print statements in SConscripts. This should be included in next version. These changes were tested in qemux86 with core-image-minimal. (From OE-Core rev: 4fe7774f08ba46bd1d68e56eff3f4912db107c25) Signed-off-by: Jose Lamego <jose.a.lamego@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-six: update to 1.11.0Jose Lamego2017-11-052-3/+3
| | | | | | | | | | | | | | | python3-six needs to be updated to latest stable version. Change in LIC_FILES_CHKSUM due to updated Copyright year, rest of file remains the same. This update was tested in qemux86 running core-image-minimal. (From OE-Core rev: d069d201ec92e95aac7f2ad586ea77318c570ecb) Signed-off-by: Jose Lamego <jose.a.lamego@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python*-setuptools: update to 36.5.0Jose Lamego2017-11-053-2/+2
| | | | | | | | | | | | | Both python-setuptools and python3-setuptools must be updated to latest stable release. These changes were tested on qemu with core-image-minimal (From OE-Core rev: 5b784c37f1be769a2abcc5bef5b03eb3b349138b) Signed-off-by: Jose Lamego <jose.a.lamego@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-git: update to 2.1.7Jose Lamego2017-11-052-2/+2
| | | | | | | | | | | | python3-git needs to be updated to latest stable version. This change was tested on qemux86 running core-image-minimal. (From OE-Core rev: d07ac3a7ce9e46f78c9ef953ac9b59f94fd44b69) Signed-off-by: Jose Lamego <jose.a.lamego@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-pygobject: update to 3.26.0Jose Lamego2017-11-051-4/+2
| | | | | | | | | | | | python3-pygobject needs to be updated to latest stable branch. This change was tested in qemux86 running core-image-minimal. (From OE-Core rev: 46bb641199d4f76db2b24c11c8965d6904fe90c7) Signed-off-by: Jose Lamego <jose.a.lamego@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-pycairo: update to 1.15.3Jose Lamego2017-11-052-42/+30
| | | | | | | | | | | | | | | | | | | | | python3-pycairo needs to be updated to latest stable release. Changes in this update: SRC_URI updated to new GitHub repository. LICENSE updated to LGPLv2.1 & MPLv1.1. LICENSE_FILES_CHkSUM updated accordingly to new License. inherit distutils3 replaced with setuptools3. waf-related instructions dropped due to use of setuptools3. py3cairo header file copied to "includedir" where it is assumed to be located by some dependencies. This change was tested in qemux86 running core-image-minimal (From OE-Core rev: 08003b47079e61c4ec6bc90d7dfdf8e36c4e24a8) Signed-off-by: Jose Lamego <jose.a.lamego@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-ptest: various fixesJuro Bystricky2017-10-071-1/+11
| | | | | | | | | | | | | | | | python-ptest needs python-tests package installed in order to run any tests. This patch adds python-tests as a runtime dependency, so the test suite will be present in the image. While in there, also removed several build host references. [YOCTO #12144] (From OE-Core rev: ff83e15289e4b47cd3926220a0039bf97ec35120) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-nose: Add HOMEPAGE info into recipe file.Huang Qiyu2017-09-131-0/+1
| | | | | | | | (From OE-Core rev: a005bcaa14d54824d5d6eaa2b5584f29f4819d49) Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-mako: Add HOMEPAGE info into recipe file.Huang Qiyu2017-09-131-0/+1
| | | | | | | | (From OE-Core rev: cc682400779ddcb60fc3cbc70a1f33db1c413d85) Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-setuptools: extend to nativesdkChen Qi2017-09-111-3/+4
| | | | | | | | | | | | | | | Extend python3-setuptools to nativesdk because nativesdk-python3-pip needs it. Also, adjust RDEPENDS variable setting to keep the runtime dependencies for nativesdk package the same with the target one. The native package and the target package's dependencies remain the same as before. (From OE-Core rev: b9f0c54fd8b4f5f157e5f088bb304ddab0387ae6) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-pip: extend to nativesdkChen Qi2017-09-111-1/+1
| | | | | | | | | | | Extend python3-pip to nativesdk because some nativesdk python3 packages need it, e.g. nativesdk-python3-django from meta-python layer. (From OE-Core rev: 31f1e5f438d19aa329e5f38b1ab4e7d521eff8a1) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python2.7: improve reproducibilityJuro Bystricky2017-08-232-0/+35
| | | | | | | | | | | | | | | | The compiled .pyc files contain time stamp corresponding to the compile time. This prevents binary reproducibility. This patch allows to achieve binary reproducibility by overriding the build time stamp by the value exported via SOURCE_DATE_EPOCH. Patch by Bernhard M. Wiedemann, backported from https://github.com/python/cpython/pull/296 [YOCTO#11241] (From OE-Core rev: 2a044f1e4f5c63e11e631b31f741c7aabfa6f601) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-native: Add python3-misc-native to RPROVIDESFabio Berton2017-08-181-0/+2
| | | | | | | | | | | | OE-core commit 800753069f667cd1664d70b3779150c467e3b3fe remove RPROVIDES list to get runtime dependences from manifest file. python3-misc is added in python3 recipe, we need to add native runtime to use python3-misc with native recipes. (From OE-Core rev: 31fd20811f6d11e7ed6ac84caf776ac46cd6fb6f) Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-native: Avoid use of getentropy/getrandomRichard Purdie2017-08-161-1/+3
| | | | | | | | | | | getentropy/random() is only available in glibc 2.25+ and uninative may relocate binaries onto systems that don't have this function. For now, force the code to the older codepaths until we can come up with a better solution for this kind of issue. (From OE-Core rev: 92bda0024d85ae78345665cc2f9646c9881ed61b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: improve reproducibilityJuro Bystricky2017-08-163-0/+99
| | | | | | | | | | | | | | | | The compiled .pyc files contain time stamp corresponding to the compile time. This prevents binary reproducibility. This patch allows to achieve binary reproducibility by overriding the build time stamp by the value exported via SOURCE_DATE_EPOCH. Patch by Bernhard M. Wiedemann. [YOCTO#11241] (From OE-Core rev: 2175aec10a764bfc925a3fb447547982d0ae662f) Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-docutils: update to 0.14Jose Lamego2017-08-161-3/+3
| | | | | | | | | | | | | | python3-docutils recipe must be upgraded to latest stable release. LIC_FILES_CHKSUM changed due to a typo fix from previous version, but license type and information remained the same. This change was tested on qemu with core-image-minimal. (From OE-Core rev: f99247335485e15c820991e3ea20b766364111fc) Signed-off-by: Jose Lamego <jose.a.lamego@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python*-setuptools: update to 36.2.7Jose Lamego2017-08-163-2/+2
| | | | | | | | | | | | Both python-setuptools and python3-setuptools must be updated to latest stable release. These changes were tested on qemu with core-image-minimal (From OE-Core rev: 147d9260eb79edfdf7a91fb8bc3d915f141dc685) Signed-off-by: Jose Lamego <jose.a.lamego@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python2/python3: fix multiprocessing.BoundedSemaphore not work on ↵Hongxu Jia2017-08-134-0/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qemux86/qemuarm In upstream, the following commit: https://github.com/python/cpython/commit/e711cafab13efc9c1fe6c5cd75826401445eb585 ... commit e711cafab13efc9c1fe6c5cd75826401445eb585 Author: Benjamin Peterson <benjamin@python.org> Date: Wed Jun 11 16:44:04 2008 +0000 Merged revisions 64104,64117 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ... (see diff in setup.py) It assigned libraries for multiprocessing module according the host_platform, but not pass it to Extension. In glibc, the following commit caused two definition of sem_getvalue are different. https://sourceware.org/git/?p=glibc.git;a=commit;h=042e1521c794a945edc43b5bfa7e69ad70420524 (see diff in nptl/sem_getvalue.c for detail) `__new_sem_getvalue' is the latest sem_getvalue@@GLIBC_2.1 and `__old_sem_getvalue' is to compat the old version sem_getvalue@GLIBC_2.0. If not explicitly link to library pthread (-lpthread), it will load glibc's sem_getvalue randomly at runtime. Such as build python on linux x86_64 host and run the python on linux x86_32 target. If not link library pthread, it caused multiprocessing bounded semaphore could not work correctly. ... >>> import multiprocessing >>> pool_sema = multiprocessing.BoundedSemaphore(value=1) >>> pool_sema.acquire() True >>> pool_sema.release() Traceback (most recent call last): File "<stdin>", line 1, in <module> ValueError: semaphore or lock released too many times ... And the semaphore issue also caused multiprocessing.Queue().put() hung. (From OE-Core rev: ca1542cdf6b6437a2f3dcdb33ac5216bf841c04a) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-pycairo: Pass -fPIC via CFLAGSKhem Raj2017-08-091-0/+2
| | | | | | | | | | | | | | Fixes | /mnt/a/oe/build/tmp/work/corei7-64-bec-linux/python3-pycairo/1.10.0-r2/recipe-sysroot-native/usr/bin/x86_64-bec-linu x/x86_64-bec-linux-ld: src/cairomodule.c.1.o: relocation R_X86_64_PC32 against symbol `CairoError' can not be used whe n making a shared object; recompile with -fPIC (From OE-Core rev: 058b155a66c5f81573379d258250323c72901ff7) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python: don't include -tests with modulesMark Asselstine2017-08-032-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Although 'test' is listed in the python module list (https://docs.python.org/3/py-modindex.html) it is meant only to be used 'internally' by folks developing python itself. Per the documentation: Note The test package is meant for internal use by Python only. It is documented for the benefit of the core developers of Python. Any use of this package outside of Python’s standard library is discouraged as code mentioned here can change or be removed without notice between releases of Python. Per the above it is best not to include this module to discourage folks who might not head the above warnings. Additionally this module is one of the largest py modules going, by dropping this unneeded module from the 'modules' package we can reduce overall image size, something which is important for many embedded deployments. The generator scripts as well as the manifests have thus been modified accordingly, providing a generic mechanism to exclude modules from the 'all modules' package. (From OE-Core rev: a5bb13a5d7d7a668ca61da6b17884e3b05b95355) Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>