Commit Graph

739 Commits

Author SHA1 Message Date
Ross Burton
dfe84d9ca3 python: let more modules build in native
(From OE-Core rev: 55b0a7332c57abc27367aba46702990e3a99cbf9)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-23 23:35:19 +00:00
Mingli Yu
8b7c98e0e0 python: add tk support
Add support to enable tk via PACKGECONFIG.
before the patch:
 # python
 Python 2.7.15 (default, Nov  8 2018, 04:53:50)
 [GCC 8.2.0] on linux2
 Type "help", "copyright", "credits" or "license" for more information.
 >>> import Tkinter
 Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python2.7/lib-tk/Tkinter.py", line 39, in <module>
    import _tkinter # If this fails your Python may not be configured for Tk
 ImportError: No module named _tkinter
 >>>

After the patch, if enable tk in PACKGECONFIG, then
 # python
 Python 2.7.15 (default, Oct 25 2018, 08:12:45)
 [GCC 8.2.0] on linux2
 Type "help", "copyright", "credits" or "license" for more information.
 >>> import Tkinter
 >>>

(From OE-Core rev: 26b2702475697c123937d237e00c34eb2216b5ea)

Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-23 23:35:19 +00:00
Mingli Yu
75d2d6776b python3: add tk support
Add support to enable tk via PACKAGECONFIG.
before this patch:
 # python3
 Python 3.5.6 (default, Nov  8 2018, 04:53:45)
 [GCC 8.2.0] on linux
 Type "help", "copyright", "credits" or "license" for more information.
 >>> import tkinter
 Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python3.5/tkinter/__init__.py", line 35, in <module>
    import _tkinter # If this fails your Python may not be configured for Tk
 ImportError: No module named '_tkinter'
 >>>

After this patch, if enable tk in PACKAGECONFIG, then
 # python3
 Python 3.5.6 (default, Nov  8 2018, 03:15:52)
 [GCC 8.2.0] on linux
 Type "help", "copyright", "credits" or "license" for more information.
 >>> import tkinter
 >>>

(From OE-Core rev: 4b781d545e7e0b084201cd6a8fad953b0f231513)

Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-23 23:35:19 +00:00
Robert Yang
fec5323dba recipes: Remove tab indentations in python code
Use 4 spaces to replace a tab.

(From OE-Core rev: cbb6743d46752481782789fa1a0dfade11057114)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-23 23:35:19 +00:00
Ross Burton
fc3af664f3 python3: add python3-venv to the python3-modules RDEPENDS
(From OE-Core rev: ed5e7541677f6a046f85389cd0c879be3db422cd)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-07 23:08:55 +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
bc395e0e87 python: add missing CVE tag to patches
(From OE-Core rev: 67f9e9045ab91a9df15876ad73e44ff98f11bf59)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-29 17:01:45 +00:00
Chen Qi
4ad151a53d python: backport patch to fix CVE-2018-14647
Backport patch to fix the following CVE.

CVE: CVE-2018-14647

(From OE-Core rev: 68e51756f67499081c3c53cff6c5c1efdf4b60f0)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-20 22:40:16 +01:00
Chen Qi
cdec724312 python: backport patch to fix CVE-2018-1000802
Backport a patch to fix the following CVE.

CVE: CVE-2018-1000802

(From OE-Core rev: c0343f1035af98cb451eea0de94c16fe89ffdf48)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-20 22:40:16 +01: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
cd9b883f96 python: don't use runtime checks to identify float endianism
Python uses AC_RUN_IFELSE to determine the byte order for floats and doubles,
and falls back onto "I don't know" if it can't run code.  This results in
crippled floating point numbers in Python, and the regression tests fail.

Instead of running code, take a macro from autoconf-archive which compiles C
with a special double in which has an ASCII representation, and then greps the
binary to identify the format.

This is essentially a backport of the Python 3 patch in oe-core 1781b87.

(From OE-Core rev: 94cea72a23a374eb616d5642977b45172537beac)

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
Ross Burton
64ff0a5e6c python: clean up ptest
As the manifest handling is done differently now, just inherit ptest with the
other inherits.

test_shutil needs unzip so add to RDEPENDS.

Instead of using a patched Makefile, call test.regrtest directly.

