Merge pull request #607 from shr-project/jansa/lgsvl

Import upstream-able changes from lgsvl/meta-ros2 fork
This commit is contained in:
Dmitry Rozhkov 2018-10-04 16:57:24 +03:00 committed by GitHub
commit 72068b17e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
88 changed files with 1196 additions and 0 deletions

View File

@ -105,6 +105,25 @@ resolved in the past.
rely on the remote commits. In case of porting to other versions, you must rely on the remote commits. In case of porting to other versions, you must
possibly revert some of those commits. possibly revert some of those commits.
ament-cmake-core depends on python3-pyparsing which is available in
meta-python since pyro
1a373a033f482981eb59ff8d9eb7a9437fa18cd4@meta-openembedded and native
version since rocko
06eb9d658e71b6a61f2589d9618ae2ca35eaaf8b@meta-openembedded
python3-pyparsing-native depends on python3-datetime-native,
python3-debugger-native and python3-stringold-native which were added
in oe-core python3-native in pyro:
462ccb35a5de32b52ddb733d1868df6ac5426f20@openembedded-core and
800753069f667cd1664d70b3779150c467e3b3fe@openembedded-core simple
bbappend as shown in:
https://github.com/bmwcarit/meta-ros/pull/607#pullrequestreview-143981126
is enough to resolve this if you're using old pyro unsupported
release.
ros2topic (and few more recipes when ROS_USE_PYTHON3 is set to yes)
depends on python3-pyyaml which was added in
1161ab8f8dda272eb5d09917446cc5b971be1335@meta-openembedded.
cv-bridge and dependent recipes, e.g., the image-transport recipes, depend on cv-bridge and dependent recipes, e.g., the image-transport recipes, depend on
7568bfdd114597956a1da68746f207ec7f93a48d@openembedded-core. 7568bfdd114597956a1da68746f207ec7f93a48d@openembedded-core.
For native python-numpy support, these recipes also depend on For native python-numpy support, these recipes also depend on

58
classes/ament.bbclass Normal file
View File

@ -0,0 +1,58 @@
# FIXME: My intuition says that it should be enough to depend on ament-cmake-native only
# since ament-cmake has runtime dependencies on all other needed ament-cmake-* packages.
# Yet in practice all ament-based packages have to depend explicitly on the native
# ament-cmake-* packages.
DEPENDS_append = " \
ament-tools-native \
ament-cmake-native \
ament-cmake-export-definitions-native \
ament-cmake-export-dependencies-native \
ament-cmake-export-include-directories-native \
ament-cmake-export-interfaces-native \
ament-cmake-export-libraries-native \
ament-cmake-export-link-flags-native \
ament-cmake-libraries-native \
ament-cmake-python-native \
ament-cmake-target-dependencies-native \
ament-cmake-include-directories-native \
ament-cmake-test-native \
"
ROS_BPN ?= "${@d.getVar('BPN', True).replace('-', '_')}"
S = "${WORKDIR}/git/${ROS_BPN}"
EXTRA_OECMAKE_append = " -DBUILD_TESTING=OFF -DPYTHON_SOABI=cpython-35m-${TUNE_ARCH}-${TARGET_OS}${ARMPKGSFX_EABI}"
export AMENT_PREFIX_PATH="${STAGING_DIR_HOST}${prefix};${STAGING_DIR_NATIVE}${prefix}"
inherit cmake python3native
do_install_append() {
rm -rf ${D}${datadir}/${ROS_BPN}/environment
rm -f ${D}${datadir}/${ROS_BPN}/local_setup.bash
rm -f ${D}${datadir}/${ROS_BPN}/local_setup.sh
rm -f ${D}${datadir}/${ROS_BPN}/local_setup.zsh
rm -f ${D}${prefix}/local_setup.bash
rm -f ${D}${prefix}/local_setup.sh
rm -f ${D}${prefix}/local_setup.zsh
rm -f ${D}${prefix}/setup.bash
rm -f ${D}${prefix}/setup.sh
rm -f ${D}${prefix}/setup.zsh
rm -f ${D}${prefix}/_order_packages.py
}
FILES_${PN} = " \
${datadir}/${ROS_BPN}/package.xml \
${datadir}/${ROS_BPN}/resource/* \
${datadir}/${ROS_BPN}/msg/* \
${datadir}/${ROS_BPN}/srv/* \
${datadir}/ament_index/* \
${libdir}/${PYTHON_DIR}/* \
${libdir}/${ROS_BPN}/* \
${libdir}/lib*.so \
"
FILES_${PN}-dev = " \
${datadir}/${ROS_BPN}/cmake/* \
${includedir} \
"

View File

@ -0,0 +1,12 @@
# Allow python3-native import target's python libs. This is a hacky sortcut.
#
# Interfaces and msgs generation involves importing rosidl_typesupport python
# libraries. But those libraries have their own dependency on a RMW implementation
# being present. The package rmw-fastrtps-cpp which provides such implementation
# also brings in dependency on rosidl-typesupport-introspecion-cpp.
# This rosidl-typesupport-introspecion-cpp being present automatically
# (through CMake-based mechanism) runs a python script importing modules from
# that package.
# If we make native versions of all these packages then we'll end up with
# a build dependency on asio-native which doesn't exist.
export PYTHONPATH="${STAGING_DIR_HOST}${libdir}/${PYTHON_DIR}/site-packages"

View File

@ -9,6 +9,7 @@ RDEPENDS_${PN} = "\
packagegroup-ros-comm \ packagegroup-ros-comm \
packagegroup-ros-kobuki \ packagegroup-ros-kobuki \
packagegroup-ros-industrial-core \ packagegroup-ros-industrial-core \
packagegroup-ros2-world \
actionlib \ actionlib \
bond \ bond \
bondcpp \ bondcpp \

View File

