Commit Graph

20 Commits

Author SHA1 Message Date
Jaewon Lee
e7e1b9a43d Adding back wrapper and using OEPYTHON3HOME variable for python3
Adding back the python wrapper and adding a patch to use OEPYTHON3HOME
instead of PYTHONHOME if set, for python3.

If we add back the wrapper as is, we would see the following error that
we also see in Thud:

ImportError: No module named site
OpenEmbedded requires 'python' to be python v2 (>= 2.7.3), not python
v3.
Please upgrade your python v2

This is because python3 would've set PYTHONHOME to use nativesdk
python3 libraries but when the oe-buildenv-internal script tries to call
python2 for the py_v27_check, there will be no python2 libraries in the
PYTHONHOME directory.
In other words, bitbake needs host python2 and the env variable set from
the wrapper contaminates the env and host python2 won't be able to find
its libraries

Creating another variable OEPYTHON3HOME and using this in the python3
wrapper to allow for a way to set a different paths for python3 and
python2

[YOCTO #13208]

(From OE-Core rev: 75d2a85e24ef9a2bf0e218521944523f0ff281e0)

(From OE-Core rev: b29e87376fdd49ce07749b87c3000033fa96e43f)

Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com>
Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-09-16 13:35:10 +01:00
Dan Tran
26ab554fd5 python3: Fix CVEs
Fixes CVE-2018-14647, CVE-2018-20406, CVE-2018-20852, CVE-2019-9636,
CVE-2019-9740, and CVE-2019-9747.

(From OE-Core rev: 5862716f22ca9f5745d3bca85c6ed0d8c35c437b)

Signed-off-by: Dan Tran <dantran@microsoft.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-08 22:52:28 +01:00
Anuj Mittal
20ee17a579 python3: fix CVE-2019-9740
CVE-2019-9947 is same as CVE-2019-9740 and mark it as such. See:

https://bugs.python.org/issue30458

(From OE-Core rev: ad90312adabbad951f62e3bd4ad95fcc763ad0c4)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-08 22:52:27 +01:00
Armin Kuster
c9595af8ad python: time.tzset missing
import time
time.tzset()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'time' has no attribute 'tzset'

enable tzset in both python versions

(From OE-Core rev: e7721ee7e7942570ebab793f5870d7a021154a92)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Fix up for Thud context ie python3_3.5.6]
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-22 00:31:48 +01:00
Ross Burton
3fc361f5f0 python3: drop redundant patch
This patch altered the clean target's behaviour to skip the ipkg-install
directory.  However this directory isn't created by opkg, opkg-utils, or the
package_ipk class; and we don't invoke the clean target as we perform
out-of-tree builds.

(From OE-Core rev: 9f8bd475701e5d797d3ffc1ba97647101ba0b9b0)

