<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/recipes-devtools/python/python3, branch 2.5_M3</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=2.5_M3</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=2.5_M3'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2018-03-15T13:27:20+00:00</updated>
<entry>
<title>python3: Fix purelib install and runtime paths</title>
<updated>2018-03-15T13:27:20+00:00</updated>
<author>
<name>Jason Wessel</name>
<email>jason.wessel@windriver.com</email>
</author>
<published>2018-03-13T03:08:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=9390f907a9f183f2f9200fa00cd63cfb9851dbe1'/>
<id>urn:sha1:9390f907a9f183f2f9200fa00cd63cfb9851dbe1</id>
<content type='text'>
oe-core commit: 45afadf0b6 fixed the pip problem with purelib for
python2, even though the the patch stated it was for python3.  This
patch addresses the purelib problem for python3.

If you install the package python3-pip you will have a pip3 binary
where you can see the problem on the device easily where the modules
install into the incorrect area and are not able to be referenced by
python3 at all.

Example error:
   pip3 install imutils
   pip3 list |grep imutils || echo ERROR no imutils
      ERROR no imutils
   python3 -c 'import imutils'
     Traceback (most recent call last):
       File "&lt;string&gt;", line 1, in &lt;module&gt;
     ImportError: No module named 'imutils'

(From OE-Core rev: 54e0b3bfc132613902418be148a900b10f6d9e38)

Signed-off-by: Jason Wessel &lt;jason.wessel@windriver.com&gt;
Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>python: refresh patches</title>
<updated>2018-03-11T13:27:00+00:00</updated>
<author>
<name>Ross Burton</name>
<email>ross.burton@intel.com</email>
</author>
<published>2018-03-09T18:55:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=a2fdf7fb08acef1b495fecee84ff536f0a33bb58'/>
<id>urn:sha1:a2fdf7fb08acef1b495fecee84ff536f0a33bb58</id>
<content type='text'>
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 8a5c1328c4ea63443a92813c54bd2229c9959ff9)

Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Alexander Kanavin &lt;alexander.kanavin@linux.intel.com&gt;
Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>python: refresh patches</title>
<updated>2018-03-09T17:17:04+00:00</updated>
<author>
<name>Ross Burton</name>
<email>ross.burton@intel.com</email>
</author>
<published>2018-03-08T18:18:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=fe9e4bbee7e079bfd2bc1e8fa6124ef2db2d2efe'/>
<id>urn:sha1:fe9e4bbee7e079bfd2bc1e8fa6124ef2db2d2efe</id>
<content type='text'>
The patch tool will apply patches by default with "fuzz", which is where if the
hunk context isn't present but what is there is close enough, it will force the
patch in.

