summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2026-09-21 02:47:00 +0000
committerCoprDistGit <infra@openeuler.org>2026-09-21 02:47:00 +0000
commitcc8ea95378e030bc7fbfaafac94886594e71c9d3 (patch)
treec962afbf381b22bf8e560a10a68b7d1f063e9a12
parent8b4e3be68de2f2dc489a60f540fe4a92b530efdc (diff)
automatic import of ros-humble-mrpt-libbase
-rw-r--r--mrpt-libbase.spec16
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 \