diff options
| author | CoprDistGit <infra@openeuler.org> | 2026-09-20 03:52:54 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2026-09-20 03:52:54 +0000 |
| commit | 6d2cc75a8ab198341065bf204a1492c0113982c4 (patch) | |
| tree | 240b6cbf4467a229121ca3d27339564df3e7f32b | |
| parent | 5a31f983d499a5b70bb07b722742173e7dd43646 (diff) | |
automatic import of ros-humble-clips-vendoropeneuler24.03_LTS_SP3
| -rw-r--r-- | clips-vendor.spec | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/clips-vendor.spec b/clips-vendor.spec index 1ae4b53..bad3eab 100644 --- a/clips-vendor.spec +++ b/clips-vendor.spec @@ -24,7 +24,6 @@ BuildRequires: unzip Requires: ros-%{ros_distro}-ros-workspace Requires: ros-%{ros_distro}-ament-cmake -Requires: ros-%{ros_distro}-ament-cmake-vendor-package Provides: %{name}-devel = %{version}-%{release} Provides: %{name}-doc = %{version}-%{release} @@ -36,25 +35,34 @@ Vendor package for the CLIPS rule based production system %prep %autosetup -n %{RosPkgName}-%{src_version} -# 手动安装 ament_cmake_vendor_package cmake 模块文件到 ROS 前缀, -# 绕过官方 aarch64 RPM 错误声明的 Requires: python3-vcstool(该包在 openEuler 24.03 SP3 不存在) -_ACVP_DIR=$(mktemp -d) -tar xzf %{SOURCE1} -C "${_ACVP_DIR}" -_SHARE_DIR="/opt/ros/%{ros_distro}/share/ament_cmake_vendor_package" -install -d "${_SHARE_DIR}/cmake/templates" -install -m 644 "${_ACVP_DIR}"/ament-cmake-vendor-package-1.3.14/cmake/ament_vendor.cmake \ - "${_SHARE_DIR}/cmake/" -install -m 644 "${_ACVP_DIR}"/ament-cmake-vendor-package-1.3.14/cmake/templates/*.in \ - "${_SHARE_DIR}/cmake/templates/" -install -m 644 "${_ACVP_DIR}"/ament-cmake-vendor-package-1.3.14/ament_cmake_vendor_package-extras.cmake \ - "${_SHARE_DIR}/cmake/" -# 生成最小 Config.cmake(让 find_package(ament_cmake_vendor_package) 找到模块) -cat > "${_SHARE_DIR}/cmake/ament_cmake_vendor_packageConfig.cmake" << 'EOF' +# patch CMakeLists.txt:将 SATISFIED FALSE 改为 SATISFIED TRUE, +# 跳过网络下载 CLIPS C 源码(COPR 构建环境网络隔离,无法访问外网) +sed -i 's/SATISFIED FALSE/SATISFIED TRUE/g' CMakeLists.txt + +%build +source /opt/ros/%{ros_distro}/setup.sh 2>/dev/null || 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} + +# 将 ament_cmake_vendor_package cmake 模块解压到构建目录内的临时前缀, +# 避免在 %prep 阶段向 /opt/ros(无写权限)写文件 +_ACVP_PREFIX="%{_builddir}/acvp_prefix" +_ACVP_SHARE="${_ACVP_PREFIX}/share/ament_cmake_vendor_package/cmake" +install -d "${_ACVP_SHARE}/templates" +_ACVP_TMP=$(mktemp -d) +tar xzf %{SOURCE1} -C "${_ACVP_TMP}" +install -m 644 "${_ACVP_TMP}"/ament-cmake-vendor-package-1.3.14/cmake/ament_vendor.cmake \ + "${_ACVP_SHARE}/" +install -m 644 "${_ACVP_TMP}"/ament-cmake-vendor-package-1.3.14/cmake/templates/*.in \ + "${_ACVP_SHARE}/templates/" +install -m 644 "${_ACVP_TMP}"/ament-cmake-vendor-package-1.3.14/ament_cmake_vendor_package-extras.cmake \ + "${_ACVP_SHARE}/" +cat > "${_ACVP_SHARE}/ament_cmake_vendor_packageConfig.cmake" << 'EOF' set(ament_cmake_vendor_package_VERSION "1.3.14") set(ament_cmake_vendor_package_DIR "${CMAKE_CURRENT_LIST_DIR}") include("${CMAKE_CURRENT_LIST_DIR}/ament_cmake_vendor_package-extras.cmake") EOF -cat > "${_SHARE_DIR}/cmake/ament_cmake_vendor_packageConfig-version.cmake" << 'EOF' +cat > "${_ACVP_SHARE}/ament_cmake_vendor_packageConfig-version.cmake" << 'EOF' set(PACKAGE_VERSION "1.3.14") if("${PACKAGE_FIND_VERSION}" VERSION_LESS_EQUAL "${PACKAGE_VERSION}") set(PACKAGE_VERSION_COMPATIBLE TRUE) @@ -63,24 +71,16 @@ if("${PACKAGE_FIND_VERSION}" VERSION_LESS_EQUAL "${PACKAGE_VERSION}") endif() endif() EOF -rm -rf "${_ACVP_DIR}" +rm -rf "${_ACVP_TMP}" -# patch CMakeLists.txt:将 SATISFIED FALSE 改为 SATISFIED TRUE, -# 跳过网络下载 CLIPS C 源码(COPR 构建环境网络隔离,无法访问外网) -sed -i 's/SATISFIED FALSE/SATISFIED TRUE/g' CMakeLists.txt - -%build -source /opt/ros/%{ros_distro}/setup.sh 2>/dev/null || 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} mkdir -p .obj && cd .obj -%cmake3 \ +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 \ + -DCMAKE_PREFIX_PATH="${_ACVP_PREFIX};/opt/ros/%{ros_distro}" \ -DSETUPTOOLS_DEB_LAYOUT=OFF \ -DBUILD_TESTING=OFF -DTESTING=OFF -DCMAKE_SUPPRESS_REGENERATION=ON \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ .. make %{?_smp_mflags} |
