Support remote node execution

Roslaunch needs paramiko to launch remote nodes

[backport to master from cae316ec7a]
[manually resolved conflict in roslaunch]

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
This commit is contained in:
ybourrig 2017-10-03 16:30:41 +02:00 committed by Lukas Bulwahn
parent e7fbbd4a06
commit 14ee7fb7cc
6 changed files with 119 additions and 0 deletions

View File

@ -0,0 +1,26 @@
DESCRIPTION = "ECDSA cryptographic signature library"
HOMEPAGE = "https://github.com/warner/python-ecdsa"
SECTION = "devel/python"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
SRCNAME = "ecdsa"
SRC_URI = "https://pypi.python.org/packages/source/e/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
SRC_URI[md5sum] = "1f60eda9cb5c46722856db41a3ae6670"
SRC_URI[sha256sum] = "64cf1ee26d1cde3c73c6d7d107f835fed7c6a2904aef9eac223d57ad800c43fa"
S = "${WORKDIR}/${SRCNAME}-${PV}"
inherit setuptools
DEPENDS += " \
python-pip \
python-pbr \
"
# RDEPENDS_default:
RDEPENDS_${PN} += " \
python-pbr \
"

View File

@ -0,0 +1,19 @@
DESCRIPTION = "SSH2 protocol library"
HOMEPAGE = "https://github.com/paramiko/paramiko/"
SECTION = "devel/python"
LICENSE = "LGPLv2.1"
LIC_FILES_CHKSUM = "file://LICENSE;md5=fd0120fc2e9f841c73ac707a30389af5"
PR = "r0"
SRCNAME = "paramiko"
SRC_URI = "https://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
SRC_URI[md5sum] = "7e1203f5ffeb7d2bc2bffc4feb804216"
SRC_URI[sha256sum] = "3297ebd3cd072f573772f7c7426939a443c62c458d54bb632ff30fd6ecf96892"
S = "${WORKDIR}/${SRCNAME}-${PV}"
inherit setuptools
RDEPENDS_${PN} += "python-pycrypto python-ecdsa"

View File

@ -0,0 +1,16 @@
DESCRIPTION = "Python Build Reasonableness: PBR is a library that injects some useful and sensible default behaviors into your setuptools run"
HOMEPAGE = "https://pypi.python.org/pypi/pbr"
SECTION = "devel/python"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=1dece7821bf3fd70fe1309eaa37d52a2"
SRC_URI[md5sum] = "bc7173f5ccec8e6125e3b68f0285eb8a"
SRC_URI[sha256sum] = "44a0ef9295bb59698f461124741a21a0f7f76d42e160d8a0a4bf1693338036fc"
inherit pypi setuptools
RDEPENDS_${PN}_class-target += " \
python-pip \
"
BBCLASSEXTEND = "native"

View File

@ -0,0 +1,22 @@
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"]),

View File

@ -0,0 +1,35 @@
DESCRIPTION = "Cryptographic modules for Python."
HOMEPAGE = "http://www.pycrypto.org/"
SECTION = "devel/python"
LICENSE = "PSFv2"
LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=35f354d199e8cb7667b059a23578e63d"
SRCNAME = "pycrypto"
SRC_URI = "https://pypi.python.org/packages/source/p/${SRCNAME}/${SRCNAME}-${PV}.tar.gz \
file://cross-compiling.patch"
SRC_URI[md5sum] = "55a61a054aa66812daf5161a0d5d7eda"
SRC_URI[sha256sum] = "f2ce1e989b272cfcb677616763e0a2e7ec659effa67a88aa92b3a65528f60a3c"
S = "${WORKDIR}/${SRCNAME}-${PV}"
inherit distutils
export STAGING_INCDIR
export STAGING_LIBDIR
export BUILD_SYS
export HOST_SYS
inherit autotools autotools-brokensep distutils
DEPENDS += " gmp"
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
}

View File

@ -23,6 +23,7 @@ RDEPENDS_${PN} = "\
rosgraph \ rosgraph \
${PYTHON_PN}-pyyaml \ ${PYTHON_PN}-pyyaml \
python-defusedxml \ python-defusedxml \
python-paramiko \
roslib \ roslib \
rosclean \ rosclean \
rosmaster \ rosmaster \