@ -0,0 +1,11 @@
SUMMARY = "The ROS specific CMake bits in the ament buildsystem."
HOMEPAGE = "https://github.com/ros2/ament_cmake_ros"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
SRCREV = "85f37bee18a7e139e62a84909b5677dc44281387"
SRC_URI = "git://github.com/ros2/ament_cmake_ros.git;protocol=git;"
inherit ament
BBCLASSEXTEND += "native"

View File

@ -0,0 +1,8 @@
SUMMARY = "The core of the ament buildsystem in CMake."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=17;endline=17;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-package-native ${PYTHON_PN}-pyparsing-native"
include ament-cmake.inc
RDEPENDS_${PN} += "ament-package cmake"

View File

@ -0,0 +1,8 @@
SUMMARY = "The ability to export definitions to downstream packages in the ament buildsystem."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-cmake-core-native"
include ament-cmake.inc
RDEPENDS_${PN} += "ament-cmake-core"

View File

@ -0,0 +1,8 @@
SUMMARY = "The ability to export dependencies to downstream packages in the ament buildsystem in CMake."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-cmake-core-native"
include ament-cmake.inc
RDEPENDS_${PN} += "ament-cmake-core ament-cmake-libraries"

View File

@ -0,0 +1,8 @@
SUMMARY = "The ability to export include directories to downstream packages in the ament buildsystem in CMake."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-cmake-core-native"
include ament-cmake.inc
RDEPENDS_${PN} += "ament-cmake-core"

View File

@ -0,0 +1,8 @@
SUMMARY = "The ability to export interfaces to downstream packages in the ament buildsystem in CMake."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-cmake-core-native"
include ament-cmake.inc
RDEPENDS_${PN} += "ament-cmake-core"

View File

@ -0,0 +1,8 @@
SUMMARY = "The ability to export libraries to downstream packages in the ament buildsystem in CMake."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-cmake-core-native"
include ament-cmake.inc
RDEPENDS_${PN} += "ament-cmake-core"

View File

@ -0,0 +1,8 @@
SUMMARY = "The ability to export link flags to downstream packages in the ament buildsystem."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=7;endline=7;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-cmake-core-native"
include ament-cmake.inc
RDEPENDS_${PN} += "ament-cmake-core"

View File

@ -0,0 +1,8 @@
SUMMARY = "The functionality to order include directories according to a chain of prefixes in the ament buildsystem in CMake."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-cmake-core-native"
include ament-cmake.inc
RDEPENDS_${PN} += "ament-cmake-core"

View File

@ -0,0 +1,8 @@
SUMMARY = "The functionality to deduplicate libraries in the ament buildsystem in CMake."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-cmake-core-native"
include ament-cmake.inc
RDEPENDS_${PN} += "ament-cmake-core"

View File

@ -0,0 +1,8 @@
SUMMARY = "The ability to use Python in the ament buildsystem in CMake."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-cmake-core-native"
include ament-cmake.inc
RDEPENDS_${PN} += "ament-cmake-core"

View File

@ -0,0 +1,8 @@
SUMMARY = "The ability to add definitions, include directories and libraries of a package to a target in the ament buildsystem in CMake."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-cmake-core-native"
include ament-cmake.inc
RDEPENDS_${PN} += "ament-cmake-core ament-cmake-include-directories ament-cmake-libraries"

View File

@ -0,0 +1,8 @@
SUMMARY = "The ability to add tests in the ament buildsystem in CMake."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-cmake-core-native"
include ament-cmake.inc
RDEPENDS_${PN} += "ament-cmake-core"

View File

@ -0,0 +1,20 @@
HOMEPAGE = "https://github.com/ament/ament_cmake"
SRCREV = "af0789c46d03aabf6ee2cae360bf0487dd8a84d4"
SRC_URI = "git://github.com/ament/ament_cmake.git;protocol=git;"
inherit cmake python3native
ROS_BPN = "${@d.getVar('BPN', True).replace('-', '_')}"
S = "${WORKDIR}/git/${ROS_BPN}"
do_install_append() {
rm -f ${D}${datadir}/${ROS_BPN}/local_setup.bash
rm -f ${D}${datadir}/${ROS_BPN}/local_setup.sh
rm -f ${D}${datadir}/${ROS_BPN}/local_setup.zsh
}
FILES_${PN} += "${datadir}"
BBCLASSEXTEND += "native"

View File

@ -0,0 +1,20 @@
SUMMARY = "The entry point package for the ament buildsystem in CMake."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ament-cmake-export-dependencies-native"
include ament-cmake.inc
RDEPENDS_${PN} += " \
ament-cmake-core \
ament-cmake-export-definitions \
ament-cmake-export-dependencies \
ament-cmake-export-include-directories \
ament-cmake-export-interfaces \
ament-cmake-export-libraries \
ament-cmake-export-link-flags \
ament-cmake-libraries \
ament-cmake-python \
ament-cmake-target-dependencies \
ament-cmake-test \
"

View File

@ -0,0 +1,9 @@
SUMMARY = "Python API to access the ament resource index."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include ament-index.inc
S = "${WORKDIR}/git/ament_index_python"
inherit setuptools3

View File

@ -0,0 +1,4 @@
HOMEPAGE = "https://github.com/ament/ament_index"
SRCREV = "1df2aef4d7f1271d80082cc01aa08e13bfc58fce"
SRC_URI = "git://github.com/ament/ament_index.git;protocol=git;"

View File

@ -0,0 +1,13 @@
SUMMARY = "The parser for the manifest files in the ament buildsystem."
HOMEPAGE = "https://github.com/ament/ament_package"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
SRCREV = "2cc251b627607e2d8ada6fa75add45cbe86cb9d8"
SRC_URI = "git://github.com/ament/ament_package.git;protocol=git;"
S = "${WORKDIR}/git"
inherit setuptools3
BBCLASSEXTEND += "native"

View File

