%define ros_distro humble %define RosPkgName mbf-abstract-nav %define src_version 1.2.1-1 Name: ros-%{ros_distro}-%{RosPkgName} Version: 1.2.1 Release: 1%{?dist} Summary: The mbf_abstract_nav package contains the abstract navigation server implementa License: BSD-3-Clause URL: https://github.com/naturerobots/move_base_flex/tree/ros2 Source0: %{RosPkgName}-%{src_version}.tar.gz %global debug_package %{nil} %global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g') %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}-geometry-msgs BuildRequires: ros-%{ros_distro}-nav-msgs BuildRequires: ros-%{ros_distro}-rclcpp BuildRequires: ros-%{ros_distro}-rclcpp-action BuildRequires: ros-%{ros_distro}-std-msgs BuildRequires: ros-%{ros_distro}-std-srvs BuildRequires: ros-%{ros_distro}-mbf-abstract-core BuildRequires: ros-%{ros_distro}-mbf-msgs BuildRequires: ros-%{ros_distro}-mbf-utility Requires: ros-%{ros_distro}-ros-workspace Requires: ros-%{ros_distro}-ament-cmake Requires: ros-%{ros_distro}-geometry-msgs Requires: ros-%{ros_distro}-nav-msgs Requires: ros-%{ros_distro}-rclcpp Requires: ros-%{ros_distro}-rclcpp-action Requires: ros-%{ros_distro}-std-msgs Requires: ros-%{ros_distro}-std-srvs Requires: ros-%{ros_distro}-mbf-abstract-core Requires: ros-%{ros_distro}-mbf-msgs Requires: ros-%{ros_distro}-mbf-utility Provides: %{name}-devel = %{version}-%{release} Provides: %{name}-doc = %{version}-%{release} Provides: %{name}-runtime = %{version}-%{release} %description The mbf_abstract_nav package contains the abstract navigation server implementation of Move Base Flex (MBF). The abstract navigation server is not bound to any map representation. It provides the actions for planning, controlling and recovering. MBF loads all defined plugins at the program start. Therefor, it loads all plugins which are defined in the lists *planners*, *controllers* and *recovery_behaviors*. Each list holds a pair of a *name* and a *type*. The *type* defines which kind of plugin to load. The *name* defines under which name the plugin should be callable by the actions. %prep %autosetup -n %{RosPkgName}-%{src_version} %build [ -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} cd mbf_abstract_nav 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 \ .. make %{?_smp_mflags} %install [ -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} cd mbf_abstract_nav cd .obj make install DESTDIR=%{buildroot} %files /opt/ros/%{ros_distro} %changelog * Thu Sep 24 2026 ai-importer - 1.2.1-1 - Initial import (ROS batch)