summaryrefslogtreecommitdiff
path: root/easynav-simple-localizer.spec
diff options
context:
space:
mode:
Diffstat (limited to 'easynav-simple-localizer.spec')
-rw-r--r--easynav-simple-localizer.spec25
1 files changed, 20 insertions, 5 deletions
diff --git a/easynav-simple-localizer.spec b/easynav-simple-localizer.spec
index c7bbd62..5ab1df1 100644
--- a/easynav-simple-localizer.spec
+++ b/easynav-simple-localizer.spec
@@ -9,6 +9,10 @@
# Name 展开须等于 ros-humble-easynav-simple-localizer(verify_ros_spec_deps.py 机械校验)。
%define ros_distro humble
%define RosPkgName easynav-simple-localizer
+# 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)。
+%define src_version 0.5.0-1
Name: ros-%{ros_distro}-%{RosPkgName}
Version: 0.5.0
@@ -17,9 +21,17 @@ Summary: Easy Navigation: Simple Localizer package
License: Apache-2.0
URL: https://github.com/EasyNavigation/easynav_plugins
# Source0 用 tag 0.5.0 归档(target_version=0.5.0-1,git describe=0.5.0,HEAD 恰命中 tag)。
-# 实测归档根目录名为 easynav_plugins-0.5.0(tar 内首项已确认),故 autosetup -n 取
-# easynav_plugins-<版本>,不随包名联动改写(spec-rules-ros.md §2 Source0 归档解压目录名)。
-Source0: https://github.com/EasyNavigation/easynav_plugins/archive/refs/tags/0.5.0.tar.gz
+# 构建系统不下载 GitHub 归档,而是对 sources/<pkg>/ 的 git clone 执行
+# tar --transform s|^./sources/<pkg>|<top>|
+# 其中 <top> = Source0 落地文件名去 .tar.gz 后缀。故 Source0 的 basename 即解压根目录名。
+# 修复重提走 submit_fix._ensure_tarball,它固定按 <pkg>-<gate_version> 命名 tarball
+# (gate_version = gate_result.result.version = 0.5.0-1),与上面 src_version 定义同源。
+# 因此用 #/<basename> 强制重定向 Source0 落地文件名为 RosPkgName-src_version.tar.gz 形式
+# (= easynav-simple-localizer-0.5.0-1.tar.gz),使 rpmbuild -bs 取的源文件名与
+# submit_fix 重打的 tarball 名一致;autosetup 的 -n 同取该名(见下文 prep 段)。
+# 初版误用裸 tag URL(basename=0.5.0.tar.gz)却写 -n easynav_plugins-0.5.0,
+# 二者不符致 prep 段 cd 失败(build 113753)——本版修正。
+Source0: https://github.com/EasyNavigation/easynav_plugins/archive/refs/tags/0.5.0.tar.gz#/%{RosPkgName}-%{src_version}.tar.gz
# §2:/opt 前缀下 debug 子包无意义(strip/debugedit 路径非常规),SIG 模板统一关闭
%global debug_package %{nil}
@@ -86,8 +98,11 @@ plugin for the Easy Navigation framework, built as an ament_cmake ROS 2 componen
installed under /opt/ros/%{ros_distro}.
%prep
-# §2:归档根目录 easynav_plugins-0.5.0 已实测确认(tar 内首项);-n 不随包名联动改写
-%autosetup -n easynav_plugins-%{version}
+# §2:解压根目录 = Source0 basename 去 .tar.gz = RosPkgName-src_version
+# (展开后 easynav-simple-localizer-0.5.0-1;构建系统 tar --transform 重命名源码根为该名,
+# 非上游 GitHub 归档的自然目录)。
+# -n 与 Source0 basename、submit_fix 重打 tarball 三处同源,不随包名联动改写。
+%autosetup -n %{RosPkgName}-%{src_version}
%build
# §4 ROS 基座环境(chroot 已配 ROS SIG repo;setup.sh 用 [ -f ] 守卫,严格 sh 下不中止,