summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/python/python-3.5-manifest.inc
Commit message (Collapse)AuthorAgeFilesLines
* python3: Restructure python3 packaging and replace it with autopackagingAlejandro Hernandez2018-01-201-1129/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* python-*-manifest/generators: add runpy; python3-plistlibTim Orling2017-12-131-0/+21
| | | | | | | | | | | | * 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-131-72/+897
| | | | | | | | | | | | | | 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>
* python: don't include -tests with modulesMark Asselstine2017-08-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* python-3.5: Move bz2.py, lzma.py and _compression.py from python3-misc to ↵Martin Jansa2017-06-141-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | python3-compression * the /usr/lib/python3.5/_compression.py file is possibly incorrectly included in python3-misc. This runtime dependency is needed in order to use e.g. gzip.py in runtime: >>> import tarfile, zlib, gzip Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/usr/lib/python3.5/gzip.py", line 12, in <module> import _compression ImportError: No module named '_compression' * at least python3-tests and lzma and bz2 still in python3-misc are using this as well: $ grep -R import.*_compression tmp-glibc/work/aarch64-oe-linux/python3/3.5.2-r1.0/packages-split/ tmp-glibc/work/aarch64-oe-linux/python3/3.5.2-r1.0/packages-split/python3-compression/usr/lib/python3.5/gzip.py:import _compression tmp-glibc/work/aarch64-oe-linux/python3/3.5.2-r1.0/packages-split/python3-misc/usr/lib/python3.5/lzma.py:import _compression tmp-glibc/work/aarch64-oe-linux/python3/3.5.2-r1.0/packages-split/python3-misc/usr/lib/python3.5/bz2.py:import _compression tmp-glibc/work/aarch64-oe-linux/python3/3.5.2-r1.0/packages-split/python3-tests/usr/lib/python3.5/test/test_bz2.py:import _compression tmp-glibc/work/aarch64-oe-linux/python3/3.5.2-r1.0/packages-split/python3-tests/usr/lib/python3.5/test/test_lzma.py:import _compression and python3-tests are using it as well, so add new runtime dependency on python3-compression (From OE-Core rev: 987363c3c720b3764f4d64976d7455f6b0bae99c) Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Move config-*/Makefile from misc package to dev packageLi Zhou2017-05-291-1/+1
| | | | | | | | | | Move config-*/Makefile in libdir from misc package to dev package for python3, because it is only needed in development process. (From OE-Core rev: d715dc422ce1723c8d05af7ad4183eeeb36bc2ec) Signed-off-by: Li Zhou <li.zhou@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python2/3: Move config/Makefile from core package to dev packageLi Zhou2017-04-111-2/+2
| | | | | | | | | | Move config/Makefile in libdir from core package to dev package for python, because it is only needed in development process. (From OE-Core rev: 8b55d055f046677c18eeaefe3ca18869eedeb14d) Signed-off-by: Li Zhou <li.zhou@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: fix run-time deps for core python3 librariesDmitry Rozhkov2017-04-101-2/+2
| | | | | | | | | | | | | | The http.server module from python3-netclient imports the html module which is in python3-html. Also xmlrpc.server imports pydoc which is a part of python3-pydoc. But those run-time dependencies are missing from python3-netclient and python3-xmlrpc respectively. Add the missing run-time dependencies. (From OE-Core rev: 8e30b726c44f873e5fd9d3f36c3464a29b97abd8) Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python: remove stale link to "Python for Embedded Systems Site"Bob Cochran2017-04-011-1/+0
| | | | | | | | | | | | | | | | | | | Reference url is a stale, non existent site that returns a 404, so get rid of it Change impacts both the manifest files and the scripts that generate the manifests Run the following from within recipes-devtools/python ../../../scripts/contrib/python/generate-manifest-2.7.py > python-2.7-manifest.inc ../../../scripts/contrib/python/generate-manifest-2.7.py -n > python-native-2.7-manifest.inc ../../../scripts/contrib/python/generate-manifest-3.5.py > python-3.5-manifest.inc ../../../scripts/contrib/python/generate-manifest-3.5.py -n > python-native-3.5-manifest.inc (From OE-Core rev: ae13f580b759211c1a6b59a276f75d589f1db11c) Signed-off-by: Bob Cochran <openembedded@mindchasers.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-3-manifest: split out typingAnders Darander2017-02-051-3/+7
| | | | | | | | | | | This allows us to use typing.py without having to add the whole python3-misc package. (From OE-Core rev: 66c282541a13f2d1224d3ba933a953c0f613fb2a) Signed-off-by: Anders Darander <anders@chargestorm.se> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-3-manifest: add ipaddress to python3-ioAnders Darander2017-02-051-1/+1
| | | | | | | | | | | This allows us to use ipaddress without requiring the add the whole python3-misc. (From OE-Core rev: d0e9013f6c68104369de940f5dd8a6ef76cd0210) Signed-off-by: Anders Darander <anders@chargestorm.se> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-3-manifest: add _compat_pickle to python3-pickleAnders Darander2017-02-051-1/+1
| | | | | | | | | | | This allows us to depend on _compat_pickle.* wihtout having to add the whole python3-misc. (From OE-Core rev: 6c435672b27d1c97ce3776c98d073a92fde887cd) Signed-off-by: Anders Darander <anders@chargestorm.se> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-3-manifest: add socketserver to netserverAnders Darander2017-02-051-1/+1
| | | | | | | | | | socketserver.* should be part of python3-netserver. (From OE-Core rev: 8aa71c7133f996f6ed09a3c094e553bed7f33c7a) Signed-off-by: Anders Darander <anders@chargestorm.se> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-3-manifest: add argparse to RDEPENDS for netclientAnders Darander2017-02-051-1/+1
| | | | | | | | | | http/server.py requires argparse. (From OE-Core rev: 04d3e78b31c247ee521a2d4c15286a8c030637cb) Signed-off-by: Anders Darander <anders@chargestorm.se> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3-manifest: move htlm.py to python3-htmlAnders Darander2017-02-051-1/+1
| | | | | | | | | | This allows us to use html.py without importing misc. (From OE-Core rev: d1fefcaa10b85837d18458e291a3df9093b3a6ea) Signed-off-by: Anders Darander <anders@chargestorm.se> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-3.5-manifest: Add http module to the netclient packageDerek Straka2017-01-161-1/+1
| | | | | | | | | | | Adding http module from Python's standard library. This allow use of the http module without installing all python-misc modules. (From OE-Core rev: 3d0060f9703ba39fbdaafcbdf91e0c319b56f7b3) 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>
* python-3.5-manifest: Add imp to importlibGeorge McCollister2016-12-081-1/+1
| | | | | | | | | | | | The imp python module is the forerunner of importlib. Include imp in the importlib subpackage instead of the misc subpackage so that it can be depended on without bringing in a bunch of unrelated, unused modules. (From OE-Core rev: 512334f102a33833d39af53467894315f0715d07) Signed-off-by: George McCollister <george.mccollister@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Build and package precompiled modulesDominic Sacré2016-11-301-65/+65
| | | | | | | | | | | | | | | | | | | | | 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-3.5-manifest: Add argparse moduleFabio Berton2016-08-251-3/+7
| | | | | | | | | | | | Adding argparse module from Python's standard library. This allow use argparse without installing all python-misc modules. For compatibility, add python3-argparse as RDEPENDS to python3-misc. (From OE-Core rev: f2b96001e074d26f5eb8711c2217a695fb02de4c) Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-3.5-manifest: Rename Queue module to queueFabio Berton2016-08-251-1/+1
| | | | | | | | | | The Queue module has been renamed to queue in Python 3. (From OE-Core rev: e19a430da2ef60b2c6cf6a67210ec1a7b292c8ca) Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-3.5-manifest.inc: the signal module RDEPENDS on enumRobert Yang2016-08-231-1/+1
| | | | | | | | | | | | | | | | | Fixed: $ python3 >>> import signal Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/path/to/sdk/sysroots/x86_64-pokysdk-linux/usr/lib/python3.5/signal.py", line 4, in <module> from enum import IntEnum as _IntEnum ImportError: No module named 'enum' (From OE-Core rev: 6306dc8351c19059c4c2a8e75bb5733e64532732) 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.5-manifest: Fixes several dependencies on the newest python3Alejandro Hernandez2016-08-171-7/+19
| | | | | | | | | | | | | | | This patch adds the following packages: python3-enum (needed by python3-git), python3-selectors (needed by python3-subprocess), python3-signal (needed by python3-subprocess), and it also fixes the following ones with missing dependencies: python3-subprocess, python3-compression, python3-datetime [YOCTO #10127] [YOCTO #10124] [YOCTO #10122] (From OE-Core rev: 0575e8c9fb52a7b594025fd20445a2edd06e3c69) 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>
* python-3.5-manifest: Add some missing RDEPENDSKyle Russell2016-08-171-4/+4
| | | | | | | | | | | | | ctype's util.py needs subprocess lang's inspect.py needs importlib.machinery math's random.py needs crypt's hashlib subprocess imports threading (From OE-Core rev: 38f9d7910fb5b2be5f7b1f62c4c7631d9e7138eb) Signed-off-by: Kyle Russell <bkylerussell@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: update manifest RDEPENDS for importlib and compression packagesDerek Straka2016-07-201-4/+4
| | | | | | | | | | | zipfile.py has dependencies on importlib, threading, and shell importlib has a dependency on lang operator and contextlib added to the lang package instead of falling into misc (From OE-Core rev: 769ad8e114fda1fe112d3747408edbeb7b066a85) Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python3: Add compression to python3-shell dependenciesJussi Kukkonen2016-07-121-1/+1
| | | | | | | | | | python3-shell needs python3-compression for tarfile. (From OE-Core rev: fe5979534bd4fc1f3e5401c9a86e4aff571aec24) Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python: move ast module into python-coreRoss Burton2016-03-121-1/+1
| | | | | | | | | | | | The compile() method returns objects that inherit from ast.AST so it's best that python-core contains this class. [YOCTO #8684] (From OE-Core rev: 48bc643a4ebe74d0fa49fedbe7b0fd63fd0003e8) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python: merge python-elementtree into python-xmlRoss Burton2016-02-111-10/+6
| | | | | | | | | | | python-xml depends on python-elementtree as the latter just contains a C library used by the former. However there's no point to this split apart from increasing the number of packages, so merge -elementtree into python-xml. (From OE-Core rev: 5f7206eba3953b7f29148ecfb791995773ee5fc7) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* python-distutils: add missing dependency on python-emailDominique Hunziker2016-02-041-2/+2
| | | | | | | | (From OE-Core rev: 1a8efbf4f06d9274cd60ada61d34b6bf42c15dc0) Signed-off-by: Dominique Hunziker <dominique.hunziker@gmail.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-011-0/+268
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>