summaryrefslogtreecommitdiff
path: root/microstrain-inertial-msgs.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2026-09-15 11:22:08 +0000
committerCoprDistGit <infra@openeuler.org>2026-09-15 11:22:08 +0000
commit2f85c55a455ece7ef44d5043735c08f343ccdf6e (patch)
tree0ac6809a665baa03a8ce1c039f760f0aaaaed306 /microstrain-inertial-msgs.spec
parent59b62ed401716100e9fb943579cbc7a77ea4dc22 (diff)
automatic import of ros-humble-microstrain-inertial-msgsopeneuler24.03_LTS_SP3
Diffstat (limited to 'microstrain-inertial-msgs.spec')
-rw-r--r--microstrain-inertial-msgs.spec57
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