@ -0,0 +1,17 @@
SUMMARY = "The command line tools for the ament buildsystem."
HOMEPAGE = "https://github.com/ament/ament_tools"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
DEPENDS = "osrf-pycommon ament-package"
SRCREV = "0885dfb957260bcab00e6a626624cf4e447d19c0"
SRC_URI = "git://github.com/ament/ament_tools.git;protocol=git;"
S = "${WORKDIR}/git"
inherit setuptools3
PACKAGES_append = " ${PN}-completion"
FILES_${PN}-completion_append = " ${datadir}/ament_tools/environment"
BBCLASSEXTEND += "native"

View File

@ -0,0 +1,6 @@
HOMEPAGE = "https://github.com/ros2/common_interfaces"
SRCREV = "5372c3c98a71e05e8c7584e77ffe7b68bd08819c"
SRC_URI = "git://github.com/ros2/common_interfaces.git;protocol=git;"
inherit ament pythonpath-insane

View File

@ -0,0 +1,13 @@
SUMMARY = "A package containing some message definitions used in the implementation or actions."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
builtin-interfaces \
rosidl-default-runtime \
rosidl-typesupport-cpp \
ros2-std-msgs \
"
ROS_BPN = "actionlib_msgs"
include common-interfaces.inc

View File

@ -0,0 +1,14 @@
SUMMARY = "A package containing some diagnostics related message and service definitions."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
builtin-interfaces \
rosidl-default-runtime \
rosidl-typesupport-cpp \
ros2-geometry-msgs \
ros2-std-msgs \
"
ROS_BPN = "diagnostic_msgs"
include common-interfaces.inc

View File

@ -0,0 +1,8 @@
SUMMARY = "A package containing some geometry related message definitions."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "ros2-std-msgs"
ROS_BPN = "geometry_msgs"
include common-interfaces.inc

View File

@ -0,0 +1,14 @@
SUMMARY = "A package containing some navigation related message and service definitions."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
builtin-interfaces \
rosidl-default-runtime \
rosidl-typesupport-cpp \
ros2-std-msgs \
ros2-geometry-msgs \
"
ROS_BPN = "nav_msgs"
include common-interfaces.inc

View File

@ -0,0 +1,11 @@
SUMMARY = "A package containing sensor message definitions."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
ros2-std-msgs \
ros2-geometry-msgs \
"
ROS_BPN = "sensor_msgs"
include common-interfaces.inc

View File

@ -0,0 +1,13 @@
SUMMARY = "A package containing some message definitions which describe geometric shapes."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
builtin-interfaces \
rosidl-default-runtime \
rosidl-typesupport-cpp \
ros2-geometry-msgs \
"
ROS_BPN = "shape_msgs"
include common-interfaces.inc

View File

@ -0,0 +1,12 @@
SUMMARY = "A package containing some standard message definitions."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
builtin-interfaces \
rosidl-default-runtime \
rosidl-typesupport-cpp \
"
ROS_BPN = "std_msgs"
include common-interfaces.inc

View File

@ -0,0 +1,12 @@
SUMMARY = "A package containing some standard service definitions."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
builtin-interfaces \
rosidl-default-runtime \
rosidl-typesupport-cpp \
"
ROS_BPN = "std_srvs"
include common-interfaces.inc

View File

@ -0,0 +1,14 @@
SUMMARY = "A package containing some stereo camera related message definitions."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
builtin-interfaces \
rosidl-default-runtime \
rosidl-typesupport-cpp \
ros2-std-msgs \
ros2-sensor-msgs \
"
ROS_BPN = "stereo_msgs"
include common-interfaces.inc

View File

@ -0,0 +1,14 @@
SUMMARY = "A package containing some robot trajectory message definitions."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
builtin-interfaces \
rosidl-default-runtime \
rosidl-typesupport-cpp \
ros2-std-msgs \
ros2-geometry-msgs \
"
ROS_BPN = "trajectory_msgs"
include common-interfaces.inc

View File

@ -0,0 +1,14 @@
SUMMARY = "A package containing some visualization and interaction related message definitions."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
builtin-interfaces \
rosidl-default-runtime \
rosidl-typesupport-cpp \
ros2-std-msgs \
ros2-geometry-msgs \
"
ROS_BPN = "visualization_msgs"
include common-interfaces.inc

View File

@ -0,0 +1,27 @@
SUMMARY = "Contains message and service definitions used by the examples."
HOMEPAGE = "https://github.com/ros2/example_interfaces"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
rosidl-default-generators \
rosidl-cmake \
rosidl-parser \
rosidl-generator-c \
rosidl-generator-cpp \
rosidl-generator-py \
rmw-implementation-cmake \
rmw \
rmw-fastrtps-cpp \
rosidl-typesupport-c \
rosidl-typesupport-cpp \
python-cmake-module \
"
SRCREV = "b9f9477cd7f368e61f81d55c5021f4c70ad1fe12"
SRC_URI = "git://github.com/ros2/example_interfaces.git;protocol=git;"
inherit ament pythonpath-insane
S = "${WORKDIR}/git"
FILES_${PN} += "${datadir}/${ROS_BPN}/mapping_rules.yaml"

View File

@ -0,0 +1,28 @@
From 596ed4a3481735b7d286da2701ada64e60e595cc Mon Sep 17 00:00:00 2001
From: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
Date: Tue, 11 Jul 2017 12:47:41 +0300
Subject: [PATCH] don't use INSTALL_INTERFACE
The build system adds `include` as a system headers folder, but in combination
with having --sysroot option set for gcc makes gcc ignore the folder.
Upstream-Status: Inappropriate [the line is legit, but breaks in Yocto]
---
src/cpp/CMakeLists.txt | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt
index 19029ef..119ce5e 100644
--- a/src/cpp/CMakeLists.txt
+++ b/src/cpp/CMakeLists.txt
@@ -83,7 +83,6 @@ else()
# Define public headers
target_include_directories(${PROJECT_NAME} PUBLIC
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include> $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include/${PROJECT_NAME}>
- $<INSTALL_INTERFACE:include>
)
endif()
--
2.9.3

View File

