summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/python/python3
Commit message (Collapse)AuthorAgeFilesLines
...
* python3: fix depends of python3-testsMarkus Lehtonen2018-07-311-1/+2
| | | | | | | | | | | Make the tests subpackage depend on all modules as test.regrtest uses most (if not all) of them. (From OE-Core rev: f03f3edc211b3e03cf1a6b2655ba664af7fbd12f) 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-native: correctly invoke regen-importlib make targetJoe Slater2018-05-041-0/+25
| | | | | | | | | | | | | 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. (From OE-Core rev: 72d62c9af07bf34bb8fbb3958742eb592985acc2) Signed-off-by: Joe Slater <joe.slater@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Revert "python3: fix create_manifest to handle pycache folders"Richard Purdie2018-04-072-15/+10
| | | | | | | | | Alejandro asked this be reverted as the patch causes more problems than it solves. This reverts commit 5d288d286e0adb221649d896c132a607ecddc490. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Improve logging capabilities for do_create_manifestAlejandro Enedino Hernandez Samaniego2018-04-031-7/+27
| | | | | | | | | | | | | 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. (From OE-Core rev: 4c2af72f51a7bf187615fc0b3a229d25c3e191e9) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Fix do_create_manifest for python3-sqlite3Alejandro Enedino Hernandez Samaniego2018-03-312-21/+37
| | | | | | | | | | | | | | | | 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. (From OE-Core rev: 3324cb31670f33ffe193e550e3b3da8380b3c8c9) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: fix create_manifest to handle pycache foldersAlejandro Enedino Hernandez Samaniego2018-03-312-10/+15
| | | | | | | | | | | | | | | 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. (From OE-Core rev: df9401e7e69ce162e257e827d67eb217666e532d) Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: consolidate sqlite3 filesRoss Burton2018-03-301-2/+5
| | | | | | | | | | Some of the sqlite3 module was in python3-misc by accident, move the files into python3-sqlite3 where they belong. (From OE-Core rev: f06a8d20560b8e93cf875ee58eddda0a976e7b14) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Fix purelib install and runtime pathsJason Wessel2018-03-151-8/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | oe-core commit: 45afadf0b6 fixed the pip problem with purelib for python2, even though the the patch stated it was for python3. This patch addresses the purelib problem for python3. If you install the package python3-pip you will have a pip3 binary where you can see the problem on the device easily where the modules install into the incorrect area and are not able to be referenced by python3 at all. Example error: pip3 install imutils pip3 list |grep imutils || echo ERROR no imutils ERROR no imutils python3 -c 'import imutils' Traceback (most recent call last): File "<string>", line 1, in <module> ImportError: No module named 'imutils' (From OE-Core rev: 54e0b3bfc132613902418be148a900b10f6d9e38) Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python: refresh patchesRoss Burton2018-03-112-68/+65
| | | | | | | | | | | | | | | | | | | | | The patch tool will apply patches by default with "fuzz", which is where if the hunk context isn't present but what is there is close enough, it will force the patch in. Whilst this is useful when there's just whitespace changes, when applied to source it is possible for a patch applied with fuzz to produce broken code which still compiles (see #10450). This is obviously bad. We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For that to be realistic the existing patches with fuzz need to be rebased and reviewed. (From OE-Core rev: 8a5c1328c4ea63443a92813c54bd2229c9959ff9) Signed-off-by: Ross Burton <ross.burton@intel.com> 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: refresh patchesRoss Burton2018-03-094-50/+36
| | | | | | | | | | | | | | | | | | | | | The patch tool will apply patches by default with "fuzz", which is where if the hunk context isn't present but what is there is close enough, it will force the patch in. Whilst this is useful when there's just whitespace changes, when applied to source it is possible for a patch applied with fuzz to produce broken code which still compiles (see #10450). This is obviously bad. We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For that to be realistic the existing patches with fuzz need to be rebased and reviewed. (From OE-Core rev: 0b25fcee333e6207a8596d26adfa65fec85c26df) Signed-off-by: Ross Burton <ross.burton@intel.com> 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>
* python3: Fix python3-logging dependenciesTomasz Meresiński2018-02-161-1/+2
| | | | | | | | | | python3-logging depends on python3-netserver (logging/config.py:42) (From OE-Core rev: ea5f51cf2b885ba32a3e5fe6049141e45606ecf3) Signed-off-by: Tomasz Meresiński<tomasz.meresinski@comarch.pl> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: update target and native recipes to 3.5.4Derek Straka2018-02-064-796/+40
| | | | | | | | | | | | | | | | | | | | | | Use the latest 3.5 version until the 3.6 migration is complete Removed the following upstreamed patches: - python3/Fix-29519-weakref-spewing-exceptions-during-interp-f.patch - python3/upstream-random-fixes.patch Rebased the following pathes: - python3/0001-cross-compile-support.patch Regenerated the manifest based on the latest release version Updated the license checksum for the latest version that updated the copyright dates (From OE-Core rev: eb80d0391d7d4e83a61ed8850d936b102be3fa02) Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-manifest: add the _pydecimal files to the numbers packageDerek Straka2018-01-291-3/+5
| | | | | | | | | | | | The _pydecimal files are required to use the numbers package and downstream packages are currently required to add a RDEPENDS on python3-misc to avoid an import error (From OE-Core rev: 4ca2d607a6b6fe8686bf89177287f2b9bae01245) Signed-off-by: Derek Straka <derek@asterius.io> 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-201-2/+13
| | | | | | | | | | | | | | | | | | | | | 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-201-4/+37
| | | | | | | | | | | | | | | | | | | | | * 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-203-0/+1563
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* python3: remove two setup.py cross-compile hacksMarkus Lehtonen2017-12-022-63/+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: improve reproducibilityJuro Bystricky2017-08-161-0/+97
| | | | | | | | | | | | | | | | 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>
* python2/python3: fix multiprocessing.BoundedSemaphore not work on ↵Hongxu Jia2017-08-131-0/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: fix weakref spewing exceptions during interp finalizationMark Asselstine2017-07-211-0/+56
| | | | | | | | | | | | | | | | | | | When py3 applications are exiting we often see errors similar to the following: Exception ignored in: <function WeakValueDictionary.__init__.<locals>.remove at 0x7fcb56b09400> Traceback (most recent call last): File "/usr/lib64/python3.5/weakref.py", line 117, in remove TypeError: 'NoneType' object is not callable After a quick search this was found to be a well reported issue upstream and had an appropriate fix which is backported here. (From OE-Core rev: 8aaf09a916a2f66f1a6a79cbddf45390ecefde4f) Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Use _sysconfigdata.py to initialize distutils.sysconfigLi Zhou2017-05-291-0/+66
| | | | | | | | | | | | | | | Porting patch from <https://github.com/python/cpython/commit/409482251b06fe75c4ee56e85ffbb4b23d934159> to use _sysconfigdata.py to initialize distutils.sysconfig. This patch makes that distutils.sysconfig doesn't need config-*/Makefile in libdir any more. Next we can move it from python3-misc to python3-dev package. (From OE-Core rev: 659a80afc5894658f8b82fcd62ebe3562b441db9) Signed-off-by: Li Zhou <li.zhou@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python: update to 3.5.3Alexander Kanavin2017-05-184-330/+172
| | | | | | | | | | | | | | | | | | | | | | | Prior versions of python do not support openssl 1.1; updating to Python 3.6 on the other hand is a lot more involved, and so should be done by a specialist/maintainer. LICENSE checksum change due to copyright years. Drop upstreamed python3-fix-CVE-2016-1000110.patch Rebase upstream-random-fixes.patch (taken from https://github.com/python/cpython/commit/ff558f5aba40bd173f336503def886a12f8db016 ) Rebase 0001-Do-not-use-the-shell-version-of-python-config-that-w.patch Rebase 000-cross-compile.patch (From OE-Core rev: b7b982a29e5d14c558b5fc25b4dc727810510ade) 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>
* python3: do not hardcode "lib" into site-packages search pathAlexander Kanavin2017-03-281-125/+165
| | | | | | | | | | | | This was not working in multilib or x32 setups and amazingly, was not noticed until now. The actual modification is in Lib/site.py, the rest is just devtool moving things around in the patch. (From OE-Core rev: f60d261b682f1526fb7a754c425300954ef85042) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-3.3-multilib.patch: Fixes getpath on multilib configurationsJose Lamego2017-03-221-4/+13
| | | | | | | | | | | | | | | | | | When using multilib configurations either on arm/arm64 and x86/x86-64 python3 failed to execute due to a failure when looking for its platform independent and dependent libraries. This patch fixes this issue by assigning lib_python to the appropriate macro. [YOCTO #10812] (From OE-Core rev: 9e99897f17d9c62ca5da208751d6560fc98927b6) Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> 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: Remove unused patchesJussi Kukkonen2017-03-162-75/+0
| | | | | | | | | | CVE-2016-5636.patch and use_packed_importlib.patch were removed from SRC_URI as handled in upstream in b192bc02bbf91. (From OE-Core rev: 71c539483350a4b45fb5d397d29b6ebcfc863e2f) Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Add upstream random.c fixes for recent glibcRichard Purdie2017-01-231-0/+721
| | | | | | | | | | | | | | | python3 fails to work with recent glibc versions on older hosts, giving errors like: Fatal Python error: getentropy() failed Aborted This breaks buildtools-tarball and hence eSDK. This patch backports the changes to random.c from upstream that address the problem. (From OE-Core rev: 126b2c47b1806b53fbd9a4706bc48bc7c4efd3be) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Build and package precompiled modulesDominic Sacré2016-11-301-48/+0
| | | | | | | | | | | | | | | | | | | | | Remove the patch that was applied in the python3 and python3-native recipes to skip compilation of python modules. Modify generate-manifest-3.5.py to match '__pycache__' directories in FILES_*. This is necessary because Python3 puts .pyc files in '__pycache__' subdirectories one level below the corresponding .py files, whereas in Python2 they used to be right next to the sources. This change significantly reduces the startup overhead of Python3 scripts. For example, on a Cortex-A9, "python3 -c pass" took 0.40s before, and 0.19s after. (From OE-Core rev: bb4d689769703177dbb0df0935e15016b879f42b) Signed-off-by: Dominic Sacré <dominic.sacre@gmx.de> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python: fix CVE-2016-1000110Mingli Yu2016-09-281-0/+148
| | | | | | | | | | | | | Backport patch to fix CVE-2016-1000110 from python upstream: for python2.7 https://hg.python.org/cpython/rev/ba915d561667/ for python3 https://hg.python.org/cpython/rev/a0ac52ed8f79 (From OE-Core rev: 1dd22b9d35983f35c481a1fcf67425aa0fd07a5b) Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-native: Upgrade from 3.5.1 to 3.5.2Alejandro Hernandez2016-08-102-77/+77
| | | | | | | | | | | | | | LICENSE did not change, only dates were changed Rebases: - 000-cross-compile.patch - python-3.3-multilib.patch (From OE-Core rev: 0a3a4047e779c8bff2b5e2bfa37b7ab119d08d4b) 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: Security fix CVE-2016-5636Armin Kuster2016-07-201-0/+44
| | | | | | | | | | | Affects python3 < 3.5.1 Base Score (4.4) Medium (From OE-Core rev: a7cbd6805febadaad60d1e05899e10e9a8a36c26) Signed-off-by: Armin Kuster <akuster@mvista.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: update patch metadataRoss Burton2016-07-082-3/+3
| | | | | | | | | Enforce the correct tag names across all of oe-core for consistency. (From OE-Core rev: 606a43dc38a00cc243f933722db657aea4129f8e) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: drop 110-enable-zlib.patchAlexander Kanavin2016-06-031-21/+0
| | | | | | | | | | With the patch, the zlib extension wasn't built at all. Without the patch, it gets build just fine. (From OE-Core rev: 59870a852cf88ecef094db0a2adec168a8997626) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: add = to -L linking option only when the path is absoluteAlexander Kanavin2016-06-011-3/+3
| | | | | | | | | | Previously it was added also when the path was relative and not prefixed with ./, which was causing issues with building numpy. (From OE-Core rev: 3e171c89e929a09e4d511a8f235dd90b7cf0d463) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-native, python3-native: remove the use of exported HOST_SYS and ↵Alexander Kanavin2016-06-011-40/+9
| | | | | | | | | | | | | | BUILD_SYS variables The code that utilized them was superseded by the code (in the same patch!) that is utilizing STAGING_LIBDIR/STAGING_INCDIR, and wasn't correct in the first place as HOST_SYS is not necessarily the same as the sysroot directory name. (From OE-Core rev: 8834e81a38c24a066bb4fefa93da61011d0db244) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python(3): Disable tkinterMartin Jansa2016-03-251-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | * restore changes from: http://git.openembedded.org/openembedded-core/commit/?id=53ae544cfdac22c82af452b8c7ebe6664296bd9b * which were shamelessly removed in upgrade to 2.7.9: http://git.openembedded.org/openembedded-core/commit/?id=d4ad95f0d5f08891637c644e85b09da9c4585059 and then spread to python3 as well * fixes following issues reported by test-dependencies WARN: python3: python3-tkinter rdepends on glibc, but it isn't a build dependency? WARN: python3: python3-tkinter rdepends on libpython3, but it isn't a build dependency? WARN: python3: python3-tkinter rdepends on tcl-lib, but it isn't a build dependency? WARN: python: python-tkinter rdepends on glibc, but it isn't a build dependency? WARN: python: python-tkinter rdepends on libpython2, but it isn't a build dependency? WARN: python: python-tkinter rdepends on tcl-lib, but it isn't a build dependency? and following QA warnings in normal builds: python-2.7.11: python-tkinter rdepends on tcl-lib, but it isn't a build dependency, missing tcl in DEPENDS or PACKAGECONFIG? [build-deps] python-2.7.11: /usr/lib/python2.7/lib-dynload/_tkinter.so contained in package python-tkinter requires libtk8.6.so, but no providers found in RDEPENDS_python-tkinter? [file-rdeps] python3-3.5.1: python3-tkinter rdepends on tcl-lib, but it isn't a build dependency, missing tcl in DEPENDS or PACKAGECONFIG? [build-deps] python3-3.5.1: /usr/lib/python3.5/lib-dynload/_tkinter.cpython-35m-arm-linux-gnueabi.so contained in package python3-tkinter requires libtk8.6.so, but no providers found in RDEPENDS_python3-tkinter? [file-rdeps] (From OE-Core rev: 8cc5e36cd7978186d5ea1fe8af2f2bd6b3df8885) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: fix do_configure check platform triplet errorHongxu Jia2016-03-121-0/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For p1022ds bsp, the MULTIARCH is powerpc-linux-gnuspev1 and python3 did not recognize the extra 'v1' which caused python3 configure error for the platform triplet. Q:Why Python3 check platform triplet? A:Under Linux, GNU/KFreeBSD and the Hurd, C extensions now include the architecture triplet in the extension name, to make it easy to test builds for different ABIs in the same working tree. vim config.log ... EXT_SUFFIX='.cpython-35m-powerpc-linux-gnuspe.so' ... Here is the generated C extensions which take platform triplet into account. ... |image/usr/lib/python3.5/lib-dynload/_datetime.cpython-35m-powerpc-linux-gnuspe.so ... https://bugs.python.org/issue22980 https://www.python.org/dev/peps/pep-3149/ https://bugs.python.org/review/22980/patch/14593/54808 [YOCTO #9226] (From OE-Core rev: cda0ef61d37357fed1daa22f6a59ef9f906fcada) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: fix patching get_python_lib() in distutils/sysconfig.pyAlexander Kanavin2016-03-091-14/+21
| | | | | | | | | | | | Previous, two things were wrong: 1) lib_basename was set from STAGING_LIBDIR only if prefix parameter was empty or missing 2) if prefix was not empty, lib_basename reverted to sys.lib, even if STAGING_LIBDIR should've overriden it (From OE-Core rev: 28d29004aa7d17794216d7df55afc308b1f0e806) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-native: use the previous version of python-config scriptAlexander Kanavin2016-03-091-0/+38
| | | | | | | | | | | | | | | In python 3.4 python-config was rewritten in shell, ironically to support cross-compilation: https://bugs.python.org/issue16235 This new shell version is broken in several ways, and doesn't have our oe-specific tweaks. Let's revert to the old script, which is still provided. (From OE-Core rev: b0d714c7f831828a5e09381fe36e3f859c16b2d9) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: remove optimize by default patchRoss Burton2016-02-071-59/+0
| | | | | | | | | | | | Python 3 resurrected the default to optimised patch, on the rationale that embedded systems want all the performance they can get. Unfortunately the only impact Python "optimisation" has is to remove all asserts which can be actively harmful, so remove this patch. (From OE-Core rev: 1e43b836106ed13cde294e2c565eaea6fe5efca7) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Minor upgrade 3.5.0 -> 3.5.1Alejandro Hernandez2016-01-201-15/+15
| | | | | | | | | | Rebased: - 000-cross-compile.patch (From OE-Core rev: f1d9f7b2ea930fec3198264a2d1d04088efc8f3c) Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: fix installed-vs-shipped when 64bit + multilibRobert Yang2016-01-071-0/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed: python3-3.5.0: python3: Files/directories were installed but not shipped in any package: /usr/lib /usr/lib/python3.5 /usr/lib/python3.5/config-3.5m /usr/lib/python3.5/config-3.5m/python.o /usr/lib/python3.5/config-3.5m/Setup.local /usr/lib/python3.5/config-3.5m/Setup /usr/lib/python3.5/config-3.5m/python-config.py /usr/lib/python3.5/config-3.5m/install-sh /usr/lib/python3.5/config-3.5m/config.c.in /usr/lib/python3.5/config-3.5m/makesetup /usr/lib/python3.5/config-3.5m/Setup.config /usr/lib/python3.5/config-3.5m/config.c /usr/lib/python3.5/config-3.5m/Makefile /usr/lib/python3.5/config-3.5m/libpython3.5m.a Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. python3: 14 installed and not shipped files. [installed-vs-shipped] (From OE-Core rev: 8a96dbe5dd44e1c80aef7b8efe5820dee96a5bd7) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Upgrade from 3.4.3 to 3.5Alejandro Hernandez2015-12-016-151/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | python3-native_3.4.3.bb -> python3-native_3.5.0.bb: - changed version - changed cheksum - no license change, just dates python3_3.4.3.bb -> python3_3.5.0.bb: - changed version - changed cheksum - no license change, just dates New: - use_packed_importlib.patch: Fixes importlib on cross-compile environments Rebased: - Manifest - 000-cross-compile.patch - 020-dont-compile-python-files.patch - 04-default-is-optimized.patch - python-3.3-multilib.patch - distutils3-base.bbclass - distutils3-native-base.bbclass - python3native.bbclass Upstream: - makerace.patch Misc: - pip2 is handled as default on major distros, modified python3-pip to leave /usr/bin/pip available for pip2 - Fixed importing pip3 from python3 interpreter (From OE-Core rev: 701ec1977ced1bb08461e6de98b4f63d21cba8a6) 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>
* meta: Fix Upstream-Status statementsRoss Burton2015-09-121-1/+1
| | | | | | | | | | Fix a variety of problems such as typos, bad punctuations, or incorrect Upstream-Status values. (From OE-Core rev: bd220fe6ce8c3a0805f13a14706d3130ea872604) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: delete patches that don't get applied anywhereDominic Sacré2015-08-015-179/+0
| | | | | | | | | These patches are not referenced in any of the Python recipes. (From OE-Core rev: 05d18a1d2630fbe81d8218c3722481d31bf0892f) Signed-off-by: Dominic Sacré <dominic.sacre@gmx.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: detect libraries in STAGING_LIBDIRDominic Sacré2015-08-012-41/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch setup.py so that the detect_modules() function looks for required libraries and headers in STAGING_LIBDIR / STAGING_INCDIR. Without this patch, several extension modules are not built, even though their dependencies are present in the compiler's search paths. The result is the following warning, and ultimately incomplete packages: | The necessary bits to build these optional modules were not found: | _bz2 _curses_panel _dbm | _gdbm _lzma _sqlite3 | nis readline zlib | To find the necessary bits, look in setup.py in detect_modules() for the module's name. With the Python 3.3 version of the recipe, at least some of these modules were built, because STAGING_LIBDIR happened to be in the search path by coincidence. Due to changes to distutils in Python 3.4, this is no longer the case. A previous patch that only affects the search paths for SSL is dropped, as this one is a more complete fix for [YOCTO #7768]. Part of the fix for [YOCTO #8048]. (From OE-Core rev: 540a223fc0fb6b07dab3316de6236924bd97613c) Signed-off-by: Dominic Sacré <dominic.sacre@gmx.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-io: Fixes compilation of python3 ssl moduleAlejandro Hernandez2015-06-081-0/+41
| | | | | | | | | | | | | | During python3 compilation, the module ssl was being skippped due to the fact that the compilation script couldnt find the required files, this patch fixes setup.py so it looks for the files in the correct directory, hence fixing its compilation and installation. [YOCTO #7768] (From OE-Core rev: 4cffb16b0edc353d4a3287ca59ba02640f605d2b) Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-native: Fix pip install issue due to unclean build directoryAlejandro Hernandez2015-05-071-0/+28
| | | | | | | | | | | | | When installing python3-native sometimes pips default build directory (which is on the host and is user dependant) is left unclean, due to this, when python3-core is being installed it tries to use the same directory producing an error, this explicitly removes what the previous installation might have left behind, fixing the issue. (From OE-Core rev: c27a5a9ba649e7fcf681f6ac4575442e252fd29b) Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Upgrade from 3.3.3 to 3.4.2Alejandro Hernandez2015-05-074-140/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Modifies: python3-native_3.3.3.bb -> python3-native_3.4.2.bb: Updates checksums, version, patches and SRC_URIs to use xz format, LICENSE did not change, dates were updated, adds fix for ctypes/libffi needed for pip <- required since Python 3.4 (see PEP #453). python3_3.3.3.bb -> python3_3.4.2.bb: Updates checksums, version, patches and SRC_URIs to use xz format, adds fix for ctypes/libffi, fixes oe_multilib_header() call, adds python3-core as RDEPENDS to python3-misc to avoid QA issue. generate-manifest-3.4.py - > generate-manifest-3.4.py: fixes reprlib, adds _sitebuiltins and _collections_abc <- formerly part of collections, separated since 3.4 python-3.3-manifest.inc -> python-3.4-manifest.inc Rebases: 12-distutils-prefix-is-inside-staging-area.patch python-3.3-multilib.patch 04-default-is-optimized.patch avoid-ncursesw-include-path.patch Deletes (fixed upstream): fix-ast.h-dependency.patch python3-fix-build-error-with-Readline-6.3.patch 06-ctypes-libffi-fix-configure.patch remove_sqlite_rpath.patch [YOCTO #6857] (From OE-Core rev: 45290ff4d1902bd0ab5377568f969fbb660c0c87) Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: remove sys_platform_is_now_always_linux2.patchRobert Yang2015-04-301-29/+0
| | | | | | | | | It is aready in the source. (From OE-Core rev: 99f9df3add049ec18dbcd604646a67dc59b3db16) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: fix for cross compilingRobert Yang2015-01-232-0/+104
| | | | | | | | | | | | | | | | Fixed: * python3 has introduced _PYTHON_PROJECT_BASE which is used for separate B and S, but it doesn't work when compile Modules, the target python3 runs python3-native's sysconfig to get srcdir which is the native's, there would be errors when native's srcdir has been removed, add _PYTHON_PROJECT_SRC to fix the problem. * Check cross_compiling when get FLAGS (From OE-Core rev: c33639963491f00f55b80299922895fe68b0637d) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>