aboutsummaryrefslogtreecommitdiffstats
path: root/meta-agl-ros2
diff options
context:
space:
mode:
authorShankho Boron Ghosh <shankhoghosh123@gmail.com>2021-08-13 18:41:32 +0530
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>2021-10-18 10:53:46 +0000
commit098325d668eb2096dcd810bd24b25c81e24500db (patch)
tree582d634c6826ebab4e00b310cdeb2fa251818fa0 /meta-agl-ros2
parent8310c09541833f8a5d7f580830f63989a9789257 (diff)
meta-agl-ros2: Support for ros2 minimal & ydlidar
v1 : Added support for ros2 in AGL and ydlidar driver support by creation of recipes for ydlidar driver and sdk and packagegroup-agl-ros2-minimal & packagegroup-agl-ros2-ydlidar. Concurrently, created a feature template to allow for BBLAYERS and local conf dependencies. v2 : Removed ALLOW_EMPTY_${PN} = "1" and trailing whitespaces. Set AGL_META_PYTHON = "${METADIR}/external/meta-openembedded/meta-python" otherwise multiple layers might include meta-python and bitbake will choke if a folder is present twice. v3 : Removed trailing whitespaces. Removed AGL_META_PYTHON, just set it. v4 : Rebased v5 : Converted to new syntax: RDEPENDS:${PN}, do_install:append(), IMAGE_INSTALL:append v6 : Added ${METADIR}/meta-agl-devel/meta-agl-ros2 to bblayers configuration. v7 : Added meta-ros-backports-hardknott layer. v8 : Added packagegroup-agl-ros-native-qt5 to remove dependency to agl-demo. Signed-off-by: Shankho Boron Ghosh <shankhoghosh123@gmail.com> Change-Id: If169fde42e3f51571e2776adc574b7f8437a61fa
Diffstat (limited to 'meta-agl-ros2')
-rw-r--r--meta-agl-ros2/conf/layer.conf2
-rw-r--r--meta-agl-ros2/recipes-platform/packagegroups/packagegroup-agl-ros-native-qt5.bb27
-rw-r--r--meta-agl-ros2/recipes-platform/packagegroups/packagegroup-agl-ros2-minimal.bb81
-rw-r--r--meta-agl-ros2/recipes-platform/packagegroups/packagegroup-agl-ros2-ydlidar.bb14
-rw-r--r--meta-agl-ros2/recipes-ros2/ydlidar-ros2-driver/ydlidar-ros2-driver_1.0.1.bb62
-rw-r--r--meta-agl-ros2/recipes-ros2/ydlidar-ros2-sdk/ydlidar-ros2-sdk_1.4.7.bb24
6 files changed, 209 insertions, 1 deletions
diff --git a/meta-agl-ros2/conf/layer.conf b/meta-agl-ros2/conf/layer.conf
index 7f155efd..7134bc5e 100644
--- a/meta-agl-ros2/conf/layer.conf
+++ b/meta-agl-ros2/conf/layer.conf
@@ -9,4 +9,4 @@ BBFILE_COLLECTIONS += "aglros2"
BBFILE_PATTERN_aglros2 = "^${LAYERDIR}/"
BBFILE_PRIORITY_aglros2 = "70"
-LAYERSERIES_COMPAT_aglros2 = "dunfell"
+LAYERSERIES_COMPAT_aglros2 = "dunfell" \ No newline at end of file
diff --git a/meta-agl-ros2/recipes-platform/packagegroups/packagegroup-agl-ros-native-qt5.bb b/meta-agl-ros2/recipes-platform/packagegroups/packagegroup-agl-ros-native-qt5.bb
new file mode 100644
index 00000000..28e3976b
--- /dev/null
+++ b/meta-agl-ros2/recipes-platform/packagegroups/packagegroup-agl-ros-native-qt5.bb
@@ -0,0 +1,27 @@
+SUMMARY = "Qt5 for native GUI framework of AGL IVI profile"
+DESCRIPTION = "A set of Qt5 packages which required by Native App Fw Subsystem"
+
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-ros-native-qt5 \
+ "
+
+RDEPENDS:${PN} += "\
+ qtbase \
+ qtbase-dev \
+ qtbase-plugins \
+ qtbase-staticdev \
+ qtbase-tools \
+ qtdeclarative \
+ qtdeclarative-qmlplugins \
+ qtdeclarative-tools \
+ qtcharts \
+ qtwayland \
+ qtwayland-plugins \
+ qtwayland-tools \
+ qtgraphicaleffects-qmlplugins \
+ qtvirtualkeyboard \
+ " \ No newline at end of file
diff --git a/meta-agl-ros2/recipes-platform/packagegroups/packagegroup-agl-ros2-minimal.bb b/meta-agl-ros2/recipes-platform/packagegroups/packagegroup-agl-ros2-minimal.bb
new file mode 100644
index 00000000..0644ec5c
--- /dev/null
+++ b/meta-agl-ros2/recipes-platform/packagegroups/packagegroup-agl-ros2-minimal.bb
@@ -0,0 +1,81 @@
+DESCRIPTION = "The minimal set of packages required to ROS2"
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-ros2-minimal \
+ "
+
+RDEPENDS:${PN} += " \
+ action-msgs \
+ ament-cmake \
+ ament-index-cpp \
+ ament-index-python \
+ ament-package \
+ builtin-interfaces \
+ class-loader \
+ composition-interfaces \
+ console-bridge-vendor \
+ fastrtps \
+ foonathan-memory-vendor \
+ geometry-msgs \
+ launch \
+ launch-ros \
+ libstatistics-collector \
+ libyaml-vendor \
+ lifecycle-msgs \
+ message-filters \
+ osrf-pycommon \
+ rcl \
+ rcl-action \
+ rcl-interfaces \
+ rcl-logging-spdlog \
+ rcl-yaml-param-parser \
+ rclcpp \
+ rclcpp-action \
+ rclcpp-components \
+ rclpy \
+ rcpputils \
+ rcutils \
+ rmw \
+ rmw-dds-common \
+ rmw-fastrtps-cpp \
+ rmw-fastrtps-shared-cpp \
+ rmw-implementation \
+ rmw-implementation-cmake \
+ ros-workspace \
+ ros2cli \
+ ros2launch \
+ ros2pkg \
+ ros2topic \
+ rosgraph-msgs \
+ rosidl-adapter \
+ rosidl-cmake \
+ rosidl-default-runtime \
+ rosidl-generator-c \
+ rosidl-generator-py \
+ rosidl-parser \
+ rosidl-runtime-c \
+ rosidl-runtime-cpp \
+ rosidl-runtime-py \
+ rosidl-typesupport-c \
+ rosidl-typesupport-cpp \
+ rosidl-typesupport-fastrtps-c \
+ rosidl-typesupport-fastrtps-cpp \
+ rosidl-typesupport-interface \
+ rosidl-typesupport-introspection-c \
+ rosidl-typesupport-introspection-cpp \
+ rpyutils \
+ sensor-msgs \
+ spdlog-vendor \
+ statistics-msgs \
+ std-msgs \
+ std-srvs \
+ tf2 \
+ tf2-msgs \
+ tf2-py \
+ tf2-ros \
+ unique-identifier-msgs \
+ visualization-msgs \
+ " \ No newline at end of file
diff --git a/meta-agl-ros2/recipes-platform/packagegroups/packagegroup-agl-ros2-ydlidar.bb b/meta-agl-ros2/recipes-platform/packagegroups/packagegroup-agl-ros2-ydlidar.bb
new file mode 100644
index 00000000..7fcee019
--- /dev/null
+++ b/meta-agl-ros2/recipes-platform/packagegroups/packagegroup-agl-ros2-ydlidar.bb
@@ -0,0 +1,14 @@
+DESCRIPTION = "Support of ydlidar with ROS2"
+LICENSE = "MIT"
+
+inherit packagegroup
+
+PACKAGES = "\
+ packagegroup-agl-ros2-ydlidar \
+ "
+
+ALLOW_EMPTY_${PN} = "1"
+
+RDEPENDS:${PN} += " \
+ ydlidar-ros2-driver \
+ " \ No newline at end of file
diff --git a/meta-agl-ros2/recipes-ros2/ydlidar-ros2-driver/ydlidar-ros2-driver_1.0.1.bb b/meta-agl-ros2/recipes-ros2/ydlidar-ros2-driver/ydlidar-ros2-driver_1.0.1.bb
new file mode 100644
index 00000000..cff912d0
--- /dev/null
+++ b/meta-agl-ros2/recipes-ros2/ydlidar-ros2-driver/ydlidar-ros2-driver_1.0.1.bb
@@ -0,0 +1,62 @@
+inherit ros_distro_foxy
+inherit ros_superflore_generated
+
+SUMMARY = "YDLIDAR"
+DESCRIPTION = "YDLIDAR driver recipe for ROS2 support."
+AUTHOR = "Shankho Boron Ghosh"
+ROS_AUTHOR = "Shankho Boron Ghosh"
+HOMEPAGE = "https://wiki.ros.org"
+SECTION = "devel"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=d41d8cd98f00b204e9800998ecf8427e"
+
+ROS_CN = "ydlidar_ros2_driver"
+ROS_BPN = "ydlidar_ros2_driver"
+
+ROS_BUILD_DEPENDS = " \
+ rclcpp \
+ rclcpp-components \
+ sensor-msgs \
+ visualization-msgs \
+ geometry-msgs \
+ std-srvs \
+"
+
+ROS_BUILDTOOL_DEPENDS = " \
+ ament-cmake-auto-native \
+ ament-cmake-ros-native \
+"
+
+ROS_EXPORT_DEPENDS = ""
+
+ROS_BUILDTOOL_EXPORT_DEPENDS = ""
+
+ROS_EXEC_DEPENDS = " \
+ rclcpp \
+ rclcpp-components \
+ sensor-msgs \
+ visualization-msgs \
+ geometry-msgs \
+ std-srvs \
+"
+
+# Currently informational only -- see http://www.ros.org/reps/rep-0149.html#dependency-tags.
+ROS_TEST_DEPENDS = ""
+
+DEPENDS = "${ROS_BUILD_DEPENDS} ${ROS_BUILDTOOL_DEPENDS}"
+# Bitbake doesn't support the "export" concept, so build them as if we needed them to build this package (even though we actually
+# don't) so that they're guaranteed to have been staged should this package appear in another's DEPENDS.
+DEPENDS += "${ROS_EXPORT_DEPENDS} ${ROS_BUILDTOOL_EXPORT_DEPENDS}"
+#added
+DEPENDS += "ydlidar-ros2-sdk"
+
+RDEPENDS:${PN} += "${ROS_EXEC_DEPENDS}"
+
+#ROS_BRANCH ?= "branch=release/foxy/ydlidar_ros2_driver"
+SRC_URI = "git://github.com/YDLIDAR/ydlidar_ros2_driver;branch=master;protocol=https"
+SRCREV = "2e095da315aec0a0bc5aaac12082cb9d1f97f8b5"
+S = "${WORKDIR}/git"
+
+ROS_BUILD_TYPE = "ament_cmake"
+
+inherit ros_${ROS_BUILD_TYPE} \ No newline at end of file
diff --git a/meta-agl-ros2/recipes-ros2/ydlidar-ros2-sdk/ydlidar-ros2-sdk_1.4.7.bb b/meta-agl-ros2/recipes-ros2/ydlidar-ros2-sdk/ydlidar-ros2-sdk_1.4.7.bb
new file mode 100644
index 00000000..4f586f30
--- /dev/null
+++ b/meta-agl-ros2/recipes-ros2/ydlidar-ros2-sdk/ydlidar-ros2-sdk_1.4.7.bb
@@ -0,0 +1,24 @@
+SUMMARY = "YDLIDAR-SDK"
+DESCRIPTION = "YDLIDAR-SDK as it a dependency for ydlidar_ros2_driver."
+AUTHOR = "Shankho Boron Ghosh"
+ROS_AUTHOR = "Shankho Boron Ghosh"
+HOMEPAGE = "https://github.com/YDLIDAR/YDLIDAR/YDLidar-SDK"
+SECTION = "devel"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=4e320231d59c825e45dbfda066af29c9"
+
+SRC_URI = "git://github.com/YDLIDAR/YDLidar-SDK.git;protocol=https"
+
+SRCREV = "8b287ed831db0892f51793650b438790442fa09c"
+
+S = "${WORKDIR}/git"
+
+inherit cmake
+
+FILES_${PN} += "${datadir} ${prefix}/startup"
+
+do_install:append() {
+ sed -i -e 's|${DEBUG_PREFIX_MAP}||g; s|--sysroot=${STAGING_DIR_TARGET}||g' ${D}${libdir}/pkgconfig/*.pc
+}
+
+RDEPENDS:${PN} += "bash" \ No newline at end of file