From e1be11e1615ec35e45ad020aaa1a3a3cb1f20834 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Mon, 21 Sep 2026 14:09:42 +0000 Subject: automatic import of ros-humble-autoware-utils-debug --- autoware-utils-debug.spec | 102 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 autoware-utils-debug.spec (limited to 'autoware-utils-debug.spec') diff --git a/autoware-utils-debug.spec b/autoware-utils-debug.spec new file mode 100644 index 0000000..6ef3654 --- /dev/null +++ b/autoware-utils-debug.spec @@ -0,0 +1,102 @@ +%define ros_distro humble +%define RosPkgName autoware-utils-debug + +Name: ros-%{ros_distro}-%{RosPkgName} +Version: 1.11.0 +Release: 1%{?dist} +Summary: Utilities for debug in Autoware (ROS 2 Humble) + +License: Apache-2.0 +URL: https://github.com/autowarefoundation/autoware_utils +Source0: %{RosPkgName}-%{version}.tar.gz + +# 上游源码: https://github.com/autowarefoundation/autoware_utils/archive/refs/tags/v1.11.0.tar.gz +# (submit_fix 按 --transform 规则重打成下行 Source0 的本地文件名,COPR 构建不联网取源) +# 归档解压根目录名(实测)为 autoware-utils-debug-1.11.0,与 Name: 解耦: +# 解压参数只认实测目录名;子包源码在归档内的 autoware_utils_debug/ 目录。 +# 注:注释里不要写带百分号的宏名——rpm 会展开注释中的宏,解压宏展开成 setup 标签会直接解析失败 + +# ROS 包统一:关闭 debug 子包、摘掉 brp-python-bytecompile、/opt 前缀不进 autodeps +%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: gcc-c++ +BuildRequires: fmt-devel +BuildRequires: ros-%{ros_distro}-ament-cmake-auto +# ament_cmake 的 package_templates 需要 ament_package python 模块,显式固化 +BuildRequires: ros-%{ros_distro}-ament-package +BuildRequires: ros-%{ros_distro}-autoware-cmake +BuildRequires: ros-%{ros_distro}-rclcpp +BuildRequires: ros-%{ros_distro}-diagnostic-msgs +BuildRequires: ros-%{ros_distro}-autoware-internal-debug-msgs +BuildRequires: ros-%{ros_distro}-autoware-internal-msgs +BuildRequires: ros-%{ros_distro}-autoware-utils-system + +Requires: ros-%{ros_distro}-ros-workspace +Requires: fmt +Requires: fmt-devel +Requires: ros-%{ros_distro}-rclcpp +Requires: ros-%{ros_distro}-diagnostic-msgs +Requires: ros-%{ros_distro}-autoware-internal-debug-msgs +Requires: ros-%{ros_distro}-autoware-internal-msgs +Requires: ros-%{ros_distro}-autoware-utils-system + +# 单包策略(spec-rules-ros §7):ROS 包不拆实体子包,虚拟别名兼容 -devel 消费者 +Provides: %{name}-devel = %{version}-%{release} +Provides: %{name}-doc = %{version}-%{release} +Provides: %{name}-runtime = %{version}-%{release} + +%description +The autoware_utils_debug package provides essential utilities for debug +in Autoware autonomous driving applications built on ROS 2 Humble. +It includes helpers for publishing debug messages with timestamps, +tracking processing times, and reporting diagnostic information. + +%prep +# 解压目录名跟实测归档根目录走,不随 Name/RosPkgName 联动改写 +%autosetup -n autoware-utils-debug-%{version} + +%build +# ROS 基座环境 bootstrap(spec-rules-ros §4):ament_package 等 python 模块装在 +# /opt/ros//lib/pythonX.Y/site-packages,不在 /usr/bin/python3 的默认 +# sys.path 里——不导出 PYTHONPATH 时 ament_cmake 的 package_templates 必失败 +# (ModuleNotFoundError: No module named 'ament_package')。 +# 无 setup.sh 的 buildroot 不能直接 source(严格 sh 下会中止),故加 [ -f ] 守卫。 +[ -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} +mkdir -p build_pkg +cd build_pkg +cmake \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX="/opt/ros/%{ros_distro}" \ + -DAMENT_PREFIX_PATH="/opt/ros/%{ros_distro}" \ + -DCMAKE_PREFIX_PATH="/opt/ros/%{ros_distro}" \ + -DBUILD_TESTING=OFF \ + ../autoware_utils_debug +%make_build + +%install +# 同上:install 阶段 ament 的 install 钩子与 ament_index 注册同样需要 ROS 环境 +[ -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 build_pkg +%make_install + +%files +# 整树拥有(spec-rules-ros §7):装了没打包类错误免疫,且不与子包路径重叠 +/opt/ros/%{ros_distro} +%license LICENSE +%doc autoware_utils_debug/README.md + +%changelog +* Mon Sep 21 2026 openEuler Builder - 1.11.0-1 +- Fix build/install: export ROS bootstrap PYTHONPATH so ament_cmake package + templates can import ament_package (ModuleNotFoundError) +- Rename to ros-humble-autoware-utils-debug; single-package files list, + /opt prefix excluded from autodeps (spec-rules-ros) +- Initial package of autoware_utils_debug 1.11.0 -- cgit v1.2.3