python improvements
v2 cover python improvements
This patchset combines Alejandro Hernandez' new python packaging as well as adding Derek Straka's pypi.bbclass from meta-python.
The commits which delete the old manifests will fail git send-email, so this series must be pulled from git.
The pypi.bbclass added to meta-python by Derek Straka significantly simplifies python module packaging and has utility outside of just the meta-python layer. Most notably, it knows how to generate the SRC_URI, S, UPSTREAM_CHECK_URI and UPSTREAM_CHECK_REGEX variables given a PYPI_PACKAGE. For special cases where PYPI_PACKAGE is not guessable from the BPN, the value can be set in your recipe. For special cases where the upstream source is not bundled as a .tar.gz, the PYPI_PACKAGE_EXT can be set in your recipe. Providing python2 and python3 packaging is also simplified by putting most of the common content into .inc files. Note that it is strongly recommend to use PYTHON_PN to dynamically set "python-" vs. "python3-" prefix for your DEPENDS and RDEPENDS needs. This often moves everything but the "requires python-foo.inc" and "include setuptools*" lines in your python recipes to the common .inc file. Much simpler maintenance.
This patch series adds runpy to the new json-style python-*-manifests, which allows you to run, for example "python -m pip" from the command line. It also adds a couple dependencies that were silently breaking python packages at runtime.
This series modifies all the recipes in recipes-devtools/python which had a SRC_URI pointing to "pythonhosted" to use the pypi.bbclass. Where it made sense, the "python-" and "python3-" specific files were simplified, putting the common content into the .inc file.
Finally, this series upgrades python-scons and python*-setuptools to the latest versions.
The following changes since commit 4469acdf1d0338220f3fe2ecb5e079eea6fda375:
lib/oe/utils: remove param_bool() (2017-12-02 11:25:34 +0000)
are available in the git repository at:
git://push.yoctoproject.org/poky-contrib timo/pypi-v2
Alejandro Hernandez (5):
python: Restructure python packaging and replace it with autopackaging
python3: Restructure python3 packaging and replace it with
autopackaging
python3: fix RDEPENDS on several recipes, due to non-existent python3
packages
hwlatdetect: fix RDEPENDS to avoid QA failures
python-scons: Remove python-importlib dependency
Tim Orling (14):
pypi.bbclass: bring in from meta-python
python2 create_manifest.py: fix trailing whitespace in json python*-manifest.json: add dependencies, runpy python*-setuptools: upgrade to 38.2.3; use pypi.bbclass; improvements
python3-pip: use pypi.bbclass
python-nose: use pypi.bbclass
python-six: use pypi.bbclass
python-async: use pypi.bbclass
python-mako: use pypi.bbclass
python-smmap: use pypi.bbclass
python-gitdb: use pypi.bbclass
python-git: use pypi.bbclass
python3-iniparse: use pypi.bbclass
python-scons: upgrade to 3.0.1; use pypi.bbclass
meta/classes/pypi.bbclass | 26 +
meta/conf/documentation.conf | 3 +
meta/recipes-core/libxml/libxml2_2.9.7.bb | 2 +-
.../bootchart2/bootchart2_0.14.8.bb | 2 +-
meta/recipes-devtools/dnf/dnf_2.6.3.bb | 26 +-
meta/recipes-devtools/gdb/gdb-cross-canadian.inc | 4 +-
.../opkg-utils/opkg-utils_0.3.5.bb | 2 +-
.../python-numpy/python3-numpy_1.13.3.bb | 2 -
.../python/python-2.7-manifest.inc | 287 -----
.../python/python-3.5-manifest.inc | 283 -----
meta/recipes-devtools/python/python-async.inc | 5 +-
meta/recipes-devtools/python/python-git.inc | 23 +-
meta/recipes-devtools/python/python-gitdb.inc | 16 +-
meta/recipes-devtools/python/python-mako.inc | 14 +-
.../python/python-native-3.5-manifest.inc | 10 -
.../python/python-native_2.7.13.bb | 24 +-
meta/recipes-devtools/python/python-nose.inc | 18 +
meta/recipes-devtools/python/python-nose_1.3.7.bb | 25 +-
...ative_3.0.0.bb => python-scons-native_3.0.1.bb} | 0
...onscript-Support-python2-print-statements.patch | 38 -
meta/recipes-devtools/python/python-scons_3.0.0.bb | 28 -
meta/recipes-devtools/python/python-scons_3.0.1.bb | 18 +
meta/recipes-devtools/python/python-setuptools.inc | 39 +-
.../python/python-setuptools_36.5.0.bb | 38 -
.../python/python-setuptools_38.2.3.bb | 9 +
meta/recipes-devtools/python/python-six.inc | 8 +-
meta/recipes-devtools/python/python-smmap.inc | 9 +-
.../python/python/create_manifest2.py | 277 +++++
.../python/python/get_module_deps2.py | 112 ++
.../python/python/python2-manifest.json | 1044 ++++++++++++++++++
.../python/python/sitecustomize.py | 8 -
.../recipes-devtools/python/python3-async_0.6.2.bb | 3 -
meta/recipes-devtools/python/python3-git_2.1.7.bb | 4 -
.../recipes-devtools/python/python3-gitdb_0.6.4.bb | 4 -
.../python/python3-iniparse_0.4.bb | 11 +-
meta/recipes-devtools/python/python3-mako_1.0.7.bb | 9 -
.../python/python3-native_3.5.3.bb | 30 +-
meta/recipes-devtools/python/python3-nose_1.3.7.bb | 24 +-
meta/recipes-devtools/python/python3-pip_9.0.1.bb | 15 +-
.../python/python3-pygobject_3.26.0.bb | 2 +-
.../python/python3-setuptools_36.5.0.bb | 38 -
.../python/python3-setuptools_38.2.3.bb | 6 +
meta/recipes-devtools/python/python3-six_1.11.0.bb | 4 +-
.../recipes-devtools/python/python3-smmap_0.9.0.bb | 2 -
.../python/python3/create_manifest3.py | 321 ++++++
.../python/python3/get_module_deps3.py | 146 +++
.../python/python3/python3-manifest.json | 1130 ++++++++++++++++++++
meta/recipes-devtools/python/python3_3.5.3.bb | 83 +-
meta/recipes-devtools/python/python_2.7.13.bb | 80 +-
.../qemu/nativesdk-qemu-helper_1.0.bb | 2 +-
meta/recipes-graphics/piglit/piglit_git.bb | 4 +-
meta/recipes-rt/rt-tests/hwlatdetect_1.1.bb | 2 +-
meta/recipes-rt/rt-tests/rt-tests_1.1.bb | 2 +-
scripts/contrib/python/generate-manifest-2.7.py | 421 --------
scripts/contrib/python/generate-manifest-3.5.py | 433 --------
55 files changed, 3443 insertions(+), 1733 deletions(-)
create mode 100644 meta/classes/pypi.bbclass
delete mode 100644 meta/recipes-devtools/python/python-2.7-manifest.inc
delete mode 100644 meta/recipes-devtools/python/python-3.5-manifest.inc
delete mode 100644 meta/recipes-devtools/python/python-native-3.5-manifest.inc
create mode 100644 meta/recipes-devtools/python/python-nose.inc
rename meta/recipes-devtools/python/{python-scons-native_3.0.0.bb => python-scons-native_3.0.1.bb} (100%)
delete mode 100644 meta/recipes-devtools/python/python-scons/SConscript-Support-python2-print-statements.patch
delete mode 100644 meta/recipes-devtools/python/python-scons_3.0.0.bb
create mode 100644 meta/recipes-devtools/python/python-scons_3.0.1.bb
delete mode 100644 meta/recipes-devtools/python/python-setuptools_36.5.0.bb
create mode 100644 meta/recipes-devtools/python/python-setuptools_38.2.3.bb
create mode 100644 meta/recipes-devtools/python/python/create_manifest2.py
create mode 100644 meta/recipes-devtools/python/python/get_module_deps2.py
create mode 100644 meta/recipes-devtools/python/python/python2-manifest.json
delete mode 100644 meta/recipes-devtools/python/python3-setuptools_36.5.0.bb
create mode 100644 meta/recipes-devtools/python/python3-setuptools_38.2.3.bb
create mode 100644 meta/recipes-devtools/python/python3/create_manifest3.py
create mode 100644 meta/recipes-devtools/python/python3/get_module_deps3.py
create mode 100644 meta/recipes-devtools/python/python3/python3-manifest.json
delete mode 100755 scripts/contrib/python/generate-manifest-2.7.py
delete mode 100755 scripts/contrib/python/generate-manifest-3.5.pySignature · 1 line
2.13.6
PATCH v2 1/19 python: Restructure python packaging and replace it with autopackaging
From: Alejandro Hernandez <[email protected]>
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.soHow 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]
--- .../python/python-2.7-manifest.inc | 287 ------ .../python/python-native_2.7.13.bb | 24 +- .../python/python/create_manifest2.py | 277 ++++++ .../python/python/get_module_deps2.py | 112 +++ .../python/python/python2-manifest.json | 1033 ++++++++++++++++++++ .../python/python/sitecustomize.py | 8 - meta/recipes-devtools/python/python_2.7.13.bb | 80 +- scripts/contrib/python/generate-manifest-2.7.py | 421 -------- 8 files changed, 1521 insertions(+), 721 deletions(-) delete mode 100644 meta/recipes-devtools/python/python-2.7-manifest.inc create mode 100644 meta/recipes-devtools/python/python/create_manifest2.py create mode 100644 meta/recipes-devtools/python/python/get_module_deps2.py create mode 100644 meta/recipes-devtools/python/python/python2-manifest.json delete mode 100755 scripts/contrib/python/generate-manifest-2.7.py
meta/recipes-devtools/python/python-2.7-manifest.inc deleted +0 -287
@@ -1,287 +0,0 @@ - -# WARNING: This file is AUTO GENERATED: Manual edits will be lost next time I regenerate the file. -# Generator: '../../../scripts/contrib/python/generate-manifest-2.7.py' Version 20110222.2 (C) 2002-2010 Michael 'Mickey' Lauer <[email protected]> - - - -PROVIDES+="${PN}-2to3 ${PN}-argparse ${PN}-audio ${PN}-bsddb ${PN}-codecs ${PN}-compile ${PN}-compiler ${PN}-compression ${PN}-contextlib ${PN}-core ${PN}-crypt ${PN}-ctypes ${PN}-curses ${PN}-datetime ${PN}-db ${PN}-debugger ${PN}-dev ${PN}-difflib ${PN}-distutils ${PN}-distutils-staticdev ${PN}-doctest ${PN}-email ${PN}-fcntl ${PN}-gdbm ${PN}-hotshot ${PN}-html ${PN}-idle ${PN}-image ${PN}-importlib ${PN}-io ${PN}-json ${PN}-lang ${PN}-logging ${PN}-mailbox ${PN}-math ${PN}-mime ${PN}-mmap ${PN}-multiprocessing ${PN}-netclient ${PN}-netserver ${PN}-numbers ${PN}-pickle ${PN}-pkgutil ${PN}-plistlib ${PN}-pprint ${PN}-profile ${PN}-pydoc ${PN}-re ${PN}-readline ${PN}-resource ${PN}-robotparser ${PN}-shell ${PN}-smtpd ${PN}-sqlite3 ${PN}-sqlite3-tests ${PN}-stringold ${PN}-subprocess ${PN}-syslog ${PN}-terminal ${PN}-tests ${PN}-textutils ${PN}-threading ${PN}-tkinter ${PN}-unittest ${PN}-unixadmin ${PN}-xml ${PN}-xmlrpc ${PN}-zlib " - -PACKAGES="${PN}-dbg ${PN}-2to3 ${PN}-argparse ${PN}-audio ${PN}-bsddb ${PN}-codecs ${PN}-compile ${PN}-compiler ${PN}-compression ${PN}-contextlib ${PN}-core ${PN}-crypt ${PN}-ctypes ${PN}-curses ${PN}-datetime ${PN}-db ${PN}-debugger ${PN}-dev ${PN}-difflib ${PN}-distutils-staticdev ${PN}-distutils ${PN}-doctest ${PN}-email ${PN}-fcntl ${PN}-gdbm ${PN}-hotshot ${PN}-html ${PN}-idle ${PN}-image ${PN}-importlib ${PN}-io ${PN}-json ${PN}-lang ${PN}-logging ${PN}-mailbox ${PN}-math ${PN}-mime ${PN}-mmap ${PN}-multiprocessing ${PN}-netclient ${PN}-netserver ${PN}-numbers ${PN}-pickle ${PN}-pkgutil ${PN}-plistlib ${PN}-pprint ${PN}-profile ${PN}-pydoc ${PN}-re ${PN}-readline ${PN}-resource ${PN}-robotparser ${PN}-shell ${PN}-smtpd ${PN}-sqlite3 ${PN}-sqlite3-tests ${PN}-stringold ${PN}-subprocess ${PN}-syslog ${PN}-terminal ${PN}-tests ${PN}-textutils ${PN}-threading ${PN}-tkinter ${PN}-unittest ${PN}-unixadmin ${PN}-xml ${PN}-xmlrpc ${PN}-zlib ${PN}-modules" - -SUMMARY_${PN}-2to3="Python automated Python 2 to 3 code translator" -RDEPENDS_${PN}-2to3="${PN}-core" -FILES_${PN}-2to3="${bindir}/2to3 ${libdir}/python2.7/lib2to3 " - -SUMMARY_${PN}-argparse="Python command line argument parser" -RDEPENDS_${PN}-argparse="${PN}-core ${PN}-codecs ${PN}-textutils" -FILES_${PN}-argparse="${libdir}/python2.7/argparse.* " - -SUMMARY_${PN}-audio="Python Audio Handling" -RDEPENDS_${PN}-audio="${PN}-core" -FILES_${PN}-audio="${libdir}/python2.7/wave.* ${libdir}/python2.7/chunk.* ${libdir}/python2.7/sndhdr.* ${libdir}/python2.7/lib-dynload/ossaudiodev.so ${libdir}/python2.7/lib-dynload/audioop.so ${libdir}/python2.7/audiodev.* ${libdir}/python2.7/sunaudio.* ${libdir}/python2.7/sunau.* ${libdir}/python2.7/toaiff.* " - -SUMMARY_${PN}-bsddb="Python bindings for the Berkeley Database" -RDEPENDS_${PN}-bsddb="${PN}-core" -FILES_${PN}-bsddb="${libdir}/python2.7/bsddb ${libdir}/python2.7/lib-dynload/_bsddb.so " - -SUMMARY_${PN}-codecs="Python codecs, encodings & i18n support" -RDEPENDS_${PN}-codecs="${PN}-core ${PN}-lang" -FILES_${PN}-codecs="${libdir}/python2.7/codecs.* ${libdir}/python2.7/encodings ${libdir}/python2.7/gettext.* ${libdir}/python2.7/locale.* ${libdir}/python2.7/lib-dynload/_locale.so ${libdir}/python2.7/lib-dynload/_codecs* ${libdir}/python2.7/lib-dynload/_multibytecodec.so ${libdir}/python2.7/lib-dynload/unicodedata.so ${libdir}/python2.7/stringprep.* ${libdir}/python2.7/xdrlib.* " - -SUMMARY_${PN}-compile="Python bytecode compilation support" -RDEPENDS_${PN}-compile="${PN}-core" -FILES_${PN}-compile="${libdir}/python2.7/py_compile.* ${libdir}/python2.7/compileall.* " - -SUMMARY_${PN}-compiler="Python compiler support" -RDEPENDS_${PN}-compiler="${PN}-core" -FILES_${PN}-compiler="${libdir}/python2.7/compiler " - -SUMMARY_${PN}-compression="Python high-level compression support" -RDEPENDS_${PN}-compression="${PN}-core ${PN}-zlib" -FILES_${PN}-compression="${libdir}/python2.7/gzip.* ${libdir}/python2.7/zipfile.* ${libdir}/python2.7/tarfile.* ${libdir}/python2.7/lib-dynload/bz2.so " - -SUMMARY_${PN}-contextlib="Python utilities for with-statementcontexts." -RDEPENDS_${PN}-contextlib="${PN}-core" -FILES_${PN}-contextlib="${libdir}/python${PYTHON_MAJMIN}/contextlib.* " - -SUMMARY_${PN}-core="Python interpreter and core modules" -RDEPENDS_${PN}-core="${PN}-lang ${PN}-re" -FILES_${PN}-core="${libdir}/python2.7/__future__.* ${libdir}/python2.7/_abcoll.* ${libdir}/python2.7/abc.* ${libdir}/python2.7/ast.* ${libdir}/python2.7/copy.* ${libdir}/python2.7/copy_reg.* ${libdir}/python2.7/ConfigParser.* ${libdir}/python2.7/genericpath.* ${libdir}/python2.7/getopt.* ${libdir}/python2.7/linecache.* ${libdir}/python2.7/new.* ${libdir}/python2.7/os.* ${libdir}/python2.7/posixpath.* ${libdir}/python2.7/struct.* ${libdir}/python2.7/warnings.* ${libdir}/python2.7/site.* ${libdir}/python2.7/stat.* ${libdir}/python2.7/UserDict.* ${libdir}/python2.7/UserList.* ${libdir}/python2.7/UserString.* ${libdir}/python2.7/lib-dynload/binascii.so ${libdir}/python2.7/lib-dynload/_struct.so ${libdir}/python2.7/lib-dynload/time.so ${libdir}/python2.7/lib-dynload/xreadlines.so ${libdir}/python2.7/types.* ${libdir}/python2.7/platform.* ${bindir}/python* ${libdir}/python2.7/_weakrefset.* ${libdir}/python2.7/sysconfig.* ${libdir}/python2.7/_sysconfigdata.* ${includedir}/python${PYTHON_MAJMIN}/pyconfig*.h ${libdir}/python${PYTHON_MAJMIN}/sitecustomize.py " - -SUMMARY_${PN}-crypt="Python basic cryptographic and hashing support" -RDEPENDS_${PN}-crypt="${PN}-core" -FILES_${PN}-crypt="${libdir}/python2.7/hashlib.* ${libdir}/python2.7/md5.* ${libdir}/python2.7/sha.* ${libdir}/python2.7/lib-dynload/crypt.so ${libdir}/python2.7/lib-dynload/_hashlib.so ${libdir}/python2.7/lib-dynload/_sha256.so ${libdir}/python2.7/lib-dynload/_sha512.so " - -SUMMARY_${PN}-ctypes="Python C types support" -RDEPENDS_${PN}-ctypes="${PN}-core" -FILES_${PN}-ctypes="${libdir}/python2.7/ctypes ${libdir}/python2.7/lib-dynload/_ctypes.so ${libdir}/python2.7/lib-dynload/_ctypes_test.so " - -SUMMARY_${PN}-curses="Python curses support" -RDEPENDS_${PN}-curses="${PN}-core" -FILES_${PN}-curses="${libdir}/python2.7/curses ${libdir}/python2.7/lib-dynload/_curses.so ${libdir}/python2.7/lib-dynload/_curses_panel.so " - -SUMMARY_${PN}-datetime="Python calendar and time support" -RDEPENDS_${PN}-datetime="${PN}-core ${PN}-codecs" -FILES_${PN}-datetime="${libdir}/python2.7/_strptime.* ${libdir}/python2.7/calendar.* ${libdir}/python2.7/lib-dynload/datetime.so " - -SUMMARY_${PN}-db="Python file-based database support" -RDEPENDS_${PN}-db="${PN}-core" -FILES_${PN}-db="${libdir}/python2.7/anydbm.* ${libdir}/python2.7/dumbdbm.* ${libdir}/python2.7/whichdb.* " - -SUMMARY_${PN}-debugger="Python debugger" -RDEPENDS_${PN}-debugger="${PN}-core ${PN}-io ${PN}-lang ${PN}-re ${PN}-stringold ${PN}-shell ${PN}-pprint" -FILES_${PN}-debugger="${libdir}/python2.7/bdb.* ${libdir}/python2.7/pdb.* " - -SUMMARY_${PN}-dev="Python development package" -RDEPENDS_${PN}-dev="${PN}-core" -FILES_${PN}-dev="${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la ${libdir}/*.a ${libdir}/*.o ${libdir}/pkgconfig ${base_libdir}/*.a ${base_libdir}/*.o ${datadir}/aclocal ${datadir}/pkgconfig ${libdir}/python2.7/config/Makefile " - -SUMMARY_${PN}-difflib="Python helpers for computing deltas between objects" -RDEPENDS_${PN}-difflib="${PN}-lang ${PN}-re" -FILES_${PN}-difflib="${libdir}/python2.7/difflib.* " - -SUMMARY_${PN}-distutils="Python Distribution Utilities" -RDEPENDS_${PN}-distutils="${PN}-core ${PN}-email" -FILES_${PN}-distutils="${libdir}/python2.7/config ${libdir}/python2.7/distutils " - -SUMMARY_${PN}-distutils-staticdev="Python distribution utilities (static libraries)" -RDEPENDS_${PN}-distutils-staticdev="${PN}-distutils" -FILES_${PN}-distutils-staticdev="${libdir}/python2.7/config/lib*.a " - -SUMMARY_${PN}-doctest="Python framework for running examples in docstrings" -RDEPENDS_${PN}-doctest="${PN}-core ${PN}-lang ${PN}-io ${PN}-re ${PN}-unittest ${PN}-debugger ${PN}-difflib" -FILES_${PN}-doctest="${libdir}/python2.7/doctest.* " - -SUMMARY_${PN}-email="Python email support" -RDEPENDS_${PN}-email="${PN}-core ${PN}-io ${PN}-re ${PN}-mime ${PN}-audio ${PN}-image ${PN}-netclient" -FILES_${PN}-email="${libdir}/python2.7/imaplib.* ${libdir}/python2.7/email " - -SUMMARY_${PN}-fcntl="Python's fcntl interface" -RDEPENDS_${PN}-fcntl="${PN}-core" -FILES_${PN}-fcntl="${libdir}/python2.7/lib-dynload/fcntl.so " - -SUMMARY_${PN}-gdbm="Python GNU database support" -RDEPENDS_${PN}-gdbm="${PN}-core" -FILES_${PN}-gdbm="${libdir}/python2.7/lib-dynload/gdbm.so " - -SUMMARY_${PN}-hotshot="Python hotshot performance profiler" -RDEPENDS_${PN}-hotshot="${PN}-core" -FILES_${PN}-hotshot="${libdir}/python2.7/hotshot ${libdir}/python2.7/lib-dynload/_hotshot.so " - -SUMMARY_${PN}-html="Python HTML processing support" -RDEPENDS_${PN}-html="${PN}-core" -FILES_${PN}-html="${libdir}/python2.7/formatter.* ${libdir}/python2.7/htmlentitydefs.* ${libdir}/python2.7/htmllib.* ${libdir}/python2.7/markupbase.* ${libdir}/python2.7/sgmllib.* ${libdir}/python2.7/HTMLParser.* " - -SUMMARY_${PN}-idle="Python Integrated Development Environment" -RDEPENDS_${PN}-idle="${PN}-core ${PN}-tkinter" -FILES_${PN}-idle="${bindir}/idle ${libdir}/python2.7/idlelib " - -SUMMARY_${PN}-image="Python graphical image handling" -RDEPENDS_${PN}-image="${PN}-core" -FILES_${PN}-image="${libdir}/python2.7/colorsys.* ${libdir}/python2.7/imghdr.* ${libdir}/python2.7/lib-dynload/imageop.so ${libdir}/python2.7/lib-dynload/rgbimg.so " - -SUMMARY_${PN}-importlib="Python import implementation library" -RDEPENDS_${PN}-importlib="${PN}-core" -FILES_${PN}-importlib="${libdir}/python2.7/importlib " - -SUMMARY_${PN}-io="Python low-level I/O" -RDEPENDS_${PN}-io="${PN}-core ${PN}-math ${PN}-textutils ${PN}-netclient ${PN}-contextlib" -FILES_${PN}-io="${libdir}/python2.7/lib-dynload/_socket.so ${libdir}/python2.7/lib-dynload/_io.so ${libdir}/python2.7/lib-dynload/_ssl.so ${libdir}/python2.7/lib-dynload/select.so ${libdir}/python2.7/lib-dynload/termios.so ${libdir}/python2.7/lib-dynload/cStringIO.so ${libdir}/python2.7/pipes.* ${libdir}/python2.7/socket.* ${libdir}/python2.7/ssl.* ${libdir}/python2.7/tempfile.* ${libdir}/python2.7/StringIO.* ${libdir}/python2.7/io.* ${libdir}/python2.7/_pyio.* " - -SUMMARY_${PN}-json="Python JSON support" -RDEPENDS_${PN}-json="${PN}-core ${PN}-math ${PN}-re ${PN}-codecs" -FILES_${PN}-json="${libdir}/python2.7/json ${libdir}/python2.7/lib-dynload/_json.so " - -SUMMARY_${PN}-lang="Python low-level language support" -RDEPENDS_${PN}-lang="${PN}-core" -FILES_${PN}-lang="${libdir}/python2.7/lib-dynload/_bisect.so ${libdir}/python2.7/lib-dynload/_collections.so ${libdir}/python2.7/lib-dynload/_heapq.so ${libdir}/python2.7/lib-dynload/_weakref.so ${libdir}/python2.7/lib-dynload/_functools.so ${libdir}/python2.7/lib-dynload/array.so ${libdir}/python2.7/lib-dynload/itertools.so ${libdir}/python2.7/lib-dynload/operator.so ${libdir}/python2.7/lib-dynload/parser.so ${libdir}/python2.7/atexit.* ${libdir}/python2.7/bisect.* ${libdir}/python2.7/code.* ${libdir}/python2.7/codeop.* ${libdir}/python2.7/collections.* ${libdir}/python2.7/dis.* ${libdir}/python2.7/functools.* ${libdir}/python2.7/heapq.* ${libdir}/python2.7/inspect.* ${libdir}/python2.7/keyword.* ${libdir}/python2.7/opcode.* ${libdir}/python2.7/symbol.* ${libdir}/python2.7/repr.* ${libdir}/python2.7/token.* ${libdir}/python2.7/tokenize.* ${libdir}/python2.7/traceback.* ${libdir}/python2.7/weakref.* " - -SUMMARY_${PN}-logging="Python logging support" -RDEPENDS_${PN}-logging="${PN}-core ${PN}-io ${PN}-lang ${PN}-pickle ${PN}-stringold" -FILES_${PN}-logging="${libdir}/python2.7/logging " - -SUMMARY_${PN}-mailbox="Python mailbox format support" -RDEPENDS_${PN}-mailbox="${PN}-core ${PN}-mime" -FILES_${PN}-mailbox="${libdir}/python2.7/mailbox.* " - -SUMMARY_${PN}-math="Python math support" -RDEPENDS_${PN}-math="${PN}-core ${PN}-crypt" -FILES_${PN}-math="${libdir}/python2.7/lib-dynload/cmath.so ${libdir}/python2.7/lib-dynload/math.so ${libdir}/python2.7/lib-dynload/_random.so ${libdir}/python2.7/random.* ${libdir}/python2.7/sets.* " - -SUMMARY_${PN}-mime="Python MIME handling APIs" -RDEPENDS_${PN}-mime="${PN}-core ${PN}-io" -FILES_${PN}-mime="${libdir}/python2.7/mimetools.* ${libdir}/python2.7/uu.* ${libdir}/python2.7/quopri.* ${libdir}/python2.7/rfc822.* ${libdir}/python2.7/MimeWriter.* " - -SUMMARY_${PN}-mmap="Python memory-mapped file support" -RDEPENDS_${PN}-mmap="${PN}-core ${PN}-io" -FILES_${PN}-mmap="${libdir}/python2.7/lib-dynload/mmap.so " - -SUMMARY_${PN}-multiprocessing="Python multiprocessing support" -RDEPENDS_${PN}-multiprocessing="${PN}-core ${PN}-io ${PN}-lang ${PN}-pickle ${PN}-threading ${PN}-ctypes ${PN}-mmap" -FILES_${PN}-multiprocessing="${libdir}/python2.7/lib-dynload/_multiprocessing.so ${libdir}/python2.7/multiprocessing " - -SUMMARY_${PN}-netclient="Python Internet Protocol clients" -RDEPENDS_${PN}-netclient="${PN}-core ${PN}-crypt ${PN}-datetime ${PN}-io ${PN}-lang ${PN}-logging ${PN}-mime" -FILES_${PN}-netclient="${libdir}/python2.7/*Cookie*.* ${libdir}/python2.7/base64.* ${libdir}/python2.7/cookielib.* ${libdir}/python2.7/ftplib.* ${libdir}/python2.7/gopherlib.* ${libdir}/python2.7/hmac.* ${libdir}/python2.7/httplib.* ${libdir}/python2.7/mimetypes.* ${libdir}/python2.7/nntplib.* ${libdir}/python2.7/poplib.* ${libdir}/python2.7/smtplib.* ${libdir}/python2.7/telnetlib.* ${libdir}/python2.7/urllib.* ${libdir}/python2.7/urllib2.* ${libdir}/python2.7/urlparse.* ${libdir}/python2.7/uuid.* ${libdir}/python2.7/rfc822.* ${libdir}/python2.7/mimetools.* " - -SUMMARY_${PN}-netserver="Python Internet Protocol servers" -RDEPENDS_${PN}-netserver="${PN}-core ${PN}-netclient ${PN}-shell ${PN}-threading" -FILES_${PN}-netserver="${libdir}/python2.7/cgi.* ${libdir}/python2.7/*HTTPServer.* ${libdir}/python2.7/SocketServer.* " - -SUMMARY_${PN}-numbers="Python number APIs" -RDEPENDS_${PN}-numbers="${PN}-core ${PN}-lang ${PN}-re" -FILES_${PN}-numbers="${libdir}/python2.7/decimal.* ${libdir}/python2.7/fractions.* ${libdir}/python2.7/numbers.* " - -SUMMARY_${PN}-pickle="Python serialisation/persistence support" -RDEPENDS_${PN}-pickle="${PN}-core ${PN}-codecs ${PN}-io ${PN}-re" -FILES_${PN}-pickle="${libdir}/python2.7/pickle.* ${libdir}/python2.7/shelve.* ${libdir}/python2.7/lib-dynload/cPickle.so ${libdir}/python2.7/pickletools.* " - -SUMMARY_${PN}-pkgutil="Python package extension utility support" -RDEPENDS_${PN}-pkgutil="${PN}-core" -FILES_${PN}-pkgutil="${libdir}/python2.7/pkgutil.* " - -SUMMARY_${PN}-plistlib="Generate and parse Mac OS X .plist files" -RDEPENDS_${PN}-plistlib="${PN}-core ${PN}-datetime ${PN}-io" -FILES_${PN}-plistlib="${libdir}/python2.7/plistlib.* " - -SUMMARY_${PN}-pprint="Python pretty-print support" -RDEPENDS_${PN}-pprint="${PN}-core ${PN}-io" -FILES_${PN}-pprint="${libdir}/python2.7/pprint.* " - -SUMMARY_${PN}-profile="Python basic performance profiling support" -RDEPENDS_${PN}-profile="${PN}-core ${PN}-textutils" -FILES_${PN}-profile="${libdir}/python2.7/profile.* ${libdir}/python2.7/pstats.* ${libdir}/python2.7/cProfile.* ${libdir}/python2.7/lib-dynload/_lsprof.so " - -SUMMARY_${PN}-pydoc="Python interactive help support" -RDEPENDS_${PN}-pydoc="${PN}-core ${PN}-lang ${PN}-stringold ${PN}-re" -FILES_${PN}-pydoc="${bindir}/pydoc ${libdir}/python2.7/pydoc.* ${libdir}/python2.7/pydoc_data " - -SUMMARY_${PN}-re="Python Regular Expression APIs" -RDEPENDS_${PN}-re="${PN}-core" -FILES_${PN}-re="${libdir}/python2.7/re.* ${libdir}/python2.7/sre.* ${libdir}/python2.7/sre_compile.* ${libdir}/python2.7/sre_constants* ${libdir}/python2.7/sre_parse.* " - -SUMMARY_${PN}-readline="Python readline support" -RDEPENDS_${PN}-readline="${PN}-core" -FILES_${PN}-readline="${libdir}/python2.7/lib-dynload/readline.so ${libdir}/python2.7/rlcompleter.* " - -SUMMARY_${PN}-resource="Python resource control interface" -RDEPENDS_${PN}-resource="${PN}-core" -FILES_${PN}-resource="${libdir}/python2.7/lib-dynload/resource.so " - -SUMMARY_${PN}-robotparser="Python robots.txt parser" -RDEPENDS_${PN}-robotparser="${PN}-core ${PN}-netclient" -FILES_${PN}-robotparser="${libdir}/python2.7/robotparser.* " - -SUMMARY_${PN}-shell="Python shell-like functionality" -RDEPENDS_${PN}-shell="${PN}-core ${PN}-re" -FILES_${PN}-shell="${libdir}/python2.7/cmd.* ${libdir}/python2.7/commands.* ${libdir}/python2.7/dircache.* ${libdir}/python2.7/fnmatch.* ${libdir}/python2.7/glob.* ${libdir}/python2.7/popen2.* ${libdir}/python2.7/shlex.* ${libdir}/python2.7/shutil.* " - -SUMMARY_${PN}-smtpd="Python Simple Mail Transport Daemon" -RDEPENDS_${PN}-smtpd="${PN}-core ${PN}-netserver ${PN}-email ${PN}-mime" -FILES_${PN}-smtpd="${bindir}/smtpd.* ${libdir}/python2.7/smtpd.* " - -SUMMARY_${PN}-sqlite3="Python Sqlite3 database support" -RDEPENDS_${PN}-sqlite3="${PN}-core ${PN}-datetime ${PN}-lang ${PN}-crypt ${PN}-io ${PN}-threading ${PN}-zlib" -FILES_${PN}-sqlite3="${libdir}/python2.7/lib-dynload/_sqlite3.so ${libdir}/python2.7/sqlite3/dbapi2.* ${libdir}/python2.7/sqlite3/__init__.* ${libdir}/python2.7/sqlite3/dump.* " - -SUMMARY_${PN}-sqlite3-tests="Python Sqlite3 database support tests" -RDEPENDS_${PN}-sqlite3-tests="${PN}-core ${PN}-sqlite3" -FILES_${PN}-sqlite3-tests="${libdir}/python2.7/sqlite3/test " - -SUMMARY_${PN}-stringold="Python string APIs [deprecated]" -RDEPENDS_${PN}-stringold="${PN}-core ${PN}-re" -FILES_${PN}-stringold="${libdir}/python2.7/lib-dynload/strop.so ${libdir}/python2.7/string.* ${libdir}/python2.7/stringold.* " - -SUMMARY_${PN}-subprocess="Python subprocess support" -RDEPENDS_${PN}-subprocess="${PN}-core ${PN}-io ${PN}-re ${PN}-fcntl ${PN}-pickle" -FILES_${PN}-subprocess="${libdir}/python2.7/subprocess.* " - -SUMMARY_${PN}-syslog="Python syslog interface" -RDEPENDS_${PN}-syslog="${PN}-core" -FILES_${PN}-syslog="${libdir}/python2.7/lib-dynload/syslog.so " - -SUMMARY_${PN}-terminal="Python terminal controlling support" -RDEPENDS_${PN}-terminal="${PN}-core ${PN}-io" -FILES_${PN}-terminal="${libdir}/python2.7/pty.* ${libdir}/python2.7/tty.* " - -SUMMARY_${PN}-tests="Python tests" -RDEPENDS_${PN}-tests="${PN}-core ${PN}-modules" -FILES_${PN}-tests="${libdir}/python2.7/test " - -SUMMARY_${PN}-textutils="Python option parsing, text wrapping and CSV support" -RDEPENDS_${PN}-textutils="${PN}-core ${PN}-io ${PN}-re ${PN}-stringold" -FILES_${PN}-textutils="${libdir}/python2.7/lib-dynload/_csv.so ${libdir}/python2.7/csv.* ${libdir}/python2.7/optparse.* ${libdir}/python2.7/textwrap.* " - -SUMMARY_${PN}-threading="Python threading & synchronization support" -RDEPENDS_${PN}-threading="${PN}-core ${PN}-lang" -FILES_${PN}-threading="${libdir}/python2.7/_threading_local.* ${libdir}/python2.7/dummy_thread.* ${libdir}/python2.7/dummy_threading.* ${libdir}/python2.7/mutex.* ${libdir}/python2.7/threading.* ${libdir}/python2.7/Queue.* " - -SUMMARY_${PN}-tkinter="Python Tcl/Tk bindings" -RDEPENDS_${PN}-tkinter="${PN}-core" -FILES_${PN}-tkinter="${libdir}/python2.7/lib-dynload/_tkinter.so ${libdir}/python2.7/lib-tk " - -SUMMARY_${PN}-unittest="Python unit testing framework" -RDEPENDS_${PN}-unittest="${PN}-core ${PN}-stringold ${PN}-lang ${PN}-io ${PN}-difflib ${PN}-pprint ${PN}-shell" -FILES_${PN}-unittest="${libdir}/python2.7/unittest/ " - -SUMMARY_${PN}-unixadmin="Python Unix administration support" -RDEPENDS_${PN}-unixadmin="${PN}-core" -FILES_${PN}-unixadmin="${libdir}/python2.7/lib-dynload/nis.so ${libdir}/python2.7/lib-dynload/grp.so ${libdir}/python2.7/lib-dynload/pwd.so ${libdir}/python2.7/getpass.* " - -SUMMARY_${PN}-xml="Python basic XML support" -RDEPENDS_${PN}-xml="${PN}-core ${PN}-re" -FILES_${PN}-xml="${libdir}/python2.7/lib-dynload/_elementtree.so ${libdir}/python2.7/lib-dynload/pyexpat.so ${libdir}/python2.7/xml ${libdir}/python2.7/xmllib.* " - -SUMMARY_${PN}-xmlrpc="Python XML-RPC support" -RDEPENDS_${PN}-xmlrpc="${PN}-core ${PN}-xml ${PN}-netserver ${PN}-lang" -FILES_${PN}-xmlrpc="${libdir}/python2.7/xmlrpclib.* ${libdir}/python2.7/SimpleXMLRPCServer.* ${libdir}/python2.7/DocXMLRPCServer.* " - -SUMMARY_${PN}-zlib="Python zlib compression support" -RDEPENDS_${PN}-zlib="${PN}-core" -FILES_${PN}-zlib="${libdir}/python2.7/lib-dynload/zlib.so " - -SUMMARY_${PN}-modules="All Python modules" -RDEPENDS_${PN}-modules="${PN}-2to3 ${PN}-argparse ${PN}-audio ${PN}-bsddb ${PN}-codecs ${PN}-compile ${PN}-compiler ${PN}-compression ${PN}-contextlib ${PN}-core ${PN}-crypt ${PN}-ctypes ${PN}-curses ${PN}-datetime ${PN}-db ${PN}-debugger ${PN}-difflib ${PN}-distutils ${PN}-doctest ${PN}-email ${PN}-fcntl ${PN}-gdbm ${PN}-hotshot ${PN}-html ${PN}-idle ${PN}-image ${PN}-importlib ${PN}-io ${PN}-json ${PN}-lang ${PN}-logging ${PN}-mailbox ${PN}-math ${PN}-mime ${PN}-mmap ${PN}-multiprocessing ${PN}-netclient ${PN}-netserver ${PN}-numbers ${PN}-pickle ${PN}-pkgutil ${PN}-plistlib ${PN}-pprint ${PN}-profile ${PN}-pydoc ${PN}-re ${PN}-readline ${PN}-resource ${PN}-robotparser ${PN}-shell ${PN}-smtpd ${PN}-sqlite3 ${PN}-sqlite3-tests ${PN}-stringold ${PN}-subprocess ${PN}-syslog ${PN}-terminal ${PN}-textutils ${PN}-threading ${PN}-tkinter ${PN}-unittest ${PN}-unixadmin ${PN}-xml ${PN}-xmlrpc ${PN}-zlib " -ALLOW_EMPTY_${PN}-modules = "1" - -
meta/recipes-devtools/python/python-native_2.7.13.bb +21 -3
@@ -1,5 +1,4 @@ require python.inc - EXTRANATIVEPATH += "bzip2-native" DEPENDS = "openssl-native bzip2-replacement-native zlib-native readline-native sqlite3-native expat-native" PR = "${INC_PR}.1"
@@ -25,8 +24,6 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:" inherit native -require python-native-${PYTHON_MAJMIN}-manifest.inc - EXTRA_OECONF_append = " --bindir=${bindir}/${PN} --with-system-expat=${STAGING_DIR_HOST}" EXTRA_OEMAKE = '\
@@ -59,3 +56,24 @@ do_install() { # installed in the native sysroot, so disable user site support. sed -i -e 's,^\(ENABLE_USER_SITE = \).*,\1False,' ${D}${libdir}/python${PYTHON_MAJMIN}/site.py } + +python(){ + + # Read JSON manifest + import json + pythondir = d.getVar('THISDIR',True) + with open(pythondir+'/python/python2-manifest.json') as manifest_file: + python_manifest=json.load(manifest_file) + + rprovides = d.getVar('RPROVIDES').split() + + # Hardcoded since it cant be python-native-foo, should be python-foo-native + pn = 'python' + + for key in python_manifest: + pypackage = pn + '-' + key + '-native' + if pypackage not in rprovides: + rprovides.append(pypackage) + + d.setVar('RPROVIDES', ' '.join(rprovides)) +}
meta/recipes-devtools/python/python/create_manifest2.py new file +277 -0
277 lines not on this page · raw message
meta/recipes-devtools/python/python/get_module_deps2.py new file +112 -0
112 lines not on this page · raw message
meta/recipes-devtools/python/python/python2-manifest.json new file +1033 -0
1,034 lines not on this page · raw message
meta/recipes-devtools/python/python/sitecustomize.py +0 -8
@@ -27,19 +27,11 @@ def __enableReadlineSupport(): except IOError: pass -def __enableDefaultEncoding(): - import sys - try: - sys.setdefaultencoding( "utf8" ) - except LookupError: - pass - import sys try: import rlcompleter, readline except ImportError: pass else: - __enableDefaultEncoding() __registerExitHandler() __enableReadlineSupport()
meta/recipes-devtools/python/python_2.7.13.bb +78 -2
97 lines not on this page · raw message
scripts/contrib/python/generate-manifest-2.7.py deleted +0 -421
421 lines not on this page · raw message
Signature · 1 line
2.13.6
PATCH v2 2/19 python3: Restructure python3 packaging and replace it with autopackaging
In reply to Tim OrlingFrom: Alejandro Hernandez <[email protected]>
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/
--- .../python/python-3.5-manifest.inc | 283 ----- .../python/python-native-3.5-manifest.inc | 10 - .../python/python3-native_3.5.3.bb | 30 +- .../python/python3/create_manifest3.py | 321 ++++++ .../python/python3/get_module_deps3.py | 146 +++ .../python/python3/python3-manifest.json | 1097 ++++++++++++++++++++ meta/recipes-devtools/python/python3_3.5.3.bb | 83 +- scripts/contrib/python/generate-manifest-3.5.py | 433 -------- 8 files changed, 1668 insertions(+), 735 deletions(-) delete mode 100644 meta/recipes-devtools/python/python-3.5-manifest.inc delete mode 100644 meta/recipes-devtools/python/python-native-3.5-manifest.inc create mode 100644 meta/recipes-devtools/python/python3/create_manifest3.py create mode 100644 meta/recipes-devtools/python/python3/get_module_deps3.py create mode 100644 meta/recipes-devtools/python/python3/python3-manifest.json delete mode 100755 scripts/contrib/python/generate-manifest-3.5.py
meta/recipes-devtools/python/python-3.5-manifest.inc deleted +0 -283
@@ -1,283 +0,0 @@ - -# WARNING: This file is AUTO GENERATED: Manual edits will be lost next time I regenerate the file. -# Generator: 'scripts/contrib/python/generate-manifest-3.5.py' Version 20140131 (C) 2002-2010 Michael 'Mickey' Lauer <[email protected]> - - - -PROVIDES+="${PN}-2to3 ${PN}-argparse ${PN}-asyncio ${PN}-audio ${PN}-codecs ${PN}-compile ${PN}-compression ${PN}-core ${PN}-crypt ${PN}-ctypes ${PN}-curses ${PN}-datetime ${PN}-db ${PN}-debugger ${PN}-dev ${PN}-difflib ${PN}-distutils ${PN}-distutils-staticdev ${PN}-doctest ${PN}-email ${PN}-enum ${PN}-fcntl ${PN}-gdbm ${PN}-html ${PN}-idle ${PN}-image ${PN}-importlib ${PN}-io ${PN}-json ${PN}-lang ${PN}-logging ${PN}-mailbox ${PN}-math ${PN}-mime ${PN}-mmap ${PN}-multiprocessing ${PN}-netclient ${PN}-netserver ${PN}-numbers ${PN}-pickle ${PN}-pkgutil ${PN}-pprint ${PN}-profile ${PN}-pydoc ${PN}-re ${PN}-readline ${PN}-reprlib ${PN}-resource ${PN}-selectors ${PN}-shell ${PN}-signal ${PN}-smtpd ${PN}-sqlite3 ${PN}-sqlite3-tests ${PN}-stringold ${PN}-subprocess ${PN}-syslog ${PN}-terminal ${PN}-tests ${PN}-textutils ${PN}-threading ${PN}-tkinter ${PN}-typing ${PN}-unittest ${PN}-unixadmin ${PN}-xml ${PN}-xmlrpc " - -PACKAGES="${PN}-dbg ${PN}-2to3 ${PN}-argparse ${PN}-asyncio ${PN}-audio ${PN}-codecs ${PN}-compile ${PN}-compression ${PN}-core ${PN}-crypt ${PN}-ctypes ${PN}-curses ${PN}-datetime ${PN}-db ${PN}-debugger ${PN}-dev ${PN}-difflib ${PN}-distutils-staticdev ${PN}-distutils ${PN}-doctest ${PN}-email ${PN}-enum ${PN}-fcntl ${PN}-gdbm ${PN}-html ${PN}-idle ${PN}-image ${PN}-importlib ${PN}-io ${PN}-json ${PN}-lang ${PN}-logging ${PN}-mailbox ${PN}-math ${PN}-mime ${PN}-mmap ${PN}-multiprocessing ${PN}-netclient ${PN}-netserver ${PN}-numbers ${PN}-pickle ${PN}-pkgutil ${PN}-pprint ${PN}-profile ${PN}-pydoc ${PN}-re ${PN}-readline ${PN}-reprlib ${PN}-resource ${PN}-selectors ${PN}-shell ${PN}-signal ${PN}-smtpd ${PN}-sqlite3 ${PN}-sqlite3-tests ${PN}-stringold ${PN}-subprocess ${PN}-syslog ${PN}-terminal ${PN}-tests ${PN}-textutils ${PN}-threading ${PN}-tkinter ${PN}-typing ${PN}-unittest ${PN}-unixadmin ${PN}-xml ${PN}-xmlrpc ${PN}-modules" - -SUMMARY_${PN}-2to3="Python automated Python 2 to 3 code translator" -RDEPENDS_${PN}-2to3="${PN}-core" -FILES_${PN}-2to3="${libdir}/python3.5/lib2to3 ${libdir}/python3.5/lib2to3/__pycache__ " - -SUMMARY_${PN}-argparse="Python command line argument parser" -RDEPENDS_${PN}-argparse="${PN}-core ${PN}-codecs ${PN}-textutils" -FILES_${PN}-argparse="${libdir}/python3.5/argparse.* ${libdir}/python3.5/__pycache__/argparse.* " - -SUMMARY_${PN}-asyncio="Python Asynchronous I/O, event loop, coroutines and tasks" -RDEPENDS_${PN}-asyncio="${PN}-core" -FILES_${PN}-asyncio="${libdir}/python3.5/asyncio ${libdir}/python3.5/asyncio/__pycache__ " - -SUMMARY_${PN}-audio="Python Audio Handling" -RDEPENDS_${PN}-audio="${PN}-core" -FILES_${PN}-audio="${libdir}/python3.5/wave.* ${libdir}/python3.5/__pycache__/wave.* ${libdir}/python3.5/chunk.* ${libdir}/python3.5/__pycache__/chunk.* ${libdir}/python3.5/sndhdr.* ${libdir}/python3.5/__pycache__/sndhdr.* ${libdir}/python3.5/lib-dynload/ossaudiodev.*.so ${libdir}/python3.5/lib-dynload/__pycache__/ossaudiodev.*.so ${libdir}/python3.5/lib-dynload/audioop.*.so ${libdir}/python3.5/lib-dynload/__pycache__/audioop.*.so ${libdir}/python3.5/audiodev.* ${libdir}/python3.5/__pycache__/audiodev.* ${libdir}/python3.5/sunaudio.* ${libdir}/python3.5/__pycache__/sunaudio.* ${libdir}/python3.5/sunau.* ${libdir}/python3.5/__pycache__/sunau.* ${libdir}/python3.5/toaiff.* ${libdir}/python3.5/__pycache__/toaiff.* " - -SUMMARY_${PN}-codecs="Python codecs, encodings & i18n support" -RDEPENDS_${PN}-codecs="${PN}-core ${PN}-lang" -FILES_${PN}-codecs="${libdir}/python3.5/codecs.* ${libdir}/python3.5/__pycache__/codecs.* ${libdir}/python3.5/encodings ${libdir}/python3.5/encodings/__pycache__ ${libdir}/python3.5/gettext.* ${libdir}/python3.5/__pycache__/gettext.* ${libdir}/python3.5/locale.* ${libdir}/python3.5/__pycache__/locale.* ${libdir}/python3.5/lib-dynload/_locale.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_locale.*.so ${libdir}/python3.5/lib-dynload/_codecs* ${libdir}/python3.5/lib-dynload/_codecs*/__pycache__ ${libdir}/python3.5/lib-dynload/_multibytecodec.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_multibytecodec.*.so ${libdir}/python3.5/lib-dynload/unicodedata.*.so ${libdir}/python3.5/lib-dynload/__pycache__/unicodedata.*.so ${libdir}/python3.5/stringprep.* ${libdir}/python3.5/__pycache__/stringprep.* ${libdir}/python3.5/xdrlib.* ${libdir}/python3.5/__pycache__/xdrlib.* " - -SUMMARY_${PN}-compile="Python bytecode compilation support" -RDEPENDS_${PN}-compile="${PN}-core" -FILES_${PN}-compile="${libdir}/python3.5/py_compile.* ${libdir}/python3.5/__pycache__/py_compile.* ${libdir}/python3.5/compileall.* ${libdir}/python3.5/__pycache__/compileall.* " - -SUMMARY_${PN}-compression="Python high-level compression support" -RDEPENDS_${PN}-compression="${PN}-core ${PN}-codecs ${PN}-importlib ${PN}-threading ${PN}-shell" -FILES_${PN}-compression="${libdir}/python3.5/gzip.* ${libdir}/python3.5/__pycache__/gzip.* ${libdir}/python3.5/zipfile.* ${libdir}/python3.5/__pycache__/zipfile.* ${libdir}/python3.5/tarfile.* ${libdir}/python3.5/__pycache__/tarfile.* ${libdir}/python3.5/lib-dynload/bz2.*.so ${libdir}/python3.5/lib-dynload/__pycache__/bz2.*.so ${libdir}/python3.5/lib-dynload/zlib.*.so ${libdir}/python3.5/lib-dynload/__pycache__/zlib.*.so ${libdir}/python3.5/bz2.py ${libdir}/python3.5/__pycache__/bz2.py ${libdir}/python3.5/lzma.py ${libdir}/python3.5/__pycache__/lzma.py ${libdir}/python3.5/_compression.py ${libdir}/python3.5/__pycache__/_compression.py " - -SUMMARY_${PN}-core="Python interpreter and core modules" -RDEPENDS_${PN}-core="${PN}-lang ${PN}-re ${PN}-reprlib ${PN}-codecs ${PN}-io ${PN}-math" -FILES_${PN}-core="${libdir}/python3.5/__future__.* ${libdir}/python3.5/__pycache__/__future__.* ${libdir}/python3.5/_abcoll.* ${libdir}/python3.5/__pycache__/_abcoll.* ${libdir}/python3.5/abc.* ${libdir}/python3.5/__pycache__/abc.* ${libdir}/python3.5/ast.* ${libdir}/python3.5/__pycache__/ast.* ${libdir}/python3.5/copy.* ${libdir}/python3.5/__pycache__/copy.* ${libdir}/python3.5/copyreg.* ${libdir}/python3.5/__pycache__/copyreg.* ${libdir}/python3.5/configparser.* ${libdir}/python3.5/__pycache__/configparser.* ${libdir}/python3.5/genericpath.* ${libdir}/python3.5/__pycache__/genericpath.* ${libdir}/python3.5/getopt.* ${libdir}/python3.5/__pycache__/getopt.* ${libdir}/python3.5/linecache.* ${libdir}/python3.5/__pycache__/linecache.* ${libdir}/python3.5/new.* ${libdir}/python3.5/__pycache__/new.* ${libdir}/python3.5/os.* ${libdir}/python3.5/__pycache__/os.* ${libdir}/python3.5/posixpath.* ${libdir}/python3.5/__pycache__/posixpath.* ${libdir}/python3.5/struct.* ${libdir}/python3.5/__pycache__/struct.* ${libdir}/python3.5/warnings.* ${libdir}/python3.5/__pycache__/warnings.* ${libdir}/python3.5/site.* ${libdir}/python3.5/__pycache__/site.* ${libdir}/python3.5/stat.* ${libdir}/python3.5/__pycache__/stat.* ${libdir}/python3.5/UserDict.* ${libdir}/python3.5/__pycache__/UserDict.* ${libdir}/python3.5/UserList.* ${libdir}/python3.5/__pycache__/UserList.* ${libdir}/python3.5/UserString.* ${libdir}/python3.5/__pycache__/UserString.* ${libdir}/python3.5/lib-dynload/binascii.*.so ${libdir}/python3.5/lib-dynload/__pycache__/binascii.*.so ${libdir}/python3.5/lib-dynload/_struct.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_struct.*.so ${libdir}/python3.5/lib-dynload/time.*.so ${libdir}/python3.5/lib-dynload/__pycache__/time.*.so ${libdir}/python3.5/lib-dynload/xreadlines.*.so ${libdir}/python3.5/lib-dynload/__pycache__/xreadlines.*.so ${libdir}/python3.5/types.* ${libdir}/python3.5/__pycache__/types.* ${libdir}/python3.5/platform.* ${libdir}/python3.5/__pycache__/platform.* ${bindir}/python* ${libdir}/python3.5/_weakrefset.* ${libdir}/python3.5/__pycache__/_weakrefset.* ${libdir}/python3.5/sysconfig.* ${libdir}/python3.5/__pycache__/sysconfig.* ${libdir}/python3.5/_sysconfigdata.* ${libdir}/python3.5/__pycache__/_sysconfigdata.* ${includedir}/python${PYTHON_BINABI}/pyconfig*.h ${libdir}/python${PYTHON_MAJMIN}/collections ${libdir}/python${PYTHON_MAJMIN}/_collections_abc.* ${libdir}/python${PYTHON_MAJMIN}/_sitebuiltins.* ${libdir}/python${PYTHON_MAJMIN}/sitecustomize.py " - -SUMMARY_${PN}-crypt="Python basic cryptographic and hashing support" -RDEPENDS_${PN}-crypt="${PN}-core" -FILES_${PN}-crypt="${libdir}/python3.5/hashlib.* ${libdir}/python3.5/__pycache__/hashlib.* ${libdir}/python3.5/md5.* ${libdir}/python3.5/__pycache__/md5.* ${libdir}/python3.5/sha.* ${libdir}/python3.5/__pycache__/sha.* ${libdir}/python3.5/lib-dynload/crypt.*.so ${libdir}/python3.5/lib-dynload/__pycache__/crypt.*.so ${libdir}/python3.5/lib-dynload/_hashlib.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_hashlib.*.so ${libdir}/python3.5/lib-dynload/_sha256.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_sha256.*.so ${libdir}/python3.5/lib-dynload/_sha512.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_sha512.*.so " - -SUMMARY_${PN}-ctypes="Python C types support" -RDEPENDS_${PN}-ctypes="${PN}-core ${PN}-subprocess" -FILES_${PN}-ctypes="${libdir}/python3.5/ctypes ${libdir}/python3.5/ctypes/__pycache__ ${libdir}/python3.5/lib-dynload/_ctypes.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_ctypes.*.so ${libdir}/python3.5/lib-dynload/_ctypes_test.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_ctypes_test.*.so " - -SUMMARY_${PN}-curses="Python curses support" -RDEPENDS_${PN}-curses="${PN}-core" -FILES_${PN}-curses="${libdir}/python3.5/curses ${libdir}/python3.5/curses/__pycache__ ${libdir}/python3.5/lib-dynload/_curses.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_curses.*.so ${libdir}/python3.5/lib-dynload/_curses_panel.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_curses_panel.*.so " - -SUMMARY_${PN}-datetime="Python calendar and time support" -RDEPENDS_${PN}-datetime="${PN}-core ${PN}-codecs" -FILES_${PN}-datetime="${libdir}/python3.5/_strptime.* ${libdir}/python3.5/__pycache__/_strptime.* ${libdir}/python3.5/calendar.* ${libdir}/python3.5/__pycache__/calendar.* ${libdir}/python3.5/datetime.* ${libdir}/python3.5/__pycache__/datetime.* ${libdir}/python3.5/lib-dynload/_datetime.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_datetime.*.so " - -SUMMARY_${PN}-db="Python file-based database support" -RDEPENDS_${PN}-db="${PN}-core" -FILES_${PN}-db="${libdir}/python3.5/anydbm.* ${libdir}/python3.5/__pycache__/anydbm.* ${libdir}/python3.5/dumbdbm.* ${libdir}/python3.5/__pycache__/dumbdbm.* ${libdir}/python3.5/whichdb.* ${libdir}/python3.5/__pycache__/whichdb.* ${libdir}/python3.5/dbm ${libdir}/python3.5/dbm/__pycache__ ${libdir}/python3.5/lib-dynload/_dbm.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_dbm.*.so " - -SUMMARY_${PN}-debugger="Python debugger" -RDEPENDS_${PN}-debugger="${PN}-core ${PN}-io ${PN}-lang ${PN}-re ${PN}-stringold ${PN}-shell ${PN}-pprint ${PN}-importlib ${PN}-pkgutil" -FILES_${PN}-debugger="${libdir}/python3.5/bdb.* ${libdir}/python3.5/__pycache__/bdb.* ${libdir}/python3.5/pdb.* ${libdir}/python3.5/__pycache__/pdb.* " - -SUMMARY_${PN}-dev="Python development package" -RDEPENDS_${PN}-dev="${PN}-core" -FILES_${PN}-dev="${includedir} ${libdir}/lib*${SOLIBSDEV} ${libdir}/*.la ${libdir}/*.a ${libdir}/*.o ${libdir}/pkgconfig ${base_libdir}/*.a ${base_libdir}/*.o ${datadir}/aclocal ${datadir}/pkgconfig ${libdir}/python3.5/config*/Makefile ${libdir}/python3.5/config*/Makefile/__pycache__ " - -SUMMARY_${PN}-difflib="Python helpers for computing deltas between objects" -RDEPENDS_${PN}-difflib="${PN}-lang ${PN}-re" -FILES_${PN}-difflib="${libdir}/python3.5/difflib.* ${libdir}/python3.5/__pycache__/difflib.* " - -SUMMARY_${PN}-distutils="Python Distribution Utilities" -RDEPENDS_${PN}-distutils="${PN}-core ${PN}-email" -FILES_${PN}-distutils="${libdir}/python3.5/config ${libdir}/python3.5/config/__pycache__ ${libdir}/python3.5/distutils ${libdir}/python3.5/distutils/__pycache__ " - -SUMMARY_${PN}-distutils-staticdev="Python distribution utilities (static libraries)" -RDEPENDS_${PN}-distutils-staticdev="${PN}-distutils" -FILES_${PN}-distutils-staticdev="${libdir}/python3.5/config/lib*.a ${libdir}/python3.5/config/__pycache__/lib*.a " - -SUMMARY_${PN}-doctest="Python framework for running examples in docstrings" -RDEPENDS_${PN}-doctest="${PN}-core ${PN}-lang ${PN}-io ${PN}-re ${PN}-unittest ${PN}-debugger ${PN}-difflib" -FILES_${PN}-doctest="${libdir}/python3.5/doctest.* ${libdir}/python3.5/__pycache__/doctest.* " - -SUMMARY_${PN}-email="Python email support" -RDEPENDS_${PN}-email="${PN}-core ${PN}-io ${PN}-re ${PN}-mime ${PN}-audio ${PN}-image ${PN}-netclient" -FILES_${PN}-email="${libdir}/python3.5/imaplib.* ${libdir}/python3.5/__pycache__/imaplib.* ${libdir}/python3.5/email ${libdir}/python3.5/email/__pycache__ " - -SUMMARY_${PN}-enum="Python support for enumerations" -RDEPENDS_${PN}-enum="${PN}-core" -FILES_${PN}-enum="${libdir}/python3.5/enum.* ${libdir}/python3.5/__pycache__/enum.* " - -SUMMARY_${PN}-fcntl="Python's fcntl interface" -RDEPENDS_${PN}-fcntl="${PN}-core" -FILES_${PN}-fcntl="${libdir}/python3.5/lib-dynload/fcntl.*.so ${libdir}/python3.5/lib-dynload/__pycache__/fcntl.*.so " - -SUMMARY_${PN}-gdbm="Python GNU database support" -RDEPENDS_${PN}-gdbm="${PN}-core" -FILES_${PN}-gdbm="${libdir}/python3.5/lib-dynload/_gdbm.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_gdbm.*.so " - -SUMMARY_${PN}-html="Python HTML processing support" -RDEPENDS_${PN}-html="${PN}-core" -FILES_${PN}-html="${libdir}/python3.5/formatter.* ${libdir}/python3.5/__pycache__/formatter.* ${libdir}/python3.5/htmlentitydefs.* ${libdir}/python3.5/__pycache__/htmlentitydefs.* ${libdir}/python3.5/html ${libdir}/python3.5/html/__pycache__ ${libdir}/python3.5/htmllib.* ${libdir}/python3.5/__pycache__/htmllib.* ${libdir}/python3.5/markupbase.* ${libdir}/python3.5/__pycache__/markupbase.* ${libdir}/python3.5/sgmllib.* ${libdir}/python3.5/__pycache__/sgmllib.* ${libdir}/python3.5/HTMLParser.* ${libdir}/python3.5/__pycache__/HTMLParser.* " - -SUMMARY_${PN}-idle="Python Integrated Development Environment" -RDEPENDS_${PN}-idle="${PN}-core ${PN}-tkinter" -FILES_${PN}-idle="${bindir}/idle ${libdir}/python3.5/idlelib ${libdir}/python3.5/idlelib/__pycache__ " - -SUMMARY_${PN}-image="Python graphical image handling" -RDEPENDS_${PN}-image="${PN}-core" -FILES_${PN}-image="${libdir}/python3.5/colorsys.* ${libdir}/python3.5/__pycache__/colorsys.* ${libdir}/python3.5/imghdr.* ${libdir}/python3.5/__pycache__/imghdr.* ${libdir}/python3.5/lib-dynload/imageop.*.so ${libdir}/python3.5/lib-dynload/__pycache__/imageop.*.so ${libdir}/python3.5/lib-dynload/rgbimg.*.so ${libdir}/python3.5/lib-dynload/__pycache__/rgbimg.*.so " - -SUMMARY_${PN}-importlib="Python import implementation library" -RDEPENDS_${PN}-importlib="${PN}-core ${PN}-lang" -FILES_${PN}-importlib="${libdir}/python3.5/importlib ${libdir}/python3.5/importlib/__pycache__ ${libdir}/python3.5/imp.* ${libdir}/python3.5/__pycache__/imp.* " - -SUMMARY_${PN}-io="Python low-level I/O" -RDEPENDS_${PN}-io="${PN}-core ${PN}-math" -FILES_${PN}-io="${libdir}/python3.5/lib-dynload/_socket.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_socket.*.so ${libdir}/python3.5/lib-dynload/_io.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_io.*.so ${libdir}/python3.5/lib-dynload/_ssl.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_ssl.*.so ${libdir}/python3.5/lib-dynload/select.*.so ${libdir}/python3.5/lib-dynload/__pycache__/select.*.so ${libdir}/python3.5/lib-dynload/termios.*.so ${libdir}/python3.5/lib-dynload/__pycache__/termios.*.so ${libdir}/python3.5/lib-dynload/cStringIO.*.so ${libdir}/python3.5/lib-dynload/__pycache__/cStringIO.*.so ${libdir}/python3.5/ipaddress.* ${libdir}/python3.5/__pycache__/ipaddress.* ${libdir}/python3.5/pipes.* ${libdir}/python3.5/__pycache__/pipes.* ${libdir}/python3.5/socket.* ${libdir}/python3.5/__pycache__/socket.* ${libdir}/python3.5/ssl.* ${libdir}/python3.5/__pycache__/ssl.* ${libdir}/python3.5/tempfile.* ${libdir}/python3.5/__pycache__/tempfile.* ${libdir}/python3.5/StringIO.* ${libdir}/python3.5/__pycache__/StringIO.* ${libdir}/python3.5/io.* ${libdir}/python3.5/__pycache__/io.* ${libdir}/python3.5/_pyio.* ${libdir}/python3.5/__pycache__/_pyio.* " - -SUMMARY_${PN}-json="Python JSON support" -RDEPENDS_${PN}-json="${PN}-core ${PN}-math ${PN}-re" -FILES_${PN}-json="${libdir}/python3.5/json ${libdir}/python3.5/json/__pycache__ ${libdir}/python3.5/lib-dynload/_json.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_json.*.so " - -SUMMARY_${PN}-lang="Python low-level language support" -RDEPENDS_${PN}-lang="${PN}-core ${PN}-importlib" -FILES_${PN}-lang="${libdir}/python3.5/lib-dynload/_bisect.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_bisect.*.so ${libdir}/python3.5/lib-dynload/_collections.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_collections.*.so ${libdir}/python3.5/lib-dynload/_heapq.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_heapq.*.so ${libdir}/python3.5/lib-dynload/_weakref.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_weakref.*.so ${libdir}/python3.5/lib-dynload/_functools.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_functools.*.so ${libdir}/python3.5/lib-dynload/array.*.so ${libdir}/python3.5/lib-dynload/__pycache__/array.*.so ${libdir}/python3.5/lib-dynload/itertools.*.so ${libdir}/python3.5/lib-dynload/__pycache__/itertools.*.so ${libdir}/python3.5/lib-dynload/operator.*.so ${libdir}/python3.5/lib-dynload/__pycache__/operator.*.so ${libdir}/python3.5/lib-dynload/parser.*.so ${libdir}/python3.5/lib-dynload/__pycache__/parser.*.so ${libdir}/python3.5/atexit.* ${libdir}/python3.5/__pycache__/atexit.* ${libdir}/python3.5/bisect.* ${libdir}/python3.5/__pycache__/bisect.* ${libdir}/python3.5/code.* ${libdir}/python3.5/__pycache__/code.* ${libdir}/python3.5/codeop.* ${libdir}/python3.5/__pycache__/codeop.* ${libdir}/python3.5/collections.* ${libdir}/python3.5/__pycache__/collections.* ${libdir}/python3.5/_collections_abc.* ${libdir}/python3.5/__pycache__/_collections_abc.* ${libdir}/python3.5/contextlib.* ${libdir}/python3.5/__pycache__/contextlib.* ${libdir}/python3.5/dis.* ${libdir}/python3.5/__pycache__/dis.* ${libdir}/python3.5/functools.* ${libdir}/python3.5/__pycache__/functools.* ${libdir}/python3.5/heapq.* ${libdir}/python3.5/__pycache__/heapq.* ${libdir}/python3.5/inspect.* ${libdir}/python3.5/__pycache__/inspect.* ${libdir}/python3.5/keyword.* ${libdir}/python3.5/__pycache__/keyword.* ${libdir}/python3.5/opcode.* ${libdir}/python3.5/__pycache__/opcode.* ${libdir}/python3.5/operator.* ${libdir}/python3.5/__pycache__/operator.* ${libdir}/python3.5/symbol.* ${libdir}/python3.5/__pycache__/symbol.* ${libdir}/python3.5/repr.* ${libdir}/python3.5/__pycache__/repr.* ${libdir}/python3.5/token.* ${libdir}/python3.5/__pycache__/token.* ${libdir}/python3.5/tokenize.* ${libdir}/python3.5/__pycache__/tokenize.* ${libdir}/python3.5/traceback.* ${libdir}/python3.5/__pycache__/traceback.* ${libdir}/python3.5/weakref.* ${libdir}/python3.5/__pycache__/weakref.* " - -SUMMARY_${PN}-logging="Python logging support" -RDEPENDS_${PN}-logging="${PN}-core ${PN}-io ${PN}-lang ${PN}-pickle ${PN}-stringold" -FILES_${PN}-logging="${libdir}/python3.5/logging ${libdir}/python3.5/logging/__pycache__ " - -SUMMARY_${PN}-mailbox="Python mailbox format support" -RDEPENDS_${PN}-mailbox="${PN}-core ${PN}-mime" -FILES_${PN}-mailbox="${libdir}/python3.5/mailbox.* ${libdir}/python3.5/__pycache__/mailbox.* " - -SUMMARY_${PN}-math="Python math support" -RDEPENDS_${PN}-math="${PN}-core ${PN}-crypt" -FILES_${PN}-math="${libdir}/python3.5/lib-dynload/cmath.*.so ${libdir}/python3.5/lib-dynload/__pycache__/cmath.*.so ${libdir}/python3.5/lib-dynload/math.*.so ${libdir}/python3.5/lib-dynload/__pycache__/math.*.so ${libdir}/python3.5/lib-dynload/_random.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_random.*.so ${libdir}/python3.5/random.* ${libdir}/python3.5/__pycache__/random.* ${libdir}/python3.5/sets.* ${libdir}/python3.5/__pycache__/sets.* " - -SUMMARY_${PN}-mime="Python MIME handling APIs" -RDEPENDS_${PN}-mime="${PN}-core ${PN}-io" -FILES_${PN}-mime="${libdir}/python3.5/mimetools.* ${libdir}/python3.5/__pycache__/mimetools.* ${libdir}/python3.5/uu.* ${libdir}/python3.5/__pycache__/uu.* ${libdir}/python3.5/quopri.* ${libdir}/python3.5/__pycache__/quopri.* ${libdir}/python3.5/rfc822.* ${libdir}/python3.5/__pycache__/rfc822.* ${libdir}/python3.5/MimeWriter.* ${libdir}/python3.5/__pycache__/MimeWriter.* " - -SUMMARY_${PN}-mmap="Python memory-mapped file support" -RDEPENDS_${PN}-mmap="${PN}-core ${PN}-io" -FILES_${PN}-mmap="${libdir}/python3.5/lib-dynload/mmap.*.so ${libdir}/python3.5/lib-dynload/__pycache__/mmap.*.so " - -SUMMARY_${PN}-multiprocessing="Python multiprocessing support" -RDEPENDS_${PN}-multiprocessing="${PN}-core ${PN}-io ${PN}-lang ${PN}-pickle ${PN}-threading ${PN}-ctypes ${PN}-mmap" -FILES_${PN}-multiprocessing="${libdir}/python3.5/lib-dynload/_multiprocessing.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_multiprocessing.*.so ${libdir}/python3.5/multiprocessing ${libdir}/python3.5/multiprocessing/__pycache__ " - -SUMMARY_${PN}-netclient="Python Internet Protocol clients" -RDEPENDS_${PN}-netclient="${PN}-argparse ${PN}-core ${PN}-crypt ${PN}-datetime ${PN}-io ${PN}-lang ${PN}-logging ${PN}-mime ${PN}-html" -FILES_${PN}-netclient="${libdir}/python3.5/*Cookie*.* ${libdir}/python3.5/__pycache__/*Cookie*.* ${libdir}/python3.5/base64.* ${libdir}/python3.5/__pycache__/base64.* ${libdir}/python3.5/cookielib.* ${libdir}/python3.5/__pycache__/cookielib.* ${libdir}/python3.5/ftplib.* ${libdir}/python3.5/__pycache__/ftplib.* ${libdir}/python3.5/gopherlib.* ${libdir}/python3.5/__pycache__/gopherlib.* ${libdir}/python3.5/hmac.* ${libdir}/python3.5/__pycache__/hmac.* ${libdir}/python3.5/http* ${libdir}/python3.5/http*/__pycache__ ${libdir}/python3.5/httplib.* ${libdir}/python3.5/__pycache__/httplib.* ${libdir}/python3.5/mimetypes.* ${libdir}/python3.5/__pycache__/mimetypes.* ${libdir}/python3.5/nntplib.* ${libdir}/python3.5/__pycache__/nntplib.* ${libdir}/python3.5/poplib.* ${libdir}/python3.5/__pycache__/poplib.* ${libdir}/python3.5/smtplib.* ${libdir}/python3.5/__pycache__/smtplib.* ${libdir}/python3.5/telnetlib.* ${libdir}/python3.5/__pycache__/telnetlib.* ${libdir}/python3.5/urllib ${libdir}/python3.5/urllib/__pycache__ ${libdir}/python3.5/uuid.* ${libdir}/python3.5/__pycache__/uuid.* ${libdir}/python3.5/rfc822.* ${libdir}/python3.5/__pycache__/rfc822.* ${libdir}/python3.5/mimetools.* ${libdir}/python3.5/__pycache__/mimetools.* " - -SUMMARY_${PN}-netserver="Python Internet Protocol servers" -RDEPENDS_${PN}-netserver="${PN}-core ${PN}-netclient ${PN}-shell ${PN}-threading" -FILES_${PN}-netserver="${libdir}/python3.5/cgi.* ${libdir}/python3.5/__pycache__/cgi.* ${libdir}/python3.5/socketserver.* ${libdir}/python3.5/__pycache__/socketserver.* ${libdir}/python3.5/*HTTPServer.* ${libdir}/python3.5/__pycache__/*HTTPServer.* ${libdir}/python3.5/SocketServer.* ${libdir}/python3.5/__pycache__/SocketServer.* " - -SUMMARY_${PN}-numbers="Python number APIs" -RDEPENDS_${PN}-numbers="${PN}-core ${PN}-lang ${PN}-re" -FILES_${PN}-numbers="${libdir}/python3.5/decimal.* ${libdir}/python3.5/__pycache__/decimal.* ${libdir}/python3.5/fractions.* ${libdir}/python3.5/__pycache__/fractions.* ${libdir}/python3.5/numbers.* ${libdir}/python3.5/__pycache__/numbers.* " - -SUMMARY_${PN}-pickle="Python serialisation/persistence support" -RDEPENDS_${PN}-pickle="${PN}-core ${PN}-codecs ${PN}-io ${PN}-re" -FILES_${PN}-pickle="${libdir}/python3.5/_compat_pickle.* ${libdir}/python3.5/__pycache__/_compat_pickle.* ${libdir}/python3.5/pickle.* ${libdir}/python3.5/__pycache__/pickle.* ${libdir}/python3.5/shelve.* ${libdir}/python3.5/__pycache__/shelve.* ${libdir}/python3.5/lib-dynload/cPickle.*.so ${libdir}/python3.5/lib-dynload/__pycache__/cPickle.*.so ${libdir}/python3.5/pickletools.* ${libdir}/python3.5/__pycache__/pickletools.* " - -SUMMARY_${PN}-pkgutil="Python package extension utility support" -RDEPENDS_${PN}-pkgutil="${PN}-core" -FILES_${PN}-pkgutil="${libdir}/python3.5/pkgutil.* ${libdir}/python3.5/__pycache__/pkgutil.* " - -SUMMARY_${PN}-pprint="Python pretty-print support" -RDEPENDS_${PN}-pprint="${PN}-core ${PN}-io" -FILES_${PN}-pprint="${libdir}/python3.5/pprint.* ${libdir}/python3.5/__pycache__/pprint.* " - -SUMMARY_${PN}-profile="Python basic performance profiling support" -RDEPENDS_${PN}-profile="${PN}-core ${PN}-textutils" -FILES_${PN}-profile="${libdir}/python3.5/profile.* ${libdir}/python3.5/__pycache__/profile.* ${libdir}/python3.5/pstats.* ${libdir}/python3.5/__pycache__/pstats.* ${libdir}/python3.5/cProfile.* ${libdir}/python3.5/__pycache__/cProfile.* ${libdir}/python3.5/lib-dynload/_lsprof.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_lsprof.*.so " - -SUMMARY_${PN}-pydoc="Python interactive help support" -RDEPENDS_${PN}-pydoc="${PN}-core ${PN}-lang ${PN}-stringold ${PN}-re" -FILES_${PN}-pydoc="${bindir}/pydoc ${libdir}/python3.5/pydoc.* ${libdir}/python3.5/__pycache__/pydoc.* ${libdir}/python3.5/pydoc_data ${libdir}/python3.5/pydoc_data/__pycache__ " - -SUMMARY_${PN}-re="Python Regular Expression APIs" -RDEPENDS_${PN}-re="${PN}-core" -FILES_${PN}-re="${libdir}/python3.5/re.* ${libdir}/python3.5/__pycache__/re.* ${libdir}/python3.5/sre.* ${libdir}/python3.5/__pycache__/sre.* ${libdir}/python3.5/sre_compile.* ${libdir}/python3.5/__pycache__/sre_compile.* ${libdir}/python3.5/sre_constants* ${libdir}/python3.5/sre_constants*/__pycache__ ${libdir}/python3.5/sre_parse.* ${libdir}/python3.5/__pycache__/sre_parse.* " - -SUMMARY_${PN}-readline="Python readline support" -RDEPENDS_${PN}-readline="${PN}-core" -FILES_${PN}-readline="${libdir}/python3.5/lib-dynload/readline.*.so ${libdir}/python3.5/lib-dynload/__pycache__/readline.*.so ${libdir}/python3.5/rlcompleter.* ${libdir}/python3.5/__pycache__/rlcompleter.* " - -SUMMARY_${PN}-reprlib="Python alternate repr() implementation" -RDEPENDS_${PN}-reprlib="${PN}-core" -FILES_${PN}-reprlib="${libdir}/python3.5/reprlib.py ${libdir}/python3.5/__pycache__/reprlib.py " - -SUMMARY_${PN}-resource="Python resource control interface" -RDEPENDS_${PN}-resource="${PN}-core" -FILES_${PN}-resource="${libdir}/python3.5/lib-dynload/resource.*.so ${libdir}/python3.5/lib-dynload/__pycache__/resource.*.so " - -SUMMARY_${PN}-selectors="Python High-level I/O multiplexing" -RDEPENDS_${PN}-selectors="${PN}-core" -FILES_${PN}-selectors="${libdir}/python3.5/selectors.* ${libdir}/python3.5/__pycache__/selectors.* " - -SUMMARY_${PN}-shell="Python shell-like functionality" -RDEPENDS_${PN}-shell="${PN}-core ${PN}-re ${PN}-compression" -FILES_${PN}-shell="${libdir}/python3.5/cmd.* ${libdir}/python3.5/__pycache__/cmd.* ${libdir}/python3.5/commands.* ${libdir}/python3.5/__pycache__/commands.* ${libdir}/python3.5/dircache.* ${libdir}/python3.5/__pycache__/dircache.* ${libdir}/python3.5/fnmatch.* ${libdir}/python3.5/__pycache__/fnmatch.* ${libdir}/python3.5/glob.* ${libdir}/python3.5/__pycache__/glob.* ${libdir}/python3.5/popen2.* ${libdir}/python3.5/__pycache__/popen2.* ${libdir}/python3.5/shlex.* ${libdir}/python3.5/__pycache__/shlex.* ${libdir}/python3.5/shutil.* ${libdir}/python3.5/__pycache__/shutil.* " - -SUMMARY_${PN}-signal="Python set handlers for asynchronous events support" -RDEPENDS_${PN}-signal="${PN}-core ${PN}-enum" -FILES_${PN}-signal="${libdir}/python3.5/signal.* ${libdir}/python3.5/__pycache__/signal.* " - -SUMMARY_${PN}-smtpd="Python Simple Mail Transport Daemon" -RDEPENDS_${PN}-smtpd="${PN}-core ${PN}-netserver ${PN}-email ${PN}-mime" -FILES_${PN}-smtpd="${bindir}/smtpd.* ${libdir}/python3.5/smtpd.* ${libdir}/python3.5/__pycache__/smtpd.* " - -SUMMARY_${PN}-sqlite3="Python Sqlite3 database support" -RDEPENDS_${PN}-sqlite3="${PN}-core ${PN}-datetime ${PN}-lang ${PN}-crypt ${PN}-io ${PN}-threading" -FILES_${PN}-sqlite3="${libdir}/python3.5/lib-dynload/_sqlite3.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_sqlite3.*.so ${libdir}/python3.5/sqlite3/dbapi2.* ${libdir}/python3.5/sqlite3/__pycache__/dbapi2.* ${libdir}/python3.5/sqlite3/__init__.* ${libdir}/python3.5/sqlite3/__pycache__/__init__.* ${libdir}/python3.5/sqlite3/dump.* ${libdir}/python3.5/sqlite3/__pycache__/dump.* " - -SUMMARY_${PN}-sqlite3-tests="Python Sqlite3 database support tests" -RDEPENDS_${PN}-sqlite3-tests="${PN}-core ${PN}-sqlite3" -FILES_${PN}-sqlite3-tests="${libdir}/python3.5/sqlite3/test ${libdir}/python3.5/sqlite3/test/__pycache__ " - -SUMMARY_${PN}-stringold="Python string APIs [deprecated]" -RDEPENDS_${PN}-stringold="${PN}-core ${PN}-re" -FILES_${PN}-stringold="${libdir}/python3.5/lib-dynload/strop.*.so ${libdir}/python3.5/lib-dynload/__pycache__/strop.*.so ${libdir}/python3.5/string.* ${libdir}/python3.5/__pycache__/string.* ${libdir}/python3.5/stringold.* ${libdir}/python3.5/__pycache__/stringold.* " - -SUMMARY_${PN}-subprocess="Python subprocess support" -RDEPENDS_${PN}-subprocess="${PN}-core ${PN}-io ${PN}-re ${PN}-fcntl ${PN}-pickle ${PN}-threading ${PN}-signal ${PN}-selectors" -FILES_${PN}-subprocess="${libdir}/python3.5/subprocess.* ${libdir}/python3.5/__pycache__/subprocess.* ${libdir}/python3.5/lib-dynload/_posixsubprocess.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_posixsubprocess.*.so " - -SUMMARY_${PN}-syslog="Python syslog interface" -RDEPENDS_${PN}-syslog="${PN}-core" -FILES_${PN}-syslog="${libdir}/python3.5/lib-dynload/syslog.*.so ${libdir}/python3.5/lib-dynload/__pycache__/syslog.*.so " - -SUMMARY_${PN}-terminal="Python terminal controlling support" -RDEPENDS_${PN}-terminal="${PN}-core ${PN}-io" -FILES_${PN}-terminal="${libdir}/python3.5/pty.* ${libdir}/python3.5/__pycache__/pty.* ${libdir}/python3.5/tty.* ${libdir}/python3.5/__pycache__/tty.* " - -SUMMARY_${PN}-tests="Python tests" -RDEPENDS_${PN}-tests="${PN}-core ${PN}-compression" -FILES_${PN}-tests="${libdir}/python3.5/test ${libdir}/python3.5/test/__pycache__ " - -SUMMARY_${PN}-textutils="Python option parsing, text wrapping and CSV support" -RDEPENDS_${PN}-textutils="${PN}-core ${PN}-io ${PN}-re ${PN}-stringold" -FILES_${PN}-textutils="${libdir}/python3.5/lib-dynload/_csv.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_csv.*.so ${libdir}/python3.5/csv.* ${libdir}/python3.5/__pycache__/csv.* ${libdir}/python3.5/optparse.* ${libdir}/python3.5/__pycache__/optparse.* ${libdir}/python3.5/textwrap.* ${libdir}/python3.5/__pycache__/textwrap.* " - -SUMMARY_${PN}-threading="Python threading & synchronization support" -RDEPENDS_${PN}-threading="${PN}-core ${PN}-lang" -FILES_${PN}-threading="${libdir}/python3.5/_threading_local.* ${libdir}/python3.5/__pycache__/_threading_local.* ${libdir}/python3.5/dummy_thread.* ${libdir}/python3.5/__pycache__/dummy_thread.* ${libdir}/python3.5/dummy_threading.* ${libdir}/python3.5/__pycache__/dummy_threading.* ${libdir}/python3.5/mutex.* ${libdir}/python3.5/__pycache__/mutex.* ${libdir}/python3.5/threading.* ${libdir}/python3.5/__pycache__/threading.* ${libdir}/python3.5/queue.* ${libdir}/python3.5/__pycache__/queue.* " - -SUMMARY_${PN}-tkinter="Python Tcl/Tk bindings" -RDEPENDS_${PN}-tkinter="${PN}-core" -FILES_${PN}-tkinter="${libdir}/python3.5/lib-dynload/_tkinter.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_tkinter.*.so ${libdir}/python3.5/lib-tk ${libdir}/python3.5/lib-tk/__pycache__ ${libdir}/python3.5/tkinter ${libdir}/python3.5/tkinter/__pycache__ " - -SUMMARY_${PN}-typing="Python typing support" -RDEPENDS_${PN}-typing="${PN}-core" -FILES_${PN}-typing="${libdir}/python3.5/typing.* ${libdir}/python3.5/__pycache__/typing.* " - -SUMMARY_${PN}-unittest="Python unit testing framework" -RDEPENDS_${PN}-unittest="${PN}-core ${PN}-stringold ${PN}-lang ${PN}-io ${PN}-difflib ${PN}-pprint ${PN}-shell" -FILES_${PN}-unittest="${libdir}/python3.5/unittest/ ${libdir}/python3.5/unittest/__pycache__ " - -SUMMARY_${PN}-unixadmin="Python Unix administration support" -RDEPENDS_${PN}-unixadmin="${PN}-core" -FILES_${PN}-unixadmin="${libdir}/python3.5/lib-dynload/nis.*.so ${libdir}/python3.5/lib-dynload/__pycache__/nis.*.so ${libdir}/python3.5/lib-dynload/grp.*.so ${libdir}/python3.5/lib-dynload/__pycache__/grp.*.so ${libdir}/python3.5/lib-dynload/pwd.*.so ${libdir}/python3.5/lib-dynload/__pycache__/pwd.*.so ${libdir}/python3.5/getpass.* ${libdir}/python3.5/__pycache__/getpass.* " - -SUMMARY_${PN}-xml="Python basic XML support" -RDEPENDS_${PN}-xml="${PN}-core ${PN}-re" -FILES_${PN}-xml="${libdir}/python3.5/lib-dynload/_elementtree.*.so ${libdir}/python3.5/lib-dynload/__pycache__/_elementtree.*.so ${libdir}/python3.5/lib-dynload/pyexpat.*.so ${libdir}/python3.5/lib-dynload/__pycache__/pyexpat.*.so ${libdir}/python3.5/xml ${libdir}/python3.5/xml/__pycache__ ${libdir}/python3.5/xmllib.* ${libdir}/python3.5/__pycache__/xmllib.* " - -SUMMARY_${PN}-xmlrpc="Python XML-RPC support" -RDEPENDS_${PN}-xmlrpc="${PN}-core ${PN}-xml ${PN}-netserver ${PN}-lang ${PN}-pydoc" -FILES_${PN}-xmlrpc="${libdir}/python3.5/xmlrpclib.* ${libdir}/python3.5/__pycache__/xmlrpclib.* ${libdir}/python3.5/SimpleXMLRPCServer.* ${libdir}/python3.5/__pycache__/SimpleXMLRPCServer.* ${libdir}/python3.5/DocXMLRPCServer.* ${libdir}/python3.5/__pycache__/DocXMLRPCServer.* ${libdir}/python3.5/xmlrpc ${libdir}/python3.5/xmlrpc/__pycache__ " - -SUMMARY_${PN}-modules="All Python modules" -RDEPENDS_${PN}-modules="${PN}-2to3 ${PN}-argparse ${PN}-asyncio ${PN}-audio ${PN}-codecs ${PN}-compile ${PN}-compression ${PN}-core ${PN}-crypt ${PN}-ctypes ${PN}-curses ${PN}-datetime ${PN}-db ${PN}-debugger ${PN}-difflib ${PN}-distutils ${PN}-doctest ${PN}-email ${PN}-enum ${PN}-fcntl ${PN}-gdbm ${PN}-html ${PN}-idle ${PN}-image ${PN}-importlib ${PN}-io ${PN}-json ${PN}-lang ${PN}-logging ${PN}-mailbox ${PN}-math ${PN}-mime ${PN}-mmap ${PN}-multiprocessing ${PN}-netclient ${PN}-netserver ${PN}-numbers ${PN}-pickle ${PN}-pkgutil ${PN}-pprint ${PN}-profile ${PN}-pydoc ${PN}-re ${PN}-readline ${PN}-reprlib ${PN}-resource ${PN}-selectors ${PN}-shell ${PN}-signal ${PN}-smtpd ${PN}-sqlite3 ${PN}-sqlite3-tests ${PN}-stringold ${PN}-subprocess ${PN}-syslog ${PN}-terminal ${PN}-textutils ${PN}-threading ${PN}-tkinter ${PN}-typing ${PN}-unittest ${PN}-unixadmin ${PN}-xml ${PN}-xmlrpc " -ALLOW_EMPTY_${PN}-modules = "1" - -
meta/recipes-devtools/python/python-native-3.5-manifest.inc deleted +0 -10
@@ -1,10 +0,0 @@ - -# WARNING: This file is AUTO GENERATED: Manual edits will be lost next time I regenerate the file. -# Generator: '../scripts/contrib/python/generate-manifest-3.5.py --native' Version 20140131 (C) 2002-2010 Michael 'Mickey' Lauer <[email protected]> - - - -RPROVIDES += "python3-modules-native python3-2to3-native python3-argparse-native python3-asyncio-native python3-audio-native python3-codecs-native python3-compile-native python3-compression-native python3-core-native python3-crypt-native python3-ctypes-native python3-curses-native python3-datetime-native python3-db-native python3-debugger-native python3-dev-native python3-difflib-native python3-distutils-native python3-distutils-staticdev-native python3-doctest-native python3-email-native python3-enum-native python3-fcntl-native python3-gdbm-native python3-html-native python3-idle-native python3-image-native python3-importlib-native python3-io-native python3-json-native python3-lang-native python3-logging-native python3-mailbox-native python3-math-native python3-mime-native python3-mmap-native python3-multiprocessing-native python3-netclient-native python3-netserver-native python3-numbers-native python3-pickle-native python3-pkgutil-native python3-pprint-native python3-profile-native python3-pydoc-native python3-re-native python3-readline-native python3-reprlib-native python3-resource-native python3-selectors-native python3-shell-native python3-signal-native python3-smtpd-native python3-sqlite3-native python3-sqlite3-tests-native python3-stringold-native python3-subprocess-native python3-syslog-native python3-terminal-native python3-tests-native python3-textutils-native python3-threading-native python3-tkinter-native python3-typing-native python3-unittest-native python3-unixadmin-native python3-xml-native python3-xmlrpc-native" - - -
meta/recipes-devtools/python/python3-native_3.5.3.bb +25 -5
@@ -42,8 +42,6 @@ DEPENDS = "openssl-native bzip2-replacement-native zlib-native readline-native s inherit native -require python-native-${PYTHON_MAJMIN}-manifest.inc - # uninative may be used on pre glibc 2.25 systems which don't have getentropy EXTRA_OECONF_append = " --bindir=${bindir}/${PN} --without-ensurepip ac_cv_func_getentropy=no"
@@ -77,8 +75,30 @@ do_install() { sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' $PYTHSCRIPT done - # Tests are large and we don't need them in the native sysroot - rm ${D}${libdir}/python${PYTHON_MAJMIN}/test -rf + # Add a symlink to the native Python so that scripts can just invoke + # "nativepython" and get the right one without needing absolute paths + # (these often end up too long for the #! parser in the kernel as the + # buffer is 128 bytes long). + ln -s python3-native/python3 ${D}${bindir}/nativepython3 } -RPROVIDES += "python3-misc-native" +python(){ + + # Read JSON manifest + import json + pythondir = d.getVar('THISDIR',True) + with open(pythondir+'/python3/python3-manifest.json') as manifest_file: + python_manifest=json.load(manifest_file) + + rprovides = d.getVar('RPROVIDES').split() + + # Hardcoded since it cant be python3-native-foo, should be python3-foo-native + pn = 'python3' + + for key in python_manifest: + pypackage = pn + '-' + key + '-native' + if pypackage not in rprovides: + rprovides.append(pypackage) + + d.setVar('RPROVIDES', ' '.join(rprovides)) +}
meta/recipes-devtools/python/python3/create_manifest3.py new file +321 -0
321 lines not on this page · raw message
meta/recipes-devtools/python/python3/get_module_deps3.py new file +146 -0
146 lines not on this page · raw message
meta/recipes-devtools/python/python3/python3-manifest.json new file +1097 -0
1,097 lines not on this page · raw message
meta/recipes-devtools/python/python3_3.5.3.bb +79 -4
106 lines not on this page · raw message
scripts/contrib/python/generate-manifest-3.5.py deleted +0 -433
433 lines not on this page · raw message
Signature · 1 line
2.13.6
PATCH v2 3/19 python3: fix RDEPENDS on several recipes, due to non-existent python3 packages
In reply to Tim OrlingFrom: Alejandro Hernandez <[email protected]>
--- meta/recipes-core/libxml/libxml2_2.9.7.bb | 2 +- .../bootchart2/bootchart2_0.14.8.bb | 2 +- meta/recipes-devtools/dnf/dnf_2.6.3.bb | 26 ++++++++++++++++++++-- meta/recipes-devtools/gdb/gdb-cross-canadian.inc | 4 ++-- .../opkg-utils/opkg-utils_0.3.5.bb | 2 +- .../python-numpy/python3-numpy_1.13.3.bb | 2 -- .../recipes-devtools/python/python3-async_0.6.2.bb | 2 +- meta/recipes-devtools/python/python3-git_2.1.7.bb | 2 +- .../recipes-devtools/python/python3-gitdb_0.6.4.bb | 2 +- meta/recipes-devtools/python/python3-pip_9.0.1.bb | 1 - .../python/python3-pygobject_3.26.0.bb | 2 +- .../python/python3-setuptools_36.5.0.bb | 3 --- .../recipes-devtools/python/python3-smmap_0.9.0.bb | 2 +- .../qemu/nativesdk-qemu-helper_1.0.bb | 2 +- meta/recipes-graphics/piglit/piglit_git.bb | 4 ++-- meta/recipes-rt/rt-tests/hwlatdetect_1.1.bb | 2 +- meta/recipes-rt/rt-tests/rt-tests_1.1.bb | 2 +- 17 files changed, 39 insertions(+), 23 deletions(-)
meta/recipes-core/libxml/libxml2_2.9.7.bb +1 -1
@@ -39,7 +39,7 @@ inherit autotools pkgconfig binconfig-disabled ptest inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3native', '', d)} -RDEPENDS_${PN}-ptest += "make ${@bb.utils.contains('PACKAGECONFIG', 'python', 'libgcc python3-core python3-argparse python3-logging python3-shell python3-signal python3-stringold python3-threading python3-unittest ${PN}-python', '', d)}" +RDEPENDS_${PN}-ptest += "make ${@bb.utils.contains('PACKAGECONFIG', 'python', 'libgcc python3-core python3-logging python3-shell python3-stringold python3-threading python3-unittest ${PN}-python', '', d)}" RDEPENDS_${PN}-python += "${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3-core', '', d)}"
meta/recipes-devtools/bootchart2/bootchart2_0.14.8.bb +1 -1
@@ -139,7 +139,7 @@ do_install () { PACKAGES =+ "pybootchartgui" FILES_pybootchartgui += "${PYTHON_SITEPACKAGES_DIR}/pybootchartgui ${bindir}/pybootchartgui" -RDEPENDS_pybootchartgui = "python3-pycairo python3-compression python3-image python3-textutils python3-shell python3-compression python3-codecs" +RDEPENDS_pybootchartgui = "python3-pycairo python3-compression python3-image python3-shell python3-compression python3-codecs" RDEPENDS_${PN}_class-target += "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit-pidof', 'procps', d)}" RDEPENDS_${PN}_class-target += "lsb" DEPENDS_append_class-native = " python3-pycairo-native"
meta/recipes-devtools/dnf/dnf_2.6.3.bb +24 -2
@@ -26,8 +26,30 @@ DEPENDS += "libdnf librepo libcomps python3-iniparse" EXTRA_OECMAKE = " -DWITH_MAN=0 -DPYTHON_INSTALL_DIR=${PYTHON_SITEPACKAGES_DIR} -DPYTHON_DESIRED=3" BBCLASSEXTEND = "native nativesdk" -RDEPENDS_${PN}_class-target += "python3-core python3-codecs python3-netclient python3-email python3-threading python3-distutils librepo python3-shell python3-subprocess libcomps libdnf python3-sqlite3 python3-compression python3-rpm python3-iniparse python3-json python3-importlib python3-curses python3-argparse python3-misc python3-gpg" -# Recommend gnupg so that GPG signature check on repository metadata is possible + +RDEPENDS_${PN}_class-target += " \ + python3-core \ + python3-codecs \ + python3-netclient \ + python3-email \ + python3-threading \ + python3-distutils \ + python3-logging \ + python3-fcntl \ + librepo \ + python3-shell \ + libcomps \ + libdnf \ + python3-sqlite3 \ + python3-compression \ + python3-rpm \ + python3-iniparse \ + python3-json \ + python3-curses \ + python3-misc \ + python3-gpg \ + " + RRECOMMENDS_${PN}_class-target += "gnupg" # Create a symlink called 'dnf' as 'make install' does not do it, but
meta/recipes-devtools/gdb/gdb-cross-canadian.inc +2 -2
@@ -13,9 +13,9 @@ GDBPROPREFIX = "--program-prefix='${TARGET_PREFIX}'" # Overrides PACKAGECONFIG variables in gdb-common.inc PACKAGECONFIG ??= "python readline" PACKAGECONFIG[python] = "--with-python=${WORKDIR}/python,--without-python,nativesdk-python3, \ - nativesdk-python3-core nativesdk-python3-lang nativesdk-python3-re \ + nativesdk-python3-core \ nativesdk-python3-codecs nativesdk-python3-netclient \ - nativesdk-python3-importlib" + " PACKAGECONFIG[readline] = "--with-system-readline,--without-system-readline,nativesdk-readline" SSTATE_DUPWHITELIST += "${STAGING_DATADIR}/gdb"
meta/recipes-devtools/opkg-utils/opkg-utils_0.3.5.bb +1 -1
@@ -20,7 +20,7 @@ SRC_URI[sha256sum] = "7f4b08912e26a3f4f6f423f3b4e7157a73b1f3a7483fc59b216d1a80b5 TARGET_CC_ARCH += "${LDFLAGS}" # For native builds we use the host Python -PYTHONRDEPS = "python3 python3-shell python3-io python3-math python3-crypt python3-logging python3-fcntl python3-subprocess python3-pickle python3-compression python3-textutils python3-stringold" +PYTHONRDEPS = "python3 python3-shell python3-io python3-math python3-crypt python3-logging python3-fcntl python3-pickle python3-compression python3-stringold" PYTHONRDEPS_class-native = "" PACKAGECONFIG = "python update-alternatives"
meta/recipes-devtools/python-numpy/python3-numpy_1.13.3.bb +0 -2
@@ -102,11 +102,9 @@ RDEPENDS_${PN} = "python3-unittest \ python3-pydoc \ python3-pkgutil \ python3-email \ - python3-subprocess \ python3-compression \ python3-ctypes \ python3-threading \ - python3-textutils \ " RDEPENDS_${PN}_class-native = ""
meta/recipes-devtools/python/python3-async_0.6.2.bb +1 -1
@@ -2,5 +2,5 @@ require python-async.inc inherit setuptools3 -RDEPENDS_${PN} += "python3-threading python3-lang" +RDEPENDS_${PN} += "python3-threading"
meta/recipes-devtools/python/python3-git_2.1.7.bb +1 -1
@@ -4,4 +4,4 @@ DEPENDS = "python3-gitdb" inherit setuptools3 -RDEPENDS_${PN} += "python3-gitdb python3-lang python3-io python3-shell python3-math python3-re python3-subprocess python3-stringold python3-unixadmin python3-enum python3-logging python3-datetime python3-netclient python3-unittest python3-argparse git" +RDEPENDS_${PN} += "python3-gitdb python3-io python3-shell python3-math python3-stringold python3-unixadmin python3-logging python3-datetime python3-netclient python3-unittest git"
meta/recipes-devtools/python/python3-gitdb_0.6.4.bb +1 -1
@@ -4,4 +4,4 @@ DEPENDS = "python3-async python3-smmap" inherit distutils3 -RDEPENDS_${PN} += "python3-smmap python3-async python3-mmap python3-lang python3-io python3-shell python3-crypt python3-compression" +RDEPENDS_${PN} += "python3-smmap python3-async python3-mmap python3-io python3-shell python3-crypt python3-compression"
meta/recipes-devtools/python/python3-pip_9.0.1.bb +0 -1
@@ -44,7 +44,6 @@ do_install_append() { RDEPENDS_${PN} = "\ python3-compile \ python3-io \ - python3-enum \ python3-html \ python3-json \ python3-netserver \
meta/recipes-devtools/python/python3-pygobject_3.26.0.bb +1 -1
@@ -24,7 +24,7 @@ PACKAGECONFIG ??= "${@bb.utils.contains_any('DISTRO_FEATURES', [ 'directfb', 'wa # we don't link against python3-pycairo -> RDEPENDS PACKAGECONFIG[cairo] = "--enable-cairo,--disable-cairo,cairo python3-pycairo, python3-pycairo" -RDEPENDS_${PN} += "python3-setuptools python3-importlib" +RDEPENDS_${PN} += "python3-setuptools" BBCLASSEXTEND = "native" PACKAGECONFIG_class-native = ""
meta/recipes-devtools/python/python3-setuptools_36.5.0.bb +0 -3
@@ -23,12 +23,9 @@ RDEPENDS_${PN} = "\ python3-ctypes \ python3-distutils \ python3-email \ - python3-importlib \ python3-numbers \ python3-compression \ python3-shell \ - python3-subprocess \ - python3-textutils \ python3-pkgutil \ python3-threading \ python3-misc \
meta/recipes-devtools/python/python3-smmap_0.9.0.bb +1 -1
@@ -2,4 +2,4 @@ require python-smmap.inc inherit setuptools3 -RDEPENDS_${PN} += "python3-codecs python3-mmap python3-lang" +RDEPENDS_${PN} += "python3-codecs python3-mmap"
meta/recipes-devtools/qemu/nativesdk-qemu-helper_1.0.bb +1 -1
@@ -1,6 +1,6 @@ SUMMARY = "Qemu helper scripts" LICENSE = "GPLv2" -RDEPENDS_${PN} = "nativesdk-qemu nativesdk-python3-subprocess \ +RDEPENDS_${PN} = "nativesdk-qemu \ nativesdk-python3-shell nativesdk-python3-fcntl \ "
meta/recipes-graphics/piglit/piglit_git.bb +2 -2
@@ -45,9 +45,9 @@ do_install() { } RDEPENDS_${PN} = "waffle python3 python3-mako python3-json \ - python3-subprocess python3-misc python3-importlib \ + python3-misc \ python3-unixadmin python3-xml python3-multiprocessing \ - python3-six python3-shell python3-io python3-argparse \ + python3-six python3-shell python3-io \ python3-netserver mesa-demos bash \ "
meta/recipes-rt/rt-tests/hwlatdetect_1.1.bb +1 -1
@@ -22,5 +22,5 @@ do_install() { } FILES_${PN} += "${libdir}/python${PYTHON_BASEVERSION}/dist-packages/hwlatdetect.py" -RDEPENDS_${PN} = "python3 python3-subprocess python3-textutils" +RDEPENDS_${PN} = "python3 " RRECOMMENDS_${PN} = "kernel-module-hwlat-detector"
meta/recipes-rt/rt-tests/rt-tests_1.1.bb +1 -1
@@ -26,6 +26,6 @@ do_install_ptest() { cp ${WORKDIR}/rt_bmark.py ${D}${PTEST_PATH} } -RDEPENDS_${PN}-ptest += " stress python3 python3-subprocess python3-multiprocessing python3-datetime python3-re python3-lang python3-misc" +RDEPENDS_${PN}-ptest += " stress python3 python3-multiprocessing python3-datetime python3-misc" FILES_${PN} += "${prefix}/src/backfire"
Signature · 1 line
2.13.6
PATCH v2 4/19 hwlatdetect: fix RDEPENDS to avoid QA failures
In reply to Tim OrlingFrom: Alejandro Hernandez <[email protected]>
When listing python3 as an RDEPENDS, the image will in fact contain python3-modules, but the QA check fails to get RPROVIDERS correctly (since the python3 package does not actually exist), /usr/bin/python3 is provided by the python3-core package, so by fixing the RDEPENDS and listing python3-core instead of python3, the QA check works correctly and we avoid failures.
--- meta/recipes-rt/rt-tests/hwlatdetect_1.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-rt/rt-tests/hwlatdetect_1.1.bb +1 -1
@@ -22,5 +22,5 @@ do_install() { } FILES_${PN} += "${libdir}/python${PYTHON_BASEVERSION}/dist-packages/hwlatdetect.py" -RDEPENDS_${PN} = "python3 " +RDEPENDS_${PN} = "python3-core " RRECOMMENDS_${PN} = "kernel-module-hwlat-detector"
Signature · 1 line
2.13.6
PATCH v2 5/19 python-scons: Remove python-importlib dependency
In reply to Tim OrlingFrom: Alejandro Hernandez <[email protected]>
With the new manifest python-importlib became part of python-core (it was being installed anyway), so now the package cant be found and it shouldnt be listed as a dependency, this patch fixes python-scons RDEPENDS to avoid dependency errors.
--- meta/recipes-devtools/python/python-scons_3.0.0.bb | 1 - 1 file changed, 1 deletion(-)
meta/recipes-devtools/python/python-scons_3.0.0.bb +0 -1
@@ -24,5 +24,4 @@ RDEPENDS_${PN} = "\ python-subprocess \ python-shell \ python-pprint \ - python-importlib \ "
Signature · 1 line
2.13.6
PATCH v2 6/19 pypi.bbclass: bring in from meta-python
In reply to Tim OrlingThe pypi.bbclass has usefullness in many meta layers, not just meta-python. Add it to oe-core for the benefit of everyone.
Documentation strings for PYPI_PACKAGE, PYPI_PACKAGE_EXT and PYPI_SRC_URI added to meta/conf/documentation.conf
--- meta/classes/pypi.bbclass | 26 ++++++++++++++++++++++++++ meta/conf/documentation.conf | 3 +++ 2 files changed, 29 insertions(+) create mode 100644 meta/classes/pypi.bbclass
meta/classes/pypi.bbclass new file +26 -0
@@ -0,0 +1,26 @@ +def pypi_package(d): + bpn = d.getVar('BPN') + if bpn.startswith('python-'): + return bpn[7:] + elif bpn.startswith('python3-'): + return bpn[8:] + return bpn + +PYPI_PACKAGE ?= "${@pypi_package(d)}" +PYPI_PACKAGE_EXT ?= "tar.gz" + +def pypi_src_uri(d): + package = d.getVar('PYPI_PACKAGE') + package_ext = d.getVar('PYPI_PACKAGE_EXT') + pv = d.getVar('PV') + return 'https://files.pythonhosted.org/packages/source/%s/%s/%s-%s.%s' % (package[0], package, package, pv, package_ext) + +PYPI_SRC_URI ?= "${@pypi_src_uri(d)}" + +HOMEPAGE ?= "https://pypi.python.org/pypi/${PYPI_PACKAGE}/" +SECTION = "devel/python" +SRC_URI += "${PYPI_SRC_URI}" +S = "${WORKDIR}/${PYPI_PACKAGE}-${PV}" + +UPSTREAM_CHECK_URI ?= "https://pypi.python.org/pypi/${PYPI_PACKAGE}/" +UPSTREAM_CHECK_REGEX ?= "/${PYPI_PACKAGE}/(?P<pver>(\d+[\.\-_]*)+)"
meta/conf/documentation.conf +3 -0
@@ -338,6 +338,9 @@ PRIORITY[doc] = "Indicates the importance of a package. The default value is 'o PROVIDES[doc] = "A list of aliases that a recipe also provides. These aliases are useful for satisfying dependencies of other recipes during the build as specified by DEPENDS." PRSERV_HOST[doc] = "The network based PR service host and port." PV[doc] = "The version of the recipe. The version is normally extracted from the recipe filename." +PYPI_PACKAGE[doc] = "The python package name to use for fetching from pypi. Default is parsed from the recipe name, but can be overridden if upstream name is different than recipe name." +PYPI_PACKAGE_EXT[doc] = "The archive file extension to use for fetching from pypi. Default is tar.gz, but can be overridden if upstream uses a different compression scheme." +PYPI_SRC_URI[doc] = "The URI to use to fetch from pypi, default uses pythonhosted.org and is constructed from PYPI_PACKAGE, PYPI_PACKAGE_EXT and PV." #Q
Signature · 1 line
2.13.6
PATCH v2 7/19 python2 create_manifest.py: fix trailing whitespace in json
In reply to Tim OrlingThe 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
--- meta/recipes-devtools/python/python/create_manifest2.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-devtools/python/python/create_manifest2.py +1 -1
@@ -274,4 +274,4 @@ for key in new_manifest: # Create the manifest from the data structure that was built with open('python2-manifest.json.new','w') as outfile: - json.dump(new_manifest,outfile,sort_keys=True, indent=4) + json.dump(new_manifest,outfile,sort_keys=True, indent=4, separators=(',', ': '))
Signature · 1 line
2.13.6
PATCH v2 8/19 python*-manifest.json: add dependencies, runpy
In reply to Tim 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)
--- .../python/python/python2-manifest.json | 1295 ++++++++++---------- .../python/python3/python3-manifest.json | 41 +- 2 files changed, 690 insertions(+), 646 deletions(-)
meta/recipes-devtools/python/python/python2-manifest.json +653 -642
@@ -1,1033 +1,1044 @@ { "2to3": { "files": [ - "${bindir}/2to3", + "${bindir}/2to3", "${libdir}/python2.7/lib2to3" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python automated Python 2 to 3 code translator" - }, + }, "argparse": { "files": [ "${libdir}/python2.7/argparse.py" - ], + ], "rdepends": [ - "codecs", - "core", - "lang", + "codecs", + "core", + "lang", "textutils" - ], + ], "summary": "Python command line argument parser" - }, + }, "audio": { "files": [ - "${libdir}/python2.7/audiodev.py", - "${libdir}/python2.7/chunk.py", - "${libdir}/python2.7/lib-dynload/audioop.so", - "${libdir}/python2.7/lib-dynload/ossaudiodev.so", - "${libdir}/python2.7/sndhdr.py", - "${libdir}/python2.7/sunau.py", - "${libdir}/python2.7/sunaudio.py", - "${libdir}/python2.7/toaiff.py", + "${libdir}/python2.7/audiodev.py", + "${libdir}/python2.7/chunk.py", + "${libdir}/python2.7/lib-dynload/audioop.so", + "${libdir}/python2.7/lib-dynload/ossaudiodev.so", + "${libdir}/python2.7/sndhdr.py", + "${libdir}/python2.7/sunau.py", + "${libdir}/python2.7/sunaudio.py", + "${libdir}/python2.7/toaiff.py", "${libdir}/python2.7/wave.py" - ], + ], "rdepends": [ - "core", - "crypt", - "fcntl", - "io", + "core", + "crypt", + "fcntl", + "io", "math" - ], + ], "summary": "Python Audio Handling" - }, + }, "bsddb": { "files": [ - "${libdir}/python2.7/bsddb", + "${libdir}/python2.7/bsddb", "${libdir}/python2.7/lib-dynload/_bsddb.so" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python bindings for the Berkeley Database" - }, + }, "codecs": { "files": [ - "${libdir}/python2.7/gettext.py", - "${libdir}/python2.7/lib-dynload/_codecs_cn.so", - "${libdir}/python2.7/lib-dynload/_codecs_hk.so", - "${libdir}/python2.7/lib-dynload/_codecs_iso2022.so", - "${libdir}/python2.7/lib-dynload/_codecs_jp.so", - "${libdir}/python2.7/lib-dynload/_codecs_kr.so", - "${libdir}/python2.7/lib-dynload/_codecs_tw.so", - "${libdir}/python2.7/lib-dynload/_multibytecodec.so", - "${libdir}/python2.7/lib-dynload/unicodedata.so", - "${libdir}/python2.7/locale.py", - "${libdir}/python2.7/stringprep.py", + "${libdir}/python2.7/gettext.py", + "${libdir}/python2.7/lib-dynload/_codecs_cn.so", + "${libdir}/python2.7/lib-dynload/_codecs_hk.so", + "${libdir}/python2.7/lib-dynload/_codecs_iso2022.so", + "${libdir}/python2.7/lib-dynload/_codecs_jp.so", + "${libdir}/python2.7/lib-dynload/_codecs_kr.so", + "${libdir}/python2.7/lib-dynload/_codecs_tw.so", + "${libdir}/python2.7/lib-dynload/_multibytecodec.so", + "${libdir}/python2.7/lib-dynload/unicodedata.so", + "${libdir}/python2.7/locale.py", + "${libdir}/python2.7/stringprep.py", "${libdir}/python2.7/xdrlib.py" - ], + ], "rdepends": [ - "core", - "io", + "core", + "io", "lang" - ], + ], "summary": "Python codec" - }, + }, "compile": { "files": [ - "${libdir}/python2.7/compileall.py", + "${libdir}/python2.7/compileall.py", "${libdir}/python2.7/py_compile.py" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python bytecode compilation support" - }, + }, "compiler": { "files": [ "${libdir}/python2.7/compiler" - ], + ], "rdepends": [ - "core", - "io", + "core", + "io", "lang" - ], + ], "summary": "Python compiler support" - }, + }, "compression": { "files": [ - "${libdir}/python2.7/gzip.py", - "${libdir}/python2.7/lib-dynload/bz2.so", - "${libdir}/python2.7/tarfile.py", + "${libdir}/python2.7/gzip.py", + "${libdir}/python2.7/lib-dynload/bz2.so", + "${libdir}/python2.7/tarfile.py", "${libdir}/python2.7/zipfile.py" - ], + ], "rdepends": [ - "core", - "io", - "shell", - "unixadmin", + "core", + "io", + "shell", + "unixadmin", "zlib" - ], + ], "summary": "Python high-level compression support" - }, + }, "contextlib": { "files": [ "${libdir}/python2.7/contextlib.py" - ], + ], "rdepends": [ - "core", + "core", "lang" - ], + ], "summary": "Python utilities for with-statementcontexts." - }, + }, "core": { "files": [ - "${bindir}/python*", - "${includedir}/python2.7/pyconfig*.h", - "${libdir}/python2.7/ConfigParser.py", - "${libdir}/python2.7/UserDict.py", - "${libdir}/python2.7/UserList.py", - "${libdir}/python2.7/UserString.py", - "${libdir}/python2.7/__future__.py", - "${libdir}/python2.7/_abcoll.py", - "${libdir}/python2.7/_sysconfigdata.py", - "${libdir}/python2.7/_weakrefset.py", - "${libdir}/python2.7/abc.py", - "${libdir}/python2.7/ast.py", - "${libdir}/python2.7/atexit.py", - "${libdir}/python2.7/codecs.py", - "${libdir}/python2.7/collections.py", - "${libdir}/python2.7/copy.py", - "${libdir}/python2.7/copy_reg.py", - "${libdir}/python2.7/encodings", - "${libdir}/python2.7/encodings/aliases.py", - "${libdir}/python2.7/encodings/utf_8.py", - "${libdir}/python2.7/genericpath.py", - "${libdir}/python2.7/getopt.py", - "${libdir}/python2.7/heapq.py", - "${libdir}/python2.7/importlib", - "${libdir}/python2.7/keyword.py", - "${libdir}/python2.7/lib-dynload/_collections.so", - "${libdir}/python2.7/lib-dynload/_heapq.so", - "${libdir}/python2.7/lib-dynload/_locale.so", - "${libdir}/python2.7/lib-dynload/_struct.so", - "${libdir}/python2.7/lib-dynload/binascii.so", - "${libdir}/python2.7/lib-dynload/itertools.so", - "${libdir}/python2.7/lib-dynload/operator.so", - "${libdir}/python2.7/lib-dynload/readline.so", - "${libdir}/python2.7/lib-dynload/strop.so", - "${libdir}/python2.7/lib-dynload/time.so", - "${libdir}/python2.7/lib-dynload/xreadlines.so", - "${libdir}/python2.7/linecache.py", - "${libdir}/python2.7/new.py", - "${libdir}/python2.7/os.py", - "${libdir}/python2.7/platform.py", - "${libdir}/python2.7/posixpath.py", - "${libdir}/python2.7/re.py", - "${libdir}/python2.7/rlcompleter.py", - "${libdir}/python2.7/site.py", - "${libdir}/python2.7/sitecustomize.py", - "${libdir}/python2.7/sre_compile.py", - "${libdir}/python2.7/sre_constants.py", - "${libdir}/python2.7/sre_parse.py", - "${libdir}/python2.7/stat.py", - "${libdir}/python2.7/string.py", - "${libdir}/python2.7/struct.py", - "${libdir}/python2.7/sysconfig.py", - "${libdir}/python2.7/traceback.py", - "${libdir}/python2.7/types.py", - "${libdir}/python2.7/warnings.py", + "${bindir}/python*", + "${includedir}/python2.7/pyconfig*.h", + "${libdir}/python2.7/ConfigParser.py", + "${libdir}/python2.7/UserDict.py", + "${libdir}/python2.7/UserList.py", + "${libdir}/python2.7/UserString.py", + "${libdir}/python2.7/__future__.py", + "${libdir}/python2.7/_abcoll.py", + "${libdir}/python2.7/_sysconfigdata.py", + "${libdir}/python2.7/_weakrefset.py", + "${libdir}/python2.7/abc.py", + "${libdir}/python2.7/ast.py", + "${libdir}/python2.7/atexit.py", + "${libdir}/python2.7/codecs.py", + "${libdir}/python2.7/collections.py", + "${libdir}/python2.7/copy.py", + "${libdir}/python2.7/copy_reg.py", + "${libdir}/python2.7/encodings", + "${libdir}/python2.7/encodings/aliases.py", + "${libdir}/python2.7/encodings/utf_8.py", + "${libdir}/python2.7/genericpath.py", + "${libdir}/python2.7/getopt.py", + "${libdir}/python2.7/heapq.py", + "${libdir}/python2.7/importlib", + "${libdir}/python2.7/keyword.py", + "${libdir}/python2.7/lib-dynload/_collections.so", + "${libdir}/python2.7/lib-dynload/_heapq.so", + "${libdir}/python2.7/lib-dynload/_locale.so", + "${libdir}/python2.7/lib-dynload/_struct.so", + "${libdir}/python2.7/lib-dynload/binascii.so", + "${libdir}/python2.7/lib-dynload/itertools.so", + "${libdir}/python2.7/lib-dynload/operator.so", + "${libdir}/python2.7/lib-dynload/readline.so", + "${libdir}/python2.7/lib-dynload/strop.so", + "${libdir}/python2.7/lib-dynload/time.so", + "${libdir}/python2.7/lib-dynload/xreadlines.so", + "${libdir}/python2.7/linecache.py", + "${libdir}/python2.7/new.py", + "${libdir}/python2.7/os.py", + "${libdir}/python2.7/platform.py", + "${libdir}/python2.7/posixpath.py", + "${libdir}/python2.7/re.py", + "${libdir}/python2.7/rlcompleter.py", + "${libdir}/python2.7/site.py", + "${libdir}/python2.7/sitecustomize.py", + "${libdir}/python2.7/sre_compile.py", + "${libdir}/python2.7/sre_constants.py", + "${libdir}/python2.7/sre_parse.py", + "${libdir}/python2.7/stat.py", + "${libdir}/python2.7/string.py", + "${libdir}/python2.7/struct.py", + "${libdir}/python2.7/sysconfig.py", + "${libdir}/python2.7/traceback.py", + "${libdir}/python2.7/types.py", + "${libdir}/python2.7/warnings.py", "${libdir}/python2.7/weakref.py" - ], - "rdepends": [], + ], + "rdepends": [], "summary": "Python interpreter and core modules" - }, + }, "crypt": { "files": [ - "${libdir}/python2.7/hashlib.py", - "${libdir}/python2.7/lib-dynload/_hashlib.so", - "${libdir}/python2.7/lib-dynload/crypt.so", - "${libdir}/python2.7/md5.py", + "${libdir}/python2.7/hashlib.py", + "${libdir}/python2.7/lib-dynload/_hashlib.so", + "${libdir}/python2.7/lib-dynload/crypt.so", + "${libdir}/python2.7/md5.py", "${libdir}/python2.7/sha.py" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python basic cryptographic and hashing support" - }, + }, "ctypes": { "files": [ - "${libdir}/python2.7/ctypes", - "${libdir}/python2.7/lib-dynload/_ctypes.so", + "${libdir}/python2.7/ctypes", + "${libdir}/python2.7/lib-dynload/_ctypes.so", "${libdir}/python2.7/lib-dynload/_ctypes_test.so" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python C types support" - }, + }, "curses": { "files": [ - "${libdir}/python2.7/curses", - "${libdir}/python2.7/lib-dynload/_curses.so", + "${libdir}/python2.7/curses", + "${libdir}/python2.7/lib-dynload/_curses.so", "${libdir}/python2.7/lib-dynload/_curses_panel.so" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python curses support" - }, + }, "datetime": { "files": [ - "${libdir}/python2.7/_strptime.py", - "${libdir}/python2.7/calendar.py", + "${libdir}/python2.7/_strptime.py", + "${libdir}/python2.7/calendar.py", "${libdir}/python2.7/lib-dynload/datetime.so" - ], + ], "rdepends": [ - "codecs", - "core", + "codecs", + "core", "lang" - ], + ], "summary": "Python calendar and time support" - }, + }, "db": { "files": [ - "${libdir}/python2.7/anydbm.py", - "${libdir}/python2.7/dbhash.py", - "${libdir}/python2.7/dumbdbm.py", - "${libdir}/python2.7/lib-dynload/dbm.so", + "${libdir}/python2.7/anydbm.py", + "${libdir}/python2.7/dbhash.py", + "${libdir}/python2.7/dumbdbm.py", + "${libdir}/python2.7/lib-dynload/dbm.so", "${libdir}/python2.7/whichdb.py" - ], + ], "rdepends": [ - "bsddb", - "core", + "bsddb", + "core", "gdbm" - ], + ], "summary": "Python file-based database support" - }, + }, "debugger": { "files": [ - "${libdir}/python2.7/bdb.py", + "${libdir}/python2.7/bdb.py", "${libdir}/python2.7/pdb.py" - ], + ], "rdepends": [ - "core", - "io", - "lang", - "pprint", + "core", + "io", + "lang", + "pprint", "shell" - ], + ], "summary": "Python debugger" - }, + }, "dev": { "files": [ - "${base_libdir}/*.a", - "${base_libdir}/*.o", - "${datadir}/aclocal", - "${datadir}/pkgconfig", - "${includedir}", - "${libdir}/*.a", - "${libdir}/*.la", - "${libdir}/*.o", - "${libdir}/lib*${SOLIBSDEV}", - "${libdir}/pkgconfig", + "${base_libdir}/*.a", + "${base_libdir}/*.o", + "${datadir}/aclocal", + "${datadir}/pkgconfig", + "${includedir}", + "${libdir}/*.a", + "${libdir}/*.la", + "${libdir}/*.o", + "${libdir}/lib*${SOLIBSDEV}", + "${libdir}/pkgconfig", "${libdir}/python2.7/config/Makefile" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python development package" - }, + }, "difflib": { "files": [ "${libdir}/python2.7/difflib.py" - ], + ], "rdepends": [ - "core", + "core", "lang" - ], + ], "summary": "Python helpers for computing deltas between objects" - }, + }, "distutils": { "files": [ - "${libdir}/python2.7/config", + "${libdir}/python2.7/config", "${libdir}/python2.7/distutils" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python Distribution Utilities" - }, + }, "distutils-staticdev": { "files": [ "${libdir}/python2.7/config/lib*.a" - ], + ], "rdepends": [ "distutils" - ], + ], "summary": "Python distribution utilities (static libraries)" - }, + }, "doctest": { "files": [ "${libdir}/python2.7/doctest.py" - ], - "rdepends": [ - "core", - "crypt", - "debugger", - "difflib", - "fcntl", - "io", - "lang", - "math", - "pprint", - "shell", + ], + "rdepends": [ + "core", + "crypt", + "debugger", + "difflib", + "fcntl", + "io", + "lang", + "math", + "pprint", + "shell", "unittest" - ], + ], "summary": "Python framework for running examples in docstrings" - }, + }, "email": { "files": [ - "${libdir}/python2.7/email", + "${libdir}/python2.7/email", "${libdir}/python2.7/imaplib.py" - ], - "rdepends": [ - "contextlib", - "core", - "crypt", - "fcntl", - "io", - "lang", - "math", - "netclient", - "pickle", - "subprocess", + ], + "rdepends": [ + "contextlib", + "core", + "crypt", + "fcntl", + "io", + "lang", + "math", + "netclient", + "pickle", + "subprocess", "textutils" - ], + ], "summary": "Python email support" - }, + }, "fcntl": { "files": [ "${libdir}/python2.7/lib-dynload/fcntl.so" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python's fcntl interface" - }, + }, "gdbm": { "files": [ "${libdir}/python2.7/lib-dynload/gdbm.so" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python GNU database support" - }, + }, "hotshot": { "files": [ - "${libdir}/python2.7/hotshot", + "${libdir}/python2.7/hotshot", "${libdir}/python2.7/lib-dynload/_hotshot.so" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python hotshot performance profiler" - }, + }, "html": { "files": [ - "${libdir}/python2.7/HTMLParser.py", - "${libdir}/python2.7/formatter.py", - "${libdir}/python2.7/htmlentitydefs.py", - "${libdir}/python2.7/htmllib.py", - "${libdir}/python2.7/markupbase.py", + "${libdir}/python2.7/HTMLParser.py", + "${libdir}/python2.7/formatter.py", + "${libdir}/python2.7/htmlentitydefs.py", + "${libdir}/python2.7/htmllib.py", + "${libdir}/python2.7/markupbase.py", "${libdir}/python2.7/sgmllib.py" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python HTML processing support" - }, + }, "idle": { "files": [ - "${bindir}/idle", + "${bindir}/idle", "${libdir}/python2.7/idlelib" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python Integrated Development Environment" - }, + }, "image": { "files": [ - "${libdir}/python2.7/colorsys.py", + "${libdir}/python2.7/colorsys.py", "${libdir}/python2.7/imghdr.py" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python graphical image handling" - }, + }, "io": { "files": [ - "${libdir}/python2.7/StringIO.py", - "${libdir}/python2.7/_pyio.py", - "${libdir}/python2.7/io.py", - "${libdir}/python2.7/lib-dynload/_io.so", - "${libdir}/python2.7/lib-dynload/_socket.so", - "${libdir}/python2.7/lib-dynload/_ssl.so", - "${libdir}/python2.7/lib-dynload/cStringIO.so", - "${libdir}/python2.7/lib-dynload/select.so", - "${libdir}/python2.7/lib-dynload/termios.so", - "${libdir}/python2.7/pipes.py", - "${libdir}/python2.7/socket.py", - "${libdir}/python2.7/ssl.py", + "${libdir}/python2.7/StringIO.py", + "${libdir}/python2.7/_pyio.py", + "${libdir}/python2.7/io.py", + "${libdir}/python2.7/lib-dynload/_io.so", + "${libdir}/python2.7/lib-dynload/_socket.so", + "${libdir}/python2.7/lib-dynload/_ssl.so", + "${libdir}/python2.7/lib-dynload/cStringIO.so", + "${libdir}/python2.7/lib-dynload/select.so", + "${libdir}/python2.7/lib-dynload/termios.so", + "${libdir}/python2.7/pipes.py", + "${libdir}/python2.7/socket.py", + "${libdir}/python2.7/ssl.py", "${libdir}/python2.7/tempfile.py" - ], - "rdepends": [ - "contextlib", - "core", - "crypt", - "fcntl", - "lang", - "math", - "netclient", + ], + "rdepends": [ + "contextlib", + "core", + "crypt", + "fcntl", + "lang", + "math", + "netclient", "textutils" - ], + ], "summary": "Python low-level I/O" - }, + }, "json": { "files": [ - "${libdir}/python2.7/json", + "${libdir}/python2.7/json", "${libdir}/python2.7/lib-dynload/_json.so" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python JSON support" - }, + }, "lang": { "files": [ - "${libdir}/python2.7/bisect.py", - "${libdir}/python2.7/code.py", - "${libdir}/python2.7/codeop.py", - "${libdir}/python2.7/dis.py", - "${libdir}/python2.7/functools.py", - "${libdir}/python2.7/inspect.py", - "${libdir}/python2.7/lib-dynload/_bisect.so", - "${libdir}/python2.7/lib-dynload/_functools.so", - "${libdir}/python2.7/lib-dynload/array.so", - "${libdir}/python2.7/lib-dynload/parser.so", - "${libdir}/python2.7/opcode.py", - "${libdir}/python2.7/repr.py", - "${libdir}/python2.7/symbol.py", - "${libdir}/python2.7/token.py", + "${libdir}/python2.7/bisect.py", + "${libdir}/python2.7/code.py", + "${libdir}/python2.7/codeop.py", + "${libdir}/python2.7/dis.py", + "${libdir}/python2.7/functools.py", + "${libdir}/python2.7/inspect.py", + "${libdir}/python2.7/lib-dynload/_bisect.so", + "${libdir}/python2.7/lib-dynload/_functools.so", + "${libdir}/python2.7/lib-dynload/array.so", + "${libdir}/python2.7/lib-dynload/parser.so", + "${libdir}/python2.7/opcode.py", + "${libdir}/python2.7/repr.py", + "${libdir}/python2.7/symbol.py", + "${libdir}/python2.7/token.py", "${libdir}/python2.7/tokenize.py" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python low-level language support" - }, + }, "logging": { "files": [ "${libdir}/python2.7/logging" - ], + ], "rdepends": [ - "core", - "io", + "core", + "io", "threading" - ], + ], "summary": "Python logging support" - }, + }, "mailbox": { "files": [ "${libdir}/python2.7/mailbox.py" - ], - "rdepends": [ - "codecs", - "contextlib", - "core", - "crypt", - "datetime", - "email", - "fcntl", - "io", - "lang", - "math", - "mime", - "netclient", + ], + "rdepends": [ + "codecs", + "contextlib", + "core", + "crypt", + "datetime", + "email", + "fcntl", + "io", + "lang", + "math", + "mime", + "netclient", "textutils" - ], + ], "summary": "Python mailbox format support" - }, + }, "math": { "files": [ - "${libdir}/python2.7/lib-dynload/_random.so", - "${libdir}/python2.7/lib-dynload/cmath.so", - "${libdir}/python2.7/lib-dynload/math.so", - "${libdir}/python2.7/random.py", + "${libdir}/python2.7/lib-dynload/_random.so", + "${libdir}/python2.7/lib-dynload/cmath.so", + "${libdir}/python2.7/lib-dynload/math.so", + "${libdir}/python2.7/random.py", "${libdir}/python2.7/sets.py" - ], + ], "rdepends": [ - "core", + "core", "crypt" - ], + ], "summary": "Python math support" - }, + }, "mime": { "files": [ - "${libdir}/python2.7/MimeWriter.py", - "${libdir}/python2.7/mimetools.py", - "${libdir}/python2.7/mimetypes.py", - "${libdir}/python2.7/quopri.py", - "${libdir}/python2.7/rfc822.py", + "${libdir}/python2.7/MimeWriter.py", + "${libdir}/python2.7/mimetools.py", + "${libdir}/python2.7/mimetypes.py", + "${libdir}/python2.7/quopri.py", + "${libdir}/python2.7/rfc822.py", "${libdir}/python2.7/uu.py" - ], - "rdepends": [ - "contextlib", - "core", - "crypt", - "fcntl", - "io", - "lang", - "math", - "netclient", + ], + "rdepends": [ + "contextlib", + "core", + "crypt", + "fcntl", + "io", + "lang", + "math", + "netclient", "textutils" - ], + ], "summary": "Python MIME handling APIs" - }, + }, "mmap": { "files": [ "${libdir}/python2.7/lib-dynload/mmap.so" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python memory-mapped file support" - }, + }, "modules": { - "files": [], - "rdepends": [ - "2to3", - "argparse", - "audio", - "bsddb", - "codecs", - "compile", - "compiler", - "compression", - "contextlib", - "core", - "crypt", - "ctypes", - "curses", - "datetime", - "db", - "debugger", - "difflib", - "distutils", - "doctest", - "email", - "fcntl", - "gdbm", - "hotshot", - "html", - "idle", - "image", - "io", - "json", - "lang", - "logging", - "mailbox", - "math", - "mime", - "mmap", - "multiprocessing", - "netclient", - "netserver", - "numbers", - "pickle", - "pkgutil", - "plistlib", - "pprint", - "profile", - "pydoc", - "re", - "resource", - "robotparser", - "shell", - "smtpd", - "sqlite3", - "sqlite3", - "stringold", - "subprocess", - "syslog", - "terminal", - "tests", - "textutils", - "threading", - "tkinter", - "unittest", - "unixadmin", - "xml", - "xmlrpc", + "files": [], + "rdepends": [ + "2to3", + "argparse", + "audio", + "bsddb", + "codecs", + "compile", + "compiler", + "compression", + "contextlib", + "core", + "crypt", + "ctypes", + "curses", + "datetime", + "db", + "debugger", + "difflib", + "distutils", + "doctest", + "email", + "fcntl", + "gdbm", + "hotshot", + "html", + "idle", + "image", + "io", + "json", + "lang", + "logging", + "mailbox", + "math", + "mime", + "mmap", + "multiprocessing", + "netclient", + "netserver", + "numbers", + "pickle", + "pkgutil", + "plistlib", + "pprint", + "profile", + "pydoc", + "re", + "resource", + "robotparser", + "runpy", + "shell", + "smtpd", + "sqlite3", + "sqlite3", + "stringold", + "subprocess", + "syslog", + "terminal", + "tests", + "textutils", + "threading", + "tkinter", + "unittest", + "unixadmin", + "xml", + "xmlrpc", "zlib" - ], + ], "summary": "All Python modules" - }, + }, "multiprocessing": { "files": [ - "${libdir}/python2.7/lib-dynload/_multiprocessing.so", + "${libdir}/python2.7/lib-dynload/_multiprocessing.so", "${libdir}/python2.7/multiprocessing" - ], + ], "rdepends": [ - "core", - "fcntl", - "io", - "pickle", - "subprocess", + "core", + "fcntl", + "io", + "pickle", + "subprocess", "threading" - ], + ], "summary": "Python multiprocessing support" - }, + }, "netclient": { "files": [ - "${libdir}/python2.7/Cookie.py", - "${libdir}/python2.7/_LWPCookieJar.py", - "${libdir}/python2.7/_MozillaCookieJar.py", - "${libdir}/python2.7/base64.py", - "${libdir}/python2.7/cookielib.py", - "${libdir}/python2.7/ftplib.py", - "${libdir}/python2.7/hmac.py", - "${libdir}/python2.7/httplib.py", - "${libdir}/python2.7/nntplib.py", - "${libdir}/python2.7/poplib.py", - "${libdir}/python2.7/smtplib.py", - "${libdir}/python2.7/telnetlib.py", - "${libdir}/python2.7/urllib.py", - "${libdir}/python2.7/urllib2.py", - "${libdir}/python2.7/urlparse.py", + "${libdir}/python2.7/Cookie.py", + "${libdir}/python2.7/_LWPCookieJar.py", + "${libdir}/python2.7/_MozillaCookieJar.py", + "${libdir}/python2.7/base64.py", + "${libdir}/python2.7/cookielib.py", + "${libdir}/python2.7/ftplib.py", + "${libdir}/python2.7/hmac.py", + "${libdir}/python2.7/httplib.py", + "${libdir}/python2.7/nntplib.py", + "${libdir}/python2.7/poplib.py", + "${libdir}/python2.7/smtplib.py", + "${libdir}/python2.7/telnetlib.py", + "${libdir}/python2.7/urllib.py", + "${libdir}/python2.7/urllib2.py", + "${libdir}/python2.7/urlparse.py", "${libdir}/python2.7/uuid.py" - ], - "rdepends": [ - "codecs", - "contextlib", - "core", - "crypt", - "ctypes", - "datetime", - "email", - "fcntl", - "io", - "lang", - "math", - "mime", - "pickle", - "subprocess", - "textutils", + ], + "rdepends": [ + "codecs", + "contextlib", + "core", + "crypt", + "ctypes", + "datetime", + "email", + "fcntl", + "io", + "lang", + "math", + "mime", + "pickle", + "subprocess", + "textutils", "threading" - ], + ], "summary": "Python Internet Protocol clients" - }, + }, "netserver": { "files": [ - "${libdir}/python2.7/BaseHTTPServer.py", - "${libdir}/python2.7/CGIHTTPServer.py", - "${libdir}/python2.7/SimpleHTTPServer.py", - "${libdir}/python2.7/SocketServer.py", + "${libdir}/python2.7/BaseHTTPServer.py", + "${libdir}/python2.7/CGIHTTPServer.py", + "${libdir}/python2.7/SimpleHTTPServer.py", + "${libdir}/python2.7/SocketServer.py", "${libdir}/python2.7/cgi.py" - ], - "rdepends": [ - "contextlib", - "core", - "crypt", - "fcntl", - "io", - "lang", - "math", - "mime", - "netclient", - "shell", - "textutils", - "threading", + ], + "rdepends": [ + "contextlib", + "core", + "crypt", + "fcntl", + "io", + "lang", + "math", + "mime", + "netclient", + "shell", + "textutils", + "threading", "unixadmin" - ], + ], "summary": "Python Internet Protocol servers" - }, + }, "numbers": { "files": [ - "${libdir}/python2.7/decimal.py", - "${libdir}/python2.7/fractions.py", + "${libdir}/python2.7/decimal.py", + "${libdir}/python2.7/fractions.py", "${libdir}/python2.7/numbers.py" - ], + ], "rdepends": [ - "codecs", - "core", - "lang", - "math", + "codecs", + "core", + "lang", + "math", "threading" - ], + ], "summary": "Python number APIs" - }, + }, "pickle": { "files": [ - "${libdir}/python2.7/lib-dynload/cPickle.so", - "${libdir}/python2.7/pickle.py", - "${libdir}/python2.7/pickletools.py", + "${libdir}/python2.7/lib-dynload/cPickle.so", + "${libdir}/python2.7/pickle.py", + "${libdir}/python2.7/pickletools.py", "${libdir}/python2.7/shelve.py" - ], + ], "rdepends": [ - "core", + "core", "io" - ], + ], "summary": "Python serialisation/persistence support" - }, + }, "pkgutil": { "files": [ "${libdir}/python2.7/pkgutil.py" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python package extension utility support" - }, + }, "plistlib": { "files": [ "${libdir}/python2.7/plistlib.py" - ], + ], "rdepends": [ - "core", - "datetime", + "core", + "datetime", "io" - ], + ], "summary": "Generate and parse Mac OS X .plist files" - }, + }, "pprint": { "files": [ "${libdir}/python2.7/pprint.py" - ], + ], "rdepends": [ - "core", + "core", "io" - ], + ], "summary": "Python pretty-print support" - }, + }, "profile": { "files": [ - "${libdir}/python2.7/cProfile.py", - "${libdir}/python2.7/lib-dynload/_lsprof.so", - "${libdir}/python2.7/profile.py", + "${libdir}/python2.7/cProfile.py", + "${libdir}/python2.7/lib-dynload/_lsprof.so", + "${libdir}/python2.7/profile.py", "${libdir}/python2.7/pstats.py" - ], + ], "rdepends": [ - "codecs", - "core", - "lang", - "resource", + "codecs", + "core", + "lang", + "resource", "textutils" - ], + ], "summary": "Python basic performance profiling support" - }, + }, "pydoc": { "files": [ - "${bindir}/pydoc", - "${libdir}/python2.7/pydoc.py", + "${bindir}/pydoc", + "${libdir}/python2.7/pydoc.py", "${libdir}/python2.7/pydoc_data" - ], + ], "rdepends": [ - "codecs", - "core", - "lang", + "codecs", + "core", + "lang", "pkgutil" - ], + ], "summary": "Python interactive help support" - }, + }, "re": { "files": [ "${libdir}/python2.7/sre.py" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python Regular Expression APIs" - }, + }, "resource": { "files": [ "${libdir}/python2.7/lib-dynload/resource.so" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python resource control interface" - }, + }, "robotparser": { "files": [ "${libdir}/python2.7/robotparser.py" - ], + ], "rdepends": [ - "contextlib", - "core", - "io", - "lang", - "netclient", + "contextlib", + "core", + "io", + "lang", + "netclient", "textutils" - ], + ], "summary": "Python robots.txt parser" - }, + }, + "runpy": { + "files": [ + "${libdir}/python2.7/runpy.py" + ], + "rdepends": [ + "core", + "pkgutil" + ], + "summary": "Python helper for locating/executing scripts in module namespace" + }, "shell": { "files": [ - "${libdir}/python2.7/cmd.py", - "${libdir}/python2.7/commands.py", - "${libdir}/python2.7/dircache.py", - "${libdir}/python2.7/fnmatch.py", - "${libdir}/python2.7/glob.py", - "${libdir}/python2.7/popen2.py", - "${libdir}/python2.7/shlex.py", + "${libdir}/python2.7/cmd.py", + "${libdir}/python2.7/commands.py", + "${libdir}/python2.7/dircache.py", + "${libdir}/python2.7/fnmatch.py", + "${libdir}/python2.7/glob.py", + "${libdir}/python2.7/popen2.py", + "${libdir}/python2.7/shlex.py", "${libdir}/python2.7/shutil.py" - ], + ], "rdepends": [ - "core", - "io", + "core", + "io", "unixadmin" - ], + ], "summary": "Python shell-like functionality" - }, + }, "smtpd": { "files": [ - "${bindir}/smtpd.py", - "${libdir}/python2.7/asynchat.py", - "${libdir}/python2.7/asyncore.py", + "${bindir}/smtpd.py", + "${libdir}/python2.7/asynchat.py", + "${libdir}/python2.7/asyncore.py", "${libdir}/python2.7/smtpd.py" - ], + ], "rdepends": [ - "core", - "fcntl", - "io", + "core", + "fcntl", + "io", "lang" - ], + ], "summary": "Python Simple Mail Transport Daemon" - }, + }, "sqlite3": { "files": [ "${libdir}/python2.7/lib-dynload/_sqlite3.so" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python Sqlite3 database support" - }, + }, "sqlite3-tests": { "files": [ "${libdir}/python2.7/sqlite3/test" - ], + ], "rdepends": [ - "core", + "core", "tests" - ], + ], "summary": "Python Sqlite3 database support tests" - }, + }, "stringold": { "files": [ "${libdir}/python2.7/stringold.py" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python string APIs [deprecated]" - }, + }, "subprocess": { "files": [ "${libdir}/python2.7/subprocess.py" - ], + ], "rdepends": [ - "core", - "fcntl", - "io", + "core", + "fcntl", + "io", "pickle" - ], + ], "summary": "Python subprocess support" - }, + }, "syslog": { "files": [ "${libdir}/python2.7/lib-dynload/syslog.so" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python syslog interface" - }, + }, "terminal": { "files": [ - "${libdir}/python2.7/pty.py", + "${libdir}/python2.7/pty.py", "${libdir}/python2.7/tty.py" - ], + ], "rdepends": [ - "core", + "core", "io" - ], + ], "summary": "Python terminal controlling support" - }, + }, "tests": { "files": [ "${libdir}/python2.7/test" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python tests" - }, + }, "textutils": { "files": [ - "${libdir}/python2.7/csv.py", - "${libdir}/python2.7/lib-dynload/_csv.so", - "${libdir}/python2.7/optparse.py", + "${libdir}/python2.7/csv.py", + "${libdir}/python2.7/lib-dynload/_csv.so", + "${libdir}/python2.7/optparse.py", "${libdir}/python2.7/textwrap.py" - ], + ], "rdepends": [ - "codecs", - "core", - "io", + "codecs", + "core", + "io", "lang" - ], + ], "summary": "Python option parsin" - }, + }, "threading": { "files": [ - "${libdir}/python2.7/Queue.py", - "${libdir}/python2.7/_threading_local.py", - "${libdir}/python2.7/dummy_thread.py", - "${libdir}/python2.7/dummy_threading.py", - "${libdir}/python2.7/mutex.py", + "${libdir}/python2.7/Queue.py", + "${libdir}/python2.7/_threading_local.py", + "${libdir}/python2.7/dummy_thread.py", + "${libdir}/python2.7/dummy_threading.py", + "${libdir}/python2.7/mutex.py", "${libdir}/python2.7/threading.py" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python threading & synchronization support" - }, + }, "tkinter": { "files": [ "${libdir}/python2.7/lib-tk" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python Tcl/Tk bindings" - }, + }, "unittest": { "files": [ "${libdir}/python2.7/unittest" - ], + ], "rdepends": [ - "core", - "difflib", - "io", - "lang", - "pprint", + "core", + "difflib", + "io", + "lang", + "pprint", "shell" - ], + ], "summary": "Python unit testing framework" - }, + }, "unixadmin": { "files": [ - "${libdir}/python2.7/getpass.py", - "${libdir}/python2.7/lib-dynload/grp.so", + "${libdir}/python2.7/getpass.py", + "${libdir}/python2.7/lib-dynload/grp.so", "${libdir}/python2.7/lib-dynload/nis.so" - ], + ], "rdepends": [ - "core", + "core", "io" - ], + ], "summary": "Python Unix administration support" - }, + }, "xml": { "files": [ - "${libdir}/python2.7/lib-dynload/_elementtree.so", - "${libdir}/python2.7/lib-dynload/pyexpat.so", + "${libdir}/python2.7/lib-dynload/_elementtree.so", + "${libdir}/python2.7/lib-dynload/pyexpat.so", "${libdir}/python2.7/xml" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python basic XML support" - }, + }, "xmlrpc": { "files": [ - "${libdir}/python2.7/DocXMLRPCServer.py", + "${libdir}/python2.7/DocXMLRPCServer.py", "${libdir}/python2.7/SimpleXMLRPCServer.py" - ], - "rdepends": [ - "codecs", - "compression", - "contextlib", - "core", - "crypt", - "datetime", - "fcntl", - "io", - "lang", - "math", - "mime", - "netclient", - "netserver", - "pkgutil", - "pydoc", - "textutils", - "threading", - "xml", + ], + "rdepends": [ + "codecs", + "compression", + "contextlib", + "core", + "crypt", + "datetime", + "fcntl", + "io", + "lang", + "math", + "mime", + "netclient", + "netserver", + "pkgutil", + "pydoc", + "textutils", + "threading", + "xml", "zlib" - ], + ], "summary": "Python XML-RPC support" - }, + }, "zlib": { "files": [ "${libdir}/python2.7/lib-dynload/zlib.so" - ], + ], "rdepends": [ "core" - ], + ], "summary": "Python zlib compression support" } -} +}
meta/recipes-devtools/python/python3/python3-manifest.json +37 -4
115 lines not on this page · raw message
Signature · 1 line
2.13.6
PATCH v2 9/19 python*-setuptools: upgrade to 38.2.3; use pypi.bbclass; improvements
In reply to Tim Orling* 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 RDEPENDS on _markupbase
- prior commit it added to -core rather than -misc catchall
- installer no longer creates setuptools.pth, drop fixes
- easy_install script is installed in /usr/bin/, add --script-dir
--- meta/recipes-devtools/python/python-setuptools.inc | 39 ++++++++++++++++++---- .../python/python-setuptools_36.5.0.bb | 38 --------------------- .../python/python-setuptools_38.2.3.bb | 9 +++++ .../python/python3-setuptools_36.5.0.bb | 35 ------------------- .../python/python3-setuptools_38.2.3.bb | 6 ++++ 5 files changed, 48 insertions(+), 79 deletions(-) delete mode 100644 meta/recipes-devtools/python/python-setuptools_36.5.0.bb create mode 100644 meta/recipes-devtools/python/python-setuptools_38.2.3.bb delete mode 100644 meta/recipes-devtools/python/python3-setuptools_36.5.0.bb create mode 100644 meta/recipes-devtools/python/python3-setuptools_38.2.3.bb
meta/recipes-devtools/python/python-setuptools.inc +33 -6
@@ -5,17 +5,44 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;beginline=1;endline=19;md5=9a33897f1bca1160d7aad3835152e158" -SRCNAME = "setuptools" +PYPI_PACKAGE_EXT = "zip" -SRC_URI = "https://files.pythonhosted.org/packages/source/s/${SRCNAME}/${SRCNAME}-${PV}.zip" +SRC_URI[md5sum] = "0ae64455d276ff864b40aca9c06ea7c1" +SRC_URI[sha256sum] = "63c394084de7d11bbbec59a4f9a9a6bab10209657c615e76ef62ae25cea39288" -SRC_URI[md5sum] = "704f500dd55f4bd0be905444f3ba892c" -SRC_URI[sha256sum] = "ce2007c1cea3359870b80657d634253a0765b0c7dc5a988d77ba803fc86f2c64" +inherit pypi -UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/setuptools" +DEPENDS += "${PYTHON_PN}" +DEPENDS_class-native += "${PYTHON_PN}-native" +DEPENDS_class-nativesdk += "nativesdk-${PYTHON_PN}" -S = "${WORKDIR}/${SRCNAME}-${PV}" +DISTUTILS_INSTALL_ARGS += "--install-lib=${D}${PYTHON_SITEPACKAGES_DIR} \ + --script-dir=${bindir}" + +RDEPENDS_${PN}_class-native = "\ + ${PYTHON_PN}-distutils \ + ${PYTHON_PN}-compression \ +" +RDEPENDS_${PN} = "\ + ${PYTHON_PN}-compile \ + ${PYTHON_PN}-compression \ + ${PYTHON_PN}-ctypes \ + ${PYTHON_PN}-distutils \ + ${PYTHON_PN}-email \ + ${PYTHON_PN}-html \ + ${PYTHON_PN}-netserver \ + ${PYTHON_PN}-numbers \ + ${PYTHON_PN}-pkgutil \ + ${PYTHON_PN}-plistlib \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-stringold \ + ${PYTHON_PN}-threading \ + ${PYTHON_PN}-unittest \ + ${PYTHON_PN}-xml \ +" do_install_prepend() { install -d ${D}${PYTHON_SITEPACKAGES_DIR} } + +BBCLASSEXTEND = "native nativesdk"
meta/recipes-devtools/python/python-setuptools_36.5.0.bb deleted +0 -38
@@ -1,38 +0,0 @@ -require python-setuptools.inc - -PROVIDES = "python-distribute" - -DEPENDS += "python" -DEPENDS_class-native += "python-native" - -inherit distutils - -DISTUTILS_INSTALL_ARGS += "--install-lib=${D}${PYTHON_SITEPACKAGES_DIR}" - -RDEPENDS_${PN} = "\ - python-stringold \ - python-email \ - python-shell \ - python-distutils \ - python-compression \ - python-pkgutil \ - python-plistlib \ - python-numbers \ - python-html \ - python-netserver \ - python-ctypes \ - python-subprocess \ - python-unittest \ - python-compile \ -" - -RDEPENDS_${PN}_class-native = "\ - python-distutils \ - python-compression \ -" - -RREPLACES_${PN} = "python-distribute" -RPROVIDES_${PN} = "python-distribute" -RCONFLICTS_${PN} = "python-distribute" - -BBCLASSEXTEND = "native nativesdk"
meta/recipes-devtools/python/python-setuptools_38.2.3.bb new file +9 -0
@@ -0,0 +1,9 @@ +require python-setuptools.inc + +PROVIDES = "python-distribute" + +inherit setuptools + +RREPLACES_${PN} = "python-distribute" +RPROVIDES_${PN} = "python-distribute" +RCONFLICTS_${PN} = "python-distribute"
meta/recipes-devtools/python/python3-setuptools_36.5.0.bb deleted +0 -35
@@ -1,35 +0,0 @@ -require python-setuptools.inc - -DEPENDS += "python3" -DEPENDS_class-native += "python3-native" -DEPENDS_class-nativesdk += "nativesdk-python3" - -inherit distutils3 - -DISTUTILS_INSTALL_ARGS += "--install-lib=${D}${PYTHON_SITEPACKAGES_DIR}" - -# The installer puts the wrong path in the setuptools.pth file. Correct it. -do_install_append() { - rm ${D}${PYTHON_SITEPACKAGES_DIR}/setuptools.pth - mv ${D}${bindir}/easy_install ${D}${bindir}/easy3_install - echo "./${SRCNAME}-${PV}-py${PYTHON_BASEVERSION}.egg" > ${D}${PYTHON_SITEPACKAGES_DIR}/setuptools.pth -} - -RDEPENDS_${PN}_class-native = "\ - python3-distutils \ - python3-compression \ -" -RDEPENDS_${PN} = "\ - python3-ctypes \ - python3-distutils \ - python3-email \ - python3-numbers \ - python3-compression \ - python3-shell \ - python3-pkgutil \ - python3-threading \ - python3-misc \ - python3-unittest \ - python3-xml \ -" -BBCLASSEXTEND = "native nativesdk"
meta/recipes-devtools/python/python3-setuptools_38.2.3.bb new file +6 -0
@@ -0,0 +1,6 @@ +require python-setuptools.inc +inherit setuptools3 + +do_install_append() { + mv ${D}${bindir}/easy_install ${D}${bindir}/easy3_install +}
Signature · 1 line
2.13.6
PATCH v2 10/19 python3-pip: use pypi.bbclass
In reply to Tim Orling* Simplify recipe using pypi.bbclass
--- meta/recipes-devtools/python/python3-pip_9.0.1.bb | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-)
meta/recipes-devtools/python/python3-pip_9.0.1.bb +4 -10
@@ -1,22 +1,15 @@ SUMMARY = "The PyPA recommended tool for installing Python packages" -sHOMEPAGEsss = "https://pypi.python.org/pypi/pip" +HOMEPAGE = "https://pypi.python.org/pypi/pip" SECTION = "devel/python" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=25fba45109565f87de20bae85bc39452" -SRCNAME = "pip" DEPENDS += "python3 python3-setuptools-native" -SRC_URI = "https://files.pythonhosted.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" - SRC_URI[md5sum] = "35f01da33009719497f01a4ba69d63c9" SRC_URI[sha256sum] = "09f243e1a7b461f654c26a725fa373211bb7ff17a9300058b205c61658ca940d" -UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/pip" - -S = "${WORKDIR}/${SRCNAME}-${PV}" - -inherit distutils3 +inherit pypi distutils3 DISTUTILS_INSTALL_ARGS += "--install-lib=${D}${PYTHON_SITEPACKAGES_DIR}"
@@ -33,7 +26,7 @@ do_install_append() { rm ${D}/${bindir}/pip # Installed eggs need to be passed directly to the interpreter via a pth file - echo "./${SRCNAME}-${PV}-py${PYTHON_BASEVERSION}.egg" > ${D}${PYTHON_SITEPACKAGES_DIR}/${SRCNAME}-${PV}.pth + echo "./${PYPI_PACKAGE}-${PV}-py${PYTHON_BASEVERSION}.egg" > ${D}${PYTHON_SITEPACKAGES_DIR}/${PYPI_PACKAGE}-${PV}.pth # Make sure we use /usr/bin/env python3 for PYTHSCRIPT in `grep -rIl ${bindir} ${D}${bindir}/pip3*`; do
@@ -46,6 +39,7 @@ RDEPENDS_${PN} = "\ python3-io \ python3-html \ python3-json \ + python3-netclient \ python3-netserver \ python3-setuptools \ python3-unixadmin \
Signature · 1 line
2.13.6
PATCH v2 11/19 python-nose: use pypi.bbclass
In reply to Tim Orling* Simplify python- and python3-nose by using pypi.bbclass
* Consolidate common content in python-nose.inc
- Avoid duplication by using PYTHON_PN variable
* nosetests RDEPENDS on python-logging
--- meta/recipes-devtools/python/python-nose.inc | 18 ++++++++++++++++ meta/recipes-devtools/python/python-nose_1.3.7.bb | 25 +++------------------- meta/recipes-devtools/python/python3-nose_1.3.7.bb | 24 +-------------------- 3 files changed, 22 insertions(+), 45 deletions(-) create mode 100644 meta/recipes-devtools/python/python-nose.inc
meta/recipes-devtools/python/python-nose.inc new file +18 -0
@@ -0,0 +1,18 @@ +SUMMARY = "Extends Python unittest to make testing easier" +HOMEPAGE = "http://readthedocs.org/docs/nose/" +DESCRIPTION = "nose extends the test loading and running features of unittest, \ +making it easier to write, find and run tests." +SECTION = "devel/python" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://lgpl.txt;md5=a6f89e2100d9b6cdffcea4f398e37343" + +SRC_URI[md5sum] = "4d3ad0ff07b61373d2cefc89c5d0b20b" +SRC_URI[sha256sum] = "f1bffef9cbc82628f6e7d7b40d7e255aefaa1adb6a1b1d26c69a8b79e6208a98" + +inherit pypi + +RDEPENDS_${PN}_class-target = "\ + ${PYTHON_PN}-unittest \ + " + +BBCLASSEXTEND = "native nativesdk"
meta/recipes-devtools/python/python-nose_1.3.7.bb +3 -22
@@ -1,25 +1,6 @@ -SUMMARY = "Extends Python unittest to make testing easier" -HOMEPAGE = "http://readthedocs.org/docs/nose/" -DESCRIPTION = "nose extends the test loading and running features of unittest, \ -making it easier to write, find and run tests." -SECTION = "devel/python" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://lgpl.txt;md5=a6f89e2100d9b6cdffcea4f398e37343" - -SRC_URI = "https://files.pythonhosted.org/packages/source/n/nose/nose-${PV}.tar.gz" - -SRC_URI[md5sum] = "4d3ad0ff07b61373d2cefc89c5d0b20b" -SRC_URI[sha256sum] = "f1bffef9cbc82628f6e7d7b40d7e255aefaa1adb6a1b1d26c69a8b79e6208a98" - -UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/nose/" -UPSTREAM_CHECK_REGEX = "/nose/(?P<pver>(\d+[\.\-_]*)+)" - -S = "${WORKDIR}/nose-${PV}" - +require python-nose.inc inherit setuptools -RDEPENDS_${PN} = "\ - python-unittest \ +RDEPENDS_${PN}_class-target += "\ + python-logging \ " - -BBCLASSEXTEND = "native nativesdk"
meta/recipes-devtools/python/python3-nose_1.3.7.bb +1 -23
@@ -1,28 +1,6 @@ -SUMMARY = "Extends Python unittest to make testing easier" -DESCRIPTION = "nose extends the test loading and running features of unittest, \ -making it easier to write, find and run tests." -SECTION = "devel/python" -LICENSE = "LGPLv2.1" -LIC_FILES_CHKSUM = "file://lgpl.txt;md5=a6f89e2100d9b6cdffcea4f398e37343" - -SRC_URI = "https://files.pythonhosted.org/packages/source/n/nose/nose-${PV}.tar.gz" - -SRC_URI[md5sum] = "4d3ad0ff07b61373d2cefc89c5d0b20b" -SRC_URI[sha256sum] = "f1bffef9cbc82628f6e7d7b40d7e255aefaa1adb6a1b1d26c69a8b79e6208a98" - -UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/nose/" -UPSTREAM_CHECK_REGEX = "/nose/(?P<pver>(\d+[\.\-_]*)+)" - -S = "${WORKDIR}/nose-${PV}" - +require python-nose.inc inherit setuptools3 do_install_append() { mv ${D}${bindir}/nosetests ${D}${bindir}/nosetests3 } - -RDEPENDS_${PN}_class-target = "\ - python3-unittest \ - " - -BBCLASSEXTEND = "native nativesdk"
Signature · 1 line
2.13.6
PATCH v2 12/19 python-six: use pypi.bbclass
In reply to Tim Orling* Simplify python3-six by using pypi.bbclass
- Use PYTHON_PN in .inc to avoid duplication in RDEPENDS
--- meta/recipes-devtools/python/python-six.inc | 8 +++----- meta/recipes-devtools/python/python3-six_1.11.0.bb | 4 +--- 2 files changed, 4 insertions(+), 8 deletions(-)
meta/recipes-devtools/python/python-six.inc +3 -5
@@ -4,13 +4,11 @@ SECTION = "devel/python" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=35cec5bf04dd0820d0a18533ea7c774a" -SRC_URI = "https://files.pythonhosted.org/packages/source/s/six/six-${PV}.tar.gz" SRC_URI[md5sum] = "d12789f9baf7e9fb2524c0c64f1773f8" SRC_URI[sha256sum] = "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9" -UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/six/" -UPSTREAM_CHECK_REGEX = "/six/(?P<pver>(\d+[\.\-_]*)+)" +inherit pypi -BBCLASSEXTEND = "native nativesdk" +RDEPENDS_${PN} += "${PYTHON_PN}-io" -S = "${WORKDIR}/six-${PV}" +BBCLASSEXTEND = "native nativesdk"
meta/recipes-devtools/python/python3-six_1.11.0.bb +1 -3
@@ -1,4 +1,2 @@ -inherit setuptools3 require python-six.inc - -RDEPENDS_${PN} += "python3-io" +inherit setuptools3
Signature · 1 line
2.13.6
PATCH v2 13/19 python-async: use pypi.bbclass
In reply to Tim Orling* Simplify by using pypi.bbclass
* Use PYTHON_PN for RDEPENDS in .inc to avoid duplication
--- meta/recipes-devtools/python/python-async.inc | 5 ++--- meta/recipes-devtools/python/python3-async_0.6.2.bb | 3 --- 2 files changed, 2 insertions(+), 6 deletions(-)
meta/recipes-devtools/python/python-async.inc +2 -3
@@ -4,12 +4,11 @@ SECTION = "devel/python" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=88df8e78b9edfd744953862179f2d14e" -SRC_URI = "https://files.pythonhosted.org/packages/source/a/async/async-${PV}.tar.gz" SRC_URI[md5sum] = "9b06b5997de2154f3bc0273f80bcef6b" SRC_URI[sha256sum] = "ac6894d876e45878faae493b0cf61d0e28ec417334448ac0a6ea2229d8343051" -UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/async/" +inherit pypi -S = "${WORKDIR}/async-${PV}" +RDEPENDS_${PN} += "${PYTHON_PN}-threading" BBCLASSEXTEND = "nativesdk"
meta/recipes-devtools/python/python3-async_0.6.2.bb +0 -3
@@ -1,6 +1,3 @@ require python-async.inc inherit setuptools3 - -RDEPENDS_${PN} += "python3-threading" -
Signature · 1 line
2.13.6
PATCH v2 14/19 python-mako: use pypi.bbclass
In reply to Tim Orling* Simplify python3-mako by using pypi.bbclass
* Avoid duplication by using PYTHON_PN in .inc
--- meta/recipes-devtools/python/python-mako.inc | 14 +++++++++----- meta/recipes-devtools/python/python3-mako_1.0.7.bb | 9 --------- 2 files changed, 9 insertions(+), 14 deletions(-)
meta/recipes-devtools/python/python-mako.inc +9 -5
@@ -4,13 +4,17 @@ SECTION = "devel/python" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=1bb21fa2d2f7a534c884b990430a6863" -SRC_URI = "https://files.pythonhosted.org/packages/source/M/Mako/Mako-${PV}.tar.gz" +PYPI_PACKAGE = "Mako" + +inherit pypi SRC_URI[md5sum] = "5836cc997b1b773ef389bf6629c30e65" SRC_URI[sha256sum] = "4e02fde57bd4abb5ec400181e4c314f56ac3e49ba4fb8b0d50bba18cb27d25ae" -UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/mako/" -UPSTREAM_CHECK_REGEX = "/Mako/(?P<pver>(\d+[\.\-_]*)+)" - -S = "${WORKDIR}/Mako-${PV}" +RDEPENDS_${PN}_class-target += " \ + ${PYTHON_PN}-html \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-threading \ + " +BBCLASSEXTEND = "native nativesdk"
meta/recipes-devtools/python/python3-mako_1.0.7.bb +0 -9
@@ -1,11 +1,2 @@ require python-mako.inc - inherit setuptools3 - -RDEPENDS_${PN} = "python3-threading \ - python3-netclient \ - python3-html \ -" -RDEPENDS_${PN}_class-native = "" - -BBCLASSEXTEND = "native nativesdk"
Signature · 1 line
2.13.6
PATCH v2 15/19 python-smmap: use pypi.bbclass
In reply to Tim Orling* Simpify python3-smmap using pypi.bbclass
* Consolidate common content in .inc
--- meta/recipes-devtools/python/python-smmap.inc | 9 +++++---- meta/recipes-devtools/python/python3-smmap_0.9.0.bb | 2 -- 2 files changed, 5 insertions(+), 6 deletions(-)
meta/recipes-devtools/python/python-smmap.inc +5 -4
@@ -7,13 +7,14 @@ SECTION = "devel/python" LICENSE = "BSD" LIC_FILES_CHKSUM = "file://PKG-INFO;beginline=8;endline=8;md5=e910b35b0ef4e1f665b9a75d6afb7709" -SRC_URI = "https://files.pythonhosted.org/packages/source/s/smmap/smmap-${PV}.tar.gz" SRC_URI[md5sum] = "d7932d5ace206bf4ae15198cf36fb6ab" SRC_URI[sha256sum] = "0e2b62b497bd5f0afebc002eda4d90df9d209c30ef257e8673c90a6b5c119d62" -UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/smmap/" -UPSTREAM_CHECK_REGEX = "/smmap/(?P<pver>(\d+[\.\-_]*)+)" +inherit pypi -S = "${WORKDIR}/smmap-${PV}" +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-codecs \ + ${PYTHON_PN}-mmap \ + " BBCLASSEXTEND = "nativesdk"
meta/recipes-devtools/python/python3-smmap_0.9.0.bb +0 -2
@@ -1,5 +1,3 @@ require python-smmap.inc inherit setuptools3 - -RDEPENDS_${PN} += "python3-codecs python3-mmap"
Signature · 1 line
2.13.6
PATCH v2 16/19 python-gitdb: use pypi.bbclass
In reply to Tim Orling* Simplify python3-gitdb recipe using pypi.bblass
* Avoid duplication by using PYTHON_PN in .inc
* Sort RDEPENDS alphabetically
--- meta/recipes-devtools/python/python-gitdb.inc | 16 ++++++++++++---- meta/recipes-devtools/python/python3-gitdb_0.6.4.bb | 4 ---- 2 files changed, 12 insertions(+), 8 deletions(-)
meta/recipes-devtools/python/python-gitdb.inc +12 -4
@@ -4,13 +4,21 @@ SECTION = "devel/python" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=59e5ecb13339a936eedf83282eaf4528" -SRC_URI = "https://files.pythonhosted.org/packages/source/g/gitdb/gitdb-${PV}.tar.gz" - SRC_URI[md5sum] = "44e4366b8bdfd306b075c3a52c96ae1a" SRC_URI[sha256sum] = "a3ebbc27be035a2e874ed904df516e35f4a29a778a764385de09de9e0f139658" -UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/gitdb/" +inherit pypi + +DEPENDS = "${PYTHON_PN}-async ${PYTHON_PN}-smmap" -S = "${WORKDIR}/gitdb-${PV}" +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-async \ + ${PYTHON_PN}-compression \ + ${PYTHON_PN}-crypt \ + ${PYTHON_PN}-io \ + ${PYTHON_PN}-mmap \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-smmap \ + " BBCLASSEXTEND = "nativesdk"
meta/recipes-devtools/python/python3-gitdb_0.6.4.bb +0 -4
@@ -1,7 +1,3 @@ require python-gitdb.inc -DEPENDS = "python3-async python3-smmap" - inherit distutils3 - -RDEPENDS_${PN} += "python3-smmap python3-async python3-mmap python3-io python3-shell python3-crypt python3-compression"
Signature · 1 line
2.13.6
PATCH v2 17/19 python-git: use pypi.bbclass
In reply to Tim Orling* Simplify python3-git recipe using pypi.bbclass
* Avoid duplication by using PYTHON_PN in .inc
* Sort RDEPENDS alphabetically
--- meta/recipes-devtools/python/python-git.inc | 23 ++++++++++++++++++----- meta/recipes-devtools/python/python3-git_2.1.7.bb | 4 ---- 2 files changed, 18 insertions(+), 9 deletions(-)
meta/recipes-devtools/python/python-git.inc +18 -5
@@ -8,14 +8,27 @@ SECTION = "devel/python" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENSE;md5=8b8d26c37c1d5a04f9b0186edbebc183" -SRC_URI = "https://files.pythonhosted.org/packages/source/G/GitPython/GitPython-${PV}.tar.gz" - SRC_URI[md5sum] = "a63fdd2a650694ea23e268fd0c952034" SRC_URI[sha256sum] = "13c7cd99c2bf277fc99accfc25148752fa90e7cc6c6d08a3f01d229dacb461d9" -UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/GitPython/" -UPSTREAM_CHECK_REGEX = "/GitPython/(?P<pver>(\d+[\.\-_]*)+)" +PYPI_PACKAGE = "GitPython" + +inherit pypi + +DEPENDS = "${PYTHON_PN}-gitdb" -S = "${WORKDIR}/GitPython-${PV}" +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-datetime \ + ${PYTHON_PN}-gitdb \ + ${PYTHON_PN}-io \ + ${PYTHON_PN}-logging \ + ${PYTHON_PN}-math \ + ${PYTHON_PN}-netclient \ + ${PYTHON_PN}-shell \ + ${PYTHON_PN}-stringold \ + ${PYTHON_PN}-unittest \ + ${PYTHON_PN}-unixadmin \ + git \ + " BBCLASSEXTEND = "nativesdk"
meta/recipes-devtools/python/python3-git_2.1.7.bb +0 -4
@@ -1,7 +1,3 @@ require python-git.inc -DEPENDS = "python3-gitdb" - inherit setuptools3 - -RDEPENDS_${PN} += "python3-gitdb python3-io python3-shell python3-math python3-stringold python3-unixadmin python3-logging python3-datetime python3-netclient python3-unittest git"
Signature · 1 line
2.13.6
PATCH v2 18/19 python3-iniparse: use pypi.bbclass
In reply to Tim Orling* Simplify recipe using pypi.bbclass
--- meta/recipes-devtools/python/python3-iniparse_0.4.bb | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-)
meta/recipes-devtools/python/python3-iniparse_0.4.bb +4 -7
@@ -4,17 +4,14 @@ LICENSE = "MIT & PSF" LIC_FILES_CHKSUM = "file://LICENSE-PSF;md5=1c78a5bb3584b353496d5f6f34edb4b2 \ file://LICENSE;md5=52f28065af11d69382693b45b5a8eb54" -SRC_URI = "https://files.pythonhosted.org/packages/source/i/iniparse/iniparse-${PV}.tar.gz \ - file://0001-Add-python-3-compatibility.patch " +SRC_URI = "file://0001-Add-python-3-compatibility.patch" SRC_URI[md5sum] = "5e573e9e9733d97623881ce9bbe5eca6" SRC_URI[sha256sum] = "abc1ee12d2cfb2506109072d6c21e40b6c75a3fe90a9c924327d80bc0d99c054" -UPSTREAM_CHECK_URI = "https://pypi.python.org/pypi/iniparse/" -inherit distutils3 +inherit pypi distutils3 -RDEPENDS_${PN} += "python3-core python3-six" DEPENDS += "python3-six" -BBCLASSEXTEND = "native nativesdk" +RDEPENDS_${PN} += "python3-core python3-six" -S = "${WORKDIR}/iniparse-${PV}" +BBCLASSEXTEND = "native nativesdk"
Signature · 1 line
2.13.6
PATCH v2 19/19 python-scons: upgrade to 3.0.1; use pypi.bbclass
In reply to Tim Orling* Simplify recipe by using pypi.bbclass
* Drop patch for __future__ print_function
- fixed upstream:
https://github.com/SConsProject/scons/pull/1/commits/4c199d06e76afb9379e76942d0f68caa57f42509
---
...ative_3.0.0.bb => python-scons-native_3.0.1.bb} | 0
...onscript-Support-python2-print-statements.patch | 38 ----------------------
meta/recipes-devtools/python/python-scons_3.0.0.bb | 27 ---------------
meta/recipes-devtools/python/python-scons_3.0.1.bb | 18 ++++++++++
4 files changed, 18 insertions(+), 65 deletions(-)
rename meta/recipes-devtools/python/{python-scons-native_3.0.0.bb => python-scons-native_3.0.1.bb} (100%)
delete mode 100644 meta/recipes-devtools/python/python-scons/SConscript-Support-python2-print-statements.patch
delete mode 100644 meta/recipes-devtools/python/python-scons_3.0.0.bb
create mode 100644 meta/recipes-devtools/python/python-scons_3.0.1.bbmeta/recipes-devtools/python/python-scons-native_3.0.1.bb renamed from meta/recipes-devtools/python/python-scons-native_3.0.0.bb +0 -0
meta/recipes-devtools/python/python-scons/SConscript-Support-python2-print-statements.patch deleted +0 -38
@@ -1,38 +0,0 @@ -From 885aabdb313685405737112dcb7d7774eee6d879 Mon Sep 17 00:00:00 2001 -From: Thomas Berg <[email protected]> -Date: Thu, 19 Oct 2017 14:02:21 -0500 -Subject: [PATCH] SConscript: Support python2 print statements - -This fixes a regression introduced in scons-3.0.0, where -SConscripts containing python 2 print statements would cause -syntax errors even when executing scons with python 2.7. - -This ensures backward compatibility, allowing users to build -legacy code with scons-3.0.0 without having to patch it. - -Taken from -https://github.com/SConsProject/scons/commit/2e0de3c55f22b3eaa7767b69740b898f3d2f46bf - -Upstream-Status: Accepted - -Signed-off-by: Jose Lamego <[email protected]> ---- - engine/SCons/Script/SConscript.py | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/engine/SCons/Script/SConscript.py b/engine/SCons/Script/SConscript.py -index bc05540..332d1fa 100644 ---- a/engine/SCons/Script/SConscript.py -+++ b/engine/SCons/Script/SConscript.py -@@ -5,8 +5,6 @@ files. - - """ - --from __future__ import print_function -- - # - # Copyright (c) 2001 - 2017 The SCons Foundation - # --- -2.7.4 -
meta/recipes-devtools/python/python-scons_3.0.0.bb deleted +0 -27
@@ -1,27 +0,0 @@ -SUMMARY = "Software Construction tool (make/autotools replacement)" -SECTION = "devel/python" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=46ddf66004e5be5566367cb525a66fc6" -SRCNAME = "scons" - -SRC_URI = "https://files.pythonhosted.org/packages/source/s/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \ - file://SConscript-Support-python2-print-statements.patch" - -SRC_URI[md5sum] = "7ca558edaaa1942fe38f3105ca2400fb" -SRC_URI[sha256sum] = "aa5afb33c2bbd33c311e47e912412195739e9ffb2e933534a31f85fba8f3470e" - -UPSTREAM_CHECK_URI = "http://scons.org/pages/download.html" -UPSTREAM_CHECK_REGEX = "(?P<pver>\d+(\.\d+)+)\.tar" - -S = "${WORKDIR}/${SRCNAME}-${PV}" - -inherit setuptools - -RDEPENDS_${PN} = "\ - python-fcntl \ - python-io \ - python-json \ - python-subprocess \ - python-shell \ - python-pprint \ - "
meta/recipes-devtools/python/python-scons_3.0.1.bb new file +18 -0
@@ -0,0 +1,18 @@ +SUMMARY = "Software Construction tool (make/autotools replacement)" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=46ddf66004e5be5566367cb525a66fc6" + +SRC_URI[md5sum] = "b6a292e251b34b82c203b56cfa3968b3" +SRC_URI[sha256sum] = "24475e38d39c19683bc88054524df018fe6949d70fbd4c69e298d39a0269f173" + +inherit pypi setuptools + +RDEPENDS_${PN} = "\ + python-fcntl \ + python-io \ + python-json \ + python-subprocess \ + python-shell \ + python-pprint \ + "
Signature · 1 line
2.13.6
✗ patchtest: failure for python improvements
In reply to Tim Orling== Series Details ==
Series: python improvements
Revision: 1
URL : https://patchwork.openembedded.org/series/10133/
State : failure
== Summary ==
Thank you for submitting this patch series to OpenEmbedded Core. This is an automated response. Several tests have been executed on the proposed series by patchtest resulting in the following failures:
* Issue Series cannot be parsed correctly due to malformed diff lines [test_mbox_format]
Suggested fix Create the series again using git-format-patch and ensure it can be applied using git am
Diff line diff --git a/meta/recipes-devtools/python/python-native_2.7.13.bb b/meta/recipes-devtools/python/python-native_2.7.13.bb
* Issue Series does not apply on top of target branch [test_series_merge_on_head]
Suggested fix Rebase your series on top of targeted branch
Targeted branch master (currently at a7cd9d1183)
If you believe any of these test results are incorrect, please reply to the mailing list ([email protected]) raising your concerns. Otherwise we would appreciate you correcting the issues and submitting a new version of the patchset if applicable. Please ensure you add/increment the version number when sending the new version (i.e. [PATCH] -> [PATCH v2] -> [PATCH v3] -> ...).
---
Guidelines: https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe