diff options
Diffstat (limited to 'ros-humble-mavros-extras.spec')
| -rw-r--r-- | ros-humble-mavros-extras.spec | 179 |
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 |
