summaryrefslogtreecommitdiff
path: root/easynav-simple-common.spec
diff options
context:
space:
mode:
Diffstat (limited to 'easynav-simple-common.spec')
-rw-r--r--easynav-simple-common.spec27
1 files changed, 11 insertions, 16 deletions
diff --git a/easynav-simple-common.spec b/easynav-simple-common.spec
index 66992da..b69f83e 100644
--- a/easynav-simple-common.spec
+++ b/easynav-simple-common.spec
@@ -10,12 +10,9 @@
#
# 依赖说明(spec-rules-ros.md §6 反幻觉铁律):
# - ROS 标准包 nav_msgs 已在 ros-projects.list(SIG 源已有)逐项确认,照写 ros-humble-nav-msgs。
-# - easynav_common 属 EasyNavigation 框架外部包(独立基座仓),不在 ros-projects.list
-# 亦不在 ros-upstream.list(非 rosdistro 发布包),虽为 package.xml <depend> 真实声明
-# (find_package(easynav_common REQUIRED) + target_link_libraries(... easynav_common::easynav_common)),
-# 但 §6 明确"查不到就留空让构建失败诊断循环兜底,不得编造"——不写
-# ros-humble-easynav-common(写成必被 verify_ros_spec_deps.py 判幻觉名打回)。
-# 构建将在 find_package(easynav_common REQUIRED) 处诚实失败,由 lead 从基座仓补引后补 BR。
+# - easynav_common 属 EasyNavigation 基座框架包(独立基座仓 EasyNavigation/EasyNavigation),
+# ros-projects.list 第 195 行已收录,dep_registry 显示 ros-humble-easynav-common 已
+# build_done(由 easynav-simple-controller 引入),照写 ros-humble-easynav-common。
# - <test_depend>(ament_cmake_gtest/ament_lint_auto/ament_lint_common)按 §5 不写 BuildRequires。
# 版本说明:target_version=0.5.0-1(清单指定)→ Version 0.5.0(发布号 -1 剥离)。
# ros_fetch 检出 humble 分支 HEAD=2580d29(仓库虽有 0.5.0 tag 但 HEAD 不在其上,
@@ -54,17 +51,14 @@ BuildRequires: make
BuildRequires: ros-%{ros_distro}-ament-cmake
# package.xml <depend> —— ROS 标准包(ros-projects.list 已确认 SIG 源已有)
BuildRequires: ros-%{ros_distro}-nav-msgs
-# 注:package.xml 另有 <depend>easynav_common</depend>——EasyNavigation 基座框架包
-# (独立 EasyNavigation 基座仓,非 rosdistro 发布包、非 SIG 源、非本批 6 个 simple
-# 插件兄弟)。ros-projects.list 与 ros-upstream.list 两级均查不到(已实证),按
-# spec-rules-ros.md §6 反幻觉铁律 "查不到就留空让构建失败诊断循环兜底,不得编造"
-# ——此处不写 ros-humble-easynav-common BuildRequires(写成必被 verify_ros_spec_deps.py
-# 判为幻觉名打回;ros_dep_guard 明确 "不得注册递归构建清单外的 ROS 包源码")。构建
-# 将在 find_package(easynav_common REQUIRED) 处诚实失败,由 lead 从基座仓补引并扩展
-# 清单后补 BR。此非"静默丢弃以骗过构建":依赖确属 find_package REQUIRED + 链接目标
-# (CMakeLists target_link_libraries(... easynav_common::easynav_common)),缺口如实暴露。
+# package.xml <depend>easynav_common</depend>——EasyNavigation 基座框架包
+# (独立 EasyNavigation 基座仓,ros-projects.list 第 195 行已收录,dep_registry
+# 显示 ros-humble-easynav-common 已 build_done,由 easynav-simple-controller 引入)。
+# CMakeLists find_package(easynav_common REQUIRED) + target_link_libraries(
+# ... easynav_common::easynav_common),BR 补齐后构建可通过。
# <test_depend>(ament_cmake_gtest/ament_lint_auto/ament_lint_common)按 §5 不写
# BuildRequires,BUILD_TESTING=OFF 关闭测试。
+BuildRequires: ros-%{ros_distro}-easynav-common
# 运行时 Requires(/opt/ros 被 __requires_exclude_from 豁免、autodeps 扫不到,
# 少了这些 Requires 构建照样成功但装上后环境不就绪——spec-rules-ros.md §6)
@@ -72,6 +66,7 @@ Requires: ros-%{ros_distro}-ros-workspace
Requires: ros-%{ros_distro}-ament-cmake
# package.xml <depend> = build+run(REP 149),运行时 Requires 同上映射
Requires: ros-%{ros_distro}-nav-msgs
+Requires: ros-%{ros_distro}-easynav-common
# 单包策略:严禁拆实体子包(路径重叠致安装事务冲突),改用虚拟别名兼容依赖方
# (spec-rules-ros.md §7)
@@ -97,7 +92,7 @@ export PKG_CONFIG_PATH=/opt/ros/%{ros_distro}/lib/pkgconfig${PKG_CONFIG_PATH:+:$
# monorepo 子包:CMakeLists.txt 位于 common/easynav_simple_common/
cd common/easynav_simple_common
-# 显式 out-of-source 构建(规避 openEuler %cmake 宏位置参数坑,spec-rules-ros.md §5)
+# 显式 out-of-source 构建(规避 openEuler %%cmake 宏位置参数坑,spec-rules-ros.md §5)
mkdir -p .obj
cd .obj
%cmake3 \