diff options
| -rw-r--r-- | microstrain-inertial-msgs.spec | 57 |
1 files changed, 54 insertions, 3 deletions
diff --git a/microstrain-inertial-msgs.spec b/microstrain-inertial-msgs.spec index 8f06633..de62eac 100644 --- a/microstrain-inertial-msgs.spec +++ b/microstrain-inertial-msgs.spec @@ -15,12 +15,14 @@ Source0: %{RosPkgName}-4.9.0-1.tar.gz %global __requires_exclude_from ^/opt/ros/%{ros_distro}/.*$ BuildRequires: cmake -BuildRequires: ros-%{ros_distro}-catkin +BuildRequires: ros-%{ros_distro}-ament-cmake +BuildRequires: ros-%{ros_distro}-rosidl-default-generators BuildRequires: ros-%{ros_distro}-std-msgs BuildRequires: ros-%{ros_distro}-geometry-msgs Requires: ros-%{ros_distro}-ros-workspace Requires: ros-%{ros_distro}-ament-cmake +Requires: ros-%{ros_distro}-rosidl-default-runtime Requires: ros-%{ros_distro}-std-msgs Requires: ros-%{ros_distro}-geometry-msgs @@ -35,6 +37,55 @@ sensor message types, including IMU, GNSS, and filter output messages. %prep %autosetup -n %{RosPkgName}-4.9.0-1 +# 替换 ROS 1 构建文件为 ROS 2 ament_cmake 版本 +cat > microstrain_inertial_msgs/package.xml << 'PKGXML' +<?xml version="1.0"?> +<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?> +<package format="3"> + <name>microstrain_inertial_msgs</name> + <version>4.9.0</version> + <description>A package that contains ROS messages corresponding to microstrain message types.</description> + <maintainer email="rob.fisher@parker.com">Rob Fisher</maintainer> + <license>MIT</license> + <url type="website">https://github.com/LORD-MicroStrain/microstrain_inertial</url> + <buildtool_depend>ament_cmake</buildtool_depend> + <buildtool_depend>rosidl_default_generators</buildtool_depend> + <depend>std_msgs</depend> + <depend>geometry_msgs</depend> + <exec_depend>rosidl_default_runtime</exec_depend> + <member_of_group>rosidl_interface_packages</member_of_group> + <export> + <build_type>ament_cmake</build_type> + </export> +</package> +PKGXML + +cat > microstrain_inertial_msgs/CMakeLists.txt << 'CMAKELISTS' +cmake_minimum_required(VERSION 3.8) +project(microstrain_inertial_msgs) + +find_package(ament_cmake REQUIRED) +find_package(rosidl_default_generators REQUIRED) +find_package(std_msgs REQUIRED) +find_package(geometry_msgs REQUIRED) + +set(COMMON_DIR "${CMAKE_CURRENT_SOURCE_DIR}/microstrain_inertial_msgs_common") + +file(GLOB MSG_FILES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" + "${COMMON_DIR}/msg/*.msg") +file(GLOB SRV_FILES RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" + "${COMMON_DIR}/srv/*.srv") + +rosidl_generate_interfaces(${PROJECT_NAME} + ${MSG_FILES} + ${SRV_FILES} + DEPENDENCIES std_msgs geometry_msgs +) + +ament_export_dependencies(rosidl_default_runtime) +ament_package() +CMAKELISTS + %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} @@ -55,8 +106,7 @@ make %{?_smp_mflags} 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 microstrain_inertial_msgs -cd .obj +cd microstrain_inertial_msgs/.obj make install DESTDIR=%{buildroot} %files @@ -65,3 +115,4 @@ make install DESTDIR=%{buildroot} %changelog * Tue Sep 15 2026 ai-importer <ai-importer@openeuler.org> - 4.9.0-1 - Initial import (ROS batch) +- Fix: replace ROS 1 catkin build system with ROS 2 ament_cmake + rosidl |
