diff options
author | Ronan <ronan.lemartret@iot.bzh> | 2016-12-02 10:22:14 +0100 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2016-12-02 13:15:40 +0000 |
commit | 233363d31f03550cd69a67fdd3e7107863aa3a86 (patch) | |
tree | e76ec497c0871545533e69042de34d472ba53e22 | |
parent | 44217b34e9a77e1e22e3c518379c7d35ad55684e (diff) |
optee-os depend on python-pycrypto
* optee-os use python script to build so,
We need to add:
inherit pythonnative
If not we use host python during the build.
* During the build, optee-os use script:
- scripts/pem_to_pub_c.py
- scripts/sign.py
Those script depend on python-pycrypto
"from Crypto.PublicKey import RSA"
So we need to add python-pycrypto native to recipes
* The python-pycrypto recipes come from meta-security (out of AGL):
https://layers.openembedded.org/layerindex/recipe/39101/
Change-Id: I64340544c9a23a8e9ef62aca348fc08722d3dcc2
Signed-off-by: Ronan <ronan.lemartret@iot.bzh>
3 files changed, 48 insertions, 0 deletions
diff --git a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-os_git.bbappend b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-os_git.bbappend index 90d6717ab..e38c90406 100644 --- a/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-os_git.bbappend +++ b/meta-agl-bsp/meta-rcar-gen3/recipes-bsp/optee/optee-os_git.bbappend @@ -1,4 +1,6 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" +inherit pythonnative +DEPENDS += " python-pycrypto-native" SRC_URI += " \ file://0001-disable-libgcc-detection.patch \ diff --git a/meta-agl/recipes-devtools/python/python-pycrypto/cross-compiling.patch b/meta-agl/recipes-devtools/python/python-pycrypto/cross-compiling.patch new file mode 100644 index 000000000..712f3e8dd --- /dev/null +++ b/meta-agl/recipes-devtools/python/python-pycrypto/cross-compiling.patch @@ -0,0 +1,23 @@ +Index: pycrypto-2.6/setup.py +=================================================================== +--- pycrypto-2.6.orig/setup.py ++++ pycrypto-2.6/setup.py +@@ -271,7 +271,8 @@ class PCTBuildConfigure(Command): + if not os.path.exists("config.status"): + if os.system("chmod 0755 configure") != 0: + raise RuntimeError("chmod error") +- cmd = "sh configure" # we use "sh" here so that it'll work on mingw32 with standard python.org binaries ++ host = os.environ.get("HOST_SYS") ++ cmd = "ac_cv_func_malloc_0_nonnull=yes sh configure --host " + host # we use "sh" here so that it'll work on mingw32 with standard python.org binaries + if self.verbose < 1: + cmd += " -q" + if os.system(cmd) != 0: +@@ -370,7 +371,7 @@ kw = {'name':"pycrypto", + 'ext_modules': plat_ext + [ + # _fastmath (uses GNU mp library) + Extension("Crypto.PublicKey._fastmath", +- include_dirs=['src/','/usr/include/'], ++ include_dirs=['src/'], + libraries=['gmp'], + sources=["src/_fastmath.c"]), + diff --git a/meta-agl/recipes-devtools/python/python-pycrypto_2.6.1.bb b/meta-agl/recipes-devtools/python/python-pycrypto_2.6.1.bb new file mode 100644 index 000000000..f7a69dc9a --- /dev/null +++ b/meta-agl/recipes-devtools/python/python-pycrypto_2.6.1.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "Cryptographic modules for Python." +HOMEPAGE = "http://www.pycrypto.org/" +LICENSE = "PSFv2" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=35f354d199e8cb7667b059a23578e63d" + +DEPENDS += " gmp" +PYPI_PACKAGE = "pycrypto" + +SRC_URI = "file://cross-compiling.patch" + +SRC_URI[md5sum] = "55a61a054aa66812daf5161a0d5d7eda" +SRC_URI[sha256sum] = "f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c" + +inherit pypi autotools-brokensep distutils +BBCLASSEXTEND = "native" +do_compile[noexec] = "1" + +# We explicitly call distutils_do_install, since we want it to run, but +# *don't* want the autotools install to run, since this package doesn't +# provide a "make install" target. +do_install() { + distutils_do_install +} |