@ -0,0 +1,13 @@
SUMMARY = "eProsima FastCDR library provides two serialization mechanisms. One is the standard CDR serialization mechanism, while the other is a faster implementation of it."
HOMEPAGE = "https://github.com/eProsima/Fast-CDR"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
SRCREV = "8d1489780cd58947e5f7104b84641f680224cdea"
SRC_URI = "git://github.com/eProsima/Fast-CDR.git;protocol=git; \
file://0001-don-t-use-INSTALL_INTERFACE.patch \
"
S = "${WORKDIR}/git"
inherit cmake

View File

@ -0,0 +1,46 @@
From 50fbc5f526cea5f7dab554deb2a9256bddf8d0cc Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Tue, 10 Apr 2018 08:40:05 +0000
Subject: [PATCH] FindTinyXML2: use pkg-config to find tinyxml2
* otherwise it finds the whole path to RSS inside fastrtps and then uses
it in fastrtpsTargets.cmake which brakes users of this (e.g. rmw-fastrtps-cpp)
when they are built after fastrtps WORKDIR was already removed (e.g. with rm-work)
fastrtps/git-r0 $ grep -B 1 -A 1 work image/usr/lib/fastrtps/cmake/fastrtpsTargets.cmake
set_target_properties(fastrtps PROPERTIES
INTERFACE_LINK_LIBRARIES "-lpthread;/OE/build/oe-core/tmp-glibc/work/aarch64-oe-linux/fastrtps/git-r0/recipe-sysroot/usr/lib/libtinyxml2.so"
)
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
cmake/modules/FindTinyXML2.cmake | 10 +++-------
1 file changed, 3 insertions(+), 7 deletions(-)
diff --git a/cmake/modules/FindTinyXML2.cmake b/cmake/modules/FindTinyXML2.cmake
index 24aa98a..bdb426a 100644
--- a/cmake/modules/FindTinyXML2.cmake
+++ b/cmake/modules/FindTinyXML2.cmake
@@ -4,14 +4,10 @@
option(TINYXML2_FROM_SOURCE "Integrate TinyXML2 source code inside Fast RTPS" OFF)
-find_package(TinyXML2 CONFIG QUIET)
+find_package(PkgConfig)
+pkg_check_modules(TinyXML2 REQUIRED tinyxml2)
if(TinyXML2_FOUND)
- message(STATUS "Found TinyXML2: ${TinyXML2_DIR}")
- if(NOT TINYXML2_LIBRARY AND TARGET tinyxml2)
- # in this case, we're probably using TinyXML2 version 5.0.0 or greater
- # in which case tinyxml2 is an exported target and we should use that
- set(TINYXML2_LIBRARY tinyxml2)
- endif()
+ set(TINYXML2_LIBRARY ${TinyXML2_LIBRARIES})
else()
if(THIRDPARTY)
set(TINYXML2_FROM_SOURCE ON)
--
2.7.6

View File

@ -0,0 +1,29 @@
From dafc5ef621f67789dd91d0bbb14018548f260b96 Mon Sep 17 00:00:00 2001
From: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
Date: Tue, 11 Jul 2017 12:50:03 +0300
Subject: [PATCH] don't use INSTALL_INTERFACE
The build system adds `include` as a system headers folder, but in combination
with having --sysroot option set for gcc makes gcc ignore the folder.
Upstream-Status: Inappropriate [the line is legit, but breaks in Yocto]
---
src/cpp/CMakeLists.txt | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/cpp/CMakeLists.txt b/src/cpp/CMakeLists.txt
index 40cc93d..6f66632 100644
--- a/src/cpp/CMakeLists.txt
+++ b/src/cpp/CMakeLists.txt
@@ -292,7 +292,6 @@ else()
target_include_directories(${PROJECT_NAME} PUBLIC
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include> $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/include/${PROJECT_NAME}>
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src/cpp>
- $<INSTALL_INTERFACE:include>
)
# Link library to external libraries.
--
2.9.3

View File

@ -0,0 +1,19 @@
SUMMARY = "Implementation of RTPS Standard."
HOMEPAGE = "https://github.com/eProsima/Fast-RTPS"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
DEPENDS = "asio libtinyxml2"
SRCREV = "bfb448e19bff253293e8f28ee8c3d3d78d882be2"
SRC_URI = "git://github.com/eProsima/Fast-RTPS.git;protocol=git; \
file://0001-don-t-use-INSTALL_INTERFACE.patch \
file://0001-FindTinyXML2-use-pkg-config-to-find-tinyxml2.patch \
"
S = "${WORKDIR}/git"
inherit cmake
do_install_append() {
rm -r ${D}/usr/examples
}

View File

@ -0,0 +1,13 @@
SUMMARY = "Commonly needed Python modules, used by Python software developed at OSRF."
HOMEPAGE = "https://github.com/osrf/osrf_pycommon"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=6c4db32a2fa8717faffa1d4f10136f47"
SRCREV = "e32de70e8b42dcd96bb66d29ddfb62e7fd8b795e"
SRC_URI = "git://github.com/osrf/osrf_pycommon.git;protocol=git;"
S = "${WORKDIR}/git"
inherit setuptools3
BBCLASSEXTEND += "native"

View File

@ -0,0 +1,12 @@
DESCRIPTION = "ros2-demos package group"
LICENSE = "MIT"
inherit packagegroup
PACKAGES = "${PN}"
RDEPENDS_${PN} = "\
ros2-demo-nodes-cpp \
ros2run \
ros2topic \
"

View File

@ -0,0 +1,27 @@
DESCRIPTION = "ros2-world package group"
LICENSE = "MIT"
inherit packagegroup
PACKAGES = "${PN}"
RDEPENDS_${PN} = "\
packagegroup-ros2-demos \
ros2cli \
ros2msg \
ros2run \
ros2topic \
ros2pkg \
ros2node \
ros2srv \
ros2service \
ros2-launch \
ros2-actionlib-msgs \
ros2-diagnostic-msgs \
ros2-nav-msgs \
ros2-std-srvs \
ros2-stereo-msgs \
ros2-trajectory-msgs \
ros2-visualization-msgs \
rosidl-generator-py \
"