(From OE-Core rev: 84f34ad223b1e3f36cab2ac12246eb90efc919bc)

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
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
0f117e4aac python3: fix patch headers
(From OE-Core rev: 46bc904bf9cf3b2a01de0ba140b31066f90bfa49)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-08 16:04:12 +01:00
Ross Burton
bbe137b05b python: fix patch headers
(From OE-Core rev: 5aba4b7540a71908a5e1086f444b2f205ba5829d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-08 16:04:12 +01:00
Anuj Mittal
2b4dce4925 python: fix failing ssl tests
Backport two and pick some other in-review patches from Ubuntu to fix
ssl test failures because of OpenSSL 1.1.x changes.

Fixes [YOCTO #12788]

(From OE-Core rev: 4f4bbb936231dd30c3745ef573993f1062937ffd)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-08 14:13:54 +01:00
Ross Burton
4612cb45ba python: move sqlite module into python-sqlite
The module was accidentally included in python-misc.

Also re-run create_manifest to update the dependencies of python-sqlite3,
causing some whitespace changes.

[ YOCTO #12933 ]

(From OE-Core rev: 9c2b1a0bfc8783052b5dda344cc334b9c13736f5)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-01 13:04:49 +01:00
Ross Burton
f27fc7f336 python: mark the tests modules as special when updating the manifest
We manually maintain the tests package's content and dependencies, so mark is as
special (matching create_manifest3.py).

(From OE-Core rev: b4bd4e7e26bb79223129abb9fb6e22e9045e3707)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-01 13:04:49 +01:00
Ross Burton
f51d0a19af python3: move sqlite files into python-sqlite
sqlite3/__init__.py was accidentally included in python3-misc.

(From OE-Core rev: 4e397e16996662bce51608cf5e20448b9803c476)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-01 13:04:49 +01:00
Ross Burton
d21d958c5b python3: remove specal handling of sqite3-tests
This package doesn't exist anymore so the manifest tool doesn't need to handle
it specially.

(From OE-Core rev: 30eadb119a64d8561b946d5b8ee30244caeaf134)

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
e6aea815de python3: consolidate tests
Currently the bulk of the tests in python3-tests, some more in
python3-sqlite3-tests, and others in their parent module (such as
python3-ctypes).  This is pointless space usage if we're not planning on running
the tests, so consolidate all the tests into python3-tests.

(From OE-Core rev: 554d3690dab49fee3c93b6b677eb3ef58cff64c1)

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
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
2ac291af1f python3: don't sort the manifest in create_manifest
Instead of sorting the entire manifest when it is updated, use OrderedDict to
preserve the order of fields.  This means that packages can be ordered in the
manifest to allow non-trivial FILES assignments (such as a package that picks up
pieces of other packages)

The manifest has been regenerated with the new stable ordering, and
distutils-staticdev moved above distutils so the packaging rules work as
expected.

(From OE-Core rev: 1c67c2146e3644a26367a32885d27a4378f17ac6)

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
Andrew Geissler
3c69d1a128 python: consolidate tests
Currently the bulk of the tests in python-tests, some more in
python-sqlite3-tests, and others in their parent module (such as
python-ctypes).  This is pointless space usage if we're not planning on
running the tests, so consolidate all the tests into python-tests.

This is a backport of the same changes done by Ross Burton for python3

Changes since v1:
- Rebase

(From OE-Core rev: 0e94737e7124f689c3697d4227bfcd228cc04295)

Signed-off-by: Andrew Geissler <geissonator@gmail.com>
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
Andrew Geissler
b0ce2e842a python: 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.

This is a backport of the same changes done by Ross Burton for python3

Changes since v1:
- Rebase

(From OE-Core rev: 5a5a97b1c3914ad4a3e94981bf53897d0a3f4fb3)

Signed-off-by: Andrew Geissler <geissonator@gmail.com>
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
Andrew Geissler
b0f5feea01 python: don't sort the manifest in create_manifest
Instead of sorting the entire manifest when it is updated, use
OrderedDict to preserve the order of fields.This means that
packages can be ordered in the manifest to allow non-trivial
FILES assignments (such as a package that picks up pieces of
other packages)

The manifest has been regenerated with the new stable ordering, and
distutils-staticdev moved above distutils so the packaging rules work as
expected.

This is a backport of the same changes done by Ross Burton for python3

Changes since v1:
- Moved distutils-staticdev above distutils so packaging rules work
as expected.
Changes since v2:
- Rebase

(From OE-Core rev: 3c62c42ebde9dd4acdc74c56160d6ce8639b497c)

Signed-off-by: Andrew Geissler <geissonator@gmail.com>
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
5679b31bcf python3: fix openssl 1.1.1 changes
Due to human error an older revision of the SSL patch was merged.

(From OE-Core rev: 325af0f4a821971a7aeeca35b10e3558f86029e0)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-13 10:04:40 +01: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
529daba874 python3: add PACKAGECONFIG for bluetooth
Instead of forcibly disabling Bluetooth (support for Bluetooth sockets in the
socket module), add a PACKAGECONFIG.  The default remains disabled for
consistency.

(From OE-Core rev: fd5b497cc8a2f9f93f732070123b073bfb6d2eca)

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
Ross Burton
cb4134f798 python3: fix multiprocessing
glibc 2.28 slightly changed the behaviour of sigaddset() which broke
multiprocessing.  Backport a patch from Python 3.6 to solve this.

(From OE-Core rev: df1874eda517070dab86270ffafd5fe9a307e76b)

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
27849379a7 python3: remove patch that inadvertently disables xattrs
This patch dates back to the addition of the Python 3 recipe to oe-core, and as
listxattr is never added to supports_follow_symlinks the extended attribute
support will never be enabled.

(From OE-Core rev: 9806e141e85b4e4c38eb7b45e6f2fbc2d2aed29d)

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
0fa20ac73b python3: remove redundant patch
None of the Python invocations that this changes are actually called, and
there's no need to provide a HOSTPGEN variable when the recipe can just override
PGEN directly.

(From OE-Core rev: 47a8602171428b7ce5d897f7e2c2f26b203b8b63)

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
e0fb62596f python3: fix ftplib with TLS 1.3
With OpenSSL 1.1.x TLS 1.3 can be used, so backport a patch from Python 3.6 to
fix the ftplib unit test.

(From OE-Core rev: a31047bec6b7c368674d4620e70e526ac211b936)

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
d9f7b9d3ad python3: use regrtest instead of PyBench for profile-guided-optimisation
PyBench takes a long time to run, also upstream have removed it from Python and
instead use test.regrtest —pgo to profile the interpreter.

The results are good: not only does Python compile faster (~300s vs ~600s on my
machine) but Phoronix’s PyBench test runs in 2130ms compared to 2229ms when
using PyBench to train (and 2345ms with PGO disabled).

(From OE-Core rev: 98b2b6c3eae15d9b84c97c6a1495040f6b7e389a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-10 12:13:06 +01:00
Ross Burton
dbb2d923de python3: don't use runtime checks to identify float endianism
Python uses AC_RUN_IFELSE to determine the byte order for floats and doubles,
and falls back onto "I don't know" if it can't run code.  This results in
crippled floating point numbers in Python, and the regression tests fail.

Instead of running code, take a macro from autoconf-archive which compiles C
with a special double in which has an ASCII representation, and then greps the
binary to identify the format.

(From OE-Core rev: 1781b87ae0765c1867da2fa8c56bf988b4e84405)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-10 12:13:06 +01:00
Ross Burton
ef38b43dbb python3: trim PGO patch
There's no need to delete the line that removes the profile data, as we're not
using it after the build.  This reduces the size of the patch, making it easier
to maintain.

(From OE-Core rev: 561577add4b935d9bfb7b7dd6abdc3e26c1d9143)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-10 12:13:06 +01:00
Ross Burton
fd3a47eceb python3: add toggle for profile-guided-optimisation
Add a PACKAGECONFIG for profile-guided-optimisation, and default to whether
qemu-usermode is available.

Move --enable-optimizations to the pgo optimisation as all this currently does
is use the PGO rules, causing a performance hit if PGO isn't actually used.

(From OE-Core rev: 231e13c76d3ca7beebfbc8d8a856f72fa3780601)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-10 12:13:06 +01:00
Ross Burton
7d04ae16f6 python3: generalise make commands
We're repeating the same make invocation over and over, twice without setting
OPT=${CFLAGS} which doesn't seem right.

Centralise the make invocation to clean up the tasks.

(From OE-Core rev: d2b5bf97eedc67f77d87a44bab86ab086176b8db)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-10 12:13:06 +01:00
Alejandro Enedino Hernandez Samaniego
c05304f1ea python3: fix indentation on create_manifest3
(From OE-Core rev: 76b4596c3782590bd27a7d46c2b64393c3a83944)

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-06 10:36:31 +01:00
Alejandro Enedino Hernandez Samaniego
a8a984dde7 python3-manifest: Avoid duplicate modules
There was a bug where modules were being added twice to the
core package, this patches the manifest to reflect the fix on
the create_manifest script.

(From OE-Core rev: 9ddbff824052751b4d0bb30c453ecb5098d728c9)

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-06 10:36:31 +01:00
Alejandro Enedino Hernandez Samaniego
f65c898ba6 python3: Clean up create manifest script
This patch intends to clean up the whole create_manifest script/task
for python3.

This is an effort to make the code more human friendly and facilitate
adoption, it not only cleans up the code but it also improves comments,
it should also be easier to upgrade the manifest after each python3
upgrade now, with these fixes the transition to python 3.7 should be
seamless.

It fixes a rather harmless bug where module dependencies were being
added twice to the core package and adds tests and sqlite3-tests
as special packages since we want specific dependencies on those.
It also fixes a bug that happened on a few packages that
contained a directory with the same name as the module itself
e.g. asyncio, where the script avoided checking that module for
dependencies.

Lastly, it improves the output, it errors out if a module is found
on more than one package, which is what usually happens when
python upstream introduces a new file, hence why the current
manifest is unaware of, it is better to exit with an error because
otherwise the user wouldnt know if anything went wrong unless the output
of the script was checked manually.

(From OE-Core rev: 658042073cb58c58ac4db4ff13689d1ffd89b72e)

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-06 10:36:31 +01:00
Alejandro Enedino Hernandez Samaniego
d3148222f0 python3: Modify create_manifest to make it versionless
This patch improves the create_manifest script by making it
use PYTHON_MAJMIN instead of hard coded paths containing the
version number when looking at the necessary modules for
every package, the script should now be independent of the
python(3) version on which were working

(From OE-Core rev: b94af33b5ffdd62617cf69fca4d99e927447740a)

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandr@xilinx.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-06 10:36:31 +01:00