summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--easynav-mppi-controller.spec23
1 files changed, 16 insertions, 7 deletions
diff --git a/easynav-mppi-controller.spec b/easynav-mppi-controller.spec
index fc41e45..3e5f3e9 100644
--- a/easynav-mppi-controller.spec
+++ b/easynav-mppi-controller.spec
@@ -18,10 +18,13 @@ URL: https://github.com/EasyNavigation/easynav_plugins
# 源码取自 humble 分支 HEAD(branch 快照,无 0.5.0 tag)。target_version=0.5.0-1
# 已由 manifest/gate 给定,Version 取 0.5.0(剥离发布号 -1);记录实际 commit 以保可追溯。
# commit 为 ros_fetch checkout 后实测的 HEAD(git rev-parse),非占位值。
-# 归档解压根目录:GitHub archive/<full-sha>.tar.gz(commit 归档)解压根目录是
-# 纯完整 commit SHA(如 703b73ae...),既非 <repo>-<sha> 也非 <repo>-<shortsha7>
-# (spec-rules-ros §2 实测纪律;build 113779 实踩:-n easynav_plugins-<sha> 导致
-# %prep cd 失败,本地 tar tzf build/SOURCES/703b73a*.tar.gz 顶层目录确认为纯 SHA)。
+# 解压根目录 = {RosPkgName}-{version}-{release_base}(非纯 commit SHA)。
+# submit_fix.py _ensure_tarball 用 tar --transform s|^./sources/<pkg>|<pkg>-<ver>|
+# 重打 tarball,顶层目录 = easynav-mppi-controller-0.5.0-1(gate_version=0.5.0-1)。
+# SRPM 内 %{commit}.tar.gz 与 %{RosPkgName}-%{version}-1.tar.gz 硬链接同 inode
+# (ls -i 实证 inode 788181),故解压根目录一致。
+# build 113779(-n easynav_plugins-%{commit})和 113789(-n %{commit})均在 %prep
+# cd 失败:tar tzf 实测顶层目录为 easynav-mppi-controller-0.5.0-1,非任一猜测值。
%global commit 703b73ae55bf6a419bf309b26084ca523b063ddf
Source0: https://github.com/EasyNavigation/easynav_plugins/archive/%{commit}.tar.gz
@@ -94,8 +97,9 @@ a pluginlib plugin (easynav::MPPIController, base easynav::ControllerMethodBase)
via easynav_core.
%prep
-# 解压根目录 = 纯完整 commit SHA(本地 tar tzf 实测 build/SOURCES,spec-rules §2)
-%autosetup -n %{commit}
+# 解压根目录 = %{RosPkgName}-%{version}-1(submit_fix _ensure_tarball --transform
+# 重打 tarball 顶层目录为 {pkg}-{gate_version},SRPM 内 %{commit}.tar.gz 硬链接同 inode)
+%autosetup -n %{RosPkgName}-%{version}-1
%build
# ROS 基座环境(spec-rules §4):setup.sh 用 [ -f ] 守卫,避免无 ROS 依赖 chroot 中止脚本
@@ -132,4 +136,9 @@ make install DESTDIR=%{buildroot}
- ament_cmake shared library, pluginlib plugin via easynav_core
- Single-package policy with virtual devel/doc/runtime Provides
- Fix round 1 (build 113779): %autosetup -n easynav_plugins-<sha> → -n %{commit}
- GitHub commit 归档解压根目录为纯完整 SHA(tar tzf 实测确认),非 <repo>-<sha>
+ (误判:本地 tar tzf 读到的是 submit_fix 重打后的 tarball,非 GitHub 原始归档)
+- Fix round 2 (build 113789): -n %{commit} → -n %{RosPkgName}-%{version}-1
+ 根因:submit_fix.py _ensure_tarball 用 tar --transform 重打 tarball,顶层目录
+ = {pkg}-{gate_version} = easynav-mppi-controller-0.5.0-1,非纯 SHA。
+ SRPM 内 %{commit}.tar.gz 与其硬链接同 inode(实证),解压根目录一致。
+ tar tzf 确认顶层目录为 easynav-mppi-controller-0.5.0-1/。