View File

@ -0,0 +1,26 @@
SUMMARY = "The ROS client library common interfaces."
HOMEPAGE = "https://github.com/ros2/rcl_interfaces"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
rosidl-default-generators \
rosidl-cmake \
rosidl-parser \
rosidl-generator-c \
rosidl-generator-cpp \
rosidl-generator-py \
rmw-implementation-cmake \
rmw \
rmw-fastrtps-cpp \
rosidl-typesupport-c \
rosidl-typesupport-cpp \
python-cmake-module \
"
SRCREV = "22340f5828a8ea54675d47bef604d7c51fc9e101"
SRC_URI = "git://github.com/ros2/rcl_interfaces.git;protocol=git;"
ROS_BPN = "builtin_interfaces"
inherit ament pythonpath-insane

View File

@ -0,0 +1,23 @@
SUMMARY = "The ROS client library common interfaces."
HOMEPAGE = "https://github.com/ros2/rcl_interfaces"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=11;endline=11;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
rosidl-default-generators \
rosidl-cmake \
rosidl-parser \
rosidl-generator-c \
rosidl-generator-cpp \
rosidl-generator-py \
rmw-implementation-cmake \
rmw \
rmw-fastrtps-cpp \
rosidl-typesupport-c \
rosidl-typesupport-cpp \
python-cmake-module \
"
SRCREV = "22340f5828a8ea54675d47bef604d7c51fc9e101"
SRC_URI = "git://github.com/ros2/rcl_interfaces.git;protocol=git;"
inherit ament pythonpath-insane

View File

@ -0,0 +1,14 @@
SUMMARY = "The ROS client library common implementation."
HOMEPAGE = "https://github.com/ros2/rcl_interfaces"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
ament-cmake-ros \
rcl-interfaces \
rmw-implementation \
"
SRCREV = "b41d4e333e2b977f7c93a18009cd93a8db5e87f0"
SRC_URI = "git://github.com/ros2/rcl.git;protocol=git;"
inherit ament

View File

@ -0,0 +1,14 @@
SUMMARY = "The ROS client library in C++."
HOMEPAGE = "https://github.com/ros2/rcl_interfaces"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
builtin-interfaces \
rosidl-default-runtime \
rcl \
"
SRCREV = "bea1a52e24eaea0ad141a4d13dfa4606fcf190e7"
SRC_URI = "git://github.com/ros2/rclcpp.git;protocol=git;"
inherit ament pythonpath-insane

View File

@ -0,0 +1,15 @@
SUMMARY = "Package containing the Python client."
HOMEPAGE = "https://github.com/ros2/rclpy"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
python-cmake-module \
rcl \
"
SRCREV = "018b9fbf1c66f1c1c488510e0caa299fb0223277"
SRC_URI = "git://github.com/ros2/rclpy.git;protocol=git;"
RDEPENDS_${PN} += "${PYTHON_PN}-multiprocessing"
inherit ament

View File

@ -0,0 +1,15 @@
SUMMARY = "Package containing various utility types and functions for C."
HOMEPAGE = "https://github.com/ros2/rcutils"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
python3-empy \
python3-empy-native \
"
SRCREV = "85043d2da60cae000ea8137ab3eaff78d2ff2d42"
SRC_URI = "git://github.com/ros2/rcutils.git;protocol=git;"
inherit ament
S = "${WORKDIR}/git"

View File

@ -0,0 +1,5 @@
SUMMARY = "Provide CMake module to find eProsima FastRTPS."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include rmw-fastrtps.inc

View File

@ -0,0 +1,19 @@
SUMMARY = "Implement the ROS middleware interface using eProsima FastRTPS static code generation in C++."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
ament-cmake-ros \
rcutils \
fastrtps-cmake-module \
fastrtps \
fastcdr \
rmw \
rosidl-generator-c \
rosidl-generator-cpp \
rosidl-typesupport-introspection-c \
rosidl-typesupport-introspection-cpp \
rosidl-cmake \
"
include rmw-fastrtps.inc

View File

@ -0,0 +1,6 @@
HOMEPAGE = "https://github.com/ros2/rmw_fastrtps"
SRCREV = "640d7de7e2af1a4281ba910d0ed6702e337ed48c"
SRC_URI = "git://github.com/ros2/rmw_fastrtps.git;protocol=git;"
inherit ament

View File

@ -0,0 +1,25 @@
From 0e9f364cad9082daac0d802abc690b1f59ac0243 Mon Sep 17 00:00:00 2001
From: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
Date: Tue, 11 Jul 2017 12:53:38 +0300
Subject: [PATCH] get rid of poco-vendor dependency
Upstream-Status: Inappropriate [poco is provided by OE]
---
rmw_implementation/CMakeLists.txt | 1 -
1 file changed, 1 deletion(-)
diff --git a/rmw_implementation/CMakeLists.txt b/rmw_implementation/CMakeLists.txt
index c23861e..e9ed54f 100644
--- a/rmw_implementation/CMakeLists.txt
+++ b/rmw_implementation/CMakeLists.txt
@@ -16,7 +16,6 @@ find_package(ament_cmake REQUIRED)
find_package(rcutils REQUIRED)
# provides FindPoco.cmake and Poco on platforms without it
-find_package(poco_vendor)
find_package(Poco COMPONENTS Foundation)
find_package(rmw_implementation_cmake REQUIRED)
--
2.9.3

View File

@ -0,0 +1,19 @@
SUMMARY = "The decision which ROS middleware implementation should be used for C++."
HOMEPAGE = "https://github.com/ros2/example_interfaces"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
rcutils \
rmw \
rmw-implementation-cmake \
rmw-fastrtps-cpp \
poco \
"
SRCREV = "856611439680209e46d0f4fc4c79d62e7c29867d"
SRC_URI = "git://github.com/ros2/rmw_implementation.git;protocol=git; \
file://0001-get-rid-of-poco-vendor-dependency.patch;patchdir=.. \
"
inherit ament