(From OE-Core rev: e147baad7ab722b8319225561eb23cd4442629e1)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-08 20:14:44 +00:00
Ross Burton
356c6a7b68 python3: don't cripple target distutils
We stop distutils for *native* Python from rewriting hashbangs when installing
(so installed scripts don't have a hashbang that refers to sysroot paths), but
this isn't needed nor desirable for the *target* Python.

(From OE-Core rev: 52e128619803907c804d42815ea979b1848529c4)

(From OE-Core rev: 17a2731bd2795974197b1dca3de53094cec58126)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-08 20:14:44 +00:00
Robert Yang
38887e6c1a recipes: Remove tab indentations in python code
Use 4 spaces to replace a tab.

(From OE-Core rev: cbb6743d46752481782789fa1a0dfade11057114)

(From OE-Core rev: 42ebdc7253c3a319d671a7f924603d85a22bbb4e)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-08 20:14:42 +00:00
Hugues Kamba
0140a1c2f7 python3: Fix python3-pyvenv run-time dependency
Pyvenv is just a small script that uses venv to create virtual
environments.
https://www.python.org/dev/peps/pep-0405/#creating-virtual-environments

This patch adds the python3-venv module as a self-contained package which
python3-pyvenv must depend on at run-time.

The patch also provides the package python3-pyvenv from the pyhton3-venv
package.This is good for future-proofing since python3-pyvenv has been
deprecated and only python3-venv is now available in Python 3.6.
https://docs.python.org/3/library/venv.html.

Without this patch python3-pyvenv is broken because it is missing the
venv module at run-time. This patch specifies the newly created
python3-venv as a run-time dependency of python3-pyvenv.

(From OE-Core rev: effa141bfce55aab25142ee578c95383c755ad73)

Signed-off-by: Hugues Kamba <hugues.kamba@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-07 23:08:55 +00:00
Ross Burton
e349b239c8 python: remove the PN package entirely
Nothing should be in this package, so remove it entirely to be sure nothing does
end up in there.

(From OE-Core rev: b4ea23adf58d664f3cc5abe6d04b507fc000426e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-16 20:35:43 +01:00
Ross Burton
04370c671e python: don't wipe RDEPENDS when parsing manifest
We want to allow the main recipe to extend RDEPENDS directly, so don't wipe
RDEPENDS when reading the manifest.

This fixes the missing python-misc dependency from python-modules.

As the wiping was having the good side-effect of removing the PN-dev dependency
on PN (which doesn't exist), clear RDEPENDS_${PN}-dev.

(From OE-Core rev: fe3727af217dce4488f1fc6aab3f66232cf11fea)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-16 20:35:43 +01:00
Ross Burton
be2592f5c7 python3: add ptest runner
Copy the Python 2 run-ptest script to execute the Python 3 test suite.

(From OE-Core rev: d371ff04628bdf7bac66341aeb9a66d145f66416)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-14 09:20:56 +01:00
Cheuk Wing Leung
4837c3b0ad python3: set PYTHONHOME for nativesdk
commit c5629268b0f8ae0a425c98337d13e8dc83107e13:
[
    python: set PYTHONHOME for nativesdk

    This ensures that the nativesdk python functions correctly without needing to
    set PYTHONHOME in the sdk environment setup script.
]

it's also needed for python3.

(From OE-Core rev: b0cbd9efc30289bb4838dcaa43beba2c0c372ab2)

Signed-off-by: Cheuk Wing Leung <cwleung@kth.se>
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-14 09:20:56 +01:00
Ross Burton
58641400ce python3: add ca-certificates to python3-crypt RRECOMMENDS
It's likely that the certificate root chain is needed if python3-crypt is
installed, so recommend it.

Also remove the redundant nativesdk-python3-crypt assignment, as the general
form is sufficient when class-extended.

(From OE-Core rev: dd644ee9991e953474d41dbbf713a7e33b4c9141)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-09 19:04:02 +01:00
Ross Burton
aaf110e874 python3: respect package order in manifest
Don't sort the manifest when using it to generate packaging rules, so ordering
can be used to have complex packaging rules.

(From OE-Core rev: 80dae6218efd25c92b9c43360e0846bb0af56c7e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-21 18:45:46 -07:00
Ross Burton
90028f3771 python3: don't hard-code version in python-config
Use variables instead of hard-coding to remove another variation between
releases.

(From OE-Core rev: 6f6b384799bf093fabac90230dcdef1541ea9c75)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-13 07:42:28 +01:00
Ross Burton
5bf97f6741 python: we use system ffi so no need to autoreconf in-tree libffi
For target Python we use the libffi that we build, so we don't need to
autoreconf the in-tree libffi.

(From OE-Core rev: 12626b26aca281d0d5ee90dc15627083a517fa3b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-13 07:42:28 +01:00
Ross Burton
b49872c9be python3: remove redundant assignments
_PYTHON_PROJECT_BASE and _PYTHON_PROJECT_SRC appear to be set in setup.py from
the source directory and build directory correctly, so this is redundant.

(From OE-Core rev: 983206d4ccab2b27adba2776f73c0c711d3ec98e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-13 07:42:28 +01:00
Ross Burton
53535f67ae python3: split common assignments into a dedicated python3.inc
Instead of including the Py2 python.inc and having to undo some of the
assignments, create a new python3.inc to hold the common configuration.

Over time we can move more from the recipes into this file to unify the target
and native recipes.

(From OE-Core rev: fc4767113adbdfbf4aeaaf6dd8605e7fd4bbaa46)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-13 07:42:28 +01:00
Anuj Mittal
3c32b1525a python3{,-native}: backport openssl 1.1.1 compatibility changes
Backport changes from 3.7/3.6 to fix failing python3 ssl test suite.

Fixes [YOCTO #12919]

(From OE-Core rev: 6c123468b546931de005cf136d98bca6b893b37b)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-13 07:42:28 +01:00
Anuj Mittal
55f36a4045 python3{,native}: update to 3.5.6
Includes changes:

76aa2c0a9a bpo-33216: Clarify the documentation for CALL_FUNCTION_* (#8338)
1b141b9553 Doc: Backport language switcher (bpo-33700, bpo-31045) (#8048)
f381cfe07d [3.5] bpo-33001: Prevent buffer overrun in os.symlink (GH-5989) (#5991)
937ac1fe06 [3.5] bpo-32981: Fix catastrophic backtracking vulns (GH-5955) (#6034)

(From OE-Core rev: e38ff96cc2217df403ea2c5abcd35d42969689d4)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-13 07:42:28 +01:00