diff options
| author | CoprDistGit <infra@openeuler.org> | 2026-09-21 02:47:00 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2026-09-21 02:47:00 +0000 |
| commit | cc8ea95378e030bc7fbfaafac94886594e71c9d3 (patch) | |
| tree | c962afbf381b22bf8e560a10a68b7d1f063e9a12 | |
| parent | 8b4e3be68de2f2dc489a60f540fe4a92b530efdc (diff) | |
automatic import of ros-humble-mrpt-libbase
| -rw-r--r-- | mrpt-libbase.spec | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/mrpt-libbase.spec b/mrpt-libbase.spec index fe920a3..c41f86c 100644 --- a/mrpt-libbase.spec +++ b/mrpt-libbase.spec @@ -52,16 +52,20 @@ Mobile Robot Programming Toolkit (MRPT) libraries (core C++ libraries). %prep %autosetup -n %{RosPkgName}-%{src_version} +# Patch CMakeLists.txt: remove the HOME==/home/buildfarm guard so pre-populated +# source is reused in COPR (where HOME is /home/buildfarm) as well. +sed -i 's/AND (NOT "\$ENV{HOME}" STREQUAL "\/home\/buildfarm")//' \ + mrpt_libbase/CMakeLists.txt # Pre-populate the ExternalProject SOURCE_DIR so cmake does not attempt a git clone. -# CMakeLists.txt checks: ${CMAKE_BINARY_DIR}/../mrpt_libbase/mrpt-build/src/mrpt/CMakeLists.txt -# With CMAKE_BINARY_DIR = <builddir>/mrpt_libbase/.obj the resolved path is: +# After the patch, the skip condition is: +# EXISTS ${CMAKE_BINARY_DIR}/../mrpt_libbase/mrpt-build/src/mrpt/CMakeLists.txt +# AND "${CURRENT_DOWNLOADED_MRPT_VERSION}" STREQUAL "${MRPT_VERSION_TO_DOWNLOAD}" +# CMAKE_BINARY_DIR = <builddir>/mrpt_libbase/.obj, so resolved path: # <builddir>/mrpt_libbase/mrpt-build/src/mrpt/ mkdir -p mrpt_libbase/mrpt-build/src tar -xzf %{SOURCE1} -C mrpt_libbase/mrpt-build/src mv mrpt_libbase/mrpt-build/src/mrpt-%{mrpt_version} mrpt_libbase/mrpt-build/src/mrpt -# Write the version cache file so cmake treats the pre-populated tree as current -# VERSION_CACHE = ${CMAKE_BINARY_DIR}/../mrpt_libbase/mrpt-build/MRPT_VERSION_TO_DOWNLOAD.txt -# CMAKE_BINARY_DIR = <srcdir>/mrpt_libbase/.obj,所以实际路径为 mrpt_libbase/mrpt-build/ +# Version cache: cmake reads ${CMAKE_BINARY_DIR}/../mrpt_libbase/mrpt-build/MRPT_VERSION_TO_DOWNLOAD.txt echo -n "%{mrpt_version}" > mrpt_libbase/mrpt-build/MRPT_VERSION_TO_DOWNLOAD.txt # Override the version cmake reads from package.xml to match the pre-fetched source echo 'set(MRPT_VERSION_TO_DOWNLOAD "%{mrpt_version}")' > override_mrpt_version.cmake @@ -70,8 +74,6 @@ echo 'set(MRPT_VERSION_TO_DOWNLOAD "%{mrpt_version}")' > override_mrpt_version.c [ -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} -# CMakeLists.txt 仅当 HOME==/home/buildfarm 时才触发 git clone; -# COPR 环境 HOME=/root,条件不成立,cmake 自动复用 %prep 预置的源码,无需修改 HOME。 cd mrpt_libbase mkdir -p .obj && cd .obj %cmake3 \ |