View File

@ -0,0 +1,5 @@
SUMMARY = "CMake functions which can discover and enumerate available implementations."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=11;endline=11;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include rmw.inc

6
recipes-ros2/rmw/rmw.inc Normal file
View File

@ -0,0 +1,6 @@
HOMEPAGE = "https://github.com/ros2/rmw"
SRCREV = "4c39335411910f1e8d6cb49352b44fef6052455d"
SRC_URI = "git://github.com/ros2/rmw.git;protocol=git;"
inherit ament

View File

@ -0,0 +1,6 @@
SUMMARY = "Contains the ROS middleware API."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=9;endline=9;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "rcutils ament-cmake-ros"
include rmw.inc

View File

@ -0,0 +1,12 @@
SUMMARY = "C++ nodes which were previously in the ros2/examples repository but are now just used for demo purposes."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = " \
example-interfaces \
rclcpp \
ros2-sensor-msgs \
"
ROS_BPN = "demo_nodes_cpp"
include ros2-demos.inc

View File

@ -0,0 +1,6 @@
HOMEPAGE = "https://github.com/ros2/demos"
SRCREV = "ac2db5662a45029c1e2205aefdb93302cadc0f43"
SRC_URI = "git://github.com/ros2/demos.git;protocol=git;"
inherit ament

View File

@ -0,0 +1,13 @@
SUMMARY = "The ROS launch tool."
HOMEPAGE = "https://github.com/ros2/launch"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
SRCREV = "90181d102362028eb88f225f2b3377f51dc74526"
SRC_URI = "git://github.com/ros2/launch.git;protocol=git;"
S = "${WORKDIR}/git/launch"
RDEPENDS_${PN} += "${PYTHON_PN}-asyncio"
inherit setuptools3

View File

@ -0,0 +1,6 @@
HOMEPAGE = "https://github.com/ros2/ros2cli"
SRCREV = "df36377ff44695b43390dccf2df5a7bffd012e61"
SRC_URI = "git://github.com/ros2/ros2cli.git;protocol=git;"
S = "${WORKDIR}/git/${PN}"

View File

@ -0,0 +1,10 @@
SUMMARY = "Framework for ROS 2 command line tools."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include ros2cli.inc
inherit setuptools3
RDEPENDS_${PN} += "rclpy python3-setuptools ${PYTHON_PN}-xmlrpc ${PYTHON_PN}-pydoc"
FILES_${PN} += "${datadir}/ament_index/"

View File

@ -0,0 +1,7 @@
SUMMARY = "The msg command for ROS 2 command line tools."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include ros2cli.inc
inherit setuptools3

View File

@ -0,0 +1,7 @@
SUMMARY = "The node command for ROS 2 command line tools."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include ros2cli.inc
inherit setuptools3

View File

@ -0,0 +1,9 @@
SUMMARY = "The pkg command for ROS 2 command line tools."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include ros2cli.inc
inherit setuptools3
RDEPENDS_${PN} += "ros2cli ament-index-python"

View File

@ -0,0 +1,9 @@
SUMMARY = "The run command for ROS 2 command line tools."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include ros2cli.inc
inherit setuptools3
RDEPENDS_${PN} += "ros2pkg"

View File

@ -0,0 +1,7 @@
SUMMARY = "The service command for ROS 2 command line tools."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include ros2cli.inc
inherit setuptools3

View File

@ -0,0 +1,7 @@
SUMMARY = "The srv command for ROS 2 command line tools."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include ros2cli.inc
inherit setuptools3

View File

@ -0,0 +1,9 @@
SUMMARY = "The run command for ROS 2 command line tools."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include ros2cli.inc
inherit setuptools3
RDEPENDS_${PN} += "ros2msg ${PYTHON_PN}-pyyaml"

View File

@ -0,0 +1,16 @@
SUMMARY = "A configuration package defining the default ROS interface generators."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include rosidl-typesupport.inc
# TODO: add missing 'buildtool_export_depend' values from package.xml
RDEPENDS_${PN}-dev += " \
rosidl-generator-c \
rosidl-generator-cpp \
rosidl-generator-py \
rosidl-typesupport-c \
rosidl-typesupport-cpp \
rosidl-typesupport-introspection-c \
rosidl-typesupport-introspection-cpp \
"

View File

@ -0,0 +1,14 @@
SUMMARY = "A configuration package defining the runtime for the ROS interfaces."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include rosidl-typesupport.inc
RDEPENDS_${PN}-dev += " \
rosidl-generator-cpp-dev \
rosidl-generator-py-dev \
rosidl-typesupport-c-dev \
rosidl-typesupport-cpp-dev \
rosidl-typesupport-introspection-c-dev \
rosidl-typesupport-introspection-cpp-dev \
"

View File

@ -0,0 +1,25 @@
From f39a8bd2d8ee244c310a191238c02531ff271399 Mon Sep 17 00:00:00 2001
From: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
Date: Tue, 4 Jul 2017 11:30:59 +0300
Subject: [PATCH] Drop poco_vendor dependency
Upstream-Status: Inappropriate [poco is provided by OE]
---
rosidl_typesupport_c/CMakeLists.txt | 1 -
1 file changed, 1 deletion(-)
diff --git a/rosidl_typesupport_c/CMakeLists.txt b/rosidl_typesupport_c/CMakeLists.txt
index 887bbb3..4cced24 100644
--- a/rosidl_typesupport_c/CMakeLists.txt
+++ b/rosidl_typesupport_c/CMakeLists.txt
@@ -17,7 +17,6 @@ endif()
find_package(ament_cmake REQUIRED)
# provides FindPoco.cmake and Poco on platforms without it
-find_package(poco_vendor)
find_package(Poco COMPONENTS Foundation)
find_package(rosidl_generator_c REQUIRED)
--
2.9.3

