diff options
| author | CoprDistGit <infra@openeuler.org> | 2026-09-15 15:13:09 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2026-09-15 15:13:09 +0000 |
| commit | 1bdfde1ad128667153181e159d8abc0de7d84fae (patch) | |
| tree | 894d15811d1c8e08f6d9c8d40fc4f1ad5d980e60 /elite-robots-msgs.spec | |
| parent | 28745b3193d53a3b32b997655e4b3d19974c48f4 (diff) | |
automatic import of ros-humble-elite-robots-msgs
Diffstat (limited to 'elite-robots-msgs.spec')
| -rw-r--r-- | elite-robots-msgs.spec | 222 |
1 files changed, 222 insertions, 0 deletions
diff --git a/elite-robots-msgs.spec b/elite-robots-msgs.spec new file mode 100644 index 0000000..54d89ed --- /dev/null +++ b/elite-robots-msgs.spec @@ -0,0 +1,222 @@ +%define ros_distro humble +%define RosPkgName elite-robots-msgs +%define src_version 1.0.3-1 + +Name: ros-%{ros_distro}-%{RosPkgName} +Version: 1.0.3 +Release: 1%{?dist} +Summary: Elite Robots CS series ROS 2 driver and message packages +License: Apache-2.0 +URL: https://github.com/EliteRobots/Elite_Robots_CS_ROS2_Driver +Source0: %{RosPkgName}-%{src_version}.tar.gz + +%global debug_package %{nil} +%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g') +%global __provides_exclude_from ^/opt/ros/%{ros_distro}/.*$ +%global __requires_exclude_from ^/opt/ros/%{ros_distro}/.*$ + +# 构建工具 +BuildRequires: cmake +BuildRequires: ros-%{ros_distro}-ament-cmake +BuildRequires: ros-%{ros_distro}-ament-cmake-python +BuildRequires: ros-%{ros_distro}-rosidl-default-generators + +# elite_robots_dashboard_msgs(无额外依赖,只需 ament_cmake + rosidl) + +# elite_robots_msgs +BuildRequires: ros-%{ros_distro}-geometry-msgs + +# elite_robots_calibration +BuildRequires: ros-%{ros_distro}-rclcpp +BuildRequires: ros-%{ros_distro}-ament-index-cpp +BuildRequires: elite_cs_series_sdk +BuildRequires: eigen3-devel +BuildRequires: yaml-cpp-devel + +# elite_robots_controllers +BuildRequires: ros-%{ros_distro}-angles +BuildRequires: ros-%{ros_distro}-controller-interface +BuildRequires: ros-%{ros_distro}-generate-parameter-library +BuildRequires: ros-%{ros_distro}-hardware-interface +BuildRequires: ros-%{ros_distro}-joint-trajectory-controller +BuildRequires: ros-%{ros_distro}-lifecycle-msgs +BuildRequires: ros-%{ros_distro}-pluginlib +BuildRequires: ros-%{ros_distro}-rclcpp-lifecycle +BuildRequires: ros-%{ros_distro}-rcpputils +BuildRequires: ros-%{ros_distro}-rcutils +BuildRequires: ros-%{ros_distro}-realtime-tools +BuildRequires: ros-%{ros_distro}-std-msgs +BuildRequires: ros-%{ros_distro}-std-srvs + +# elite_robots_driver +BuildRequires: ros-%{ros_distro}-backward-ros +BuildRequires: ros-%{ros_distro}-tf2-geometry-msgs +BuildRequires: ros-%{ros_distro}-ros2-controllers +BuildRequires: ros-%{ros_distro}-ros2-control +BuildRequires: ros-%{ros_distro}-rclcpp-components +BuildRequires: ros-%{ros_distro}-rclcpp-action +BuildRequires: ros-%{ros_distro}-sensor-msgs +BuildRequires: ros-%{ros_distro}-control-msgs +BuildRequires: ros-%{ros_distro}-trajectory-msgs +BuildRequires: ros-%{ros_distro}-controller-manager-msgs +BuildRequires: ros-%{ros_distro}-controller-manager +BuildRequires: ros-%{ros_distro}-launch +BuildRequires: ros-%{ros_distro}-launch-ros +BuildRequires: ros-%{ros_distro}-rclpy + +# elite_robots_moveit_config(仅 exec_depend,无需 BuildRequires) + +Requires: ros-%{ros_distro}-ros-workspace +Requires: ros-%{ros_distro}-ament-cmake + +# elite_robots_msgs 运行时 +Requires: ros-%{ros_distro}-geometry-msgs +Requires: ros-%{ros_distro}-rosidl-default-runtime + +# elite_robots_controllers 运行时 +Requires: ros-%{ros_distro}-angles +Requires: ros-%{ros_distro}-controller-interface +Requires: ros-%{ros_distro}-generate-parameter-library +Requires: ros-%{ros_distro}-hardware-interface +Requires: ros-%{ros_distro}-joint-trajectory-controller +Requires: ros-%{ros_distro}-lifecycle-msgs +Requires: ros-%{ros_distro}-pluginlib +Requires: ros-%{ros_distro}-rclcpp +Requires: ros-%{ros_distro}-rclcpp-lifecycle +Requires: ros-%{ros_distro}-rcpputils +Requires: ros-%{ros_distro}-rcutils +Requires: ros-%{ros_distro}-realtime-tools +Requires: ros-%{ros_distro}-std-msgs +Requires: ros-%{ros_distro}-std-srvs + +# elite_robots_calibration 运行时 +Requires: ros-%{ros_distro}-ament-index-cpp +Requires: yaml-cpp +Requires: elite_cs_series_sdk + +# elite_robots_driver 运行时 +Requires: ros-%{ros_distro}-backward-ros +Requires: ros-%{ros_distro}-tf2-geometry-msgs +Requires: ros-%{ros_distro}-ros2-controllers +Requires: ros-%{ros_distro}-ros2-control +Requires: ros-%{ros_distro}-rclcpp-components +Requires: ros-%{ros_distro}-rclcpp-action +Requires: ros-%{ros_distro}-sensor-msgs +Requires: ros-%{ros_distro}-control-msgs +Requires: ros-%{ros_distro}-trajectory-msgs +Requires: ros-%{ros_distro}-controller-manager-msgs +Requires: ros-%{ros_distro}-controller-manager +Requires: ros-%{ros_distro}-launch +Requires: ros-%{ros_distro}-launch-ros +Requires: ros-%{ros_distro}-rclpy +Requires: ros-%{ros_distro}-force-torque-sensor-broadcaster +Requires: ros-%{ros_distro}-joint-state-broadcaster +Requires: ros-%{ros_distro}-joint-state-publisher +Requires: ros-%{ros_distro}-robot-state-publisher +Requires: ros-%{ros_distro}-position-controllers +Requires: ros-%{ros_distro}-velocity-controllers +Requires: ros-%{ros_distro}-ros2-controllers-test-nodes +Requires: ros-%{ros_distro}-rviz2 +Requires: ros-%{ros_distro}-urdf +Requires: ros-%{ros_distro}-xacro +Requires: ros-%{ros_distro}-builtin-interfaces +# elite_robots_description 不在本仓库且两级清单均未收录,写 Requires 供诊断循环兜底 +Requires: ros-%{ros_distro}-elite-robots-description + +# elite_robots_moveit_config 运行时 +Requires: ros-%{ros_distro}-moveit-kinematics +Requires: ros-%{ros_distro}-moveit-planners-ompl +Requires: ros-%{ros_distro}-moveit-ros-move-group +Requires: ros-%{ros_distro}-moveit-ros-visualization +Requires: ros-%{ros_distro}-moveit-servo +Requires: ros-%{ros_distro}-moveit-simple-controller-manager +Requires: ros-%{ros_distro}-ament-index-python +Requires: python3-yaml +Requires: ros-%{ros_distro}-warehouse-ros-sqlite + +Provides: %{name}-devel = %{version}-%{release} +Provides: %{name}-doc = %{version}-%{release} +Provides: %{name}-runtime = %{version}-%{release} + +%description +Elite Robots CS series ROS 2 driver metapackage. Includes message definitions +(elite_robots_msgs, elite_robots_dashboard_msgs), hardware driver +(elite_robots_driver), controllers (elite_robots_controllers), calibration +tools (elite_robots_calibration), and MoveIt configuration +(elite_robots_moveit_config). + +%prep +%autosetup -n %{RosPkgName}-%{src_version} + +%build +source /opt/ros/%{ros_distro}/setup.sh 2>/dev/null || true +export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages${PYTHONPATH:+:$PYTHONPATH} +export PKG_CONFIG_PATH=/opt/ros/%{ros_distro}/lib/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH} + +# 公共 cmake 参数 +CMAKE_COMMON_ARGS="\ + -DCMAKE_INSTALL_PREFIX=/opt/ros/%{ros_distro} \ + -DAMENT_PREFIX_PATH=/opt/ros/%{ros_distro} \ + -DCMAKE_PREFIX_PATH=%{buildroot}/opt/ros/%{ros_distro}:/opt/ros/%{ros_distro} \ + -UINCLUDE_INSTALL_DIR -ULIB_INSTALL_DIR -USYSCONF_INSTALL_DIR -USHARE_INSTALL_PREFIX -ULIB_SUFFIX \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ + -DBUILD_TESTING=OFF -DTESTING=OFF -DCMAKE_SUPPRESS_REGENERATION=ON" + +# 1. elite_robots_dashboard_msgs +mkdir -p elite_robots_dashboard_msgs/.obj && cd elite_robots_dashboard_msgs/.obj +%cmake3 ${CMAKE_COMMON_ARGS} .. +make %{?_smp_mflags} +make install DESTDIR=%{buildroot} +cd ../.. + +# 2. elite_robots_msgs +mkdir -p elite_robots_msgs/.obj && cd elite_robots_msgs/.obj +%cmake3 ${CMAKE_COMMON_ARGS} .. +make %{?_smp_mflags} +make install DESTDIR=%{buildroot} +cd ../.. + +# 3. elite_robots_controllers(依赖 elite_robots_msgs) +mkdir -p elite_robots_controllers/.obj && cd elite_robots_controllers/.obj +%cmake3 ${CMAKE_COMMON_ARGS} .. +make %{?_smp_mflags} +make install DESTDIR=%{buildroot} +cd ../.. + +# 4. elite_robots_calibration +mkdir -p elite_robots_calibration/.obj && cd elite_robots_calibration/.obj +%cmake3 ${CMAKE_COMMON_ARGS} .. +make %{?_smp_mflags} +make install DESTDIR=%{buildroot} +cd ../.. + +# 5. elite_robots_driver(依赖 elite_robots_dashboard_msgs、elite_robots_msgs) +mkdir -p elite_robots_driver/.obj && cd elite_robots_driver/.obj +%cmake3 ${CMAKE_COMMON_ARGS} .. +make %{?_smp_mflags} +make install DESTDIR=%{buildroot} +cd ../.. + +# 6. elite_robots_moveit_config(ament_cmake_python:cmake 负责安装 Python 模块和 share 资源) +mkdir -p elite_robots_moveit_config/.obj && cd elite_robots_moveit_config/.obj +%cmake3 ${CMAKE_COMMON_ARGS} .. +make %{?_smp_mflags} +make install DESTDIR=%{buildroot} +cd ../.. + +# 7. elite_robots(元包,空 CMakeLists,仅注册 ament 包) +mkdir -p elite_robots/.obj && cd elite_robots/.obj +%cmake3 ${CMAKE_COMMON_ARGS} .. +make %{?_smp_mflags} +make install DESTDIR=%{buildroot} +cd ../.. + +%install +# 所有子包已在 %build 中直接 install 到 %{buildroot},此处无需重复操作 + +%files +/opt/ros/%{ros_distro} + +%changelog +* Mon Sep 15 2026 ai-importer <ai-importer@openeuler.org> - 1.0.3-1 +- Initial import: Elite Robots CS series ROS 2 driver metapackage (multi-package repo) |
