%bcond_without tests %bcond_without weak_deps %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}/.*$ %define RosPkgName naoqi-driver %define ros_distro humble %define with_tests 0 Name: ros-%{ros_distro}-%{RosPkgName} Version: 2.1.1 Release: 1%{?dist}%{?release_suffix} Summary: Driver module between Aldebaran's NAOqiOS and ROS2. It publishes all sensor and actuator data as well as basic diagnostic for battery, temperature. It subscribes also to RVIZ simple goal and cmd_vel for teleop. License: BSD Source0: %{name}_%{version}.orig.tar.gz Requires: ros-%{ros_distro}-rclcpp Requires: ros-%{ros_distro}-rclcpp-action Requires: ros-%{ros_distro}-action-msgs Requires: ros-%{ros_distro}-cv-bridge Requires: ros-%{ros_distro}-image-transport Requires: ros-%{ros_distro}-kdl-parser Requires: ros-%{ros_distro}-naoqi-bridge-msgs Requires: ros-%{ros_distro}-naoqi-libqi Requires: ros-%{ros_distro}-naoqi-libqicore Requires: ros-%{ros_distro}-robot-state-publisher Requires: ros-%{ros_distro}-tf2-ros Requires: boost-devel BuildRequires: ros-%{ros_distro}-rclcpp BuildRequires: ros-%{ros_distro}-rclcpp-action BuildRequires: ros-%{ros_distro}-action-msgs BuildRequires: ros-%{ros_distro}-cv-bridge BuildRequires: ros-%{ros_distro}-image-transport BuildRequires: ros-%{ros_distro}-kdl-parser BuildRequires: ros-%{ros_distro}-naoqi-bridge-msgs BuildRequires: ros-%{ros_distro}-naoqi-libqi BuildRequires: ros-%{ros_distro}-naoqi-libqicore BuildRequires: ros-%{ros_distro}-robot-state-publisher BuildRequires: ros-%{ros_distro}-tf2-ros BuildRequires: boost-devel BuildRequires: ros-%{ros_distro}-diagnostic-msgs BuildRequires: ros-%{ros_distro}-diagnostic-updater BuildRequires: ros-%{ros_distro}-geometry-msgs BuildRequires: ros-%{ros_distro}-sensor-msgs BuildRequires: ros-%{ros_distro}-tf2-geometry-msgs BuildRequires: ros-%{ros_distro}-tf2-msgs BuildRequires: ros-%{ros_distro}-ament-cmake BuildRequires: ros-%{ros_distro}-rosidl-default-generators %if 0%{?with_tests} BuildRequires: ros-%{ros_distro}-ament-lint-auto BuildRequires: ros-%{ros_distro}-ament-common %endif Provides: %{name}-devel = %{version}-%{release} Provides: %{name}-doc = %{version}-%{release} Provides: %{name}-runtime = %{version}-%{release} %description Driver module between Aldebaran's NAOqiOS and ROS2. It publishes all sensor and actuator data as well as basic diagnostic for battery, temperature. It subscribes also to RVIZ simple goal and cmd_vel for teleop. %prep %autosetup -p1 %build # Needed to bootstrap since the ros_workspace package does not yet exist. export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages export ROS_DISTRO=%{ros_distro} export ROS_PYTHON_VERSION=%{python3_version} # In case we're installing to a non-standard location, look for a setup.sh # in the install tree and source it. It will set things like # CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. if [ -f "/opt/ros/%{ros_distro}/setup.sh" ]; then . "/opt/ros/%{ros_distro}/setup.sh"; fi mkdir -p .obj-%{_target_platform} && cd .obj-%{_target_platform} %cmake3 \ -UINCLUDE_INSTALL_DIR \ -ULIB_INSTALL_DIR \ -USYSCONF_INSTALL_DIR \ -USHARE_INSTALL_PREFIX \ -ULIB_SUFFIX \ -DCMAKE_INSTALL_PREFIX="/opt/ros/%{ros_distro}" \ -DAMENT_PREFIX_PATH="/opt/ros/%{ros_distro}" \ -DCMAKE_PREFIX_PATH="/opt/ros/%{ros_distro}" \ -DCMAKE_INSTALL_LIBDIR="/opt/ros/%{ros_distro}/lib" \ -DSETUPTOOLS_DEB_LAYOUT=OFF \ %if !0%{?with_tests} -DBUILD_TESTING=OFF \ %endif .. %make_build %install # Needed to bootstrap since the ros_workspace package does not yet exist. export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages # In case we're installing to a non-standard location, look for a setup.sh # in the install tree and source it. It will set things like # CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. if [ -f "/opt/ros/%{ros_distro}/setup.sh" ]; then . "/opt/ros/%{ros_distro}/setup.sh"; fi %make_install -C .obj-%{_target_platform} %if 0%{?with_tests} %check # Needed to bootstrap since the ros_workspace package does not yet exist. export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages # Look for a Makefile target with a name indicating that it runs tests TEST_TARGET=$(%__make -qp -C .obj-%{_target_platform} | sed "s/^\(test\|check\):.*/\\1/;t f;d;:f;q0") if [ -n "$TEST_TARGET" ]; then # In case we're installing to a non-standard location, look for a setup.sh # in the install tree and source it. It will set things like # CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. if [ -f "/opt/ros/%{ros_distro}/setup.sh" ]; then . "/opt/ros/%{ros_distro}/setup.sh"; fi CTEST_OUTPUT_ON_FAILURE=1 \ %make_build -C .obj-%{_target_platform} $TEST_TARGET || echo "RPM TESTS FAILED" else echo "RPM TESTS SKIPPED"; fi %endif %files /opt/ros/%{ros_distro} %changelog * Fri May 23 2025 Victor Paléologue victor.paleologue@palaio.eu - 2.1.1-1 - Autogenerated by ros-porting-tools