diff options
| -rw-r--r-- | easynav-simple-common.spec | 27 | ||||
| -rw-r--r-- | sources | 2 |
2 files changed, 12 insertions, 17 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 \ @@ -1 +1 @@ -26e8d047e414e27c7d3f32f23ab1fd39 easynav-simple-common-0.5.0.tar.gz +39096cebcc9d44327c35480db2a7f3d7 easynav-simple-common-0.5.0.tar.gz |
