summaryrefslogtreecommitdiff
path: root/easynav-mpc-controller.spec
diff options
context:
space:
mode:
Diffstat (limited to 'easynav-mpc-controller.spec')
-rw-r--r--easynav-mpc-controller.spec19
1 files changed, 12 insertions, 7 deletions
diff --git a/easynav-mpc-controller.spec b/easynav-mpc-controller.spec
index b0e914c..b19a83e 100644
--- a/easynav-mpc-controller.spec
+++ b/easynav-mpc-controller.spec
@@ -109,25 +109,29 @@ export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packa
export PKG_CONFIG_PATH=/opt/ros/%{ros_distro}/lib/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
# 多包仓库:仅构建目标包子目录 controllers/easynav_mpc_controller
-# ament_cmake 形态显式 out-of-source(spec-rules §5),避免 openEuler %cmake 宏位置参数坑
+# ament_cmake 形态显式 out-of-source(spec-rules §5),规避 openEuler cmake 宏位置参数坑
+# 注意:注释中严禁出现百分号+字母组合(RPM 会做宏展开注入实际命令)
cd controllers/easynav_mpc_controller
-mkdir -p .obj
-cd .obj
-%cmake3 .. \
+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
-%make_build
+ -DBUILD_TESTING=OFF -DTESTING=OFF -DCMAKE_SUPPRESS_REGENERATION=ON \
+ ..
+make %{?_smp_mflags}
%install
+[ -f /opt/ros/%{ros_distro}/setup.sh ] && source /opt/ros/%{ros_distro}/setup.sh || true
+export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages${PYTHONPATH:+:$PYTHONPATH}
+export PKG_CONFIG_PATH=/opt/ros/%{ros_distro}/lib/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
cd controllers/easynav_mpc_controller/.obj
make install DESTDIR=%{buildroot}
%files
-# %files 整树拥有(spec-rules §7):对「装了没打包」类错误免疫
+# files 整树拥有(spec-rules §7):对「装了没打包」类错误免疫
/opt/ros/%{ros_distro}
%changelog
@@ -136,3 +140,4 @@ make install DESTDIR=%{buildroot}
- Source: easynav_plugins humble branch snapshot (commit 2580d29)
- NLopt 2.11.0 vendored as Source1 + Patch0 for offline COPR build
- Single-package policy with virtual devel/doc/runtime Provides
+- Fix: 注释中 cmake 宏泄漏导致构建失败,改用直接 cmake 调用(对齐 mhamcl 兄弟包)