summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/python/python3
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-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-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-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-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-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-15python3: Fix purelib install and runtime pathsJason Wessel
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' Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-11python: refresh patchesRoss Burton
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. 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>
2018-03-09python: refresh patchesRoss Burton
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. 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>
2018-02-16python3: Fix python3-logging dependenciesTomasz Meresiński
python3-logging depends on python3-netserver (logging/config.py:42) Signed-off-by: Tomasz Meresiński<tomasz.meresinski@comarch.pl> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-02-06python3: update target and native recipes to 3.5.4Derek Straka
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 Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-01-29python3-manifest: add the _pydecimal files to the numbers packageDerek Straka
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 Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-01-20python3: Fix native compilation of gdbm module and manifestAlejandro Hernandez
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. Signed-off-by: Alejandro Hernandez <alejandr@xilinx.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-01-20python*-manifest.json: add dependencies, runpyTim Orling
* 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) Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-01-20python3: Restructure python3 packaging and replace it with autopackagingAlejandro Hernandez
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/ Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-12-02python3: remove two setup.py cross-compile hacksMarkus Lehtonen
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. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-08-16python3: improve reproducibilityJuro Bystricky
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] Signed-off-by: Juro Bystricky <juro.bystricky@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-11python2/python3: fix multiprocessing.BoundedSemaphore not work on ↵Hongxu Jia
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. Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-07-21python3: fix weakref spewing exceptions during interp finalizationMark Asselstine
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. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-05-29python3: Use _sysconfigdata.py to initialize distutils.sysconfigLi Zhou
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. Signed-off-by: Li Zhou <li.zhou@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-18python: update to 3.5.3Alexander Kanavin
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 Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-28python3: do not hardcode "lib" into site-packages search pathAlexander Kanavin
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. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-21python-3.3-multilib.patch: Fixes getpath on multilib configurationsJose Lamego
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] 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>
2017-03-16python3: Remove unused patchesJussi Kukkonen
CVE-2016-5636.patch and use_packed_importlib.patch were removed from SRC_URI as handled in upstream in b192bc02bbf91. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23python3: Add upstream random.c fixes for recent glibcRichard Purdie
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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-11-30python3: Build and package precompiled modulesDominic Sacré
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. Signed-off-by: Dominic Sacré <dominic.sacre@gmx.de> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-09-28python: fix CVE-2016-1000110Mingli Yu
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 Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-10python3-native: Upgrade from 3.5.1 to 3.5.2Alejandro Hernandez
LICENSE did not change, only dates were changed Rebases: - 000-cross-compile.patch - python-3.3-multilib.patch Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-20python3: Security fix CVE-2016-5636Armin Kuster
Affects python3 < 3.5.1 Base Score (4.4) Medium Signed-off-by: Armin Kuster <akuster@mvista.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-07-08meta: update patch metadataRoss Burton
Enforce the correct tag names across all of oe-core for consistency. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-06-02python3: drop 110-enable-zlib.patchAlexander Kanavin
With the patch, the zlib extension wasn't built at all. Without the patch, it gets build just fine. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-01python3: add = to -L linking option only when the path is absoluteAlexander Kanavin
Previously it was added also when the path was relative and not prefixed with ./, which was causing issues with building numpy. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
2016-05-30python-native, python3-native: remove the use of exported HOST_SYS and ↵Alexander Kanavin
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. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
2016-03-23python(3): Disable tkinterMartin Jansa
* 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] Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-12python3: fix do_configure check platform triplet errorHongxu Jia
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] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-09python3: fix patching get_python_lib() in distutils/sysconfig.pyAlexander Kanavin
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 Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-09python3-native: use the previous version of python-config scriptAlexander Kanavin
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. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-07python3: remove optimize by default patchRoss Burton
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. Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-01-20python3: Minor upgrade 3.5.0 -> 3.5.1Alejandro Hernandez
Rebased: - 000-cross-compile.patch Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-07python3: fix installed-vs-shipped when 64bit + multilibRobert Yang
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] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-01python3: Upgrade from 3.4.3 to 3.5Alejandro Hernandez
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 Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-09-12meta: Fix Upstream-Status statementsRoss Burton
Fix a variety of problems such as typos, bad punctuations, or incorrect Upstream-Status values. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-01python3: delete patches that don't get applied anywhereDominic Sacré
These patches are not referenced in any of the Python recipes. Signed-off-by: Dominic Sacré <dominic.sacre@gmx.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-01python3: detect libraries in STAGING_LIBDIRDominic Sacré
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]. Signed-off-by: Dominic Sacré <dominic.sacre@gmx.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>