summaryrefslogtreecommitdiff
path: root/ros-humble-mavros-extras.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2026-10-13 02:06:12 +0000
committerCoprDistGit <infra@openeuler.org>2026-10-13 02:06:12 +0000
commit12ecfeb70c68cc0f43e62715786434f2ffcb9c2d (patch)
treee100896171a02a1a70a9724b1c8b0e1c2bc50f1d /ros-humble-mavros-extras.spec
parentf211da792d1df95c70d4d508e04cf830eb76771c (diff)
automatic import of ros-humble-mavros-extrasopeneuler24.03_LTS_SP3
Diffstat (limited to 'ros-humble-mavros-extras.spec')
-rw-r--r--ros-humble-mavros-extras.spec179
1 files changed, 0 insertions, 179 deletions
diff --git a/ros-humble-mavros-extras.spec b/ros-humble-mavros-extras.spec
deleted file mode 100644
index 0c7bfdf..0000000
--- a/ros-humble-mavros-extras.spec
+++ /dev/null
@@ -1,179 +0,0 @@
-# topdir: ros-humble-mavros-extras-2.16.0 (via --transform)
-%define ros_distro humble
-%define RosPkgName mavros-extras
-
-Name: ros-%{ros_distro}-%{RosPkgName}
-Version: 2.16.0
-Release: 5%{?dist}
-Summary: Extra nodes and plugins for MAVROS
-
-License: GPLv3 and LGPLv3 and BSD
-URL: https://github.com/mavlink/mavros
-Source0: https://github.com/mavlink/mavros/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz
-
-# Patch: mavros_msgs 2.14.0 (ROS SIG repo) lacks HilGPS.id/yaw fields added in 2.16.0
-Patch0: hil-gps-id-yaw-compat.patch
-
-# debug subpackage not meaningful (/opt prefix, nonstandard strip paths)
-%global debug_package %{nil}
-# /opt python bytecode compilation writes standard sitelib paths — strip brp-python-bytecompile
-%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g')
-# ROS packages: .so under /opt/ros — autodeps disabled, ament indirect-dependency model instead
-%global __provides_exclude_from ^/opt/ros/%{ros_distro}/.*$
-%global __requires_exclude_from ^/opt/ros/%{ros_distro}/.*$
-
-BuildRequires: make
-BuildRequires: cmake
-BuildRequires: gcc-c++
-BuildRequires: python3-devel
-BuildRequires: python3-setuptools
-
-# --- ROS buildtool dependencies (ament_cmake) ---
-BuildRequires: ros-%{ros_distro}-ament-cmake
-BuildRequires: ros-%{ros_distro}-ament-cmake-python
-BuildRequires: ros-%{ros_distro}-eigen3-cmake-module
-
-# --- ROS package dependencies ---
-BuildRequires: ros-%{ros_distro}-angles
-BuildRequires: ros-%{ros_distro}-diagnostic-msgs
-BuildRequires: ros-%{ros_distro}-diagnostic-updater
-BuildRequires: ros-%{ros_distro}-eigen-stl-containers
-BuildRequires: ros-%{ros_distro}-geographic-msgs
-BuildRequires: ros-%{ros_distro}-geometry-msgs
-BuildRequires: ros-%{ros_distro}-libmavconn
-BuildRequires: ros-%{ros_distro}-mavlink
-BuildRequires: ros-%{ros_distro}-mavros
-BuildRequires: ros-%{ros_distro}-mavros-msgs
-BuildRequires: ros-%{ros_distro}-message-filters
-BuildRequires: ros-%{ros_distro}-nav-msgs
-BuildRequires: ros-%{ros_distro}-pluginlib
-BuildRequires: ros-%{ros_distro}-rclcpp
-BuildRequires: ros-%{ros_distro}-rclcpp-components
-BuildRequires: ros-%{ros_distro}-rcpputils
-BuildRequires: ros-%{ros_distro}-rosidl-default-runtime
-BuildRequires: ros-%{ros_distro}-sensor-msgs
-BuildRequires: ros-%{ros_distro}-std-msgs
-BuildRequires: ros-%{ros_distro}-std-srvs
-BuildRequires: ros-%{ros_distro}-tf2-eigen
-BuildRequires: ros-%{ros_distro}-tf2-ros
-BuildRequires: ros-%{ros_distro}-trajectory-msgs
-BuildRequires: ros-%{ros_distro}-urdf
-BuildRequires: ros-%{ros_distro}-visualization-msgs
-BuildRequires: ros-%{ros_distro}-yaml-cpp-vendor
-
-# --- System (non-ROS) build dependencies ---
-BuildRequires: eigen3-devel
-BuildRequires: yaml-cpp-devel
-# geographiclib-devel pulls in official geographiclib (provides /usr/bin/GeoConvert
-# etc. + FindGeographicLib.cmake + headers); do NOT add separate geographiclib-tools —
-# the in-session built geographiclib-tools-2.7.0 ships the same /usr/bin/* and causes
-# a file-conflict transaction-test failure.
-BuildRequires: geographiclib-devel
-BuildRequires: python3-click
-
-# --- Runtime requires (ROS-specific, autodeps disabled) ---
-Requires: ros-%{ros_distro}-ros-workspace
-Requires: ros-%{ros_distro}-ament-cmake
-Requires: ros-%{ros_distro}-rclcpp
-Requires: ros-%{ros_distro}-rclcpp-components
-Requires: ros-%{ros_distro}-mavros
-Requires: ros-%{ros_distro}-libmavconn
-Requires: ros-%{ros_distro}-mavros-msgs
-Requires: ros-%{ros_distro}-mavlink
-Requires: ros-%{ros_distro}-pluginlib
-Requires: ros-%{ros_distro}-tf2-ros
-Requires: ros-%{ros_distro}-tf2-eigen
-Requires: ros-%{ros_distro}-diagnostic-updater
-Requires: ros-%{ros_distro}-message-filters
-Requires: ros-%{ros_distro}-rcpputils
-Requires: ros-%{ros_distro}-urdf
-Requires: ros-%{ros_distro}-yaml-cpp-vendor
-Requires: ros-%{ros_distro}-rclpy
-Requires: ros-%{ros_distro}-rosidl-default-runtime
-Requires: ros-%{ros_distro}-diagnostic-msgs
-Requires: ros-%{ros_distro}-geographic-msgs
-Requires: ros-%{ros_distro}-geometry-msgs
-Requires: ros-%{ros_distro}-nav-msgs
-Requires: ros-%{ros_distro}-sensor-msgs
-Requires: ros-%{ros_distro}-std-msgs
-Requires: ros-%{ros_distro}-std-srvs
-Requires: ros-%{ros_distro}-trajectory-msgs
-Requires: ros-%{ros_distro}-visualization-msgs
-Requires: ros-%{ros_distro}-angles
-Requires: ros-%{ros_distro}-eigen-stl-containers
-Requires: ros-%{ros_distro}-eigen3-cmake-module
-Requires: python3-click
-
-# Virtual provides for compatibility
-Provides: %{name}-devel = %{version}-%{release}
-Provides: %{name}-doc = %{version}-%{release}
-Provides: %{name}-runtime = %{version}-%{release}
-
-%description
-Extra nodes and plugins for MAVROS (MAVLink to ROS bridge).
-This package provides additional MAVLink plugins (ADS-B, GPS RTK, camera,
-distance sensor, obstacle distance, terrain, vision pose, etc.) and the
-terrain tile server.
-
-%prep
-%autosetup -p1 -n %{name}-%{version}
-
-%build
-# The source tarball contains the whole mavros repo (multi-package layout).
-# We build only the mavros_extras sub-package.
-cd mavros_extras
-
-# ROS bootstrap environment (chroot has ROS SIG repo; guard against missing setup.sh)
-[ -f /opt/ros/%{ros_distro}/setup.sh ] && source /opt/ros/%{ros_distro}/setup.sh || 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}
-
-# Explicit out-of-source build (openEuler %%cmake macro positional-arg pitfall)
-mkdir -p .obj && cd .obj
-cmake .. \
- -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 \
- -DCMAKE_CXX_STANDARD=20
-%make_build
-
-%install
-cd mavros_extras/.obj
-%make_install DESTDIR=%{buildroot}
-
-%files
-/opt/ros/%{ros_distro}
-
-%changelog
-* Mon Oct 12 2026 AI Importer <ai-importer@openeuler.org> - 2.16.0-5
-- Add -p1 to %%autosetup: Patch0 (hil-gps-id-yaw-compat.patch) uses git-style
- a/ and b/ path prefixes. Without -p1, patch looks for the literal
- a/mavros_extras/src/plugins/hil.cpp path (which does not exist), causing
- "No file to patch. Skipping patch." and aborting %%prep before compilation.
-
-* Mon Oct 12 2026 AI Importer <ai-importer@openeuler.org> - 2.16.0-4
-- Add Patch0 (hil-gps-id-yaw-compat.patch): comment out gps.id/gps.yaw
- assignments in hil.cpp that reference HilGPS fields added in mavros 2.16.0.
- The ROS SIG repo ships mavros_msgs 2.14.0 which lacks these fields, causing
- "has no member named 'id'/'yaw'" compile errors at hil.cpp:243-244.
- The MAVLink HIL_GPS message still has id/yaw (defaults to 0).
-
-* Mon Oct 12 2026 AI Importer <ai-importer@openeuler.org> - 2.16.0-3
-- Escape %%cmake token in a %%build comment: rpm expands %%macros even
- inside comments, so the openEuler %%cmake macro's multi-line body (which
- includes %%set_build_flags + a (...) subshell) leaked out of the comment
- and was executed as build commands, causing "syntax error near
- unexpected token )'" at line 61 of the build script. Replaced with
- %%cmake (literal %%cmake) so the comment stays a comment.
-
-* Mon Oct 12 2026 AI Importer <ai-importer@openeuler.org> - 2.16.0-2
-- Drop BuildRequires: geographiclib-tools: it duplicates /usr/bin/* tools
- already provided by official geographiclib (pulled by geographiclib-devel),
- causing a dnf transaction-test file conflict.
-
-* Mon Oct 12 2026 AI Importer <ai-importer@openeuler.org> - 2.16.0-1
-- Initial package for openEuler (ROS 2 humble)
-- Built from upstream mavros repo, mavros_extras sub-package