summaryrefslogtreecommitdiff
path: root/elite-robots-msgs.spec
diff options
context:
space:
mode:
Diffstat (limited to 'elite-robots-msgs.spec')
-rw-r--r--elite-robots-msgs.spec208
1 files changed, 30 insertions, 178 deletions
diff --git a/elite-robots-msgs.spec b/elite-robots-msgs.spec
index 9c18a92..3e2fae0 100644
--- a/elite-robots-msgs.spec
+++ b/elite-robots-msgs.spec
@@ -5,9 +5,9 @@
Name: ros-%{ros_distro}-%{RosPkgName}
Version: 1.0.3
Release: 1%{?dist}
-Summary: Elite Robots CS series ROS 2 driver and message packages
+Summary: Metapackage providing a single installation point for the Elite Robots ROS 2 pa
License: Apache-2.0
-URL: https://github.com/EliteRobots/Elite_Robots_CS_ROS2_Driver
+URL: https://github.com/EliteRobots/Elite_Robots_CS_ROS2_Driver/tree/humble
Source0: %{RosPkgName}-%{src_version}.tar.gz
%global debug_package %{nil}
@@ -15,129 +15,30 @@ Source0: %{RosPkgName}-%{src_version}.tar.gz
%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 依赖 elite_cs_series_sdk(尚未引入),跳过该子包构建
-BuildRequires: ros-%{ros_distro}-rclcpp
-
-# 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)
+BuildRequires: elite_cs_series_sdk
+BuildRequires: elite_robots_calibration
+BuildRequires: elite_robots_controllers
+BuildRequires: elite_robots_dashboard_msgs
+BuildRequires: elite_robots_driver
+BuildRequires: elite_robots_moveit_config
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 运行时(elite_cs_series_sdk 未引入,跳过)
-Requires: ros-%{ros_distro}-ament-index-cpp
-Requires: yaml-cpp
-
-# 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 不在任何已知清单中,跳过
-
-# 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
+Requires: elite_cs_series_sdk
+Requires: elite_robots_calibration
+Requires: elite_robots_controllers
+Requires: elite_robots_dashboard_msgs
+Requires: elite_robots_driver
+Requires: elite_robots_moveit_config
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).
+Metapackage providing a single installation point for the Elite Robots ROS 2 packages.
%prep
%autosetup -n %{RosPkgName}-%{src_version}
@@ -146,78 +47,29 @@ tools (elite_robots_calibration), and MoveIt configuration
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}
-
-# ament 通过 AMENT_PREFIX_PATH 环境变量查找已安装包,把 buildroot 前置以找到本 spec 内前序子包
-export AMENT_PREFIX_PATH=%{buildroot}/opt/ros/%{ros_distro}:/opt/ros/%{ros_distro}
-
-# buildroot 内前序子包的 cmake config 目录前缀
-%define br_cmake_dir %{buildroot}/opt/ros/%{ros_distro}/share
-
-# 公共 cmake 参数
-CMAKE_COMMON_ARGS="\
- -DCMAKE_INSTALL_PREFIX=/opt/ros/%{ros_distro} \
- -DCMAKE_PREFIX_PATH=%{buildroot}/opt/ros/%{ros_distro}:/opt/ros/%{ros_distro} \
- -DAMENT_PREFIX_PATH=%{buildroot}/opt/ros/%{ros_distro}:/opt/ros/%{ros_distro} \
+cd elite_robots
+mkdir -p .obj && cd .obj
+%cmake3 \
+ -DCMAKE_INSTALL_PREFIX="/opt/ros/%{ros_distro}" \
+ -DAMENT_PREFIX_PATH="/opt/ros/%{ros_distro}" \
+ -DCMAKE_PREFIX_PATH="/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
-cmake ${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
-cmake ${CMAKE_COMMON_ARGS} ..
-make %{?_smp_mflags}
-make install DESTDIR=%{buildroot}
-cd ../..
-
-# 3. elite_robots_controllers(显式传入前序子包 _DIR,绕过 ament_index 查找路径问题)
-mkdir -p elite_robots_controllers/.obj && cd elite_robots_controllers/.obj
-cmake ${CMAKE_COMMON_ARGS} \
- -Delite_robots_msgs_DIR=%{br_cmake_dir}/elite_robots_msgs/cmake \
- -Delite_robots_dashboard_msgs_DIR=%{br_cmake_dir}/elite_robots_dashboard_msgs/cmake \
+ -DBUILD_TESTING=OFF -DTESTING=OFF -DCMAKE_SUPPRESS_REGENERATION=ON \
..
make %{?_smp_mflags}
-make install DESTDIR=%{buildroot}
-cd ../..
-
-# 4. elite_robots_calibration —— 依赖 elite_cs_series_sdk(未引入),跳过
-
-# 5. elite_robots_driver(显式传入前序子包 _DIR)
-mkdir -p elite_robots_driver/.obj && cd elite_robots_driver/.obj
-cmake ${CMAKE_COMMON_ARGS} \
- -Delite_robots_msgs_DIR=%{br_cmake_dir}/elite_robots_msgs/cmake \
- -Delite_robots_dashboard_msgs_DIR=%{br_cmake_dir}/elite_robots_dashboard_msgs/cmake \
- ..
-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
-cmake ${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
-cmake ${CMAKE_COMMON_ARGS} ..
-make %{?_smp_mflags}
-make install DESTDIR=%{buildroot}
-cd ../..
%install
-# 所有子包已在 %build 中直接 install 到 %{buildroot},此处无需重复操作
+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}
+cd elite_robots
+cd .obj
+make install DESTDIR=%{buildroot}
%files
/opt/ros/%{ros_distro}
%changelog
-* Tue 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)
+* Wed Sep 16 2026 ai-importer <ai-importer@openeuler.org> - 1.0.3-1
+- Initial import (ROS batch)