View File

@ -0,0 +1,48 @@
From 48838676843a951297d00831e7afaee6529cc04e Mon Sep 17 00:00:00 2001
From: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
Date: Tue, 18 Jul 2017 10:19:37 +0300
Subject: [PATCH] rosidl_typesupport_c: remove redundant target linking
It's enough that CMakeLists.txt contains
link_directories(${Poco_LIBRARY_DIR})
The line
target_link_libraries(${PROJECT_NAME} ${Poco_LIBRARIES})
also adds Poco's include dir (which is /usr/include) as a system one
and that leads to triggering the bug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129 in gcc >= v6.
| /home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-c/git-r0/recipe-sysroot-native/usr/bin/x86_64-refkit-linux/x86_64-refkit-linux-g++ -m64 -march=corei7 -mtune=corei7 -mfpmath=sse -msse4.2 --sysroot=/home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-c/git-r0/recipe-sysroot -DPOCO_NO_AUTOMATIC_LIBS -DROSIDL_TYPESUPPORT_C_USE_POCO -Drosidl_typesupport_c_EXPORTS -I/home/rojkov/work/iot-ref-kit/build/workspace/sources/rosidl-typesupport-c/rosidl_typesupport_c/include -isystem /home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-c/git-r0/recipe-sysroot/usr/include -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-c/git-r0=/usr/src/debug/rosidl-typesupport-c/git-r0 -fdebug-prefix-map=/home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-c/git-r0/recipe-sysroot-native= -fdebug-prefix-map=/home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-c/git-r0/recipe-sysroot= -fstack-protector-strong -pie -fpie -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -fvisibility-inlines-hidden -fPIC -Wall -Wextra -Wpedantic -std=gnu++14 -o CMakeFiles/rosidl_typesupport_c.dir/src/type_support_dispatch.cpp.o -c /home/rojkov/work/iot-ref-kit/build/workspace/sources/rosidl-typesupport-c/rosidl_typesupport_c/src/type_support_dispatch.cpp
| In file included from /home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-c/git-r0/recipe-sysroot/usr/include/c++/7.1.0/ext/string_conversions.h:41:0,
| from /home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-c/git-r0/recipe-sysroot/usr/include/c++/7.1.0/bits/basic_string.h:6159,
| from /home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-c/git-r0/recipe-sysroot/usr/include/c++/7.1.0/string:52,
| from /home/rojkov/work/iot-ref-kit/build/workspace/sources/rosidl-typesupport-c/rosidl_typesupport_c/src/type_support_dispatch.hpp:23,
| from /home/rojkov/work/iot-ref-kit/build/workspace/sources/rosidl-typesupport-c/rosidl_typesupport_c/src/type_support_dispatch.cpp:15:
| /home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-c/git-r0/recipe-sysroot/usr/include/c++/7.1.0/cstdlib:75:15: fatal error: stdlib.h: No such file or directory
| #include_next <stdlib.h>
| ^~~~~~~~~~
| compilation terminated.
Upstream-Status: Inappropriate [isn't reproducible in upstream official builds]
---
rosidl_typesupport_c/CMakeLists.txt | 1 -
1 file changed, 1 deletion(-)
diff --git a/rosidl_typesupport_c/CMakeLists.txt b/rosidl_typesupport_c/CMakeLists.txt
index 4cced24..ceb8456 100644
--- a/rosidl_typesupport_c/CMakeLists.txt
+++ b/rosidl_typesupport_c/CMakeLists.txt
@@ -45,7 +45,6 @@ target_include_directories(${PROJECT_NAME}
PUBLIC
include ${Poco_INCLUDE_DIRS}
)
-target_link_libraries(${PROJECT_NAME} ${Poco_LIBRARIES})
ament_target_dependencies(${PROJECT_NAME} "rosidl_generator_c")
ament_export_libraries(${PROJECT_NAME})
--
2.9.3

View File

@ -0,0 +1,11 @@
SUMMARY = "Generate the type support for C messages."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "poco rosidl-generator-c rosidl-cmake"
include rosidl-typesupport.inc
SRC_URI += " \
file://0001-Drop-poco_vendor-dependency.patch;patchdir=.. \
file://0001-rosidl_typesupport_c-remove-redundant-target-linking.patch;patchdir=.. \
"

View File

@ -0,0 +1,48 @@
From ebefa2bc4fd9dca4e61b4ae0998712d0e420c56b Mon Sep 17 00:00:00 2001
From: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com>
Date: Tue, 18 Jul 2017 10:50:57 +0300
Subject: [PATCH] rosidl_typesupport_cpp: remove redundant target linking
It's enough that CMakeLists.txt contains
link_directories(${Poco_LIBRARY_DIR})
The line
target_link_libraries(${PROJECT_NAME} ${Poco_LIBRARIES})
also adds Poco's include dir (which is /usr/include) as a system one
and that leads to triggering the bug
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129 in gcc >= v6.
| /home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-cpp/git-r0/recipe-sysroot-native/usr/bin/x86_64-refkit-linux/x86_64-refkit-linux-g++ -m64 -march=corei7 -mtune=corei7 -mfpmath=sse -msse4.2 --sysroot=/home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-cpp/git-r0/recipe-sysroot -DPOCO_NO_AUTOMATIC_LIBS -DROSIDL_TYPESUPPORT_CPP_USE_POCO -Drosidl_typesupport_cpp_EXPORTS -I/home/rojkov/work/iot-ref-kit/build/workspace/sources/rosidl-typesupport-cpp/rosidl_typesupport_cpp/include -isystem /home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-cpp/git-r0/recipe-sysroot/usr/include -O2 -pipe -g -feliminate-unused-debug-types -fdebug-prefix-map=/home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-cpp/git-r0=/usr/src/debug/rosidl-typesupport-cpp/git-r0 -fdebug-prefix-map=/home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-cpp/git-r0/recipe-sysroot-native= -fdebug-prefix-map=/home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-cpp/git-r0/recipe-sysroot= -fstack-protector-strong -pie -fpie -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security -fvisibility-inlines-hidden -fPIC -Wall -Wextra -Wpedantic -std=gnu++14 -o CMakeFiles/rosidl_typesupport_cpp.dir/src/type_support_dispatch.cpp.o -c /home/rojkov/work/iot-ref-kit/build/workspace/sources/rosidl-typesupport-cpp/rosidl_typesupport_cpp/src/type_support_dispatch.cpp
| In file included from /home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-cpp/git-r0/recipe-sysroot/usr/include/c++/7.1.0/ext/string_conversions.h:41:0,
| from /home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-cpp/git-r0/recipe-sysroot/usr/include/c++/7.1.0/bits/basic_string.h:6159,
| from /home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-cpp/git-r0/recipe-sysroot/usr/include/c++/7.1.0/string:52,
| from /home/rojkov/work/iot-ref-kit/build/workspace/sources/rosidl-typesupport-cpp/rosidl_typesupport_cpp/src/type_support_dispatch.hpp:23,
| from /home/rojkov/work/iot-ref-kit/build/workspace/sources/rosidl-typesupport-cpp/rosidl_typesupport_cpp/src/service_type_support_dispatch.cpp:17:
| /home/rojkov/work/iot-ref-kit/build/tmp-glibc/work/corei7-64-refkit-linux/rosidl-typesupport-cpp/git-r0/recipe-sysroot/usr/include/c++/7.1.0/cstdlib:75:15: fatal error: stdlib.h: No such file or directory
| #include_next <stdlib.h>
| ^~~~~~~~~~
| compilation terminated.
Upstream-Status: Inappropriate [isn't reproducible in upstream official builds]
---
rosidl_typesupport_cpp/CMakeLists.txt | 1 -
1 file changed, 1 deletion(-)
diff --git a/rosidl_typesupport_cpp/CMakeLists.txt b/rosidl_typesupport_cpp/CMakeLists.txt
index f0ab0b8..7012311 100644
--- a/rosidl_typesupport_cpp/CMakeLists.txt
+++ b/rosidl_typesupport_cpp/CMakeLists.txt
@@ -43,7 +43,6 @@ target_include_directories(${PROJECT_NAME}
PUBLIC
include ${Poco_INCLUDE_DIRS}
)
-target_link_libraries(${PROJECT_NAME} ${Poco_LIBRARIES})
ament_target_dependencies(${PROJECT_NAME} "rosidl_generator_c")
ament_export_libraries(${PROJECT_NAME})
--
2.9.3

View File

@ -0,0 +1,8 @@
SUMMARY = "Generate the type support for C++ messages."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "poco rosidl-generator-c rosidl-cmake"
include rosidl-typesupport.inc
SRC_URI += "file://0001-rosidl_typesupport_cpp-remove-redundant-target-linki.patch;patchdir=.."

View File

@ -0,0 +1,6 @@
HOMEPAGE = "https://github.com/ros2/rosidl_typesupport"
SRCREV = "aa94c5724d05bd264a11f2d9aa0383b2e8b87001"
SRC_URI = "git://github.com/ros2/rosidl_typesupport.git;protocol=git;"
inherit ament

View File

@ -0,0 +1,5 @@
SUMMARY = "Provide CMake module with extra functionality for Python."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include rosidl.inc

View File

@ -0,0 +1,7 @@
SUMMARY = "The CMake functionality to invoke code generation for ROS interface files."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include rosidl.inc
RDEPENDS_${PN} += "rosidl-parser"

View File

@ -0,0 +1,17 @@
SUMMARY = "Generate the ROS interfaces in C++."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "rosidl-typesupport-interface"
include rosidl.inc
RDEPENDS_${PN} += " \
rosidl-parser \
${PYTHON_PN}-json \
${PYTHON_PN}-empy \
"
RDEPENDS_${PN}-dev += " \
rosidl-cmake-dev \
rosidl-typesupport-interface-dev \
"

View File

@ -0,0 +1,7 @@
SUMMARY = "Generate the ROS interfaces in C++."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include rosidl.inc
RDEPENDS_${PN} += "rosidl-parser"

View File

@ -0,0 +1,7 @@
SUMMARY = "Generate the ROS interfaces in Python."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include rosidl.inc
RDEPENDS_${PN} += "rmw-implementation rmw-implementation-cmake rosidl-generator-c rosidl-parser"

View File

@ -0,0 +1,5 @@
SUMMARY = "The parser for ROS interface files."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=8;endline=8;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include rosidl.inc

View File

@ -0,0 +1,5 @@
SUMMARY = "The interface for rosidl typesupport packages."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include rosidl.inc

View File

@ -0,0 +1,7 @@
SUMMARY = "Generate the message type support for dynamic message construction in C."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
include rosidl.inc
RDEPENDS_${PN} += "rosidl-cmake rosidl-generator-c rosidl-parser"

View File

@ -0,0 +1,15 @@
SUMMARY = "Generate the message type support for dynamic message construction in C++."
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://package.xml;beginline=10;endline=10;md5=12c26a18c7f493fdc7e8a93b16b7c04f"
DEPENDS = "rosidl-cmake rosidl-generator-c rosidl-typesupport-introspection-c"
include rosidl.inc
RDEPENDS_${PN} = " \
rosidl-cmake \
rosidl-generator-c \
rosidl-generator-cpp \
rosidl-parser \
rosidl-typesupport-interface \
rosidl-typesupport-introspection-c \
"

View File

@ -0,0 +1,6 @@
HOMEPAGE = "https://github.com/ros2/rosidl"
SRCREV = "8a19b290a04b36136bcf931cb4a983ab587b4db6"
SRC_URI = "git://github.com/ros2/rosidl.git;protocol=git;branch=ardent;"
inherit ament