Whilst this is useful when there's just whitespace changes, when applied to
source it is possible for a patch applied with fuzz to produce broken code which
still compiles (see #10450).  This is obviously bad.

We'd like to eventually have do_patch() rejecting any fuzz on these grounds. For
that to be realistic the existing patches with fuzz need to be rebased and
reviewed.

(From OE-Core rev: 0b25fcee333e6207a8596d26adfa65fec85c26df)

Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Alexander Kanavin &lt;alexander.kanavin@linux.intel.com&gt;
Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>python3: Fix python3-logging dependencies</title>
<updated>2018-02-16T18:05:39+00:00</updated>
<author>
<name>Tomasz Meresiński</name>
<email>tomasz.meresinski@comarch.pl</email>
</author>
<published>2018-02-07T16:27:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=c427ed474cfe0ff6acc309ffefe61751d0875e59'/>
<id>urn:sha1:c427ed474cfe0ff6acc309ffefe61751d0875e59</id>
<content type='text'>
python3-logging depends on python3-netserver (logging/config.py:42)

(From OE-Core rev: ea5f51cf2b885ba32a3e5fe6049141e45606ecf3)

Signed-off-by: Tomasz Meresiński&lt;tomasz.meresinski@comarch.pl&gt;
Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>python3: update target and native recipes to 3.5.4</title>
<updated>2018-02-06T11:06:27+00:00</updated>
<author>
<name>Derek Straka</name>
<email>derek@asterius.io</email>
</author>
<published>2018-01-30T17:22:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=39e48c8b066518909ea647bb3168243061fc1414'/>
<id>urn:sha1:39e48c8b066518909ea647bb3168243061fc1414</id>
<content type='text'>
Use the latest 3.5 version until the 3.6 migration is complete

Removed the following upstreamed patches:
  - python3/Fix-29519-weakref-spewing-exceptions-during-interp-f.patch
  - python3/upstream-random-fixes.patch

Rebased the following pathes:
  - python3/0001-cross-compile-support.patch

Regenerated the manifest based on the latest release version

Updated the license checksum for the latest version that updated the
copyright dates

(From OE-Core rev: eb80d0391d7d4e83a61ed8850d936b102be3fa02)

Signed-off-by: Derek Straka &lt;derek@asterius.io&gt;
Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>python3-manifest: add the _pydecimal files to the numbers package</title>
<updated>2018-01-29T08:49:50+00:00</updated>
<author>
<name>Derek Straka</name>
<email>derek@asterius.io</email>
</author>
<published>2018-01-25T16:59:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=cb61f997c06213c8fc69491b2e456a6d0b61ce26'/>
<id>urn:sha1:cb61f997c06213c8fc69491b2e456a6d0b61ce26</id>
<content type='text'>
The _pydecimal files are required to use the numbers package
and downstream packages are currently required to add a RDEPENDS
on python3-misc to avoid an import error

(From OE-Core rev: 4ca2d607a6b6fe8686bf89177287f2b9bae01245)

Signed-off-by: Derek Straka &lt;derek@asterius.io&gt;
Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>python3: Fix native compilation of gdbm module and manifest</title>
<updated>2018-01-20T22:31:56+00:00</updated>
<author>
<name>Alejandro Hernandez</name>
<email>alejandr@xilinx.com</email>
</author>
<published>2018-01-10T00:23:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=2afde7e7bd866c4d3d059229c3c2201b7096e5e6'/>
<id>urn:sha1:2afde7e7bd866c4d3d059229c3c2201b7096e5e6</id>
<content type='text'>
The gdbm module wasnt being built on python3-native showing the following
error during compilation:

Failed to build these modules:
_gdbm

This patch adds the required dependency to fix the compilation problem.

This issue on python3-native caused the manifest creation script to be
unaware of the gdbm library, so this patch also fixes the create_manifest
task for target python, and the manifest file to reflect the changes on
target python as well.

(From OE-Core rev: c47b54aeae5daabb458d6f7118a16257021c1822)

Signed-off-by: Alejandro Hernandez &lt;alejandr@xilinx.com&gt;
Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>python*-manifest.json: add dependencies, runpy</title>
<updated>2018-01-20T22:31:56+00:00</updated>
<author>
<name>Tim Orling</name>
<email>timothy.t.orling@linux.intel.com</email>
</author>
<published>2017-11-25T16:37:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=5dd24c1753716facf2d638b6cbec22bcee0c4aa3'/>
<id>urn:sha1:5dd24c1753716facf2d638b6cbec22bcee0c4aa3</id>
<content type='text'>
* runpy allows running modules/scripts with 'python -m foo'
  - create explicit python2 and 3 packages rather than the
    misc catchall
* python3-setuptools and html.parser RDEPENDS on _markupbase
  - add to python3-core rather than misc catchall
* pip3 RDEPENDS on plistlib, http.client
  - already packaged in python2, add to python3
  - add http/ to -netclient
* "pip3 install" RDEPENDS on encodingds.idna
  - encodings.idna packaged in -core, but missing:
    - stringprep (move from -codecs to -core)
    - unicodedata (move from -codecs to -core)

(From OE-Core rev: 65a85c7db3de8d16ff91a5208a59cc2202d34e5b)

Signed-off-by: Tim Orling &lt;timothy.t.orling@linux.intel.com&gt;
Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>python3: Restructure python3 packaging and replace it with autopackaging</title>
<updated>2018-01-20T22:31:56+00:00</updated>
<author>
<name>Alejandro Hernandez</name>
<email>alejandro.hernandez@linux.intel.com</email>
</author>
<published>2017-08-04T21:06:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=b6777878ff03c3e956386020a19d11c875c835ae'/>
<id>urn:sha1:b6777878ff03c3e956386020a19d11c875c835ae</id>
<content type='text'>
See previous commit (python2 version) for more info, since mostly
everything applies here as well.

Old manifest file had several issues:
 - Its unorganized and hard to read and understand it for an average
   human being.
 - When a new package needs to be added, the user actually has to modify
   the script that creates the manifest, then call the script to create
   a new manifest, and then submit a patch for both the script and the
   manifest, so its a little convoluted.
 - Git complains every single time a patch is submitted to the manifest,
   since it violates some of its guidelines.
 - It changes or may change with every release of python, its impossible
   to know if the required files for a certain package have changed
   (it could have more or less dependencies), the only way of doing so
   would be to install and test them all one by one on separate individual
   images, and even then we wouldnt know if they require less dependencies,
   we would just know if an extra dependency is required since it would
   complain, lets face it, this isnt feasible.
 - The same thing happens for new packages, if someone wants to add a new
   package, its dependencies need to be checked manually one by one.

Features/Fixes:
 - A new manifest format is used (JSON), easy to read and understand.
   This file is parsed by the python recipe and python packages
   read from here are passed directly to bitbake during parsing time.
 - It provides an automatic manifest creation task (explained on previous
   commit), which automagically checks for every package dependencies and
   adds them to the new manifest, hence we will have on each package
   exactly what that package needs to be run, providing finer granularity.
  - Dependencies are also checked automagically for new packages
   (explained on previous commit).

This patch has the same features as the python2 version but it differs
in the following ways:
 - Python3 handles precompiled bytecode files  (*.pyc) differently.
   for this reason and since we are cross compiling, wildcards couldnt be
   avoided on python3 (See PEP #3147 [1]).
   Both the manifest and the manifest creation script handle this
   differently, the manifest for python3 has an extra field for cached
   files, which is how it lets the user install the cached files or not
   via : INCLUDE_PYCS = "1" on their local.conf.
 - Shared libraries nomenclature also changed on python3, so again, we
   use wildcards to deal with this issue ( See PEP #3149 [2]):
 - Fixes python3 manifest, python3-core should be base and everything
   should depend on it, hence several packages were deleted:
   python3-enum, re, gdbm, subprocess, signal, readline.
 - When building python3-native it adds as symlink to it called
   nativepython3, which is then isued by the create_manifest task.
 - Fixes [YOCTO #11513] while were at it.

References:
[1] https://www.python.org/dev/peps/pep-3147/
[2] https://www.python.org/dev/peps/pep-3149/

(From OE-Core rev: 54ac820b8a639950ccb534dcd9d6eaf8b2b736e0)

Signed-off-by: Alejandro Hernandez &lt;alejandro.hernandez@linux.intel.com&gt;
Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>python3: remove two setup.py cross-compile hacks</title>
<updated>2017-12-02T11:25:32+00:00</updated>
<author>
<name>Markus Lehtonen</name>
<email>markus.lehtonen@linux.intel.com</email>
</author>
<published>2017-11-20T12:15:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=ae8d879006064f0a8bf6f26332bf5ef922a64e5c'/>
<id>urn:sha1:ae8d879006064f0a8bf6f26332bf5ef922a64e5c</id>
<content type='text'>
Remove two unneeded hacks. The first hack ("setup.py: no host headers
libs" patch) is not needed because we use cross-compiler (e.g.
i586-oe-linux-gcc) which has not been configured with any host system
include or library directories, and thus, we don't get any host system
directories when running "gcc -E -v".

The second hack becomes useless after the first hack has been removed
and we get the standard include and lib directories normally from gcc.

(From OE-Core rev: 9e9545ef818adfb57f428db96d4c2ebb0ea65ec6)

Signed-off-by: Markus Lehtonen &lt;markus.lehtonen@linux.intel.com&gt;
Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
