summaryrefslogtreecommitdiff
path: root/nebula-robosense-hw-interfaces.spec
diff options
context:
space:
mode:
Diffstat (limited to 'nebula-robosense-hw-interfaces.spec')
-rw-r--r--nebula-robosense-hw-interfaces.spec14
1 files changed, 14 insertions, 0 deletions
diff --git a/nebula-robosense-hw-interfaces.spec b/nebula-robosense-hw-interfaces.spec
index 9c7eb35..caca5af 100644
--- a/nebula-robosense-hw-interfaces.spec
+++ b/nebula-robosense-hw-interfaces.spec
@@ -45,6 +45,15 @@ BuildRequires: ros-%{ros_distro}-robosense-msgs
# 系统依赖:本包 robosense_common.hpp → nebula_core_common/nebula_common.hpp
# 传递包含 <boost/tokenizer.hpp>(实证于 nebula_core_common 头),编译期必需
BuildRequires: boost-devel
+# nebula_core_common 的 ament 导出依赖含 nlohmann_json:该依赖不在本包
+# package.xml(上游把系统库挂在 nebula_core_common 自己的 ament_export_
+# dependencies 里),而配置期会沿
+# autoware_package → ament_auto_find_build_dependencies →
+# include(nebula_core_commonConfig) →
+# ament_cmake_export_dependencies-extras.cmake:21 find_package(nlohmann_json)
+# 链式触发,缺失即 cmake 配置失败(实证于 COPR build 112600)。openEuler 包名
+# 按 pkg.remap 映射(nlohmann-json-dev → nlohmann-json-devel),非 Debian 名
+BuildRequires: nlohmann-json-devel
# 运行时 Requires(ROS 特有,必须手写:/opt/ros 被 __requires_exclude_from 豁免,
# autodeps 扫不到。少写构建照样成功,但装上的包环境不就绪,§6)
@@ -57,6 +66,9 @@ Requires: ros-%{ros_distro}-nebula-robosense-common
Requires: ros-%{ros_distro}-robosense-msgs
# 本包公开头文件传递暴露 boost 头,下游编译本包头文件时同样需要
Requires: boost-devel
+# 同理,本包导出的 nebula_core_common 依赖链在安装侧也要能被 find_package,
+# 否则下游包在本包之上配置时同样报 nlohmann_json 缺失
+Requires: nlohmann-json-devel
# §7 单包策略:ROS 包严禁拆实体子包(同一路径被两个子包拥有会安装冲突),
# 用虚拟别名兼容依赖方
@@ -116,4 +128,6 @@ make install DESTDIR=%{buildroot}
%changelog
* Tue Sep 22 2026 ai-importer <ai-importer@openeuler.org> - 1.2.0-1
+- Fix: add nlohmann-json-devel BuildRequires/Requires (exported by nebula_core_common)
+- Fix: 注释里裸的 cmake 宏名被 rpm 展开,残留文本串进 cmake 参数
- Initial import (ROS batch)