summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2026-10-20 06:02:16 +0000
committerCoprDistGit <infra@openeuler.org>2026-10-20 06:02:16 +0000
commit94598a8e0e46ef1ebc56fcc0c53e211e824aeb35 (patch)
tree1f3fd893dbdf85f252395944c18e33abfafe876b
parent425c6f68f46b97944f3c668261ae8dc781400a3d (diff)
automatic import of ros-humble-easynav-simple-maps-manageropeneuler24.03_LTS_SP3
-rw-r--r--.gitignore1
-rw-r--r--easynav-simple-maps-manager.spec71
-rw-r--r--sources2
3 files changed, 49 insertions, 25 deletions
diff --git a/.gitignore b/.gitignore
index 78e6a3f..36ea898 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
/easynav-simple-maps-manager-0.5.0.tar.gz
+/easynav-simple-maps-manager-0.5.0-1.tar.gz
diff --git a/easynav-simple-maps-manager.spec b/easynav-simple-maps-manager.spec
index c501a1e..c2b7eb4 100644
--- a/easynav-simple-maps-manager.spec
+++ b/easynav-simple-maps-manager.spec
@@ -9,6 +9,13 @@
# Name 展开须等于 ros-humble-easynav-simple-maps-manager(verify_ros_spec_deps.py 机械校验)。
%define ros_distro humble
%define RosPkgName easynav-simple-maps-manager
+# src_version 保留完整 target_version(0.5.0-1 = Version-Release),对齐
+# gen_ros_spec 模板与 submit_fix._ensure_tarball 的 <pkg>-<gate_version> 命名:
+# tarball 名 / 解压根目录 / autosetup 的 -n 三处同源(见下文 Source0 与 prep)。
+# gate_result.result.version = 0.5.0-1(含 Release),submit_fix 按 <pkg>-<gate_version>
+# 重打 tarball(--transform 重命名源码根为该串),故 src_version 须取 0.5.0-1 而非
+# spec 的 Version 字段(仅 0.5.0)——二者不符致 prep 段 cd 失败(build 113766 实踩)。
+%define src_version 0.5.0-1
Name: ros-%{ros_distro}-%{RosPkgName}
Version: 0.5.0
@@ -18,10 +25,14 @@ Summary: Easy Navigation: Simple MapsManager package.
License: Apache-2.0
URL: https://github.com/EasyNavigation/easynav_plugins
# 实际检出 commit(ros_fetch checkout humble 分支 HEAD=tag 0.5.0 指向),用于产物追溯。
-# #/ 强制重定向(§2 选项2):配合 build-rpm §4 的 tar --transform(重命名源码根为
-# RosPkgName-version),autosetup 的 -n 即用该目录名——非臆测上游归档解压根目录。
+# Source0 basename(#/ 重定向后)= RosPkgName-src_version = easynav-simple-maps-manager-0.5.0-1,
+# 与 submit_fix._ensure_tarball 重打的 tarball 名一致(gate_version=0.5.0-1);
+# autosetup -n 同取该名(见 prep 段),三处同源不随包名联动改写。
+# 初版用 #/RosPkgName-version.tar.gz(仅 0.5.0),与 submit_fix 重打的
+# <pkg>-0.5.0-1.tar.gz 不一致,rpmbuild -bs 取旧硬链 tarball(root=<pkg>-0.5.0-1)
+# 而 autosetup -n 期望 <pkg>-0.5.0,prep 段 cd 失败(build 113766)——本版修正。
%global commit 703b73ae55bf6a419bf309b26084ca523b063ddf
-Source0: %{url}/archive/%{commit}.tar.gz#/%{RosPkgName}-%{version}.tar.gz
+Source0: %{url}/archive/%{commit}.tar.gz#/%{RosPkgName}-%{src_version}.tar.gz
# §2:/opt 前缀下 debug 子包无意义(strip/debugedit 路径非常规),统一关闭
%global debug_package %{nil}
@@ -44,16 +55,22 @@ BuildRequires: ros-%{ros_distro}-pluginlib
BuildRequires: ros-%{ros_distro}-rclcpp
BuildRequires: ros-%{ros_distro}-std-srvs
BuildRequires: ros-%{ros_distro}-tf2-ros
-# 注:package.xml 另有 <depend>easynav_common</depend>、<depend>easynav_core</depend>、
-# <depend>easynav_sensors</depend>、<depend>easynav_simple_common</depend>、
-# <depend>yaets</depend>——这些是 EasyNav 基座框架包(独立 EasyNavigation 基座仓,
-# 非 rosdistro、非 SIG 源)。ros-projects.list 与 ros-upstream.list 两级均查不到,
-# 按 §6 反幻觉铁律"查不到就留空让构建失败诊断循环兜底,不得编造"——此处不写
-# ros-humble-easynav-* / ros-humble-yaets BuildRequires(写成必被 verify_ros_spec_deps.py
-# 判为幻觉名打回)。easynav_simple_common 虽为本批兄弟(同 COPR project),但两级清单
-# 均无其名,§3.6 门禁无 batch 旁路,同样不能写。构建将在
-# `find_package(easynav_common REQUIRED)` 等处诚实失败,由 lead 从基座仓补引后补 BR。
-# 此非"静默丢弃以骗过构建":依赖确属 find_package REQUIRED + 链接目标,缺口如实暴露。
+# EasyNav 基座框架包(独立 EasyNavigation 基座仓
+# https://github.com/EasyNavigation/EasyNavigation rolling 分支,v0.5.0)。
+# 初版(round 0)时三者尚未注册/构建,按 §6 反幻觉铁律正确地未写 BR,
+# 构建在 find_package(easynav_common REQUIRED) 诚实失败(build 113756 build 段)。
+# controller fixer round 2 已将 easynav-common/easynav-core/yaets 注册入
+# data/ros/humble/ros-projects.list 并在 COPR 构建完成;easynav-sensors 同仓同
+# commit 亦已构建(recovery build 113763 带此 BR 成功,实证三者均有 provider)。
+# easynav-simple-common 为本批兄弟(同 COPR project,build 113765 成功,已入
+# ros-projects.list 第 199 行),yaets 亦在 ros-projects.list(第 1117 行)。
+# CMakeLists.txt 对五者均 find_package(REQUIRED) + target_link_libraries,
+# 非静默丢弃。本轮补五条 BuildRequires 重提。
+BuildRequires: ros-%{ros_distro}-easynav-common
+BuildRequires: ros-%{ros_distro}-easynav-core
+BuildRequires: ros-%{ros_distro}-easynav-sensors
+BuildRequires: ros-%{ros_distro}-easynav-simple-common
+BuildRequires: ros-%{ros_distro}-yaets
# <test_depend>(ament_cmake_gtest/ament_lint_auto/ament_lint_common/rclcpp_lifecycle)
# 按 §5 不写 BuildRequires。
@@ -68,7 +85,12 @@ Requires: ros-%{ros_distro}-pluginlib
Requires: ros-%{ros_distro}-rclcpp
Requires: ros-%{ros_distro}-std-srvs
Requires: ros-%{ros_distro}-tf2-ros
-# EasyNav 基座框架包运行时依赖同 BuildRequires 注释所述不写(两级清单均无,§6 反幻觉铁律)
+# EasyNav 基座框架包运行时 Requires(同 BuildRequires 映射,<depend>=build+run)
+Requires: ros-%{ros_distro}-easynav-common
+Requires: ros-%{ros_distro}-easynav-core
+Requires: ros-%{ros_distro}-easynav-sensors
+Requires: ros-%{ros_distro}-easynav-simple-common
+Requires: ros-%{ros_distro}-yaets
# §7:单包策略——严禁拆实体子包(路径与主包 %files 整树重叠致安装事务冲突),
# 用虚拟 Provides 别名兼容依赖方
@@ -84,8 +106,11 @@ easynav_core::MapsManagerBase. It serves as a default plugin implementation
when the navigation system configuration does not specify one.
%prep
-# §2:强制重定向目录名(配合 build-rpm skill §4 --transform,非臆测上游归档名)
-%autosetup -n %{RosPkgName}-%{version}
+# §2:解压根目录 = Source0 basename 去 .tar.gz = RosPkgName-src_version
+# (展开后 easynav-simple-maps-manager-0.5.0-1;构建系统 tar --transform 重命名源码根为该名,
+# 非上游 GitHub 归档的自然目录)。
+# -n 与 Source0 basename、submit_fix 重打 tarball 三处同源,不随包名联动改写。
+%autosetup -n %{RosPkgName}-%{src_version}
%build
# §4 ROS 基座环境(chroot 可能未装 setup.sh,用 [ -f ] 守卫——|| true 挡不住严格 sh)
@@ -96,19 +121,17 @@ export PKG_CONFIG_PATH=/opt/ros/%{ros_distro}/lib/pkgconfig${PKG_CONFIG_PATH:+:$
# monorepo 子包:CMakeLists.txt 位于 maps_managers/easynav_simple_maps_manager/
cd maps_managers/easynav_simple_maps_manager
# §5:显式 out-of-source 构建,规避 openEuler cmake 宏的位置参数坑
-# 注:注释行内不得出现“百分号 + cmake”字样——RPM 在注释内仍展开宏,
-# 该宏为多行宏体,会溢出注释把行尾文字当位置参数喂给 cmake,
-# 致 "source directory does not exist"(前轮 build 113756 即踩此坑)。
-mkdir -p .obj
-cd .obj
-%cmake3 \
+# (openEuler 的 cmake 多行宏在注释行内仍被 RPM 展开,行尾文字沦为
+# 位置参数喂给 cmake 致 "source directory does not exist"——build 113756 踩此坑)。
+# 直接调 cmake 并显式传 /opt/ros 前缀,不依赖 openEuler cmake 宏注入默认值。
+mkdir -p .obj && cd .obj
+cmake .. \
-DCMAKE_INSTALL_PREFIX="/opt/ros/%{ros_distro}" \
-DAMENT_PREFIX_PATH="/opt/ros/%{ros_distro}" \
-DCMAKE_PREFIX_PATH="/opt/ros/%{ros_distro}" \
-UINCLUDE_INSTALL_DIR -ULIB_INSTALL_DIR -USYSCONF_INSTALL_DIR -USHARE_INSTALL_PREFIX -ULIB_SUFFIX \
-DSETUPTOOLS_DEB_LAYOUT=OFF \
- -DBUILD_TESTING=OFF -DTESTING=OFF -DCMAKE_SUPPRESS_REGENERATION=ON \
- ..
+ -DBUILD_TESTING=OFF -DTESTING=OFF -DCMAKE_SUPPRESS_REGENERATION=ON
%make_build
%install
diff --git a/sources b/sources
index 1b7cd57..15f3617 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-813e082fd1897b17bd2b923bf55a2da0 easynav-simple-maps-manager-0.5.0.tar.gz
+813e082fd1897b17bd2b923bf55a2da0 easynav-simple-maps-manager-0.5.0-1.tar.gz