<div dir="ltr">Thanks Alejandro,<div><br></div><div>Derek sent patches for all of these issues yesterday. Not it seems to build fine again.</div><div><br></div><div>Regards,</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jan 22, 2018 at 8:02 PM, Alejandro Enedino Hernandez Samaniego <span dir="ltr">&lt;<a href="mailto:alejandro.enedino.hernandez-samaniego@xilinx.com" target="_blank">alejandro.enedino.hernandez-samaniego@xilinx.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    <p>Hello Martin,</p>
    <br>
    <div class="m_-4676266828863281659moz-cite-prefix">On 01/21/2018 07:13 AM, Martin Jansa
      wrote:<br>
    </div>
    <blockquote type="cite">
      
      <div dir="ltr">And few more detected in test-signatures.sh:
        <div><br>
        </div>
        <div>
          <div>ERROR: Nothing RPROVIDES &#39;python3-enum&#39; (but
            meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python3-automat_0.6.0.bb" target="_blank">python3-<wbr>automat_0.6.0.bb</a></div>
          <div>meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python3-asn1crypto_0.24.0.bb" target="_blank">python3-<wbr>asn1crypto_0.24.0.bb</a></div>
          <div>meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python3-pymongo_3.6.0.bb" target="_blank">python3-<wbr>pymongo_3.6.0.bb</a></div>
          <div>meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python3-netaddr_0.7.19.bb" target="_blank">python3-<wbr>netaddr_0.7.19.bb</a></div>
          <div>meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python3-pyserial_3.4.bb" target="_blank">python3-<wbr>pyserial_3.4.bb</a></div>
          <div>meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python3-langtable_0.0.38.bb" target="_blank">python3-<wbr>langtable_0.0.38.bb</a></div>
          <div>meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python3-hyperlink_17.3.1.bb" target="_blank">python3-<wbr>hyperlink_17.3.1.bb</a></div>
          <div>meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python3-click_6.7.bb" target="_blank">python3-click_<wbr>6.7.bb</a></div>
          <div>meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python3-prompt-toolkit_1.0.15.bb" target="_blank">python3-<wbr>prompt-toolkit_1.0.15.bb</a></div>
          <div>meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python3-decorator_4.1.2.bb" target="_blank">python3-<wbr>decorator_4.1.2.bb</a></div>
          <div>meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python3-serpent_1.23.bb" target="_blank">python3-<wbr>serpent_1.23.bb</a></div>
          <div>meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python3-dnspython_1.15.0.bb" target="_blank">python3-<wbr>dnspython_1.15.0.bb</a></div>
          <div>meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python3-jsonpatch_1.21.bb" target="_blank">python3-<wbr>jsonpatch_1.21.bb</a></div>
          <div>meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python3-sqlalchemy_1.1.15.bb" target="_blank">python3-<wbr>sqlalchemy_1.1.15.bb</a></div>
          <div>meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python3-ntplib_0.3.3.bb" target="_blank">python3-<wbr>ntplib_0.3.3.bb</a></div>
          <div>meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python3-whoosh_2.7.4.bb" target="_blank">python3-<wbr>whoosh_2.7.4.bb</a></div>
          <div>meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python3-ply_3.10.bb" target="_blank">python3-ply_3.<wbr>10.bb</a>
            RDEPENDS on or otherwise requires it)</div>
        </div>
        <div>NOTE: Runtime target &#39;python3-enum&#39; is unbuildable,
          removing...<br>
        </div>
        <div>
          <div>Missing or unbuildable dependency chain was:
            [&#39;python3-enum&#39;]</div>
          <div>ERROR: Required build target &#39;meta-world-pkgdata&#39; has no
            buildable providers.</div>
          <div>Missing or unbuildable dependency chain was:
            [&#39;meta-world-pkgdata&#39;, &#39;python3-automat&#39;, &#39;python3-enum&#39;]</div>
        </div>
        <div><br>
        </div>
        <div>
          <div>ERROR: Nothing RPROVIDES &#39;python3-importlib&#39; (but
            meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python3-django_1.11.9.bb" target="_blank">python3-<wbr>django_1.11.9.bb</a></div>
          <div>meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python3-pyroute2_0.4.21.bb" target="_blank">python3-<wbr>pyroute2_0.4.21.bb</a></div>
          <div>meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python3-can_2.0.0.bb" target="_blank">python3-can_2.<wbr>0.0.bb</a>
            RDEPENDS on or otherwise requires it)</div>
        </div>
        <div>NOTE: Runtime target &#39;python3-importlib&#39; is unbuildable,
          removing...<br>
        </div>
        <div>
          <div>Missing or unbuildable dependency chain was:
            [&#39;python3-importlib&#39;]</div>
          <div>ERROR: Required build target &#39;meta-world-pkgdata&#39; has no
            buildable providers.</div>
          <div>Missing or unbuildable dependency chain was:
            [&#39;meta-world-pkgdata&#39;, &#39;python3-django&#39;,
            &#39;python3-importlib&#39;]</div>
        </div>
        <div><br>
        </div>
        <div>
          <div>ERROR: Nothing RPROVIDES &#39;python-importlib&#39; (but
            meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python-django_1.11.9.bb" target="_blank">python-django_<wbr>1.11.9.bb</a></div>
          <div>meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python-pyroute2_0.4.21.bb" target="_blank">python-<wbr>pyroute2_0.4.21.bb</a></div>
          <div>meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python-pandas_0.22.0.bb" target="_blank">python-pandas_<wbr>0.22.0.bb</a></div>
          <div>meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python-astroid_1.6.0.bb" target="_blank">python-<wbr>astroid_1.6.0.bb</a></div>
          <div>meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python-dbusmock_0.16.7.bb" target="_blank">python-<wbr>dbusmock_0.16.7.bb</a></div>
          <div>meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python-can_2.0.0.bb" target="_blank">python-can_2.<wbr>0.0.bb</a></div>
          <div>meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python-pyserial_3.4.bb" target="_blank">python-<wbr>pyserial_3.4.bb</a></div>
          <div>meta-oe/meta-oe/recipes-<wbr>devtools/python/<a href="http://python-pygobject_3.22.0.bb" target="_blank">python-<wbr>pygobject_3.22.0.bb</a></div>
          <div>meta-oe/meta-python/recipes-<wbr>devtools/python/<a href="http://python-behave_1.2.5.bb" target="_blank">python-behave_<wbr>1.2.5.bb</a> RDEPENDS
            on or otherwise requires it)</div>
        </div>
        <div>NOTE: Runtime target &#39;python-importlib&#39; is unbuildable,
          removing...<br>
        </div>
        <div>
          <div>Missing or unbuildable dependency chain was:
            [&#39;python-importlib&#39;]</div>
          <div>ERROR: Required build target &#39;meta-world-pkgdata&#39; has no
            buildable providers.</div>
          <div>Missing or unbuildable dependency chain was:
            [&#39;meta-world-pkgdata&#39;, &#39;python-django&#39;, &#39;python-importlib&#39;]</div>
        </div>
        <div><br>
        </div>
      </div>
      <div class="gmail_extra"><br>
        <div class="gmail_quote">On Sun, Jan 21, 2018 at 10:00 AM,
          Martin Jansa <span dir="ltr">&lt;<a href="mailto:martin.jansa@gmail.com" target="_blank">martin.jansa@gmail.com</a>&gt;</span>
          wrote:<br>
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div dir="ltr">Hello,
              <div><br>
              </div>
              <div>The last paragraph in commit message looks like it
                should be backwards compatible right?</div>
              <div><br>
              </div>
              <div>Then there might be some bug somewhere, because in my
                builds (which use only very few python packages) there
                are few runtime dependencies which cannot be satisfied
                anymore:</div>
              <div>python-man</div>
              <div>python-readline</div>
              <div>python3-textutils</div>
            </div>
          </blockquote>
        </div>
      </div>
    </blockquote>
    <br>
    <p>Its backwards compatible, in the way that the usage should be the
      same, in this case, this sort of failures are expected, since the
      mentioned packages: enum, readline, textutils no longer exist, and
      they should never have existed in the first place, they were
      always required to get a minimal python working, so they are now
      part of python(3)-core, which means the dependencies are actually
      met but recipes which RDEPEND on them should be modified , please
      see
<a class="m_-4676266828863281659moz-txt-link-freetext" href="https://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=7aaffbede46ce352b91c7a5c5f825a6f3b5b1c2e" target="_blank">https://git.yoctoproject.org/<wbr>cgit/cgit.cgi/poky/commit/?id=<wbr>7aaffbede46ce352b91c7a5c5f825a<wbr>6f3b5b1c2e</a>
      regarding some of the RDEPEND fixes on oe-core, I expect there
      should be several like this for meta-python.</p>
    <blockquote type="cite">
      <div class="gmail_extra">
        <div class="gmail_quote">
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div dir="ltr">
              <div><br>
              </div>
              <div>Also probably related to this I&#39;ve seen
                python(3)-smbus recipes failing to build now with:</div>
              <div>smbusmodule.c:192:48: error: &#39;I2C_SMBUS_WRITE&#39;
                undeclared (first use in this function); did you mean
                &#39;I2C_SMBUS&#39;?<br>
              </div>
            </div>
          </blockquote>
        </div>
      </div>
    </blockquote>
    <br>
    I dont know if the same applies for smbus but I will check.<br>
    <br>
    <p>Cheers,</p>
    <p>Alejandro</p>
    <blockquote type="cite">
      <div class="gmail_extra">
        <div class="gmail_quote">
          <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
            <div dir="ltr">
              <div><br>
              </div>
              <div>Regards,</div>
            </div>
            <div class="gmail_extra"><br>
              <div class="gmail_quote">On Sat, Jan 20, 2018 at 11:32 PM,
                <span dir="ltr">&lt;<a href="mailto:git@git.openembedded.org" target="_blank">git@git.openembedded.org</a>&gt;</span>
                wrote:<br>
                <blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">This
                  is an automated email from the git hooks/post-receive
                  script.<br>
                  <br>
                  rpurdie pushed a commit to branch master<br>
                  in repository openembedded-core.<br>
                  <br>
                  commit 6959e2e4dba5bbfa6ffd49c44e738c<wbr>c1c38bc280<br>
                  Author: Alejandro Hernandez &lt;<a href="mailto:alejandro.hernandez@linux.intel.com" target="_blank">alejandro.hernandez@linux.int<wbr>el.com</a>&gt;<br>
                  AuthorDate: Tue Jun 20 14:11:44 2017 -0700<br>
                  <br>
                      python: Restructure python packaging and replace
                  it with autopackaging<br>
                  <br>
                      The reason we have a manifest file for python is
                  that our goal is to<br>
                      keep python-core as small as posible and add other
                  python packages only<br>
                      when the user needs them, hence why we split
                  upstream python into several<br>
                      packages.<br>
                  <br>
                      Although our manifest file has several issues:<br>
                       - Its unorganized and hard to read and understand
                  it for an average<br>
                         human being.<br>
                       - When a new package needs to be added, the user
                  actually has to modify<br>
                         the script that creates the manifest, then call
                  the script to create<br>
                         a new manifest, and then submit a patch for
                  both the script and the<br>
                         manifest, so its a little convoluted.<br>
                       - Git complains every single time a patch is
                  submitted to the manifest,<br>
                         since it violates some of its guidelines.<br>
                       - It changes or may change with every release of
                  python, its impossible<br>
                         to know if the required files for a certain
                  package have changed<br>
                         (it could have more or less dependencies), the
                  only way of doing so<br>
                         would be to install and test them all one by
                  one on separate individual<br>
                         images, and even then we wouldnt know if they
                  require less dependencies,<br>
                         we would just know if an extra dependency is
                  required since it would<br>
                         complain, lets face it, this isnt feasible.<br>
                       - The same thing happens for new packages, if
                  someone wants to add a<br>
                         new package, its dependencies need to be
                  checked manually one by one.<br>
                  <br>
                      This patch fixes those issues, while adding some
                  additional features.<br>
                  <br>
                      Features/Fixes:<br>
                  <br>
                       - A new manifest format is used (JSON), easy to
                  read and understand.<br>
                         This file is parsed by the python recipe and
                  python packages read<br>
                         from here are passed directly to bitbake during
                  parsing time.<br>
                       - It provides an automatic manifest creation task
                  (explained below),<br>
                         which automagically checks for every package
                  dependencies and adds<br>
                         them to the new manifest, hence we will have on
                  each package exactly<br>
                         what that package needs to be run, providing
                  finer granularity.<br>
                       - Dependencies are also checked automagically for
                  new packages (explained below).<br>
                       - Fixes the manifest in the following ways:<br>
                         * python-core should be base and all packages
                  should depend on it,<br>
                           fixes lang, string, codecs, etc.<br>
                         * Fixes packages with repeated files (e.g.
                  bssdb and db, or<br>
                           netclient and mime, and many others).<br>
                       - Sitecustomize was fixed since encoding was
                  deprecated.<br>
                       - The JSON manifest file invalidates bitbake&#39;s
                  cache, so if it changes<br>
                         the python package will be rebuilt.<br>
                       - It creates a solution for users that want
                  precompiled bytecode files<br>
                         (*.pyc) INCLUDE_PYCS = &quot;1&quot; can be set by the
                  user on their local.conf to<br>
                         include such files, some argument they get
                  faster boot time, even when the<br>
                         files would be created on their first run?, but
                  they also sometimes give a<br>
                         magic number error and take up space, so we
                  leave it to the user to<br>
                         decide if they want them or not.<br>
                       - Fixes python-core dependencies, e.g.<br>
                         When python is run on an image, it TRIES to
                  import everything it needs,<br>
                         but it doesnt necessarily fails when it doesnt
                  find something, so even if<br>
                         we didnt know, we had errors like (trimmed on
                  purpose):<br>
                         # trying /usr/lib/python2.7/_locale.so<br>
                         # trying /usr/lib/python2.7/lib-dynload<wbr>/_locale.so<br>
                         # trying /usr/lib/python2.7/_sysconfigd<wbr>ata.so<br>
                  <br>
                         while it didnt complain about _locale it should
                  have imported it,<br>
                         after creating a new manifest with the
                  automated script we get:<br>
                  <br>
                         # trying /usr/lib/python2.7/lib-dynload<wbr>/_locale.so<br>
                         dlopen(&quot;/usr/lib/python2.7/li<wbr>b-dynload/_locale.so&quot;,
                  2);<br>
                         import _locale # dynamically loaded from
                  /usr/lib/python2.7/lib-dynload<wbr>/_locale.so<br>
                  <br>
                      How to use (after a new release of python, or
                  maybe before every OE<br>
                      release):<br>
                       - A new task called create_manifest was added to
                  the python package,<br>
                         which may be invoked via:<br>
                  <br>
                       $ bitbake python -c create_manifest<br>
                  <br>
                       This task runs a script on native python on our
                  HOST system, and since<br>
                       the python and python-native packages come from
                  the same source, we can<br>
                       use it to know the dependencies of each module as
                  if we were doing it<br>
                       on an image, this script is called
                  create_manifest.py and in a very<br>
                       simplistic way it does the following:<br>
                  <br>
                       1. Reads the JSON manifest file and creates a
                  dictionary data structure<br>
                          with all of our python packages, their FILES,
                  RDEPENDS and SUMMARY.<br>
                       2. Loops through all of them and runs every
                  module listed on them<br>
                          asynchronously, determining every dependency
                  that they have.<br>
                       3. These module dependencies are then handled, to
                  be able to know which<br>
                          packages contain those files and which should
                  RDEPEND on one another.<br>
                       4. The data structure that comes out of this, is
                  then used to create a<br>
                          new manifest file which is automatically
                  copied onto the user&#39;s python<br>
                          directory replacing the old one.<br>
                  <br>
                       Create_manifest script features:<br>
                       - Handles modules which dont exist anymore (new
                  release for example).<br>
                       - Handles modules that are builtin.<br>
                       - Deals with modules which were not compiled
                  (e.g. bsddb or ossaudiodev)<br>
                       - Deals with packages which include folders.<br>
                       - Deals with packages which include FILES with a
                  wildcard.<br>
                       - The manifest can be constructed on a multilib
                  environment as well.<br>
                       - This method works for both python modules and
                  shared libraries used<br>
                         by python.<br>
                  <br>
                      How to add a new package:<br>
                       - If a user wants to add a new package all that
                  has to be done is<br>
                         modify the python2-manifest.json file, and add
                  the required file(s)<br>
                         to the FILES list, the script should handle all
                  the rest.<br>
                         Real example:<br>
                         We want to add a web browser package, including
                  the file webbrowser.py<br>
                         which at the moment is on python-misc.<br>
                         &quot;webbrowser&quot;: {<br>
                             &quot;files&quot;: [&quot;${libdir}/python2.7/lib-dynl<wbr>oad/webbrowser.py&quot;],<br>
                             &quot;rdepends&quot;: [],<br>
                             &quot;summary&quot;: &quot;Python Web Browser support&quot;}<br>
                  <br>
                       Run bitbake python -c create_manifest and the
                  resulting manifest<br>
                       should  be completed after a few seconds, showing
                  something like:<br>
                         &quot;webbrowser&quot;: {<br>
                            &quot;files&quot;: [&quot;${libdir}/python2.7/webbrows<wbr>er.py&quot;],<br>
                            &quot;rdepends&quot;: [&quot;core&quot;,&quot;fcntl&quot;,&quot;io&quot;,&quot;pickle&quot;,<wbr>&quot;shell&quot;,&quot;subprocess&quot;],<br>
                            &quot;summary&quot;: &quot;Python Web Browser support&quot;}<br>
                  <br>
                      Known errors/issues:<br>
                       - Some special packages are handled differently:
                  core, misc,<br>
                         modules,dev, staticdev.<br>
                         All these should be handled manually, because
                  they either include<br>
                         binaries, static libraries, include files, etc.
                  (something that we<br>
                         cant import).<br>
                         Specifically static libraries are not not
                  supported by this method<br>
                         and have to be handled by the user.<br>
                       - The change should be transparent to the user,
                  other than the fact<br>
                         that now we CANT build python-foo (it was
                  pretty dumb anyway, since<br>
                         what building python-foo actually did was
                  building the whole python<br>
                         package anyway), but doing IMAGE_INSTALL_append
                  = &quot; python-foo&quot;<br>
                         would create an image with the requested
                  package with no issues.<br>
                  <br>
                      [YOCTO #11510] [YOCTO #11694] [YOCTO #11695]<br>
                  <br>
                      Signed-off-by: Alejandro Hernandez &lt;<a href="mailto:alejandro.hernandez@linux.intel.com" target="_blank">alejandro.hernandez@linux.int<wbr>el.com</a>&gt;<br>
                      Signed-off-by: Ross Burton &lt;<a href="mailto:ross.burton@intel.com" target="_blank">ross.burton@intel.com</a>&gt;<br>
                  ---<br>
                   .../python/python-2.7-manifes<wbr>t.inc             
                     |  840 ----------------<br>
                   .../python/python-native-2.7-<wbr>manifest.inc       
                    |    9 -<br>
                   .../python/<a href="http://python-native_2.7.13.bb" rel="noreferrer" target="_blank">python-native_2.7.<wbr>13.bb</a> 
                                 |   24 +-<br>
                   .../python/python/create_mani<wbr>fest2.py           
                    |  277 ++++++<br>
                   .../python/python/get_module_<wbr>deps2.py           
                    |  112 +++<br>
                   .../python/python/python2-man<wbr>ifest.json         
                    | 1032 ++++++++++++++++++++<br>
                   .../python/python/sitecustomi<wbr>ze.py             
                     |    8 -<br>
                   meta/recipes-devtools/python/<a href="http://python_2.7.13.bb" rel="noreferrer" target="_blank"><wbr>python_2.7.13.bb</a> 
                      |   88 +-<br>
                   scripts/contrib/python/<a href="http://generate-manifest-2.7.py" rel="noreferrer" target="_blank">genera<wbr>te-manifest-2.7.py</a> 
                    |  426 --------<br>
                   9 files changed, 1528 insertions(+), 1288
                  deletions(-)<br>
                  <br>
                  diff --git a/meta/recipes-devtools/python<wbr>/python-2.7-manifest.inc
                  b/meta/recipes-devtools/python<wbr>/python-2.7-manifest.inc<br>
                  deleted file mode 100644<br>
                  index 7c3fc1b..0000000<br>
                  --- a/meta/recipes-devtools/python<wbr>/python-2.7-manifest.inc<br>
                  +++ /dev/null<br>
                  @@ -1,840 +0,0 @@<br>
                  -<br>
                  -# WARNING: This file is AUTO GENERATED: Manual edits
                  will be lost next time I regenerate the file.<br>
                  -# Generator: &#39;./scripts/contrib/python/<a href="http://generate-manifest-2.7.py" rel="noreferrer" target="_blank">gene<wbr>rate-manifest-2.7.py</a>&#39;
                  Version 20110222.2 (C) 2002-2010 Michael &#39;Mickey&#39;
                  Lauer &lt;<a href="mailto:mlauer@vanille-media.de" target="_blank">mlauer@vanille-media.de</a>&gt;<br>
                  -<br>
                  -<br>
                  -<br>
                  -PROVIDES+=&quot; \<br>
                  -  ${PN}-2to3 \<br>
                  -  ${PN}-argparse \<br>
                  -  ${PN}-audio \<br>
                  -  ${PN}-bsddb \<br>
                  -  ${PN}-codecs \<br>
                  -  ${PN}-compile \<br>
                  -  ${PN}-compiler \<br>
                  -  ${PN}-compression \<br>
                  -  ${PN}-contextlib \<br>
                  -  ${PN}-core \<br>
                  -  ${PN}-crypt \<br>
                  -  ${PN}-ctypes \<br>
                  -  ${PN}-curses \<br>
                  -  ${PN}-datetime \<br>
                  -  ${PN}-db \<br>
                  -  ${PN}-debugger \<br>
                  -  ${PN}-dev \<br>
                  -  ${PN}-difflib \<br>
                  -  ${PN}-distutils \<br>
                  -  ${PN}-distutils-staticdev \<br>
                  -  ${PN}-doctest \<br>
                  -  ${PN}-email \<br>
                  -  ${PN}-fcntl \<br>
                  -  ${PN}-gdbm \<br>
                  -  ${PN}-hotshot \<br>
                  -  ${PN}-html \<br>
                  -  ${PN}-idle \<br>
                  -  ${PN}-image \<br>
                  -  ${PN}-importlib \<br>
                  -  ${PN}-io \<br>
                  -  ${PN}-json \<br>
                  -  ${PN}-lang \<br>
                  -  ${PN}-logging \<br>
                  -  ${PN}-mailbox \<br>
                  -  ${PN}-math \<br>
                  -  ${PN}-mime \<br>
                  -  ${PN}-mmap \<br>
                  -  ${PN}-multiprocessing \<br>
                  -  ${PN}-netclient \<br>
                  -  ${PN}-netserver \<br>
                  -  ${PN}-numbers \<br>
                  -  ${PN}-pickle \<br>
                  -  ${PN}-pkgutil \<br>
                  -  ${PN}-plistlib \<br>
                  -  ${PN}-pprint \<br>
                  -  ${PN}-profile \<br>
                  -  ${PN}-pydoc \<br>
                  -  ${PN}-re \<br>
                  -  ${PN}-readline \<br>
                  -  ${PN}-resource \<br>
                  -  ${PN}-robotparser \<br>
                  -  ${PN}-runpy \<br>
                  -  ${PN}-shell \<br>
                  -  ${PN}-smtpd \<br>
                  -  ${PN}-sqlite3 \<br>
                  -  ${PN}-sqlite3-tests \<br>
                  -  ${PN}-stringold \<br>
                  -  ${PN}-subprocess \<br>
                  -  ${PN}-syslog \<br>
                  -  ${PN}-terminal \<br>
                  -  ${PN}-tests \<br>
                  -  ${PN}-textutils \<br>
                  -  ${PN}-threading \<br>
                  -  ${PN}-tkinter \<br>
                  -  ${PN}-unittest \<br>
                  -  ${PN}-unixadmin \<br>
                  -  ${PN}-xml \<br>
                  -  ${PN}-xmlrpc \<br>
                  -  ${PN}-zlib \<br>
                  -&quot;<br>
                  -<br>
                  -PACKAGES=&quot; \<br>
                  -  ${PN}-dbg \<br>
                  -  ${PN}-2to3 \<br>
                  -  ${PN}-argparse \<br>
                  -  ${PN}-audio \<br>
                  -  ${PN}-bsddb \<br>
                  -  ${PN}-codecs \<br>
                  -  ${PN}-compile \<br>
                  -  ${PN}-compiler \<br>
                  -  ${PN}-compression \<br>
                  -  ${PN}-contextlib \<br>
                  -  ${PN}-core \<br>
                  -  ${PN}-crypt \<br>
                  -  ${PN}-ctypes \<br>
                  -  ${PN}-curses \<br>
                  -  ${PN}-datetime \<br>
                  -  ${PN}-db \<br>
                  -  ${PN}-debugger \<br>
                  -  ${PN}-dev \<br>
                  -  ${PN}-difflib \<br>
                  -  ${PN}-distutils-staticdev ${PN}-distutils \<br>
                  -  ${PN}-doctest \<br>
                  -  ${PN}-email \<br>
                  -  ${PN}-fcntl \<br>
                  -  ${PN}-gdbm \<br>
                  -  ${PN}-hotshot \<br>
                  -  ${PN}-html \<br>
                  -  ${PN}-idle \<br>
                  -  ${PN}-image \<br>
                  -  ${PN}-importlib \<br>
                  -  ${PN}-io \<br>
                  -  ${PN}-json \<br>
                  -  ${PN}-lang \<br>
                  -  ${PN}-logging \<br>
                  -  ${PN}-mailbox \<br>
                  -  ${PN}-math \<br>
                  -  ${PN}-mime \<br>
                  -  ${PN}-mmap \<br>
                  -  ${PN}-multiprocessing \<br>
                  -  ${PN}-netclient \<br>
                  -  ${PN}-netserver \<br>
                  -  ${PN}-numbers \<br>
                  -  ${PN}-pickle \<br>
                  -  ${PN}-pkgutil \<br>
                  -  ${PN}-plistlib \<br>
                  -  ${PN}-pprint \<br>
                  -  ${PN}-profile \<br>
                  -  ${PN}-pydoc \<br>
                  -  ${PN}-re \<br>
                  -  ${PN}-readline \<br>
                  -  ${PN}-resource \<br>
                  -  ${PN}-robotparser \<br>
                  -  ${PN}-runpy \<br>
                  -  ${PN}-shell \<br>
                  -  ${PN}-smtpd \<br>
                  -  ${PN}-sqlite3 \<br>
                  -  ${PN}-sqlite3-tests \<br>
                  -  ${PN}-stringold \<br>
                  -  ${PN}-subprocess \<br>
                  -  ${PN}-syslog \<br>
                  -  ${PN}-terminal \<br>
                  -  ${PN}-tests \<br>
                  -  ${PN}-textutils \<br>
                  -  ${PN}-threading \<br>
                  -  ${PN}-tkinter \<br>
                  -  ${PN}-unittest \<br>
                  -  ${PN}-unixadmin \<br>
                  -  ${PN}-xml \<br>
                  -  ${PN}-xmlrpc \<br>
                  -  ${PN}-zlib \<br>
                  -  ${PN}-modules\<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-2to3=&quot;Python automated Python 2 to 3
                  code translator&quot;<br>
                  -RDEPENDS_${PN}-2to3=&quot;${PN}-co<wbr>re&quot;<br>
                  -FILES_${PN}-2to3=&quot; \<br>
                  -    ${bindir}/2to3 \<br>
                  -    ${libdir}/python2.7/lib2to3 \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-argparse=&quot;Pytho<wbr>n command line
                  argument parser&quot;<br>
                  -RDEPENDS_${PN}-argparse=&quot;${PN<wbr>}-core ${PN}-codecs
                  ${PN}-textutils&quot;<br>
                  -FILES_${PN}-argparse=&quot; \<br>
                  -    ${libdir}/python2.7/argparse.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-audio=&quot;Python Audio Handling&quot;<br>
                  -RDEPENDS_${PN}-audio=&quot;${PN}-c<wbr>ore&quot;<br>
                  -FILES_${PN}-audio=&quot; \<br>
                  -    ${libdir}/python2.7/wave.* \<br>
                  -    ${libdir}/python2.7/chunk.* \<br>
                  -    ${libdir}/python2.7/sndhdr.* \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/ossaudiodev.so
                  \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/audioop.so \<br>
                  -    ${libdir}/python2.7/audiodev.* \<br>
                  -    ${libdir}/python2.7/sunaudio.* \<br>
                  -    ${libdir}/python2.7/sunau.* \<br>
                  -    ${libdir}/python2.7/toaiff.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-bsddb=&quot;Python bindings for the Berkeley
                  Database&quot;<br>
                  -RDEPENDS_${PN}-bsddb=&quot;${PN}-c<wbr>ore&quot;<br>
                  -FILES_${PN}-bsddb=&quot; \<br>
                  -    ${libdir}/python2.7/bsddb \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_bsddb.so \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-codecs=&quot;Python codecs, encodings &amp;
                  i18n support&quot;<br>
                  -RDEPENDS_${PN}-codecs=&quot;${PN}-<wbr>core ${PN}-lang&quot;<br>
                  -FILES_${PN}-codecs=&quot; \<br>
                  -    ${libdir}/python2.7/codecs.* \<br>
                  -    ${libdir}/python2.7/encodings \<br>
                  -    ${libdir}/python2.7/gettext.* \<br>
                  -    ${libdir}/python2.7/locale.* \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_locale.so \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_codecs* \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_multibytecodec.so
                  \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/unicodedata.so
                  \<br>
                  -    ${libdir}/python2.7/stringprep<wbr>.* \<br>
                  -    ${libdir}/python2.7/xdrlib.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-compile=&quot;Python bytecode compilation
                  support&quot;<br>
                  -RDEPENDS_${PN}-compile=&quot;${PN}<wbr>-core&quot;<br>
                  -FILES_${PN}-compile=&quot; \<br>
                  -    ${libdir}/python2.7/py_compile<wbr>.* \<br>
                  -    ${libdir}/python2.7/compileall<wbr>.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-compiler=&quot;Pytho<wbr>n compiler support&quot;<br>
                  -RDEPENDS_${PN}-compiler=&quot;${PN<wbr>}-core&quot;<br>
                  -FILES_${PN}-compiler=&quot; \<br>
                  -    ${libdir}/python2.7/compiler \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-compression=&quot;Py<wbr>thon high-level
                  compression support&quot;<br>
                  -RDEPENDS_${PN}-compression=&quot;$<wbr>{PN}-core
                  ${PN}-zlib&quot;<br>
                  -FILES_${PN}-compression=&quot; \<br>
                  -    ${libdir}/python2.7/gzip.* \<br>
                  -    ${libdir}/python2.7/zipfile.* \<br>
                  -    ${libdir}/python2.7/tarfile.* \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/bz2.so \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-contextlib=&quot;Pyt<wbr>hon utilities for
                  with-statementcontexts.&quot;<br>
                  -RDEPENDS_${PN}-contextlib=&quot;${<wbr>PN}-core&quot;<br>
                  -FILES_${PN}-contextlib=&quot; \<br>
                  -    ${libdir}/python${PYTHON_MAJMI<wbr>N}/contextlib.*
                  \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-core=&quot;Python interpreter and core
                  modules&quot;<br>
                  -RDEPENDS_${PN}-core=&quot;${PN}-la<wbr>ng ${PN}-re&quot;<br>
                  -FILES_${PN}-core=&quot; \<br>
                  -    ${libdir}/python2.7/__future__<wbr>.* \<br>
                  -    ${libdir}/python2.7/_abcoll.* \<br>
                  -    ${libdir}/python2.7/abc.* \<br>
                  -    ${libdir}/python2.7/ast.* \<br>
                  -    ${libdir}/python2.7/copy.* \<br>
                  -    ${libdir}/python2.7/copy_reg.* \<br>
                  -    ${libdir}/python2.7/ConfigPars<wbr>er.* \<br>
                  -    ${libdir}/python2.7/genericpat<wbr>h.* \<br>
                  -    ${libdir}/python2.7/getopt.* \<br>
                  -    ${libdir}/python2.7/linecache.<wbr>* \<br>
                  -    ${libdir}/python2.7/new.* \<br>
                  -    ${libdir}/python2.7/os.* \<br>
                  -    ${libdir}/python2.7/posixpath.<wbr>* \<br>
                  -    ${libdir}/python2.7/struct.* \<br>
                  -    ${libdir}/python2.7/warnings.* \<br>
                  -    ${libdir}/python2.7/site.* \<br>
                  -    ${libdir}/python2.7/stat.* \<br>
                  -    ${libdir}/python2.7/UserDict.* \<br>
                  -    ${libdir}/python2.7/UserList.* \<br>
                  -    ${libdir}/python2.7/UserString<wbr>.* \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/binascii.so
                  \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_struct.so \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/time.so \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/xreadlines.so
                  \<br>
                  -    ${libdir}/python2.7/types.* \<br>
                  -    ${libdir}/python2.7/platform.* \<br>
                  -    ${bindir}/python* \<br>
                  -    ${libdir}/python2.7/_weakrefse<wbr>t.* \<br>
                  -    ${libdir}/python2.7/sysconfig.<wbr>* \<br>
                  -    ${libdir}/python2.7/_sysconfig<wbr>data.* \<br>
                  -    ${includedir}/python${PYTHON_M<wbr>AJMIN}/pyconfig*.h
                  \<br>
                  -    ${libdir}/python${PYTHON_MAJMI<wbr>N}/sitecustomize.py
                  \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-crypt=&quot;Python basic cryptographic and
                  hashing support&quot;<br>
                  -RDEPENDS_${PN}-crypt=&quot;${PN}-c<wbr>ore&quot;<br>
                  -FILES_${PN}-crypt=&quot; \<br>
                  -    ${libdir}/python2.7/hashlib.* \<br>
                  -    ${libdir}/python2.7/md5.* \<br>
                  -    ${libdir}/python2.7/sha.* \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/crypt.so \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_hashlib.so
                  \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_sha256.so \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_sha512.so \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-ctypes=&quot;Python C types support&quot;<br>
                  -RDEPENDS_${PN}-ctypes=&quot;${PN}-<wbr>core&quot;<br>
                  -FILES_${PN}-ctypes=&quot; \<br>
                  -    ${libdir}/python2.7/ctypes \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_ctypes.so \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_ctypes_test.so
                  \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-curses=&quot;Python curses support&quot;<br>
                  -RDEPENDS_${PN}-curses=&quot;${PN}-<wbr>core&quot;<br>
                  -FILES_${PN}-curses=&quot; \<br>
                  -    ${libdir}/python2.7/curses \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_curses.so \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_curses_panel.so
                  \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-datetime=&quot;Pytho<wbr>n calendar and time
                  support&quot;<br>
                  -RDEPENDS_${PN}-datetime=&quot;${PN<wbr>}-core
                  ${PN}-codecs&quot;<br>
                  -FILES_${PN}-datetime=&quot; \<br>
                  -    ${libdir}/python2.7/_strptime.<wbr>* \<br>
                  -    ${libdir}/python2.7/calendar.* \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/datetime.so
                  \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-db=&quot;Python file-based database support&quot;<br>
                  -RDEPENDS_${PN}-db=&quot;${PN}-core<wbr>&quot;<br>
                  -FILES_${PN}-db=&quot; \<br>
                  -    ${libdir}/python2.7/anydbm.* \<br>
                  -    ${libdir}/python2.7/dumbdbm.* \<br>
                  -    ${libdir}/python2.7/whichdb.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-debugger=&quot;Pytho<wbr>n debugger&quot;<br>
                  -RDEPENDS_${PN}-debugger=&quot;${PN<wbr>}-core ${PN}-io
                  ${PN}-lang ${PN}-re ${PN}-stringold ${PN}-shell
                  ${PN}-pprint&quot;<br>
                  -FILES_${PN}-debugger=&quot; \<br>
                  -    ${libdir}/python2.7/bdb.* \<br>
                  -    ${libdir}/python2.7/pdb.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-dev=&quot;Python development package&quot;<br>
                  -RDEPENDS_${PN}-dev=&quot;${PN}-cor<wbr>e&quot;<br>
                  -FILES_${PN}-dev=&quot; \<br>
                  -    ${includedir} \<br>
                  -    ${libdir}/lib*${SOLIBSDEV} \<br>
                  -    ${libdir}/*.la \<br>
                  -    ${libdir}/*.a \<br>
                  -    ${libdir}/*.o \<br>
                  -    ${libdir}/pkgconfig \<br>
                  -    ${base_libdir}/*.a \<br>
                  -    ${base_libdir}/*.o \<br>
                  -    ${datadir}/aclocal \<br>
                  -    ${datadir}/pkgconfig \<br>
                  -    ${libdir}/python2.7/config/Mak<wbr>efile \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-difflib=&quot;Python helpers for computing
                  deltas between objects&quot;<br>
                  -RDEPENDS_${PN}-difflib=&quot;${PN}<wbr>-lang ${PN}-re&quot;<br>
                  -FILES_${PN}-difflib=&quot; \<br>
                  -    ${libdir}/python2.7/difflib.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-distutils=&quot;Pyth<wbr>on Distribution
                  Utilities&quot;<br>
                  -RDEPENDS_${PN}-distutils=&quot;${P<wbr>N}-core
                  ${PN}-email&quot;<br>
                  -FILES_${PN}-distutils=&quot; \<br>
                  -    ${libdir}/python2.7/config \<br>
                  -    ${libdir}/python2.7/distutils \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-distutils-stati<wbr>cdev=&quot;Python
                  distribution utilities (static libraries)&quot;<br>
                  -RDEPENDS_${PN}-distutils-stat<wbr>icdev=&quot;${PN}-distutils&quot;<br>
                  -FILES_${PN}-distutils-staticd<wbr>ev=&quot; \<br>
                  -    ${libdir}/python2.7/config/lib<wbr>*.a \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-doctest=&quot;Python framework for running
                  examples in docstrings&quot;<br>
                  -RDEPENDS_${PN}-doctest=&quot;${PN}<wbr>-core ${PN}-lang
                  ${PN}-io ${PN}-re ${PN}-unittest ${PN}-debugger
                  ${PN}-difflib&quot;<br>
                  -FILES_${PN}-doctest=&quot; \<br>
                  -    ${libdir}/python2.7/doctest.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-email=&quot;Python email support&quot;<br>
                  -RDEPENDS_${PN}-email=&quot;${PN}-c<wbr>ore ${PN}-io
                  ${PN}-re ${PN}-mime ${PN}-audio ${PN}-image
                  ${PN}-netclient&quot;<br>
                  -FILES_${PN}-email=&quot; \<br>
                  -    ${libdir}/python2.7/imaplib.* \<br>
                  -    ${libdir}/python2.7/email \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-fcntl=&quot;Python&#39;s fcntl interface&quot;<br>
                  -RDEPENDS_${PN}-fcntl=&quot;${PN}-c<wbr>ore&quot;<br>
                  -FILES_${PN}-fcntl=&quot; \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/fcntl.so \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-gdbm=&quot;Python GNU database support&quot;<br>
                  -RDEPENDS_${PN}-gdbm=&quot;${PN}-co<wbr>re&quot;<br>
                  -FILES_${PN}-gdbm=&quot; \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/gdbm.so \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-hotshot=&quot;Python hotshot performance
                  profiler&quot;<br>
                  -RDEPENDS_${PN}-hotshot=&quot;${PN}<wbr>-core&quot;<br>
                  -FILES_${PN}-hotshot=&quot; \<br>
                  -    ${libdir}/python2.7/hotshot \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_hotshot.so
                  \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-html=&quot;Python HTML processing support&quot;<br>
                  -RDEPENDS_${PN}-html=&quot;${PN}-co<wbr>re&quot;<br>
                  -FILES_${PN}-html=&quot; \<br>
                  -    ${libdir}/python2.7/formatter.<wbr>* \<br>
                  -    ${libdir}/python2.7/htmlentity<wbr>defs.* \<br>
                  -    ${libdir}/python2.7/htmllib.* \<br>
                  -    ${libdir}/python2.7/markupbase<wbr>.* \<br>
                  -    ${libdir}/python2.7/sgmllib.* \<br>
                  -    ${libdir}/python2.7/HTMLParser<wbr>.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-idle=&quot;Python Integrated Development
                  Environment&quot;<br>
                  -RDEPENDS_${PN}-idle=&quot;${PN}-co<wbr>re ${PN}-tkinter&quot;<br>
                  -FILES_${PN}-idle=&quot; \<br>
                  -    ${bindir}/idle \<br>
                  -    ${libdir}/python2.7/idlelib \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-image=&quot;Python graphical image handling&quot;<br>
                  -RDEPENDS_${PN}-image=&quot;${PN}-c<wbr>ore&quot;<br>
                  -FILES_${PN}-image=&quot; \<br>
                  -    ${libdir}/python2.7/colorsys.* \<br>
                  -    ${libdir}/python2.7/imghdr.* \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/imageop.so \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/rgbimg.so \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-importlib=&quot;Pyth<wbr>on import
                  implementation library&quot;<br>
                  -RDEPENDS_${PN}-importlib=&quot;${P<wbr>N}-core&quot;<br>
                  -FILES_${PN}-importlib=&quot; \<br>
                  -    ${libdir}/python2.7/importlib \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-io=&quot;Python low-level I/O&quot;<br>
                  -RDEPENDS_${PN}-io=&quot;${PN}-core ${PN}-math
                  ${PN}-textutils ${PN}-netclient ${PN}-contextlib&quot;<br>
                  -FILES_${PN}-io=&quot; \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_socket.so \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_io.so \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_ssl.so \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/select.so \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/termios.so \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/cStringIO.so
                  \<br>
                  -    ${libdir}/python2.7/pipes.* \<br>
                  -    ${libdir}/python2.7/socket.* \<br>
                  -    ${libdir}/python2.7/ssl.* \<br>
                  -    ${libdir}/python2.7/tempfile.* \<br>
                  -    ${libdir}/python2.7/StringIO.* \<br>
                  -    ${libdir}/python2.7/io.* \<br>
                  -    ${libdir}/python2.7/_pyio.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-json=&quot;Python JSON support&quot;<br>
                  -RDEPENDS_${PN}-json=&quot;${PN}-co<wbr>re ${PN}-math
                  ${PN}-re ${PN}-codecs&quot;<br>
                  -FILES_${PN}-json=&quot; \<br>
                  -    ${libdir}/python2.7/json \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_json.so \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-lang=&quot;Python low-level language
                  support&quot;<br>
                  -RDEPENDS_${PN}-lang=&quot;${PN}-co<wbr>re&quot;<br>
                  -FILES_${PN}-lang=&quot; \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_bisect.so \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_collections.so
                  \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_heapq.so \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_weakref.so
                  \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_functools.so
                  \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/array.so \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/itertools.so
                  \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/operator.so
                  \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/parser.so \<br>
                  -    ${libdir}/python2.7/atexit.* \<br>
                  -    ${libdir}/python2.7/bisect.* \<br>
                  -    ${libdir}/python2.7/code.* \<br>
                  -    ${libdir}/python2.7/codeop.* \<br>
                  -    ${libdir}/python2.7/collection<wbr>s.* \<br>
                  -    ${libdir}/python2.7/dis.* \<br>
                  -    ${libdir}/python2.7/functools.<wbr>* \<br>
                  -    ${libdir}/python2.7/heapq.* \<br>
                  -    ${libdir}/python2.7/inspect.* \<br>
                  -    ${libdir}/python2.7/keyword.* \<br>
                  -    ${libdir}/python2.7/opcode.* \<br>
                  -    ${libdir}/python2.7/symbol.* \<br>
                  -    ${libdir}/python2.7/repr.* \<br>
                  -    ${libdir}/python2.7/token.* \<br>
                  -    ${libdir}/python2.7/tokenize.* \<br>
                  -    ${libdir}/python2.7/traceback.<wbr>* \<br>
                  -    ${libdir}/python2.7/weakref.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-logging=&quot;Python logging support&quot;<br>
                  -RDEPENDS_${PN}-logging=&quot;${PN}<wbr>-core ${PN}-io
                  ${PN}-lang ${PN}-pickle ${PN}-stringold&quot;<br>
                  -FILES_${PN}-logging=&quot; \<br>
                  -    ${libdir}/python2.7/logging \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-mailbox=&quot;Python mailbox format support&quot;<br>
                  -RDEPENDS_${PN}-mailbox=&quot;${PN}<wbr>-core ${PN}-mime&quot;<br>
                  -FILES_${PN}-mailbox=&quot; \<br>
                  -    ${libdir}/python2.7/mailbox.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-math=&quot;Python math support&quot;<br>
                  -RDEPENDS_${PN}-math=&quot;${PN}-co<wbr>re ${PN}-crypt&quot;<br>
                  -FILES_${PN}-math=&quot; \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/cmath.so \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/math.so \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_random.so \<br>
                  -    ${libdir}/python2.7/random.* \<br>
                  -    ${libdir}/python2.7/sets.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-mime=&quot;Python MIME handling APIs&quot;<br>
                  -RDEPENDS_${PN}-mime=&quot;${PN}-co<wbr>re ${PN}-io&quot;<br>
                  -FILES_${PN}-mime=&quot; \<br>
                  -    ${libdir}/python2.7/mimetools.<wbr>* \<br>
                  -    ${libdir}/python2.7/uu.* \<br>
                  -    ${libdir}/python2.7/quopri.* \<br>
                  -    ${libdir}/python2.7/rfc822.* \<br>
                  -    ${libdir}/python2.7/MimeWriter<wbr>.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-mmap=&quot;Python memory-mapped file
                  support&quot;<br>
                  -RDEPENDS_${PN}-mmap=&quot;${PN}-co<wbr>re ${PN}-io&quot;<br>
                  -FILES_${PN}-mmap=&quot; \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/mmap.so \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-multiprocessing<wbr>=&quot;Python
                  multiprocessing support&quot;<br>
                  -RDEPENDS_${PN}-multiprocessin<wbr>g=&quot;${PN}-core
                  ${PN}-io ${PN}-lang ${PN}-pickle ${PN}-threading
                  ${PN}-ctypes ${PN}-mmap&quot;<br>
                  -FILES_${PN}-multiprocessing=&quot; \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_multiprocessing.so
                  \<br>
                  -    ${libdir}/python2.7/multiproce<wbr>ssing \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-netclient=&quot;Pyth<wbr>on Internet
                  Protocol clients&quot;<br>
                  -RDEPENDS_${PN}-netclient=&quot;${P<wbr>N}-core ${PN}-crypt
                  ${PN}-datetime ${PN}-io ${PN}-lang ${PN}-logging
                  ${PN}-mime&quot;<br>
                  -FILES_${PN}-netclient=&quot; \<br>
                  -    ${libdir}/python2.7/*Cookie*.* \<br>
                  -    ${libdir}/python2.7/base64.* \<br>
                  -    ${libdir}/python2.7/cookielib.<wbr>* \<br>
                  -    ${libdir}/python2.7/ftplib.* \<br>
                  -    ${libdir}/python2.7/gopherlib.<wbr>* \<br>
                  -    ${libdir}/python2.7/hmac.* \<br>
                  -    ${libdir}/python2.7/httplib.* \<br>
                  -    ${libdir}/python2.7/mimetypes.<wbr>* \<br>
                  -    ${libdir}/python2.7/nntplib.* \<br>
                  -    ${libdir}/python2.7/poplib.* \<br>
                  -    ${libdir}/python2.7/smtplib.* \<br>
                  -    ${libdir}/python2.7/telnetlib.<wbr>* \<br>
                  -    ${libdir}/python2.7/urllib.* \<br>
                  -    ${libdir}/python2.7/urllib2.* \<br>
                  -    ${libdir}/python2.7/urlparse.* \<br>
                  -    ${libdir}/python2.7/uuid.* \<br>
                  -    ${libdir}/python2.7/rfc822.* \<br>
                  -    ${libdir}/python2.7/mimetools.<wbr>* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-netserver=&quot;Pyth<wbr>on Internet
                  Protocol servers&quot;<br>
                  -RDEPENDS_${PN}-netserver=&quot;${P<wbr>N}-core
                  ${PN}-netclient ${PN}-shell ${PN}-threading&quot;<br>
                  -FILES_${PN}-netserver=&quot; \<br>
                  -    ${libdir}/python2.7/cgi.* \<br>
                  -    ${libdir}/python2.7/*HTTPServe<wbr>r.* \<br>
                  -    ${libdir}/python2.7/SocketServ<wbr>er.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-numbers=&quot;Python number APIs&quot;<br>
                  -RDEPENDS_${PN}-numbers=&quot;${PN}<wbr>-core ${PN}-lang
                  ${PN}-re&quot;<br>
                  -FILES_${PN}-numbers=&quot; \<br>
                  -    ${libdir}/python2.7/decimal.* \<br>
                  -    ${libdir}/python2.7/fractions.<wbr>* \<br>
                  -    ${libdir}/python2.7/numbers.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-pickle=&quot;Python
                  serialisation/persistence support&quot;<br>
                  -RDEPENDS_${PN}-pickle=&quot;${PN}-<wbr>core ${PN}-codecs
                  ${PN}-io ${PN}-re&quot;<br>
                  -FILES_${PN}-pickle=&quot; \<br>
                  -    ${libdir}/python2.7/pickle.* \<br>
                  -    ${libdir}/python2.7/shelve.* \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/cPickle.so \<br>
                  -    ${libdir}/python2.7/pickletool<wbr>s.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-pkgutil=&quot;Python package extension
                  utility support&quot;<br>
                  -RDEPENDS_${PN}-pkgutil=&quot;${PN}<wbr>-core&quot;<br>
                  -FILES_${PN}-pkgutil=&quot; \<br>
                  -    ${libdir}/python2.7/pkgutil.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-plistlib=&quot;Gener<wbr>ate and parse Mac
                  OS X .plist files&quot;<br>
                  -RDEPENDS_${PN}-plistlib=&quot;${PN<wbr>}-core
                  ${PN}-datetime ${PN}-io&quot;<br>
                  -FILES_${PN}-plistlib=&quot; \<br>
                  -    ${libdir}/python2.7/plistlib.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-pprint=&quot;Python pretty-print support&quot;<br>
                  -RDEPENDS_${PN}-pprint=&quot;${PN}-<wbr>core ${PN}-io&quot;<br>
                  -FILES_${PN}-pprint=&quot; \<br>
                  -    ${libdir}/python2.7/pprint.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-profile=&quot;Python basic performance
                  profiling support&quot;<br>
                  -RDEPENDS_${PN}-profile=&quot;${PN}<wbr>-core
                  ${PN}-textutils&quot;<br>
                  -FILES_${PN}-profile=&quot; \<br>
                  -    ${libdir}/python2.7/profile.* \<br>
                  -    ${libdir}/python2.7/pstats.* \<br>
                  -    ${libdir}/python2.7/cProfile.* \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_lsprof.so \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-pydoc=&quot;Python interactive help support&quot;<br>
                  -RDEPENDS_${PN}-pydoc=&quot;${PN}-c<wbr>ore ${PN}-lang
                  ${PN}-stringold ${PN}-re&quot;<br>
                  -FILES_${PN}-pydoc=&quot; \<br>
                  -    ${bindir}/pydoc \<br>
                  -    ${libdir}/python2.7/pydoc.* \<br>
                  -    ${libdir}/python2.7/pydoc_data \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-re=&quot;Python Regular Expression APIs&quot;<br>
                  -RDEPENDS_${PN}-re=&quot;${PN}-core<wbr>&quot;<br>
                  -FILES_${PN}-re=&quot; \<br>
                  -    ${libdir}/python2.7/re.* \<br>
                  -    ${libdir}/python2.7/sre.* \<br>
                  -    ${libdir}/python2.7/sre_compil<wbr>e.* \<br>
                  -    ${libdir}/python2.7/sre_consta<wbr>nts* \<br>
                  -    ${libdir}/python2.7/sre_parse.<wbr>* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-readline=&quot;Pytho<wbr>n readline support&quot;<br>
                  -RDEPENDS_${PN}-readline=&quot;${PN<wbr>}-core&quot;<br>
                  -FILES_${PN}-readline=&quot; \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/readline.so
                  \<br>
                  -    ${libdir}/python2.7/rlcomplete<wbr>r.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-resource=&quot;Pytho<wbr>n resource control
                  interface&quot;<br>
                  -RDEPENDS_${PN}-resource=&quot;${PN<wbr>}-core&quot;<br>
                  -FILES_${PN}-resource=&quot; \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/resource.so
                  \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-robotparser=&quot;Py<wbr>thon robots.txt
                  parser&quot;<br>
                  -RDEPENDS_${PN}-robotparser=&quot;$<wbr>{PN}-core
                  ${PN}-netclient&quot;<br>
                  -FILES_${PN}-robotparser=&quot; \<br>
                  -    ${libdir}/python2.7/robotparse<wbr>r.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-runpy=&quot;Python script for
                  locating/executing scripts in module namespace&quot;<br>
                  -RDEPENDS_${PN}-runpy=&quot;${PN}-c<wbr>ore ${PN}-pkgutil&quot;<br>
                  -FILES_${PN}-runpy=&quot; \<br>
                  -    ${libdir}/python2.7/runpy.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-shell=&quot;Python shell-like functionality&quot;<br>
                  -RDEPENDS_${PN}-shell=&quot;${PN}-c<wbr>ore ${PN}-re&quot;<br>
                  -FILES_${PN}-shell=&quot; \<br>
                  -    ${libdir}/python2.7/cmd.* \<br>
                  -    ${libdir}/python2.7/commands.* \<br>
                  -    ${libdir}/python2.7/dircache.* \<br>
                  -    ${libdir}/python2.7/fnmatch.* \<br>
                  -    ${libdir}/python2.7/glob.* \<br>
                  -    ${libdir}/python2.7/popen2.* \<br>
                  -    ${libdir}/python2.7/shlex.* \<br>
                  -    ${libdir}/python2.7/shutil.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-smtpd=&quot;Python Simple Mail Transport
                  Daemon&quot;<br>
                  -RDEPENDS_${PN}-smtpd=&quot;${PN}-c<wbr>ore ${PN}-netserver
                  ${PN}-email ${PN}-mime&quot;<br>
                  -FILES_${PN}-smtpd=&quot; \<br>
                  -    ${bindir}/smtpd.* \<br>
                  -    ${libdir}/python2.7/smtpd.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-sqlite3=&quot;Python Sqlite3 database
                  support&quot;<br>
                  -RDEPENDS_${PN}-sqlite3=&quot;${PN}<wbr>-core
                  ${PN}-datetime ${PN}-lang ${PN}-crypt ${PN}-io
                  ${PN}-threading ${PN}-zlib&quot;<br>
                  -FILES_${PN}-sqlite3=&quot; \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_sqlite3.so
                  \<br>
                  -    ${libdir}/python2.7/sqlite3/db<wbr>api2.* \<br>
                  -    ${libdir}/python2.7/sqlite3/__<wbr>init__.* \<br>
                  -    ${libdir}/python2.7/sqlite3/du<wbr>mp.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-sqlite3-tests=&quot;<wbr>Python Sqlite3
                  database support tests&quot;<br>
                  -RDEPENDS_${PN}-sqlite3-tests=<wbr>&quot;${PN}-core
                  ${PN}-sqlite3&quot;<br>
                  -FILES_${PN}-sqlite3-tests=&quot; \<br>
                  -    ${libdir}/python2.7/sqlite3/te<wbr>st \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-stringold=&quot;Pyth<wbr>on string APIs
                  [deprecated]&quot;<br>
                  -RDEPENDS_${PN}-stringold=&quot;${P<wbr>N}-core ${PN}-re&quot;<br>
                  -FILES_${PN}-stringold=&quot; \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/strop.so \<br>
                  -    ${libdir}/python2.7/string.* \<br>
                  -    ${libdir}/python2.7/stringold.<wbr>* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-subprocess=&quot;Pyt<wbr>hon subprocess
                  support&quot;<br>
                  -RDEPENDS_${PN}-subprocess=&quot;${<wbr>PN}-core ${PN}-io
                  ${PN}-re ${PN}-fcntl ${PN}-pickle&quot;<br>
                  -FILES_${PN}-subprocess=&quot; \<br>
                  -    ${libdir}/python2.7/subprocess<wbr>.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-syslog=&quot;Python syslog interface&quot;<br>
                  -RDEPENDS_${PN}-syslog=&quot;${PN}-<wbr>core&quot;<br>
                  -FILES_${PN}-syslog=&quot; \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/syslog.so \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-terminal=&quot;Pytho<wbr>n terminal
                  controlling support&quot;<br>
                  -RDEPENDS_${PN}-terminal=&quot;${PN<wbr>}-core ${PN}-io&quot;<br>
                  -FILES_${PN}-terminal=&quot; \<br>
                  -    ${libdir}/python2.7/pty.* \<br>
                  -    ${libdir}/python2.7/tty.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-tests=&quot;Python tests&quot;<br>
                  -RDEPENDS_${PN}-tests=&quot;${PN}-c<wbr>ore ${PN}-modules&quot;<br>
                  -FILES_${PN}-tests=&quot; \<br>
                  -    ${libdir}/python2.7/test \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-textutils=&quot;Pyth<wbr>on option parsing,
                  text wrapping and CSV support&quot;<br>
                  -RDEPENDS_${PN}-textutils=&quot;${P<wbr>N}-core ${PN}-io
                  ${PN}-re ${PN}-stringold&quot;<br>
                  -FILES_${PN}-textutils=&quot; \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_csv.so \<br>
                  -    ${libdir}/python2.7/csv.* \<br>
                  -    ${libdir}/python2.7/optparse.* \<br>
                  -    ${libdir}/python2.7/textwrap.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-threading=&quot;Pyth<wbr>on threading &amp;
                  synchronization support&quot;<br>
                  -RDEPENDS_${PN}-threading=&quot;${P<wbr>N}-core ${PN}-lang&quot;<br>
                  -FILES_${PN}-threading=&quot; \<br>
                  -    ${libdir}/python2.7/_threading<wbr>_local.* \<br>
                  -    ${libdir}/python2.7/dummy_thre<wbr>ad.* \<br>
                  -    ${libdir}/python2.7/dummy_thre<wbr>ading.* \<br>
                  -    ${libdir}/python2.7/mutex.* \<br>
                  -    ${libdir}/python2.7/threading.<wbr>* \<br>
                  -    ${libdir}/python2.7/Queue.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-tkinter=&quot;Python Tcl/Tk bindings&quot;<br>
                  -RDEPENDS_${PN}-tkinter=&quot;${PN}<wbr>-core&quot;<br>
                  -FILES_${PN}-tkinter=&quot; \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_tkinter.so
                  \<br>
                  -    ${libdir}/python2.7/lib-tk \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-unittest=&quot;Pytho<wbr>n unit testing
                  framework&quot;<br>
                  -RDEPENDS_${PN}-unittest=&quot;${PN<wbr>}-core
                  ${PN}-stringold ${PN}-lang ${PN}-io ${PN}-difflib
                  ${PN}-pprint ${PN}-shell&quot;<br>
                  -FILES_${PN}-unittest=&quot; \<br>
                  -    ${libdir}/python2.7/unittest/ \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-unixadmin=&quot;Pyth<wbr>on Unix
                  administration support&quot;<br>
                  -RDEPENDS_${PN}-unixadmin=&quot;${P<wbr>N}-core&quot;<br>
                  -FILES_${PN}-unixadmin=&quot; \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/nis.so \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/grp.so \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/pwd.so \<br>
                  -    ${libdir}/python2.7/getpass.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-xml=&quot;Python basic XML support&quot;<br>
                  -RDEPENDS_${PN}-xml=&quot;${PN}-cor<wbr>e ${PN}-re&quot;<br>
                  -FILES_${PN}-xml=&quot; \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/_elementtree.so
                  \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/pyexpat.so \<br>
                  -    ${libdir}/python2.7/xml \<br>
                  -    ${libdir}/python2.7/xmllib.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-xmlrpc=&quot;Python XML-RPC support&quot;<br>
                  -RDEPENDS_${PN}-xmlrpc=&quot;${PN}-<wbr>core ${PN}-xml
                  ${PN}-netserver ${PN}-lang&quot;<br>
                  -FILES_${PN}-xmlrpc=&quot; \<br>
                  -    ${libdir}/python2.7/xmlrpclib.<wbr>* \<br>
                  -    ${libdir}/python2.7/SimpleXMLR<wbr>PCServer.* \<br>
                  -    ${libdir}/python2.7/DocXMLRPCS<wbr>erver.* \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-zlib=&quot;Python zlib compression support&quot;<br>
                  -RDEPENDS_${PN}-zlib=&quot;${PN}-co<wbr>re&quot;<br>
                  -FILES_${PN}-zlib=&quot; \<br>
                  -    ${libdir}/python2.7/lib-dynloa<wbr>d/zlib.so \<br>
                  -&quot;<br>
                  -<br>
                  -SUMMARY_${PN}-modules=&quot;All Python modules&quot;<br>
                  -RDEPENDS_${PN}-modules=&quot; \<br>
                  -  ${PN}-2to3 \<br>
                  -  ${PN}-argparse \<br>
                  -  ${PN}-audio \<br>
                  -  ${PN}-bsddb \<br>
                  -  ${PN}-codecs \<br>
                  -  ${PN}-compile \<br>
                  -  ${PN}-compiler \<br>
                  -  ${PN}-compression \<br>
                  -  ${PN}-contextlib \<br>
                  -  ${PN}-core \<br>
                  -  ${PN}-crypt \<br>
                  -  ${PN}-ctypes \<br>
                  -  ${PN}-curses \<br>
                  -  ${PN}-datetime \<br>
                  -  ${PN}-db \<br>
                  -  ${PN}-debugger \<br>
                  -  ${PN}-difflib \<br>
                  -  ${PN}-distutils \<br>
                  -  ${PN}-doctest \<br>
                  -  ${PN}-email \<br>
                  -  ${PN}-fcntl \<br>
                  -  ${PN}-gdbm \<br>
                  -  ${PN}-hotshot \<br>
                  -  ${PN}-html \<br>
                  -  ${PN}-idle \<br>
                  -  ${PN}-image \<br>
                  -  ${PN}-importlib \<br>
                  -  ${PN}-io \<br>
                  -  ${PN}-json \<br>
                  -  ${PN}-lang \<br>
                  -  ${PN}-logging \<br>
                  -  ${PN}-mailbox \<br>
                  -  ${PN}-math \<br>
                  -  ${PN}-mime \<br>
                  -  ${PN}-mmap \<br>
                  -  ${PN}-multiprocessing \<br>
                  -  ${PN}-netclient \<br>
                  -  ${PN}-netserver \<br>
                  -  ${PN}-numbers \<br>
                  -  ${PN}-pickle \<br>
                  -  ${PN}-pkgutil \<br>
                  -  ${PN}-plistlib \<br>
                  -  ${PN}-pprint \<br>
                  -  ${PN}-profile \<br>
                  -  ${PN}-pydoc \<br>
                  -  ${PN}-re \<br>
                  -  ${PN}-readline \<br>
                  -  ${PN}-resource \<br>
                  -  ${PN}-robotparser \<br>
                  -  ${PN}-runpy \<br>
                  -  ${PN}-shell \<br>
                  -  ${PN}-smtpd \<br>
                  -  ${PN}-sqlite3 \<br>
                  -  ${PN}-sqlite3-tests \<br>
                  -  ${PN}-stringold \<br>
                  -  ${PN}-subprocess \<br>
                  -  ${PN}-syslog \<br>
                  -  ${PN}-terminal \<br>
                  -  ${PN}-textutils \<br>
                  -  ${PN}-threading \<br>
                  -  ${PN}-tkinter \<br>
                  -  ${PN}-unittest \<br>
                  -  ${PN}-unixadmin \<br>
                  -  ${PN}-xml \<br>
                  -  ${PN}-xmlrpc \<br>
                  -  ${PN}-zlib \<br>
                  -&quot;<br>
                  -ALLOW_EMPTY_${PN}-modules = &quot;1&quot;<br>
                  -<br>
                  -<br>
                  diff --git a/meta/recipes-devtools/python<wbr>/<a href="http://python-native-2.7-manifest.in">python-native-2.7-manifest.in</a><wbr>c
                  b/meta/recipes-devtools/python<wbr>/<a href="http://python-native-2.7-manifest.in">python-native-2.7-manifest.in</a><wbr>c<br>
                  deleted file mode 100644<br>
                  index b05aae0..0000000<br>
                  --- a/meta/recipes-devtools/python<wbr>/<a href="http://python-native-2.7-manifest.in">python-native-2.7-manifest.in</a><wbr>c<br>
                  +++ /dev/null<br>
                  @@ -1,9 +0,0 @@<br>
                  -<br>
                  -# WARNING: This file is AUTO GENERATED: Manual edits
                  will be lost next time I regenerate the file.<br>
                  -# Generator: &#39;../scripts/contrib/python/<a href="http://generate-manifest-2.7.py" rel="noreferrer" target="_blank">gen<wbr>erate-manifest-2.7.py</a>
                  --native&#39; Version 20110222.2 (C) 2002-2010 Michael
                  &#39;Mickey&#39; Lauer &lt;<a href="mailto:mlauer@vanille-media.de" target="_blank">mlauer@vanille-media.de</a>&gt;<br>
                  -<br>
                  -<br>
                  -<br>
                  -RPROVIDES += &quot;python-modules-native
                  python-2to3-native python-argparse-native
                  python-audio-native python-bsddb-native
                  python-codecs-native python-compile-native
                  python-compiler-native python-compression-native
                  python-contextlib-native python-core-native
                  python-crypt-native python-ctypes-native
                  python-curses-native python-datetime-native
                  python-db-native python-debugger-native
                  python-dev-native python-difflib-native
                  python-distutils-native python-distutils-staticdev-nat<wbr>ive
                  python-doctest- [...]<br>
                  -<br>
                  -<br>
                  diff --git a/meta/recipes-devtools/python<wbr>/<a href="http://python-native_2.7.13.bb" rel="noreferrer" target="_blank">python-native_2.7.13.bb</a>
                  b/meta/recipes-devtools/python<wbr>/<a href="http://python-native_2.7.13.bb" rel="noreferrer" target="_blank">python-native_2.7.13.bb</a><br>
                  index 7edf153..2b74003 100644<br>
                  --- a/meta/recipes-devtools/python<wbr>/<a href="http://python-native_2.7.13.bb" rel="noreferrer" target="_blank">python-native_2.7.13.bb</a><br>
                  +++ b/meta/recipes-devtools/python<wbr>/<a href="http://python-native_2.7.13.bb" rel="noreferrer" target="_blank">python-native_2.7.13.bb</a><br>
                  @@ -1,5 +1,4 @@<br>
                   require python.inc<br>
                  -<br>
                   EXTRANATIVEPATH += &quot;bzip2-native&quot;<br>
                   DEPENDS = &quot;openssl-native bzip2-replacement-native
                  zlib-native readline-native sqlite3-native
                  expat-native&quot;<br>
                   PR = &quot;${INC_<a href="https://maps.google.com/?q=PR%7D.1%22+%0D+@@+-25,8&amp;entry=gmail&amp;source=g">PR}.1&quot;</a><br>
                  @@ -25,8 +24,6 @@ FILESEXTRAPATHS =.
                  &quot;${FILE_DIRNAME}/${PN}:&quot;<br>
                  <br>
                   inherit native<br>
                  <br>
                  -require python-native-${PYTHON_MAJMIN}<wbr>-manifest.inc<br>
                  -<br>
                   EXTRA_OECONF_append = &quot; --bindir=${bindir}/${PN}
                  --with-system-expat=${STAGING_<wbr>DIR_HOST}&quot;<br>
                  <br>
                   EXTRA_OEMAKE = &#39;\<br>
                  @@ -59,3 +56,24 @@ do_install() {<br>
                          # installed in the native sysroot, so disable
                  user site support.<br>
                          sed -i -e &#39;s,^\(ENABLE_USER_SITE =
                  \).*,\1False,&#39; ${D}${libdir}/python${PYTHON_M<wbr>AJMIN}/site.py<br>
                   }<br>
                  +<br>
                  +python(){<br>
                  +<br>
                  +    # Read JSON manifest<br>
                  +    import json<br>
                  +    pythondir = d.getVar(&#39;THISDIR&#39;,True)<br>
                  +    with open(pythondir+&#39;/python/python<wbr>2-manifest.json&#39;)
                  as manifest_file:<br>
                  +        python_manifest=json.load(mani<wbr>fest_file)<br>
                  +<br>
                  +    rprovides = d.getVar(&#39;RPROVIDES&#39;).split()<br>
                  +<br>
                  +    # Hardcoded since it cant be python-native-foo,
                  should be python-foo-native<br>
                  +    pn = &#39;python&#39;<br>
                  +<br>
                  +    for key in python_manifest:<br>
                  +        pypackage = pn + &#39;-&#39; + key + &#39;-native&#39;<br>
                  +        if pypackage not in rprovides:<br>
                  +              rprovides.append(pypackage)<br>
                  +<br>
                  +    d.setVar(&#39;RPROVIDES&#39;, &#39; &#39;.join(rprovides))<br>
                  +}<br>
                  diff --git a/meta/recipes-devtools/python<wbr>/python/create_manifest2.py
                  b/meta/recipes-devtools/python<wbr>/python/create_manifest2.py<br>
                  new file mode 100644<br>
                  index 0000000..bd64ec3<br>
                  --- /dev/null<br>
                  +++ b/meta/recipes-devtools/python<wbr>/python/create_manifest2.py<br>
                  @@ -0,0 +1,277 @@<br>
                  +# This script is used as a bitbake task to create a
                  new python manifest<br>
                  +# $ bitbake python -c create_manifest<br>
                  +#<br>
                  +# Our goal is to keep python-core as small as posible
                  and add other python<br>
                  +# packages only when the user needs them, hence why
                  we split upstream python<br>
                  +# into several packages.<br>
                  +#<br>
                  +# In a very simplistic way what this does is:<br>
                  +# Launch python and see specifically what is required
                  for it to run at a minimum<br>
                  +#<br>
                  +# Go through the python-manifest file and launch a
                  separate task for every single<br>
                  +# one of the files on each package, this task will
                  check what was required for that<br>
                  +# specific module to run, these modules will be
                  called dependencies.<br>
                  +# The output of such task will be a list of the
                  modules or dependencies that were<br>
                  +# found for that file.<br>
                  +#<br>
                  +# Such output will be parsed by this script, we will
                  look for each dependency on the<br>
                  +# manifest and if we find that another package
                  already includes it, then we will add<br>
                  +# that package as an RDEPENDS to the package we are
                  currently checking; in case we dont<br>
                  +# find the current dependency on any other package we
                  will add it to the current package<br>
                  +# as part of FILES.<br>
                  +#<br>
                  +#<br>
                  +# This way we will create a new manifest from the
                  data structure that was built during<br>
                  +# this process, ont this new manifest each package
                  will contain specifically only<br>
                  +# what it needs to run.<br>
                  +#<br>
                  +# There are some caveats which we try to deal with,
                  such as repeated files on different<br>
                  +# packages, packages that include folders, wildcards,
                  and special packages.<br>
                  +# Its also important to note that this method only
                  works for python files, and shared<br>
                  +# libraries. Static libraries, header files and
                  binaries need to be dealt with manually.<br>
                  +#<br>
                  +# Author: Alejandro Enedino Hernandez Samaniego
                  &quot;aehs29&quot; &lt;<a href="mailto:aehs29@gmail.com" target="_blank">aehs29@gmail.com</a>&gt;<br>
                  +<br>
                  +<br>
                  +import sys<br>
                  +import subprocess<br>
                  +import json<br>
                  +import os<br>
                  +<br>
                  +# Hack to get native python search path (for
                  folders), not fond of it but it works for now<br>
                  +pivot=&#39;recipe-sysroot-native&#39;<br>
                  +for p in sys.path:<br>
                  +  if pivot in p:<br>
                  +    nativelibfolder=p[:p.find(pivo<wbr>t)+len(pivot)]<br>
                  +<br>
                  +# Empty dict to hold the whole manifest<br>
                  +new_manifest = {}<br>
                  +<br>
                  +# Check for repeated files, folders and wildcards<br>
                  +allfiles=[]<br>
                  +repeated=[]<br>
                  +wildcards=[]<br>
                  +<br>
                  +hasfolders=[]<br>
                  +allfolders=[]<br>
                  +<br>
                  +def isFolder(value):<br>
                  +  if os.path.isdir(value.replace(&#39;$<wbr>{libdir}&#39;,nativelibfolder+&#39;/us<wbr>r/lib&#39;))
                  or os.path.isdir(value.replace(&#39;$<wbr>{libdir}&#39;,nativelibfolder+&#39;/us<wbr>r/lib64&#39;))
                  or os.path.isdir(value.replace(&#39;$<wbr>{libdir}&#39;,nativelibfolder+&#39;/us<wbr>r/lib32&#39;)):<br>
                  +    return True<br>
                  +  else:<br>
                  +    return False<br>
                  +<br>
                  +# Read existing JSON manifest<br>
                  +with open(&#39;python2-manifest.json&#39;) as manifest:<br>
                  +  old_manifest=json.load(manifes<wbr>t)<br>
                  +<br>
                  +<br>
                  +# First pass to get core-package functionality,
                  because we base everything on the fact that core is
                  actually working<br>
                  +# Not exactly the same so it should not be a function<br>
                  +print (&quot;Getting dependencies for core package:&quot;)<br>
                  +<br>
                  +# Special call to check for core package<br>
                  +output = subprocess.check_output([sys.e<wbr>xecutable,
                  &#39;get_module_deps2.py&#39;, &#39;python-core-package&#39;])<br>
                  +for item in output.split():<br>
                  +    # We append it so it doesnt hurt what we
                  currently have:<br>
                  +    if item not in old_manifest[&#39;core&#39;][&#39;files&#39;]:<br>
                  +        # We use the same data structure since its
                  the one which will be used to check<br>
                  +        # dependencies for other packages<br>
                  +        old_manifest[&#39;core&#39;][&#39;files&#39;].<wbr>append(item)<br>
                  +<br>
                  +for value in old_manifest[&#39;core&#39;][&#39;files&#39;]:<br>
                  +  # Ignore folders, since we don&#39;t import those,
                  difficult to handle multilib<br>
                  +  if isFolder(value):<br>
                  +    # Pass it directly<br>
                  +    if value not in old_manifest[&#39;core&#39;][&#39;files&#39;]:<br>
                  +      old_manifest[&#39;core&#39;][&#39;files&#39;].<wbr>append(value)<br>
                  +  # Ignore binaries, since we don&#39;t import those,
                  assume it was added correctly (manually)<br>
                  +  if &#39;${bindir}&#39; in value:<br>
                  +    # Pass it directly<br>
                  +    if value not in old_manifest[&#39;core&#39;][&#39;files&#39;]:<br>
                  +      old_manifest[&#39;core&#39;][&#39;files&#39;].<wbr>append(value)<br>
                  +    continue<br>
                  +  # Ignore empty values<br>
                  +  if value == &#39;&#39;:<br>
                  +    continue<br>
                  +  if &#39;${includedir}&#39; in value:<br>
                  +    if value not in old_manifest[&#39;core&#39;][&#39;files&#39;]:<br>
                  +      old_manifest[&#39;core&#39;][&#39;files&#39;].<wbr>append(value)<br>
                  +    continue<br>
                  +  # Get module name , shouldnt be affected by
                  libdir/bindir<br>
                  +  value = os.path.splitext(os.path.basen<wbr>ame(os.path.normpath(value)))[<wbr>0]<br>
                  +<br>
                  +<br>
                  +  # Launch separate task for each module for
                  deterministic behavior<br>
                  +  # Each module will only import what is necessary
                  for it to work in specific<br>
                  +  print (&#39;Getting dependencies for module: %s&#39; %
                  value)<br>
                  +  output = subprocess.check_output([sys.e<wbr>xecutable,
                  &#39;get_module_deps2.py&#39;, &#39;%s&#39; % value])<br>
                  +  for item in output.split():<br>
                  +    # We append it so it doesnt hurt what we
                  currently have:<br>
                  +    if item not in old_manifest[&#39;core&#39;][&#39;files&#39;]:<br>
                  +      old_manifest[&#39;core&#39;][&#39;files&#39;].<wbr>append(item)<br>
                  +<br>
                  +# We check which packages include folders<br>
                  +for key in old_manifest:<br>
                  +    for value in old_manifest[key][&#39;files&#39;]:<br>
                  +        # Ignore folders, since we don&#39;t import
                  those, difficult to handle multilib<br>
                  +        if isFolder(value):<br>
                  +            print (&#39;%s is a folder&#39; % value)<br>
                  +            if key not in hasfolders:<br>
                  +                hasfolders.append(key)<br>
                  +            if value not in allfolders:<br>
                  +                allfolders.append(value)<br>
                  +<br>
                  +for key in old_manifest:<br>
                  +    # Use an empty dict as data structure to hold
                  data for each package and fill it up<br>
                  +    new_manifest[key]={}<br>
                  +    new_manifest[key][&#39;files&#39;]=[]<br>
                  +    new_manifest[key][&#39;rdepends&#39;]=<wbr>[]<br>
                  +    # All packages should depend on core<br>
                  +    if key != &#39;core&#39;:<br>
                  +         new_manifest[key][&#39;rdepends&#39;]<wbr>.append(&#39;core&#39;)<br>
                  +    new_manifest[key][&#39;summary&#39;]=o<wbr>ld_manifest[key][&#39;summary&#39;]<br>
                  +<br>
                  +    # Handle special cases, we assume that when they
                  were manually added<br>
                  +    # to the manifest we knew what we were doing.<br>
                  +    print (&#39;Handling package %s&#39; % key)<br>
                  +    special_packages=[&#39;misc&#39;, &#39;modules&#39;, &#39;dev&#39;]<br>
                  +    if key in special_packages or &#39;staticdev&#39; in key:<br>
                  +        print(&#39;Passing %s package directly&#39; % key)<br>
                  +        new_manifest[key]=old_manifest<wbr>[key]<br>
                  +        continue<br>
                  +<br>
                  +    for value in old_manifest[key][&#39;files&#39;]:<br>
                  +        # We already handled core on the first pass<br>
                  +        if key == &#39;core&#39;:<br>
                  +            new_manifest[key][&#39;files&#39;].app<wbr>end(value)<br>
                  +            continue<br>
                  +        # Ignore folders, since we don&#39;t import
                  those, difficult to handle multilib<br>
                  +        if isFolder(value):<br>
                  +            # Pass folders directly<br>
                  +            new_manifest[key][&#39;files&#39;].app<wbr>end(value)<br>
                  +        # Ignore binaries, since we don&#39;t import
                  those<br>
                  +        if &#39;${bindir}&#39; in value:<br>
                  +            # Pass it directly to the new manifest
                  data structure<br>
                  +            if value not in
                  new_manifest[key][&#39;files&#39;]:<br>
                  +                new_manifest[key][&#39;files&#39;].app<wbr>end(value)<br>
                  +            continue<br>
                  +        # Ignore empty values<br>
                  +        if value == &#39;&#39;:<br>
                  +            continue<br>
                  +        if &#39;${includedir}&#39; in value:<br>
                  +            if value not in
                  new_manifest[key][&#39;files&#39;]:<br>
                  +                new_manifest[key][&#39;files&#39;].app<wbr>end(value)<br>
                  +            continue<br>
                  +        # Get module name , shouldnt be affected by
                  libdir/bindir<br>
                  +        value = os.path.splitext(os.path.basen<wbr>ame(os.path.normpath(value)))[<wbr>0]<br>
                  +<br>
                  +        # Launch separate task for each module for
                  deterministic behavior<br>
                  +        # Each module will only import what is
                  necessary for it to work in specific<br>
                  +        print (&#39;Getting dependencies for module: %s&#39;
                  % value)<br>
                  +        output = subprocess.check_output([sys.e<wbr>xecutable,
                  &#39;get_module_deps2.py&#39;, &#39;%s&#39; % value])<br>
                  +<br>
                  +        # We can print dependencies for debugging
                  purposes<br>
                  +        #print (output)<br>
                  +        # Output will have all dependencies<br>
                  +        for item in output.split():<br>
                  +<br>
                  +            # Warning: This first part is ugly<br>
                  +            # One of the dependencies that was found,
                  could be inside of one of the folders included by
                  another package<br>
                  +            # We need to check if this happens so we
                  can add the package containing the folder as an
                  RDEPENDS<br>
                  +            # e.g. Folder encodings contained in
                  codecs<br>
                  +            # This would be solved if no packages
                  included any folders<br>
                  +<br>
                  +            # This can be done in two ways:<br>
                  +            # 1 - We assume that if we take out the
                  filename from the path we would get<br>
                  +            #   the folder string, then we would
                  check if folder string is in the list of folders<br>
                  +            #   This would not work if a package
                  contains a folder which contains another folder<br>
                  +            #   e.g. path/folder1/folder2/filename 
                  folder_string= path/folder1/folder2<br>
                  +            #   folder_string would not match any
                  value contained in the list of folders<br>
                  +            #<br>
                  +            # 2 - We do it the other way around,
                  checking if the folder is contained in the path<br>
                  +            #   e.g. path/folder1/folder2/filename 
                  folder_string= path/folder1/folder2<br>
                  +            #   is folder_string inside
                  path/folder1/folder2/filename?<wbr>,<br>
                  +            #   Yes, it works, but we waste a couple
                  of milliseconds.<br>
                  +<br>
                  +            inFolders=False<br>
                  +            for folder in allfolders:<br>
                  +                if folder in item:<br>
                  +                    inFolders = True # Did we find a
                  folder?<br>
                  +                    folderFound = False # Second flag
                  to break inner for<br>
                  +                    # Loop only through packages
                  which contain folders<br>
                  +                    for keyfolder in hasfolders:<br>
                  +                        if (folderFound == False):<br>
                  +                            #print(&quot;Checking folder
                  %s on package %s&quot; % (item,keyfolder))<br>
                  +                            for file_folder in
                  old_manifest[keyfolder][&#39;files<wbr>&#39;]:<br>
                  +                                if
                  file_folder==folder:<br>
                  +                                    print (&#39;%s found
                  in %s&#39; % (folder, keyfolder))<br>
                  +                                    folderFound =
                  True<br>
                  +                                    if keyfolder not
                  in new_manifest[key][&#39;rdepends&#39;] and keyfolder != key:<br>
                  +                                       
                  new_manifest[key][&#39;rdepends&#39;].<wbr>append(keyfolder)<br>
                  +                        else:<br>
                  +                            break<br>
                  +<br>
                  +            # A folder was found so we&#39;re done with
                  this item, we can go on<br>
                  +            if inFolders:<br>
                  +                continue<br>
                  +<br>
                  +            # We might already have it on the
                  dictionary since it could depend on a (previously
                  checked) module<br>
                  +            if item not in
                  new_manifest[key][&#39;files&#39;]:<br>
                  +                # Handle core as a special package,
                  we already did it so we pass it to NEW data structure
                  directly<br>
                  +                if key==&#39;core&#39;:<br>
                  +                  print(&#39;Adding %s to %s FILES&#39; %
                  (item, key))<br>
                  +                  if item.endswith(&#39;*&#39;):<br>
                  +                      wildcards.append(item)<br>
                  +                  new_manifest[key][&#39;files&#39;].app<wbr>end(item)<br>
                  +<br>
                  +                  # Check for repeated files<br>
                  +                  if item not in allfiles:<br>
                  +                      allfiles.append(item)<br>
                  +                  else:<br>
                  +                      repeated.append(item)<br>
                  +<br>
                  +                else:<br>
                  +<br>
                  +                    # Check if this dependency is
                  already contained on another package, so we add it<br>
                  +                    # as an RDEPENDS, or if its not,
                  it means it should be contained on the current<br>
                  +                    # package, so we should add it to
                  FILES<br>
                  +                    for newkey in old_manifest:<br>
                  +                        # Debug<br>
                  +                        #print(&quot;Checking %s &quot; % item
                  + &quot; in %s&quot; % newkey)<br>
                  +                        if item in
                  old_manifest[newkey][&#39;files&#39;]:<br>
                  +                                # Since were nesting,
                  we need to check its not the same key<br>
                  +                                if(newkey!=key):<br>
                  +                                    if newkey not in
                  new_manifest[key][&#39;rdepends&#39;]:<br>
                  +                                       # Add it to
                  the new manifest data struct<br>
                  +                                       # Debug<br>
                  +                                       print(&#39;Adding
                  %s to %s RDEPENDS, because it contains %s&#39; % (newkey,
                  key, item))<br>
                  +                                     
                   new_manifest[key][&#39;rdepends&#39;]<wbr>.append(newkey)<br>
                  +                                    break<br>
                  +                    else:<br>
                  +                      # Debug<br>
                  +                      print(&#39;Adding %s to %s FILES&#39; %
                  (item, key))<br>
                  +                      # Since it wasnt found on
                  another package, its not an RDEP, so add it to FILES
                  for this package<br>
                  +                      new_manifest[key][&#39;files&#39;].app<wbr>end(item)<br>
                  +                      if item.endswith(&#39;*&#39;):<br>
                  +                          wildcards.append(item)<br>
                  +                      if item not in allfiles:<br>
                  +                          allfiles.append(item)<br>
                  +                      else:<br>
                  +                          repeated.append(item)<br>
                  +<br>
                  +print (&#39;The following files are repeated (contained
                  in more than one package), please check which package
                  should get it:&#39;)<br>
                  +print (repeated)<br>
                  +print(&#39;The following files contain wildcards, please
                  check they are necessary&#39;)<br>
                  +print(wildcards)<br>
                  +print(&#39;The following files contain folders, please
                  check they are necessary&#39;)<br>
                  +print(hasfolders)<br>
                  +<br>
                  +# Sort it just so it looks nice<br>
                  +for key in new_manifest:<br>
                  +    new_manifest[key][&#39;files&#39;].sor<wbr>t()<br>
                  +    new_manifest[key][&#39;rdepends&#39;].<wbr>sort()<br>
                  +<br>
                  +# Create the manifest from the data structure that
                  was built<br>
                  +with open(&#39;<a href="http://python2-manifest.json.ne" target="_blank">python2-manifest.json.ne</a><wbr>w&#39;,&#39;w&#39;)
                  as outfile:<br>
                  +    json.dump(new_manifest,outfile<wbr>,sort_keys=True,
                  indent=4)<br>
                  diff --git a/meta/recipes-devtools/python<wbr>/python/get_module_deps2.py
                  b/meta/recipes-devtools/python<wbr>/python/get_module_deps2.py<br>
                  new file mode 100644<br>
                  index 0000000..73e7c6f<br>
                  --- /dev/null<br>
                  +++ b/meta/recipes-devtools/python<wbr>/python/get_module_deps2.py<br>
                  @@ -0,0 +1,112 @@<br>
                  +# This script is launched on separate task for each
                  python module<br>
                  +# It checks for dependencies for that specific module
                  and prints<br>
                  +# them out, the output of this execution will have
                  all dependencies<br>
                  +# for a specific module, which will be parsed an
                  dealt on create_manifest.py<br>
                  +#<br>
                  +# Author: Alejandro Enedino Hernandez Samaniego
                  &quot;aehs29&quot; &lt;<a href="mailto:aehs29@gmail.com" target="_blank">aehs29@gmail.com</a>&gt;<br>
                  +<br>
                  +<br>
                  +# We can get a log per module, for all the
                  dependencies that were found, but its messy.<br>
                  +debug=False<br>
                  +<br>
                  +import sys<br>
                  +<br>
                  +# We can get a list of the modules which are
                  currently required to run python<br>
                  +# so we run python-core and get its modules, we then
                  import what we need<br>
                  +# and check what modules are currently running, if we
                  substract them from the<br>
                  +# modules we had initially, we get the dependencies
                  for the module we imported.<br>
                  +<br>
                  +# We use importlib to achieve this, so we also need
                  to know what modules importlib needs<br>
                  +import importlib<br>
                  +<br>
                  +core_deps=set(sys.modules)<br>
                  +<br>
                  +def fix_path(dep_path):<br>
                  +    import os<br>
                  +    # We DONT want the path on our HOST system<br>
                  +    pivot=&#39;recipe-sysroot-native&#39;<br>
                  +    dep_path=dep_path[dep_path.fin<wbr>d(pivot)+len(pivot):]<br>
                  +<br>
                  +    if &#39;/usr/bin&#39; in dep_path:<br>
                  +        dep_path = dep_path.replace(&#39;/usr/bin&#39;&#39;${<wbr>bindir}&#39;)<br>
                  +<br>
                  +    # Handle multilib, is there a better way?<br>
                  +    if &#39;/usr/lib32&#39; in dep_path:<br>
                  +        dep_path = dep_path.replace(&#39;/usr/lib32&#39;,<wbr>&#39;${libdir}&#39;)<br>
                  +    if &#39;/usr/lib64&#39; in dep_path:<br>
                  +        dep_path = dep_path.replace(&#39;/usr/lib64&#39;,<wbr>&#39;${libdir}&#39;)<br>
                  +    if &#39;/usr/lib&#39; in dep_path:<br>
                  +        dep_path = dep_path.replace(&#39;/usr/lib&#39;,&#39;$<wbr>{libdir}&#39;)<br>
                  +    if &#39;/usr/include&#39; in dep_path:<br>
                  +        dep_path = dep_path.replace(&#39;/usr/include<wbr>&#39;,&#39;${includedir}&#39;)<br>
                  +    if &#39;__init__.&#39; in dep_path:<br>
                  +        dep_path =  os.path.split(dep_path)[0]<br>
                  +<br>
                  +    # If a *.pyc file was imported, we replace it
                  with *.py (since we deal with PYCs on create_manifest)<br>
                  +    if &#39;.pyc&#39; in dep_path:<br>
                  +        dep_path = dep_path.replace(&#39;.pyc&#39;,&#39;.py&#39;)<br>
                  +<br>
                  +    return dep_path<br>
                  +<br>
                  +# Module to import was passed as an argument<br>
                  +current_module =  str(sys.argv[1]).rstrip()<br>
                  +if(debug==True):<br>
                  +       log = open(&#39;log_%s&#39; % current_module,&#39;w&#39;)<br>
                  +        log.write(&#39;Module %s generated the following
                  dependencies:\n&#39; % current_module)<br>
                  +try:<br>
                  +    importlib.import_module(&#39;%s&#39; % current_module)<br>
                  +except ImportError as e:<br>
                  +    if (debug==True):<br>
                  +        log.write(&#39;Module was not found&#39;)<br>
                  +    pass<br>
                  +<br>
                  +<br>
                  +# Get current module dependencies, dif will contain a
                  list of specific deps for this module<br>
                  +module_deps=set(sys.modules)<br>
                  +<br>
                  +# We handle the core package (1st pass on
                  create_manifest.py) as a special case<br>
                  +if current_module == &#39;python-core-package&#39;:<br>
                  +    dif = core_deps<br>
                  +else:<br>
                  +    dif = module_deps-core_deps<br>
                  +<br>
                  +<br>
                  +# Check where each dependency came from<br>
                  +for item in dif:<br>
                  +    dep_path=&#39;&#39;<br>
                  +    try:<br>
                  +        if (debug==True):<br>
                  +            log.write(&#39;Calling: sys.modules[&#39; + &#39;%s&#39;
                  % item + &#39;].__file__\n&#39;)<br>
                  +        dep_path = sys.modules[&#39;%s&#39; % item].__file__<br>
                  +    except AttributeError as e:<br>
                  +        # Deals with thread (builtin module) not
                  having __file__ attribute<br>
                  +       if debug==True:<br>
                  +            log.write(item + &#39; &#39;)<br>
                  +            log.write(str(e))<br>
                  +           log.write(&#39;\n&#39;)<br>
                  +            pass<br>
                  +    except NameError as e:<br>
                  +        # Deals with NameError: name &#39;dep_path&#39; is
                  not defined<br>
                  +        # because module is not found (wasn&#39;t
                  compiled?), e.g. bddsm<br>
                  +        if (debug==True):<br>
                  +            log.write(item+&#39; &#39;)<br>
                  +            log.write(str(e))<br>
                  +        pass<br>
                  +<br>
                  +    # Site-customize is a special case since we
                  (OpenEmbedded) put it there manually<br>
                  +    if &#39;sitecustomize&#39; in dep_path:<br>
                  +        dep_path = &#39;${libdir}/python2.7/sitecusto<wbr>mize.py&#39;<br>
                  +        # Prints out result, which is what will be
                  used by create_manifest<br>
                  +        print (dep_path)<br>
                  +        continue<br>
                  +<br>
                  +    dep_path = fix_path(dep_path)<br>
                  +<br>
                  +    if (debug==True):<br>
                  +        log.write(dep_path+&#39;\n&#39;)<br>
                  +<br>
                  +    # Prints out result, which is what will be used
                  by create_manifest<br>
                  +    print (dep_path)<br>
                  +<br>
                  +if debug==True:<br>
                  +    log.close()<br>
                  diff --git a/meta/recipes-devtools/python<wbr>/python/python2-manifest.json
                  b/meta/recipes-devtools/python<wbr>/python/python2-manifest.json<br>
                  new file mode 100644<br>
                  index 0000000..8ebc715<br>
                  --- /dev/null<br>
                  +++ b/meta/recipes-devtools/python<wbr>/python/python2-manifest.json<br>
                  @@ -0,0 +1,1032 @@<br>
                  +{<br>
                  +    &quot;2to3&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${bindir}/2to3&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib2to3&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python automated Python 2 to 3
                  code translator&quot;<br>
                  +    },<br>
                  +    &quot;argparse&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/argparse.<wbr>py&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;codecs&quot;,<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;lang&quot;,<br>
                  +            &quot;textutils&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python command line argument
                  parser&quot;<br>
                  +    },<br>
                  +    &quot;audio&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/audiodev.<wbr>py&quot;,<br>
                  +            &quot;${libdir}/python2.7/chunk.py&quot;<wbr>,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/audioop.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/ossaudiodev.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/sndhdr.py<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/sunau.py&quot;<wbr>,<br>
                  +            &quot;${libdir}/python2.7/sunaudio.<wbr>py&quot;,<br>
                  +            &quot;${libdir}/python2.7/toaiff.py<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/wave.py&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;crypt&quot;,<br>
                  +            &quot;fcntl&quot;,<br>
                  +            &quot;io&quot;,<br>
                  +            &quot;math&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python Audio Handling&quot;<br>
                  +    },<br>
                  +    &quot;bsddb&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/bsddb&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_bsddb.so&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python bindings for the Berkeley
                  Database&quot;<br>
                  +    },<br>
                  +    &quot;codecs&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/gettext.p<wbr>y&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_codecs_cn.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_codecs_hk.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_codecs_iso2022.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_codecs_jp.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_codecs_kr.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_codecs_tw.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_multibytecodec.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/unicodedata.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/locale.py<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/stringpre<wbr>p.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/xdrlib.py<wbr>&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;io&quot;,<br>
                  +            &quot;lang&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python codec&quot;<br>
                  +    },<br>
                  +    &quot;compile&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/compileal<wbr>l.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/py_compil<wbr>e.py&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python bytecode compilation
                  support&quot;<br>
                  +    },<br>
                  +    &quot;compiler&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/compiler&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;io&quot;,<br>
                  +            &quot;lang&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python compiler support&quot;<br>
                  +    },<br>
                  +    &quot;compression&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/gzip.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/bz2.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/tarfile.p<wbr>y&quot;,<br>
                  +            &quot;${libdir}/python2.7/zipfile.p<wbr>y&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;io&quot;,<br>
                  +            &quot;shell&quot;,<br>
                  +            &quot;unixadmin&quot;,<br>
                  +            &quot;zlib&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python high-level compression
                  support&quot;<br>
                  +    },<br>
                  +    &quot;contextlib&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/contextli<wbr>b.py&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;lang&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python utilities for
                  with-statementcontexts.&quot;<br>
                  +    },<br>
                  +    &quot;core&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${bindir}/python*&quot;,<br>
                  +            &quot;${includedir}/python2.7/pycon<wbr>fig*.h&quot;,<br>
                  +            &quot;${libdir}/python2.7/ConfigPar<wbr>ser.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/UserDict.<wbr>py&quot;,<br>
                  +            &quot;${libdir}/python2.7/UserList.<wbr>py&quot;,<br>
                  +            &quot;${libdir}/python2.7/UserStrin<wbr>g.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/__future_<wbr>_.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/_abcoll.p<wbr>y&quot;,<br>
                  +            &quot;${libdir}/python2.7/_sysconfi<wbr>gdata.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/_weakrefs<wbr>et.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/abc.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/ast.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/atexit.py<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/codecs.py<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/collectio<wbr>ns.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/copy.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/copy_reg.<wbr>py&quot;,<br>
                  +            &quot;${libdir}/python2.7/encodings<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/encodings<wbr>/aliases.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/encodings<wbr>/utf_8.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/genericpa<wbr>th.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/getopt.py<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/heapq.py&quot;<wbr>,<br>
                  +            &quot;${libdir}/python2.7/importlib<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/keyword.p<wbr>y&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_collections.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_heapq.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_locale.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_struct.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/binascii.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/itertools.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/operator.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/readline.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/strop.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/time.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/xreadlines.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/linecache<wbr>.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/new.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/os.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/platform.<wbr>py&quot;,<br>
                  +            &quot;${libdir}/python2.7/posixpath<wbr>.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/re.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/rlcomplet<wbr>er.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/site.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/sitecusto<wbr>mize.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/sre_compi<wbr>le.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/sre_const<wbr>ants.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/sre_parse<wbr>.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/stat.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/string.py<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/struct.py<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/sysconfig<wbr>.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/traceback<wbr>.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/types.py&quot;<wbr>,<br>
                  +            &quot;${libdir}/python2.7/warnings.<wbr>py&quot;,<br>
                  +            &quot;${libdir}/python2.7/weakref.p<wbr>y&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [],<br>
                  +        &quot;summary&quot;: &quot;Python interpreter and core
                  modules&quot;<br>
                  +    },<br>
                  +    &quot;crypt&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/hashlib.p<wbr>y&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_hashlib.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/crypt.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/md5.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/sha.py&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python basic cryptographic and
                  hashing support&quot;<br>
                  +    },<br>
                  +    &quot;ctypes&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/ctypes&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_ctypes.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_ctypes_test.so&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python C types support&quot;<br>
                  +    },<br>
                  +    &quot;curses&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/curses&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_curses.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_curses_panel.so&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python curses support&quot;<br>
                  +    },<br>
                  +    &quot;datetime&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/_strptime<wbr>.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/calendar.<wbr>py&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/datetime.so&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;codecs&quot;,<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;lang&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python calendar and time support&quot;<br>
                  +    },<br>
                  +    &quot;db&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/anydbm.py<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/dbhash.py<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/dumbdbm.p<wbr>y&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/dbm.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/whichdb.p<wbr>y&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;bsddb&quot;,<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;gdbm&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python file-based database
                  support&quot;<br>
                  +    },<br>
                  +    &quot;debugger&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/bdb.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/pdb.py&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;io&quot;,<br>
                  +            &quot;lang&quot;,<br>
                  +            &quot;pprint&quot;,<br>
                  +            &quot;shell&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python debugger&quot;<br>
                  +    },<br>
                  +    &quot;dev&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${base_libdir}/*.a&quot;,<br>
                  +            &quot;${base_libdir}/*.o&quot;,<br>
                  +            &quot;${datadir}/aclocal&quot;,<br>
                  +            &quot;${datadir}/pkgconfig&quot;,<br>
                  +            &quot;${includedir}&quot;,<br>
                  +            &quot;${libdir}/*.a&quot;,<br>
                  +            &quot;${libdir}/*.la&quot;,<br>
                  +            &quot;${libdir}/*.o&quot;,<br>
                  +            &quot;${libdir}/lib*${SOLIBSDEV}&quot;,<br>
                  +            &quot;${libdir}/pkgconfig&quot;,<br>
                  +            &quot;${libdir}/python2.7/config/Ma<wbr>kefile&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python development package&quot;<br>
                  +    },<br>
                  +    &quot;difflib&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/difflib.p<wbr>y&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;lang&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python helpers for computing
                  deltas between objects&quot;<br>
                  +    },<br>
                  +    &quot;distutils&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/config&quot;,<br>
                  +            &quot;${libdir}/python2.7/distutils<wbr>&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python Distribution Utilities&quot;<br>
                  +    },<br>
                  +    &quot;distutils-staticdev&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/config/li<wbr>b*.a&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;distutils&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python distribution utilities
                  (static libraries)&quot;<br>
                  +    },<br>
                  +    &quot;doctest&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/doctest.p<wbr>y&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;crypt&quot;,<br>
                  +            &quot;debugger&quot;,<br>
                  +            &quot;difflib&quot;,<br>
                  +            &quot;fcntl&quot;,<br>
                  +            &quot;io&quot;,<br>
                  +            &quot;lang&quot;,<br>
                  +            &quot;math&quot;,<br>
                  +            &quot;pprint&quot;,<br>
                  +            &quot;shell&quot;,<br>
                  +            &quot;unittest&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python framework for running
                  examples in docstrings&quot;<br>
                  +    },<br>
                  +    &quot;email&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/email&quot;,<br>
                  +            &quot;${libdir}/python2.7/imaplib.p<wbr>y&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;contextlib&quot;,<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;crypt&quot;,<br>
                  +            &quot;fcntl&quot;,<br>
                  +            &quot;io&quot;,<br>
                  +            &quot;lang&quot;,<br>
                  +            &quot;math&quot;,<br>
                  +            &quot;netclient&quot;,<br>
                  +            &quot;pickle&quot;,<br>
                  +            &quot;subprocess&quot;,<br>
                  +            &quot;textutils&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python email support&quot;<br>
                  +    },<br>
                  +    &quot;fcntl&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/fcntl.so&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python&#39;s fcntl interface&quot;<br>
                  +    },<br>
                  +    &quot;gdbm&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/gdbm.so&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python GNU database support&quot;<br>
                  +    },<br>
                  +    &quot;hotshot&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/hotshot&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_hotshot.so&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python hotshot performance
                  profiler&quot;<br>
                  +    },<br>
                  +    &quot;html&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/HTMLParse<wbr>r.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/formatter<wbr>.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/htmlentit<wbr>ydefs.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/htmllib.p<wbr>y&quot;,<br>
                  +            &quot;${libdir}/python2.7/markupbas<wbr>e.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/sgmllib.p<wbr>y&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python HTML processing support&quot;<br>
                  +    },<br>
                  +    &quot;idle&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${bindir}/idle&quot;,<br>
                  +            &quot;${libdir}/python2.7/idlelib&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python Integrated Development
                  Environment&quot;<br>
                  +    },<br>
                  +    &quot;image&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/colorsys.<wbr>py&quot;,<br>
                  +            &quot;${libdir}/python2.7/imghdr.py<wbr>&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python graphical image handling&quot;<br>
                  +    },<br>
                  +    &quot;io&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/StringIO.<wbr>py&quot;,<br>
                  +            &quot;${libdir}/python2.7/_pyio.py&quot;<wbr>,<br>
                  +            &quot;${libdir}/python2.7/io.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_io.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_socket.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_ssl.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/cStringIO.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/select.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/termios.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/pipes.py&quot;<wbr>,<br>
                  +            &quot;${libdir}/python2.7/socket.py<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/ssl.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/tempfile.<wbr>py&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;contextlib&quot;,<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;crypt&quot;,<br>
                  +            &quot;fcntl&quot;,<br>
                  +            &quot;lang&quot;,<br>
                  +            &quot;math&quot;,<br>
                  +            &quot;netclient&quot;,<br>
                  +            &quot;textutils&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python low-level I/O&quot;<br>
                  +    },<br>
                  +    &quot;json&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/json&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_json.so&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python JSON support&quot;<br>
                  +    },<br>
                  +    &quot;lang&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/bisect.py<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/code.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/codeop.py<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/dis.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/functools<wbr>.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/inspect.p<wbr>y&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_bisect.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_functools.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/array.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/parser.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/opcode.py<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/repr.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/symbol.py<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/token.py&quot;<wbr>,<br>
                  +            &quot;${libdir}/python2.7/tokenize.<wbr>py&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python low-level language
                  support&quot;<br>
                  +    },<br>
                  +    &quot;logging&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/logging&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;io&quot;,<br>
                  +            &quot;threading&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python logging support&quot;<br>
                  +    },<br>
                  +    &quot;mailbox&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/mailbox.p<wbr>y&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;codecs&quot;,<br>
                  +            &quot;contextlib&quot;,<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;crypt&quot;,<br>
                  +            &quot;datetime&quot;,<br>
                  +            &quot;email&quot;,<br>
                  +            &quot;fcntl&quot;,<br>
                  +            &quot;io&quot;,<br>
                  +            &quot;lang&quot;,<br>
                  +            &quot;math&quot;,<br>
                  +            &quot;mime&quot;,<br>
                  +            &quot;netclient&quot;,<br>
                  +            &quot;textutils&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python mailbox format support&quot;<br>
                  +    },<br>
                  +    &quot;math&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_random.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/cmath.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/math.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/random.py<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/sets.py&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;crypt&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python math support&quot;<br>
                  +    },<br>
                  +    &quot;mime&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/MimeWrite<wbr>r.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/mimetools<wbr>.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/mimetypes<wbr>.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/quopri.py<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/rfc822.py<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/uu.py&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;contextlib&quot;,<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;crypt&quot;,<br>
                  +            &quot;fcntl&quot;,<br>
                  +            &quot;io&quot;,<br>
                  +            &quot;lang&quot;,<br>
                  +            &quot;math&quot;,<br>
                  +            &quot;netclient&quot;,<br>
                  +            &quot;textutils&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python MIME handling APIs&quot;<br>
                  +    },<br>
                  +    &quot;mmap&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/mmap.so&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python memory-mapped file
                  support&quot;<br>
                  +    },<br>
                  +    &quot;modules&quot;: {<br>
                  +        &quot;files&quot;: [],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;2to3&quot;,<br>
                  +            &quot;argparse&quot;,<br>
                  +            &quot;audio&quot;,<br>
                  +            &quot;bsddb&quot;,<br>
                  +            &quot;codecs&quot;,<br>
                  +            &quot;compile&quot;,<br>
                  +            &quot;compiler&quot;,<br>
                  +            &quot;compression&quot;,<br>
                  +            &quot;contextlib&quot;,<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;crypt&quot;,<br>
                  +            &quot;ctypes&quot;,<br>
                  +            &quot;curses&quot;,<br>
                  +            &quot;datetime&quot;,<br>
                  +            &quot;db&quot;,<br>
                  +            &quot;debugger&quot;,<br>
                  +            &quot;difflib&quot;,<br>
                  +            &quot;distutils&quot;,<br>
                  +            &quot;doctest&quot;,<br>
                  +            &quot;email&quot;,<br>
                  +            &quot;fcntl&quot;,<br>
                  +            &quot;gdbm&quot;,<br>
                  +            &quot;hotshot&quot;,<br>
                  +            &quot;html&quot;,<br>
                  +            &quot;idle&quot;,<br>
                  +            &quot;image&quot;,<br>
                  +            &quot;io&quot;,<br>
                  +            &quot;json&quot;,<br>
                  +            &quot;lang&quot;,<br>
                  +            &quot;logging&quot;,<br>
                  +            &quot;mailbox&quot;,<br>
                  +            &quot;math&quot;,<br>
                  +            &quot;mime&quot;,<br>
                  +            &quot;mmap&quot;,<br>
                  +            &quot;multiprocessing&quot;,<br>
                  +            &quot;netclient&quot;,<br>
                  +            &quot;netserver&quot;,<br>
                  +            &quot;numbers&quot;,<br>
                  +            &quot;pickle&quot;,<br>
                  +            &quot;pkgutil&quot;,<br>
                  +            &quot;plistlib&quot;,<br>
                  +            &quot;pprint&quot;,<br>
                  +            &quot;profile&quot;,<br>
                  +            &quot;pydoc&quot;,<br>
                  +            &quot;re&quot;,<br>
                  +            &quot;resource&quot;,<br>
                  +            &quot;robotparser&quot;,<br>
                  +            &quot;shell&quot;,<br>
                  +            &quot;smtpd&quot;,<br>
                  +            &quot;sqlite3&quot;,<br>
                  +            &quot;sqlite3&quot;,<br>
                  +            &quot;stringold&quot;,<br>
                  +            &quot;subprocess&quot;,<br>
                  +            &quot;syslog&quot;,<br>
                  +            &quot;terminal&quot;,<br>
                  +            &quot;textutils&quot;,<br>
                  +            &quot;threading&quot;,<br>
                  +            &quot;tkinter&quot;,<br>
                  +            &quot;unittest&quot;,<br>
                  +            &quot;unixadmin&quot;,<br>
                  +            &quot;xml&quot;,<br>
                  +            &quot;xmlrpc&quot;,<br>
                  +            &quot;zlib&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;All Python modules&quot;<br>
                  +    },<br>
                  +    &quot;multiprocessing&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_multiprocessing.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/multiproc<wbr>essing&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;fcntl&quot;,<br>
                  +            &quot;io&quot;,<br>
                  +            &quot;pickle&quot;,<br>
                  +            &quot;subprocess&quot;,<br>
                  +            &quot;threading&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python multiprocessing support&quot;<br>
                  +    },<br>
                  +    &quot;netclient&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/Cookie.py<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/_LWPCooki<wbr>eJar.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/_MozillaC<wbr>ookieJar.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/base64.py<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/cookielib<wbr>.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/ftplib.py<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/hmac.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/httplib.p<wbr>y&quot;,<br>
                  +            &quot;${libdir}/python2.7/nntplib.p<wbr>y&quot;,<br>
                  +            &quot;${libdir}/python2.7/poplib.py<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/smtplib.p<wbr>y&quot;,<br>
                  +            &quot;${libdir}/python2.7/telnetlib<wbr>.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/urllib.py<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/urllib2.p<wbr>y&quot;,<br>
                  +            &quot;${libdir}/python2.7/urlparse.<wbr>py&quot;,<br>
                  +            &quot;${libdir}/python2.7/uuid.py&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;codecs&quot;,<br>
                  +            &quot;contextlib&quot;,<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;crypt&quot;,<br>
                  +            &quot;ctypes&quot;,<br>
                  +            &quot;datetime&quot;,<br>
                  +            &quot;email&quot;,<br>
                  +            &quot;fcntl&quot;,<br>
                  +            &quot;io&quot;,<br>
                  +            &quot;lang&quot;,<br>
                  +            &quot;math&quot;,<br>
                  +            &quot;mime&quot;,<br>
                  +            &quot;pickle&quot;,<br>
                  +            &quot;subprocess&quot;,<br>
                  +            &quot;textutils&quot;,<br>
                  +            &quot;threading&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python Internet Protocol clients&quot;<br>
                  +    },<br>
                  +    &quot;netserver&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/BaseHTTPS<wbr>erver.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/CGIHTTPSe<wbr>rver.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/SimpleHTT<wbr>PServer.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/SocketSer<wbr>ver.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/cgi.py&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;contextlib&quot;,<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;crypt&quot;,<br>
                  +            &quot;fcntl&quot;,<br>
                  +            &quot;io&quot;,<br>
                  +            &quot;lang&quot;,<br>
                  +            &quot;math&quot;,<br>
                  +            &quot;mime&quot;,<br>
                  +            &quot;netclient&quot;,<br>
                  +            &quot;shell&quot;,<br>
                  +            &quot;textutils&quot;,<br>
                  +            &quot;threading&quot;,<br>
                  +            &quot;unixadmin&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python Internet Protocol servers&quot;<br>
                  +    },<br>
                  +    &quot;numbers&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/decimal.p<wbr>y&quot;,<br>
                  +            &quot;${libdir}/python2.7/fractions<wbr>.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/numbers.p<wbr>y&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;codecs&quot;,<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;lang&quot;,<br>
                  +            &quot;math&quot;,<br>
                  +            &quot;threading&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python number APIs&quot;<br>
                  +    },<br>
                  +    &quot;pickle&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/cPickle.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/pickle.py<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/pickletoo<wbr>ls.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/shelve.py<wbr>&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;io&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python serialisation/persistence
                  support&quot;<br>
                  +    },<br>
                  +    &quot;pkgutil&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/pkgutil.p<wbr>y&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python package extension utility
                  support&quot;<br>
                  +    },<br>
                  +    &quot;plistlib&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/plistlib.<wbr>py&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;datetime&quot;,<br>
                  +            &quot;io&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Generate and parse Mac OS X
                  .plist files&quot;<br>
                  +    },<br>
                  +    &quot;pprint&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/pprint.py<wbr>&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;io&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python pretty-print support&quot;<br>
                  +    },<br>
                  +    &quot;profile&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/cProfile.<wbr>py&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_lsprof.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/profile.p<wbr>y&quot;,<br>
                  +            &quot;${libdir}/python2.7/pstats.py<wbr>&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;codecs&quot;,<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;lang&quot;,<br>
                  +            &quot;resource&quot;,<br>
                  +            &quot;textutils&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python basic performance
                  profiling support&quot;<br>
                  +    },<br>
                  +    &quot;pydoc&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${bindir}/pydoc&quot;,<br>
                  +            &quot;${libdir}/python2.7/pydoc.py&quot;<wbr>,<br>
                  +            &quot;${libdir}/python2.7/pydoc_dat<wbr>a&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;codecs&quot;,<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;lang&quot;,<br>
                  +            &quot;pkgutil&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python interactive help support&quot;<br>
                  +    },<br>
                  +    &quot;re&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/sre.py&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python Regular Expression APIs&quot;<br>
                  +    },<br>
                  +    &quot;resource&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/resource.so&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python resource control
                  interface&quot;<br>
                  +    },<br>
                  +    &quot;robotparser&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/robotpars<wbr>er.py&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;contextlib&quot;,<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;io&quot;,<br>
                  +            &quot;lang&quot;,<br>
                  +            &quot;netclient&quot;,<br>
                  +            &quot;textutils&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python robots.txt parser&quot;<br>
                  +    },<br>
                  +    &quot;shell&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/cmd.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/commands.<wbr>py&quot;,<br>
                  +            &quot;${libdir}/python2.7/dircache.<wbr>py&quot;,<br>
                  +            &quot;${libdir}/python2.7/fnmatch.p<wbr>y&quot;,<br>
                  +            &quot;${libdir}/python2.7/glob.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/popen2.py<wbr>&quot;,<br>
                  +            &quot;${libdir}/python2.7/shlex.py&quot;<wbr>,<br>
                  +            &quot;${libdir}/python2.7/shutil.py<wbr>&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;io&quot;,<br>
                  +            &quot;unixadmin&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python shell-like functionality&quot;<br>
                  +    },<br>
                  +    &quot;smtpd&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${bindir}/smtpd.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/asynchat.<wbr>py&quot;,<br>
                  +            &quot;${libdir}/python2.7/asyncore.<wbr>py&quot;,<br>
                  +            &quot;${libdir}/python2.7/smtpd.py&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;fcntl&quot;,<br>
                  +            &quot;io&quot;,<br>
                  +            &quot;lang&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python Simple Mail Transport
                  Daemon&quot;<br>
                  +    },<br>
                  +    &quot;sqlite3&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_sqlite3.so&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python Sqlite3 database support&quot;<br>
                  +    },<br>
                  +    &quot;sqlite3-tests&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/sqlite3/t<wbr>est&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;tests&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python Sqlite3 database support
                  tests&quot;<br>
                  +    },<br>
                  +    &quot;stringold&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/stringold<wbr>.py&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python string APIs [deprecated]&quot;<br>
                  +    },<br>
                  +    &quot;subprocess&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/subproces<wbr>s.py&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;fcntl&quot;,<br>
                  +            &quot;io&quot;,<br>
                  +            &quot;pickle&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python subprocess support&quot;<br>
                  +    },<br>
                  +    &quot;syslog&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/syslog.so&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python syslog interface&quot;<br>
                  +    },<br>
                  +    &quot;terminal&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/pty.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/tty.py&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;io&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python terminal controlling
                  support&quot;<br>
                  +    },<br>
                  +    &quot;tests&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/test&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python tests&quot;<br>
                  +    },<br>
                  +    &quot;textutils&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/csv.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_csv.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/optparse.<wbr>py&quot;,<br>
                  +            &quot;${libdir}/python2.7/textwrap.<wbr>py&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;codecs&quot;,<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;io&quot;,<br>
                  +            &quot;lang&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python option parsin&quot;<br>
                  +    },<br>
                  +    &quot;threading&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/Queue.py&quot;<wbr>,<br>
                  +            &quot;${libdir}/python2.7/_threadin<wbr>g_local.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/dummy_thr<wbr>ead.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/dummy_thr<wbr>eading.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/mutex.py&quot;<wbr>,<br>
                  +            &quot;${libdir}/python2.7/threading<wbr>.py&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python threading &amp;
                  synchronization support&quot;<br>
                  +    },<br>
                  +    &quot;tkinter&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/lib-tk&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python Tcl/Tk bindings&quot;<br>
                  +    },<br>
                  +    &quot;unittest&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/unittest&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;difflib&quot;,<br>
                  +            &quot;io&quot;,<br>
                  +            &quot;lang&quot;,<br>
                  +            &quot;pprint&quot;,<br>
                  +            &quot;shell&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python unit testing framework&quot;<br>
                  +    },<br>
                  +    &quot;unixadmin&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/getpass.p<wbr>y&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/grp.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/nis.so&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;io&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python Unix administration
                  support&quot;<br>
                  +    },<br>
                  +    &quot;xml&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/_elementtree.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/pyexpat.so&quot;,<br>
                  +            &quot;${libdir}/python2.7/xml&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python basic XML support&quot;<br>
                  +    },<br>
                  +    &quot;xmlrpc&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/DocXMLRPC<wbr>Server.py&quot;,<br>
                  +            &quot;${libdir}/python2.7/SimpleXML<wbr>RPCServer.py&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;codecs&quot;,<br>
                  +            &quot;compression&quot;,<br>
                  +            &quot;contextlib&quot;,<br>
                  +            &quot;core&quot;,<br>
                  +            &quot;crypt&quot;,<br>
                  +            &quot;datetime&quot;,<br>
                  +            &quot;fcntl&quot;,<br>
                  +            &quot;io&quot;,<br>
                  +            &quot;lang&quot;,<br>
                  +            &quot;math&quot;,<br>
                  +            &quot;mime&quot;,<br>
                  +            &quot;netclient&quot;,<br>
                  +            &quot;netserver&quot;,<br>
                  +            &quot;pkgutil&quot;,<br>
                  +            &quot;pydoc&quot;,<br>
                  +            &quot;textutils&quot;,<br>
                  +            &quot;threading&quot;,<br>
                  +            &quot;xml&quot;,<br>
                  +            &quot;zlib&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python XML-RPC support&quot;<br>
                  +    },<br>
                  +    &quot;zlib&quot;: {<br>
                  +        &quot;files&quot;: [<br>
                  +            &quot;${libdir}/python2.7/lib-dynlo<wbr>ad/zlib.so&quot;<br>
                  +        ],<br>
                  +        &quot;rdepends&quot;: [<br>
                  +            &quot;core&quot;<br>
                  +        ],<br>
                  +        &quot;summary&quot;: &quot;Python zlib compression support&quot;<br>
                  +    }<br>
                  +}<br>
                  \ No newline at end of file<br>
                  diff --git a/meta/recipes-devtools/python<wbr>/python/sitecustomize.py
                  b/meta/recipes-devtools/python<wbr>/python/sitecustomize.py<br>
                  index 2739018..4c8b5e2 100644<br>
                  --- a/meta/recipes-devtools/python<wbr>/python/sitecustomize.py<br>
                  +++ b/meta/recipes-devtools/python<wbr>/python/sitecustomize.py<br>
                  @@ -27,19 +27,11 @@ def __enableReadlineSupport():<br>
                       except IOError:<br>
                           pass<br>
                  <br>
                  -def __enableDefaultEncoding():<br>
                  -    import sys<br>
                  -    try:<br>
                  -        sys.setdefaultencoding( &quot;utf8&quot; )<br>
                  -    except LookupError:<br>
                  -        pass<br>
                  -<br>
                   import sys<br>
                   try:<br>
                       import rlcompleter, readline<br>
                   except ImportError:<br>
                       pass<br>
                   else:<br>
                  -    __enableDefaultEncoding()<br>
                       __registerExitHandler()<br>
                       __enableReadlineSupport()<br>
                  diff --git a/meta/recipes-devtools/python<wbr>/<a href="http://python_2.7.13.bb" rel="noreferrer" target="_blank">python_2.7.13.bb</a>
                  b/meta/recipes-devtools/python<wbr>/<a href="http://python_2.7.13.bb" rel="noreferrer" target="_blank">python_2.7.13.bb</a><br>
                  index 754c029..dbafb95 100644<br>
                  --- a/meta/recipes-devtools/python<wbr>/<a href="http://python_2.7.13.bb" rel="noreferrer" target="_blank">python_2.7.13.bb</a><br>
                  +++ b/meta/recipes-devtools/python<wbr>/<a href="http://python_2.7.13.bb" rel="noreferrer" target="_blank">python_2.7.13.bb</a><br>
                  @@ -1,5 +1,7 @@<br>
                   require python.inc<br>
                  +<br>
                   DEPENDS = &quot;python-native libffi bzip2 gdbm openssl
                  readline sqlite3 zlib&quot;<br>
                  +<br>
                   PR = &quot;${INC_PR}&quot;<br>
                  <br>
                   DISTRO_SRC_URI ?= <a class="m_-4676266828863281659moz-txt-link-rfc2396E">&quot;file://sitecustomize.py&quot;</a><br>
                  @@ -145,11 +147,9 @@ py_package_preprocess () {<br>
                       python -m py_compile
                  ${PKGD}/${libdir}/python${PYTH<wbr>ON_MAJMIN}/_sysconfigdata.py<br>
                   }<br>
                  <br>
                  -require python-${PYTHON_MAJMIN}-manife<wbr>st.inc<br>
                  <br>
                   # manual dependency additions<br>
                   RPROVIDES_${PN}-core = &quot;${PN}&quot;<br>
                  -RRECOMMENDS_${PN}-core = &quot;${PN}-readline&quot;<br>
                   RRECOMMENDS_${PN}-core_append<wbr>_class-nativesdk =
                  &quot; nativesdk-python-modules&quot;<br>
                   RRECOMMENDS_${PN}-crypt = &quot;openssl&quot;<br>
                  <br>
                  @@ -193,3 +193,87 @@ FILES_${PN}-man =
                  &quot;${datadir}/man&quot;<br>
                   RDEPENDS_${PN}-modules_remove =
                  &quot;${@bb.utils.contains(&#39;PACKAGE<wbr>CONFIG&#39;, &#39;bdb&#39;, &#39;&#39;,
                  &#39;${PN}-bsddb&#39;, d)}&quot;<br>
                  <br>
                   BBCLASSEXTEND = &quot;nativesdk&quot;<br>
                  +<br>
                  +RPROVIDES_${PN} += &quot;${PN}-modules&quot;<br>
                  +<br>
                  +# We want bytecode precompiled .py files (.pyc&#39;s) by
                  default<br>
                  +# but the user may set it on their own conf<br>
                  +<br>
                  +INCLUDE_PYCS ?= &quot;1&quot;<br>
                  +<br>
                  +python(){<br>
                  +<br>
                  +    pythondir = d.getVar(&#39;THISDIR&#39;,True)<br>
                  +<br>
                  +    # Read JSON manifest<br>
                  +    import json<br>
                  +    with open(pythondir+&#39;/python/python<wbr>2-manifest.json&#39;)
                  as manifest_file:<br>
                  +        python_manifest=json.load(mani<wbr>fest_file)<br>
                  +<br>
                  +    include_pycs = d.getVar(&#39;INCLUDE_PYCS&#39;)<br>
                  +<br>
                  +    packages = d.getVar(&#39;PACKAGES&#39;).split()<br>
                  +    pn = d.getVar(&#39;PN&#39;)<br>
                  +<br>
                  +<br>
                  +    newpackages=[]<br>
                  +<br>
                  +    for key in python_manifest:<br>
                  +        pypackage= pn + &#39;-&#39; + key<br>
                  +<br>
                  +        if pypackage not in packages:<br>
                  +            # We need to prepend, otherwise
                  python-misc gets everything<br>
                  +            # so we use a new variable<br>
                  +            newpackages.append(pypackage)<br>
                  +<br>
                  +        # &quot;Build&quot; python&#39;s manifest FILES, RDEPENDS
                  and SUMMARY<br>
                  +        d.setVar(&#39;FILES_&#39; + pypackage, &#39;&#39;)<br>
                  +        for value in python_manifest[key][&#39;files&#39;]:<br>
                  +            d.appendVar(&#39;FILES_&#39; + pypackage, &#39; &#39; +
                  value)<br>
                  +            if include_pycs == &#39;1&#39;:<br>
                  +                if value.endswith(&#39;.py&#39;):<br>
                  +                    d.appendVar(&#39;FILES_&#39; + pypackage,
                  &#39; &#39; + value + &#39;c&#39;)<br>
                  +<br>
                  +        d.setVar(&#39;RDEPENDS_&#39; + pypackage, &#39;&#39;)<br>
                  +        for value in python_manifest[key][&#39;rdepends<wbr>&#39;]:<br>
                  +            # Make it work with or without $PN<br>
                  +            if &#39;${PN}&#39; in value:<br>
                  +                value=value.split(&#39;-&#39;)[1]<br>
                  +            d.appendVar(&#39;RDEPENDS_&#39; + pypackage, &#39; &#39;
                  + pn + &#39;-&#39; + value)<br>
                  +        d.setVar(&#39;SUMMARY_&#39; + pypackage,
                  python_manifest[key][&#39;summary&#39;<wbr>])<br>
                  +<br>
                  +    # We need to ensure staticdev packages match for
                  files first so we sort in reverse<br>
                  +    newpackages.sort(reverse=True)<br>
                  +    # Prepending so to avoid python-misc getting
                  everything<br>
                  +    packages = newpackages + packages<br>
                  +    d.setVar(&#39;PACKAGES&#39;, &#39; &#39;.join(packages))<br>
                  +    d.setVar(&#39;ALLOW_EMPTY_${PN}-mo<wbr>dules&#39;, &#39;1&#39;)<br>
                  +}<br>
                  +<br>
                  +do_split_packages[file-checks<wbr>ums] +=
                  &quot;${THISDIR}/python/python2-man<wbr>ifest.json:True&quot;<br>
                  +<br>
                  +# Files needed to create a new manifest<br>
                  +SRC_URI += <a class="m_-4676266828863281659moz-txt-link-rfc2396E">&quot;file://create_manifest2.py
                  file://get_module_deps2.py
                  file://python2-manifest.json&quot;</a><br>
                  +<br>
                  +do_create_manifest() {<br>
                  +<br>
                  +# This task should be run with every new release of
                  Python.<br>
                  +# We must ensure that PACKAGECONFIG enables
                  everything when creating<br>
                  +# a new manifest, this is to base our new manifest on
                  a complete<br>
                  +# native python build, containing all dependencies,
                  otherwise the task<br>
                  +# wont be able to find the required files.<br>
                  +# e.g. BerkeleyDB is an optional build dependency so
                  it may or may not<br>
                  +# be present, we must ensure it is.<br>
                  +<br>
                  +cd ${WORKDIR}<br>
                  +# This needs to be executed by python-native and NOT
                  by HOST&#39;s python<br>
                  +nativepython create_manifest2.py<br>
                  +cp python2-manifest.json.new
                  ${THISDIR}/python/python2-mani<wbr>fest.json<br>
                  +}<br>
                  +<br>
                  +# bitbake python -c create_manifest<br>
                  +addtask do_create_manifest<br>
                  +<br>
                  +# Make sure we have native python ready when we
                  create a new manifest<br>
                  +do_create_manifest[depends] +=
                  &quot;python:do_prepare_recipe_sysr<wbr>oot&quot;<br>
                  +do_create_manifest[depends] += &quot;python:do_patch&quot;<br>
                  diff --git a/scripts/contrib/python/<a href="http://generate-manifest-2.7.py" rel="noreferrer" target="_blank">gener<wbr>ate-manifest-2.7.py</a>
                  b/scripts/contrib/python/<a href="http://generate-manifest-2.7.py" rel="noreferrer" target="_blank">gener<wbr>ate-manifest-2.7.py</a><br>
                  deleted file mode 100755<br>
                  index ee75403..0000000<br>
                  --- a/scripts/contrib/python/<a href="http://generate-manifest-2.7.py" rel="noreferrer" target="_blank">gener<wbr>ate-manifest-2.7.py</a><br>
                  +++ /dev/null<br>
                  @@ -1,426 +0,0 @@<br>
                  -#!/usr/bin/env python<br>
                  -<br>
                  -# generate Python Manifest for the OpenEmbedded build
                  system<br>
                  -# (C) 2002-2010 Michael &#39;Mickey&#39; Lauer &lt;<a href="mailto:mlauer@vanille-media.de" target="_blank">mlauer@vanille-media.de</a>&gt;<br>
                  -# (C) 2007 Jeremy Laine<br>
                  -# licensed under MIT, see COPYING.MIT<br>
                  -#<br>
                  -# June 22, 2011 -- Mark Hatle &lt;<a href="mailto:mark.hatle@windriver.com" target="_blank">mark.hatle@windriver.com</a>&gt;<br>
                  -#  * Updated to no longer generate special -dbg
                  package, instead use the<br>
                  -#    single system -dbg<br>
                  -#  * Update version with &quot;.1&quot; to indicate this change<br>
                  -#<br>
                  -# February 26, 2017 -- Ming Liu &lt;<a href="mailto:peter.x.liu@external.atlascopco.com" target="_blank">peter.x.liu@external.atlascop<wbr>co.com</a>&gt;<br>
                  -#  * Updated to support generating manifest for
                  native python<br>
                  -<br>
                  -import os<br>
                  -import sys<br>
                  -import time<br>
                  -import argparse<br>
                  -<br>
                  -VERSION = &quot;2.7.2&quot;<br>
                  -<br>
                  -__author__ = &quot;Michael &#39;Mickey&#39; Lauer &lt;<a href="mailto:mlauer@vanille-media.de" target="_blank">mlauer@vanille-media.de</a>&gt;&quot;<br>
                  -__version__ = &quot;20110222.2&quot;<br>
                  -<br>
                  -class MakefileMaker:<br>
                  -<br>
                  -    def __init__( self, outfile, isNative ):<br>
                  -        &quot;&quot;&quot;initialize&quot;&quot;&quot;<br>
                  -        self.packages = {}<br>
                  -        self.excluded_pkgs = []<br>
                  -        self.targetPrefix = &quot;${libdir}/python%s/&quot; %
                  VERSION[:3]<br>
                  -        self.isNative = isNative<br>
                  -        self.output = outfile<br>
                  -        self.out( &quot;&quot;&quot;<br>
                  -# WARNING: This file is AUTO GENERATED: Manual edits
                  will be lost next time I regenerate the file.<br>
                  -# Generator: &#39;%s%s&#39; Version %s (C) 2002-2010 Michael
                  &#39;Mickey&#39; Lauer &lt;<a href="mailto:mlauer@vanille-media.de" target="_blank">mlauer@vanille-media.de</a>&gt;<br>
                  -&quot;&quot;&quot; % ( sys.argv[0], &#39; --native&#39; if isNative else &#39;&#39;,
                  __version__ ) )<br>
                  -<br>
                  -    #<br>
                  -    # helper functions<br>
                  -    #<br>
                  -<br>
                  -    def out( self, data ):<br>
                  -        &quot;&quot;&quot;print a line to the output file&quot;&quot;&quot;<br>
                  -        self.output.write( &quot;%s\n&quot; % data )<br>
                  -<br>
                  -    def setPrefix( self, targetPrefix ):<br>
                  -        &quot;&quot;&quot;set a file prefix for addPackage files&quot;&quot;&quot;<br>
                  -        self.targetPrefix = targetPrefix<br>
                  -<br>
                  -    def doProlog( self ):<br>
                  -        self.out( &quot;&quot;&quot; &quot;&quot;&quot; )<br>
                  -        self.out( &quot;&quot; )<br>
                  -<br>
                  -    def addPackage( self, name, description,
                  dependencies, filenames, mod_exclude = False ):<br>
                  -        &quot;&quot;&quot;add a package to the Makefile&quot;&quot;&quot;<br>
                  -        if type( filenames ) == type( &quot;&quot; ):<br>
                  -            filenames = filenames.split()<br>
                  -        fullFilenames = []<br>
                  -        for filename in filenames:<br>
                  -            if filename[0] != &quot;$&quot;:<br>
                  -                fullFilenames.append( &quot;%s%s&quot; % (
                  self.targetPrefix, filename ) )<br>
                  -            else:<br>
                  -                fullFilenames.append( filename )<br>
                  -        if mod_exclude:<br>
                  -            self.excluded_pkgs.append( name )<br>
                  -        self.packages[name] = description,
                  dependencies, fullFilenames<br>
                  -<br>
                  -    def doBody( self ):<br>
                  -        &quot;&quot;&quot;generate body of Makefile&quot;&quot;&quot;<br>
                  -<br>
                  -        global VERSION<br>
                  -<br>
                  -        #<br>
                  -        # generate rprovides line for native<br>
                  -        #<br>
                  -<br>
                  -        if self.isNative:<br>
                  -            pkglist = []<br>
                  -            for name in [&#39;${PN}-modules&#39;] +
                  sorted(self.packages):<br>
                  -                pkglist.append(&#39;%s-native&#39; %
                  name.replace(&#39;${PN}&#39;, &#39;python&#39;))<br>
                  -<br>
                  -            self.out(&#39;RPROVIDES += &quot;%s&quot;&#39; % &quot;
                  &quot;.join(pkglist))<br>
                  -            return<br>
                  -<br>
                  -        #<br>
                  -        # generate provides line<br>
                  -        #<br>
                  -<br>
                  -        provideLine = &#39;PROVIDES+=&quot; \\\n&#39;<br>
                  -        for name in sorted(self.packages):<br>
                  -            provideLine += &quot;  %s \\\n&quot; % name<br>
                  -        provideLine += &#39;&quot;&#39;<br>
                  -<br>
                  -        self.out( provideLine )<br>
                  -        self.out( &quot;&quot; )<br>
                  -<br>
                  -        #<br>
                  -        # generate package line<br>
                  -        #<br>
                  -<br>
                  -        packageLine = &#39;PACKAGES=&quot; \\\n&#39;<br>
                  -        packageLine += &#39;  ${PN}-dbg \\\n&#39;<br>
                  -        for name in sorted(self.packages):<br>
                  -            if name.startswith(&quot;${PN}-distuti<wbr>ls&quot;):<br>
                  -                if name == &quot;${PN}-distutils&quot;:<br>
                  -                    packageLine += &quot;  %s-staticdev %s
                  \\\n&quot; % (name, name)<br>
                  -            elif name != &#39;${PN}-dbg&#39;:<br>
                  -                packageLine += &quot;  %s \\\n&quot; % name<br>
                  -        packageLine += &#39;  ${PN}-modules\\\n&quot;&#39;<br>
                  -<br>
                  -        self.out( packageLine )<br>
                  -        self.out( &quot;&quot; )<br>
                  -<br>
                  -        #<br>
                  -        # generate package variables<br>
                  -        #<br>
                  -<br>
                  -        for name, data in
                  sorted(self.packages.items()):<br>
                  -            desc, deps, files = data<br>
                  -<br>
                  -            #<br>
                  -            # write out the description, revision and
                  dependencies<br>
                  -            #<br>
                  -            self.out( &#39;SUMMARY_%s=&quot;%s&quot;&#39; % ( name,
                  desc ) )<br>
                  -            self.out( &#39;RDEPENDS_%s=&quot;%s&quot;&#39; % ( name,
                  deps ) )<br>
                  -<br>
                  -            line = &#39;FILES_%s=&quot; \\\n&#39; % name<br>
                  -<br>
                  -            #<br>
                  -            # check which directories to make in the
                  temporary directory<br>
                  -            #<br>
                  -<br>
                  -            dirset = {} # if python had a
                  set-datatype this would be sufficient. for now, we&#39;re
                  using a dict instead.<br>
                  -            for target in files:<br>
                  -                dirset[os.path.dirname( target )] =
                  True<br>
                  -<br>
                  -            #<br>
                  -            # generate which files to copy for the
                  target (-dfR because whole directories are also
                  allowed)<br>
                  -            #<br>
                  -<br>
                  -            for target in files:<br>
                  -                line += &quot;    %s \\\n&quot; % target<br>
                  -<br>
                  -            line += &#39;&quot;&#39;<br>
                  -            self.out( line )<br>
                  -            self.out( &quot;&quot; )<br>
                  -<br>
                  -        self.out( &#39;SUMMARY_${PN}-modules=&quot;All Python
                  modules&quot;&#39; )<br>
                  -        line = &#39;RDEPENDS_${PN}-modules=&quot; \\\n&#39;<br>
                  -<br>
                  -        for name, data in
                  sorted(self.packages.items()):<br>
                  -            if name not in [&#39;${PN}-dev&#39;,
                  &#39;${PN}-distutils-staticdev&#39;] and name not in
                  self.excluded_pkgs:<br>
                  -                line += &quot;  %s \\\n&quot; % name<br>
                  -<br>
                  -        line += &#39;&quot;&#39;<br>
                  -        self.out( line )<br>
                  -        self.out( &#39;ALLOW_EMPTY_${PN}-modules = &quot;1&quot;&#39; )<br>
                  -<br>
                  -    def doEpilog( self ):<br>
                  -        self.out( &quot;&quot;&quot;&quot;&quot;&quot; )<br>
                  -        self.out( &quot;&quot; )<br>
                  -<br>
                  -    def make( self ):<br>
                  -        self.doProlog()<br>
                  -        self.doBody()<br>
                  -        self.doEpilog()<br>
                  -<br>
                  -if __name__ == &quot;__main__&quot;:<br>
                  -    parser = argparse.ArgumentParser(
                  description=&#39;generate python manifest&#39; )<br>
                  -    parser.add_argument( &#39;-n&#39;, &#39;--native&#39;,
                  help=&#39;generate manifest for native python&#39;,
                  action=&#39;store_true&#39; )<br>
                  -    parser.add_argument( &#39;outfile&#39;,
                  metavar=&#39;OUTPUT_FILE&#39;, nargs=&#39;?&#39;, default=&#39;&#39;,
                  help=&#39;Output file (defaults to stdout)&#39; )<br>
                  -    args = parser.parse_args()<br>
                  -<br>
                  -    if args.outfile:<br>
                  -        try:<br>
                  -            os.unlink( args.outfile )<br>
                  -        except Exception:<br>
                  -            sys.exc_clear()<br>
                  -        outfile = open( args.outfile, &quot;w&quot; )<br>
                  -    else:<br>
                  -        outfile = sys.stdout<br>
                  -<br>
                  -    m = MakefileMaker( outfile, args.native )<br>
                  -<br>
                  -    # Add packages here. Only specify dlopen-style
                  library dependencies here, no ldd-style dependencies!<br>
                  -    # Parameters: revision, name, description,
                  dependencies, filenames<br>
                  -    #<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-core&quot;, &quot;Python interpreter
                  and core modules&quot;, &quot;${PN}-lang ${PN}-re&quot;,<br>
                  -    &quot;__future__.* _abcoll.* abc.* ast.* copy.*
                  copy_reg.* ConfigParser.* &quot; +<br>
                  -    &quot;genericpath.* getopt.* linecache.* new.* &quot; +<br>
                  -    &quot;os.* posixpath.* struct.* &quot; +<br>
                  -    &quot;warnings.* site.* stat.* &quot; +<br>
                  -    &quot;UserDict.* UserList.* UserString.* &quot; +<br>
                  -    &quot;lib-dynload/binascii.so lib-dynload/_struct.so
                  lib-dynload/time.so &quot; +<br>
                  -    &quot;lib-dynload/xreadlines.so types.* platform.*
                  ${bindir}/python* &quot;  +<br>
                  -    &quot;_weakrefset.* sysconfig.* _sysconfigdata.* &quot; +<br>
                  -    &quot;${includedir}/python${PYTHON_<wbr>MAJMIN}/pyconfig*.h
                  &quot; +<br>
                  -    &quot;${libdir}/python${PYTHON_MAJM<wbr>IN}/sitecustomize.py
                  &quot;)<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-dev&quot;, &quot;Python development
                  package&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;${includedir} &quot; +<br>
                  -    &quot;${libdir}/lib*${SOLIBSDEV} &quot; +<br>
                  -    &quot;${libdir}/*.la &quot; +<br>
                  -    &quot;${libdir}/*.a &quot; +<br>
                  -    &quot;${libdir}/*.o &quot; +<br>
                  -    &quot;${libdir}/pkgconfig &quot; +<br>
                  -    &quot;${base_libdir}/*.a &quot; +<br>
                  -    &quot;${base_libdir}/*.o &quot; +<br>
                  -    &quot;${datadir}/aclocal &quot; +<br>
                  -    &quot;${datadir}/pkgconfig &quot; +<br>
                  -    &quot;config/Makefile &quot;)<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-2to3&quot;, &quot;Python automated
                  Python 2 to 3 code translator&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;${bindir}/2to3 lib2to3&quot; ) # package<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-idle&quot;, &quot;Python Integrated
                  Development Environment&quot;, &quot;${PN}-core ${PN}-tkinter&quot;,<br>
                  -    &quot;${bindir}/idle idlelib&quot; ) # package<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-pydoc&quot;, &quot;Python interactive
                  help support&quot;, &quot;${PN}-core ${PN}-lang ${PN}-stringold
                  ${PN}-re&quot;,<br>
                  -    &quot;${bindir}/pydoc pydoc.* pydoc_data&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-smtpd&quot;, &quot;Python Simple Mail
                  Transport Daemon&quot;, &quot;${PN}-core ${PN}-netserver
                  ${PN}-email ${PN}-mime&quot;,<br>
                  -    &quot;${bindir}/smtpd.* smtpd.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-audio&quot;, &quot;Python Audio
                  Handling&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;wave.* chunk.* sndhdr.*
                  lib-dynload/ossaudiodev.so lib-dynload/audioop.so
                  audiodev.* sunaudio.* sunau.* toaiff.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-bsddb&quot;, &quot;Python bindings for
                  the Berkeley Database&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;bsddb lib-dynload/_bsddb.so&quot; ) # package<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-codecs&quot;, &quot;Python codecs,
                  encodings &amp; i18n support&quot;, &quot;${PN}-core
                  ${PN}-lang&quot;,<br>
                  -    &quot;codecs.* encodings gettext.* locale.*
                  lib-dynload/_locale.so lib-dynload/_codecs*
                  lib-dynload/_multibytecodec.so
                  lib-dynload/unicodedata.so stringprep.* xdrlib.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-compile&quot;, &quot;Python bytecode
                  compilation support&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;py_compile.* compileall.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-compiler&quot;, &quot;Python compiler
                  support&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;compiler&quot; ) # package<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-compression&quot;, &quot;Python
                  high-level compression support&quot;, &quot;${PN}-core
                  ${PN}-zlib&quot;,<br>
                  -    &quot;gzip.* zipfile.* tarfile.* lib-dynload/bz2.so&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-crypt&quot;, &quot;Python basic
                  cryptographic and hashing support&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;hashlib.* md5.* sha.* lib-dynload/crypt.so
                  lib-dynload/_hashlib.so lib-dynload/_sha256.so
                  lib-dynload/_sha512.so&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-textutils&quot;, &quot;Python option
                  parsing, text wrapping and CSV support&quot;, &quot;${PN}-core
                  ${PN}-io ${PN}-re ${PN}-stringold&quot;,<br>
                  -    &quot;lib-dynload/_csv.so csv.* optparse.* textwrap.*&quot;
                  )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-curses&quot;, &quot;Python curses
                  support&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;curses lib-dynload/_curses.so
                  lib-dynload/_curses_panel.so&quot; ) # directory + low
                  level module<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-ctypes&quot;, &quot;Python C types
                  support&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;ctypes lib-dynload/_ctypes.so
                  lib-dynload/_ctypes_test.so&quot; ) # directory + low level
                  module<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-datetime&quot;, &quot;Python calendar
                  and time support&quot;, &quot;${PN}-core ${PN}-codecs&quot;,<br>
                  -    &quot;_strptime.* calendar.* lib-dynload/datetime.so&quot;
                  )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-db&quot;, &quot;Python file-based
                  database support&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;anydbm.* dumbdbm.* whichdb.* &quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-debugger&quot;, &quot;Python
                  debugger&quot;, &quot;${PN}-core ${PN}-io ${PN}-lang ${PN}-re
                  ${PN}-stringold ${PN}-shell ${PN}-pprint&quot;,<br>
                  -    &quot;bdb.* pdb.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-difflib&quot;, &quot;Python helpers
                  for computing deltas between objects&quot;, &quot;${PN}-lang
                  ${PN}-re&quot;,<br>
                  -    &quot;difflib.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-distutils-staticdev&quot;,
                  &quot;Python distribution utilities (static libraries)&quot;,
                  &quot;${PN}-distutils&quot;,<br>
                  -    &quot;config/lib*.a&quot; ) # package<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-distutils&quot;, &quot;Python
                  Distribution Utilities&quot;, &quot;${PN}-core ${PN}-email&quot;,<br>
                  -    &quot;config distutils&quot; ) # package<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-doctest&quot;, &quot;Python framework
                  for running examples in docstrings&quot;, &quot;${PN}-core
                  ${PN}-lang ${PN}-io ${PN}-re ${PN}-unittest
                  ${PN}-debugger ${PN}-difflib&quot;,<br>
                  -    &quot;doctest.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-email&quot;, &quot;Python email
                  support&quot;, &quot;${PN}-core ${PN}-io ${PN}-re ${PN}-mime
                  ${PN}-audio ${PN}-image ${PN}-netclient&quot;,<br>
                  -    &quot;imaplib.* email&quot; ) # package<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-fcntl&quot;, &quot;Python&#39;s fcntl
                  interface&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;lib-dynload/fcntl.so&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-hotshot&quot;, &quot;Python hotshot
                  performance profiler&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;hotshot lib-dynload/_hotshot.so&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-html&quot;, &quot;Python HTML
                  processing support&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;formatter.* htmlentitydefs.* htmllib.*
                  markupbase.* sgmllib.* HTMLParser.* &quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-importlib&quot;, &quot;Python import
                  implementation library&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;importlib&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-gdbm&quot;, &quot;Python GNU database
                  support&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;lib-dynload/gdbm.so&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-image&quot;, &quot;Python graphical
                  image handling&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;colorsys.* imghdr.* lib-dynload/imageop.so
                  lib-dynload/rgbimg.so&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-io&quot;, &quot;Python low-level I/O&quot;,
                  &quot;${PN}-core ${PN}-math ${PN}-textutils ${PN}-netclient
                  ${PN}-contextlib&quot;,<br>
                  -    &quot;lib-dynload/_socket.so lib-dynload/_io.so
                  lib-dynload/_ssl.so lib-dynload/select.so
                  lib-dynload/termios.so lib-dynload/cStringIO.so &quot; +<br>
                  -    &quot;pipes.* socket.* ssl.* tempfile.* StringIO.*
                  io.* _pyio.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-json&quot;, &quot;Python JSON
                  support&quot;, &quot;${PN}-core ${PN}-math ${PN}-re
                  ${PN}-codecs&quot;,<br>
                  -    &quot;json lib-dynload/_json.so&quot; ) # package<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-lang&quot;, &quot;Python low-level
                  language support&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;lib-dynload/_bisect.so
                  lib-dynload/_collections.so lib-dynload/_heapq.so
                  lib-dynload/_weakref.so lib-dynload/_functools.so &quot; +<br>
                  -    &quot;lib-dynload/array.so lib-dynload/itertools.so
                  lib-dynload/operator.so lib-dynload/parser.so &quot; +<br>
                  -    &quot;atexit.* bisect.* code.* codeop.* collections.*
                  dis.* functools.* heapq.* inspect.* keyword.* opcode.*
                  symbol.* repr.* token.* &quot; +<br>
                  -    &quot;tokenize.* traceback.* weakref.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-logging&quot;, &quot;Python logging
                  support&quot;, &quot;${PN}-core ${PN}-io ${PN}-lang ${PN}-pickle
                  ${PN}-stringold&quot;,<br>
                  -    &quot;logging&quot; ) # package<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-mailbox&quot;, &quot;Python mailbox
                  format support&quot;, &quot;${PN}-core ${PN}-mime&quot;,<br>
                  -    &quot;mailbox.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-math&quot;, &quot;Python math
                  support&quot;, &quot;${PN}-core ${PN}-crypt&quot;,<br>
                  -    &quot;lib-dynload/cmath.so lib-dynload/math.so
                  lib-dynload/_random.so random.* sets.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-mime&quot;, &quot;Python MIME handling
                  APIs&quot;, &quot;${PN}-core ${PN}-io&quot;,<br>
                  -    &quot;mimetools.* uu.* quopri.* rfc822.* MimeWriter.*&quot;
                  )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-mmap&quot;, &quot;Python memory-mapped
                  file support&quot;, &quot;${PN}-core ${PN}-io&quot;,<br>
                  -    &quot;lib-dynload/mmap.so &quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-multiprocessing&quot;, &quot;Python
                  multiprocessing support&quot;, &quot;${PN}-core ${PN}-io
                  ${PN}-lang ${PN}-pickle ${PN}-threading ${PN}-ctypes
                  ${PN}-mmap&quot;,<br>
                  -    &quot;lib-dynload/_multiprocessing.<wbr>so
                  multiprocessing&quot; ) # package<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-netclient&quot;, &quot;Python Internet
                  Protocol clients&quot;, &quot;${PN}-core ${PN}-crypt
                  ${PN}-datetime ${PN}-io ${PN}-lang ${PN}-logging
                  ${PN}-mime&quot;,<br>
                  -    &quot;*Cookie*.* &quot; +<br>
                  -    &quot;base64.* cookielib.* ftplib.* gopherlib.* hmac.*
                  httplib.* mimetypes.* nntplib.* poplib.* smtplib.*
                  telnetlib.* urllib.* urllib2.* urlparse.* uuid.*
                  rfc822.* mimetools.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-netserver&quot;, &quot;Python Internet
                  Protocol servers&quot;, &quot;${PN}-core ${PN}-netclient
                  ${PN}-shell ${PN}-threading&quot;,<br>
                  -    &quot;cgi.* *HTTPServer.* SocketServer.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-numbers&quot;, &quot;Python number
                  APIs&quot;, &quot;${PN}-core ${PN}-lang ${PN}-re&quot;,<br>
                  -    &quot;decimal.* fractions.* numbers.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-pickle&quot;, &quot;Python
                  serialisation/persistence support&quot;, &quot;${PN}-core
                  ${PN}-codecs ${PN}-io ${PN}-re&quot;,<br>
                  -    &quot;pickle.* shelve.* lib-dynload/cPickle.so
                  pickletools.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-pkgutil&quot;, &quot;Python package
                  extension utility support&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;pkgutil.*&quot;)<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-plistlib&quot;, &quot;Generate and
                  parse Mac OS X .plist files&quot;, &quot;${PN}-core
                  ${PN}-datetime ${PN}-io&quot;,<br>
                  -    &quot;plistlib.*&quot;)<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-pprint&quot;, &quot;Python
                  pretty-print support&quot;, &quot;${PN}-core ${PN}-io&quot;,<br>
                  -    &quot;pprint.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-profile&quot;, &quot;Python basic
                  performance profiling support&quot;, &quot;${PN}-core
                  ${PN}-textutils&quot;,<br>
                  -    &quot;profile.* pstats.* cProfile.*
                  lib-dynload/_lsprof.so&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-re&quot;, &quot;Python Regular
                  Expression APIs&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;re.* sre.* sre_compile.* sre_constants*
                  sre_parse.*&quot; ) # _sre is builtin<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-readline&quot;, &quot;Python readline
                  support&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;lib-dynload/readline.so rlcompleter.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-resource&quot;, &quot;Python resource
                  control interface&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;lib-dynload/resource.so&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-shell&quot;, &quot;Python shell-like
                  functionality&quot;, &quot;${PN}-core ${PN}-re&quot;,<br>
                  -    &quot;cmd.* commands.* dircache.* fnmatch.* glob.*
                  popen2.* shlex.* shutil.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-robotparser&quot;, &quot;Python
                  robots.txt parser&quot;, &quot;${PN}-core ${PN}-netclient&quot;,<br>
                  -    &quot;robotparser.*&quot;)<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-runpy&quot;, &quot;Python script for
                  locating/executing scripts in module namespace&quot;,
                  &quot;${PN}-core ${PN}-pkgutil&quot;,<br>
                  -    &quot;runpy.*&quot;)<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-subprocess&quot;, &quot;Python
                  subprocess support&quot;, &quot;${PN}-core ${PN}-io ${PN}-re
                  ${PN}-fcntl ${PN}-pickle&quot;,<br>
                  -    &quot;subprocess.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-sqlite3&quot;, &quot;Python Sqlite3
                  database support&quot;, &quot;${PN}-core ${PN}-datetime
                  ${PN}-lang ${PN}-crypt ${PN}-io ${PN}-threading
                  ${PN}-zlib&quot;,<br>
                  -    &quot;lib-dynload/_sqlite3.so sqlite3/dbapi2.*
                  sqlite3/__init__.* sqlite3/dump.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-sqlite3-tests&quot;, &quot;Python
                  Sqlite3 database support tests&quot;, &quot;${PN}-core
                  ${PN}-sqlite3&quot;,<br>
                  -    &quot;sqlite3/test&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-stringold&quot;, &quot;Python string
                  APIs [deprecated]&quot;, &quot;${PN}-core ${PN}-re&quot;,<br>
                  -    &quot;lib-dynload/strop.so string.* stringold.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-syslog&quot;, &quot;Python syslog
                  interface&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;lib-dynload/syslog.so&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-terminal&quot;, &quot;Python terminal
                  controlling support&quot;, &quot;${PN}-core ${PN}-io&quot;,<br>
                  -    &quot;pty.* tty.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-tests&quot;, &quot;Python tests&quot;,
                  &quot;${PN}-core ${PN}-modules&quot;,<br>
                  -    &quot;test&quot;, True ) # package<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-threading&quot;, &quot;Python
                  threading &amp; synchronization support&quot;, &quot;${PN}-core
                  ${PN}-lang&quot;,<br>
                  -    &quot;_threading_local.* dummy_thread.*
                  dummy_threading.* mutex.* threading.* Queue.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-tkinter&quot;, &quot;Python Tcl/Tk
                  bindings&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;lib-dynload/_tkinter.so lib-tk&quot; ) # package<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-unittest&quot;, &quot;Python unit
                  testing framework&quot;, &quot;${PN}-core ${PN}-stringold
                  ${PN}-lang ${PN}-io ${PN}-difflib ${PN}-pprint
                  ${PN}-shell&quot;,<br>
                  -    &quot;unittest/&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-unixadmin&quot;, &quot;Python Unix
                  administration support&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;lib-dynload/nis.so lib-dynload/grp.so
                  lib-dynload/pwd.so getpass.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-xml&quot;, &quot;Python basic XML
                  support&quot;, &quot;${PN}-core ${PN}-re&quot;,<br>
                  -    &quot;lib-dynload/_elementtree.so
                  lib-dynload/pyexpat.so xml xmllib.*&quot; ) # package<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-xmlrpc&quot;, &quot;Python XML-RPC
                  support&quot;, &quot;${PN}-core ${PN}-xml ${PN}-netserver
                  ${PN}-lang&quot;,<br>
                  -    &quot;xmlrpclib.* SimpleXMLRPCServer.*
                  DocXMLRPCServer.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-zlib&quot;, &quot;Python zlib
                  compression support&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;lib-dynload/zlib.so&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-mailbox&quot;, &quot;Python mailbox
                  format support&quot;, &quot;${PN}-core ${PN}-mime&quot;,<br>
                  -    &quot;mailbox.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-argparse&quot;, &quot;Python command
                  line argument parser&quot;, &quot;${PN}-core ${PN}-codecs
                  ${PN}-textutils&quot;,<br>
                  -    &quot;argparse.*&quot; )<br>
                  -<br>
                  -    m.addPackage( &quot;${PN}-contextlib&quot;, &quot;Python
                  utilities for with-statement&quot; +<br>
                  -    &quot;contexts.&quot;, &quot;${PN}-core&quot;,<br>
                  -    &quot;${libdir}/python${PYTHON_MAJM<wbr>IN}/contextlib.*&quot;
                  )<br>
                  -<br>
                  -    m.make()<span class="HOEnZb"><font color="#888888"><span class="m_-4676266828863281659HOEnZb"><font color="#888888"><br>
                      <span class="m_-4676266828863281659m_-3638696497346695351HOEnZb"><font color="#888888"><br>
                          --<br>
                          To stop receiving notification emails like
                          this one, please contact<br>
                          the administrator of this repository.<br>
                          --<br>
                          ______________________________<wbr>_________________<br>
                          Openembedded-commits mailing list<br>
                          <a href="mailto:Openembedded-commits@lists.openembedded.org" target="_blank">Openembedded-commits@lists.ope<wbr>nembedded.org</a><br>
                          <a href="http://lists.openembedded.org/mailman/listinfo/openembedded-commits" rel="noreferrer" target="_blank">http://lists.openembedded.org/<wbr>mailman/listinfo/openembedded-<wbr>commits</a><br>
                        </font></span></font></span></font></span></blockquote><span class="HOEnZb"><font color="#888888">
              </font></span></div><span class="HOEnZb"><font color="#888888">
              <br>
            </font></span></div><span class="HOEnZb"><font color="#888888">
          </font></span></blockquote><span class="HOEnZb"><font color="#888888">
        </font></span></div><span class="HOEnZb"><font color="#888888">
        <br>
      </font></span></div><span class="HOEnZb"><font color="#888888">
      <br>
      <fieldset class="m_-4676266828863281659mimeAttachmentHeader"></fieldset>
      <br>
    </font></span></blockquote>
    <br>
  </div>

</blockquote></div><br></div>