diff options
| author | CoprDistGit <infra@openeuler.org> | 2026-09-20 03:47:54 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2026-09-20 03:47:54 +0000 |
| commit | 5a31f983d499a5b70bb07b722742173e7dd43646 (patch) | |
| tree | 6d3de3d914b4dbcb659f710ce075c5a64bc39751 | |
| parent | 2481be3981079276a16047d028d89defe6836b81 (diff) | |
automatic import of ros-humble-clips-vendor
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | clips-vendor.spec | 37 | ||||
| -rw-r--r-- | sources | 3 |
3 files changed, 40 insertions, 1 deletions
@@ -1 +1,2 @@ /clips-vendor-6.4.4-1.tar.gz +/ament-cmake-vendor-package-1.3.14.tar.gz diff --git a/clips-vendor.spec b/clips-vendor.spec index b0d9f73..1ae4b53 100644 --- a/clips-vendor.spec +++ b/clips-vendor.spec @@ -9,6 +9,8 @@ Summary: Vendor package for the CLIPS rule based production system License: MIT-0 URL: https://github.com/carologistics/clips_vendor/tree/main Source0: %{RosPkgName}-%{src_version}.tar.gz +# ament_cmake_vendor_package cmake 模块(绕过 aarch64 RPM 的 python3-vcstool 缺口依赖) +Source1: ament-cmake-vendor-package-1.3.14.tar.gz %global debug_package %{nil} %global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g') @@ -17,10 +19,12 @@ Source0: %{RosPkgName}-%{src_version}.tar.gz BuildRequires: cmake BuildRequires: ros-%{ros_distro}-ament-cmake +BuildRequires: git 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} @@ -32,6 +36,39 @@ 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' +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' +set(PACKAGE_VERSION "1.3.14") +if("${PACKAGE_FIND_VERSION}" VERSION_LESS_EQUAL "${PACKAGE_VERSION}") + set(PACKAGE_VERSION_COMPATIBLE TRUE) + if("${PACKAGE_FIND_VERSION}" VERSION_EQUAL "${PACKAGE_VERSION}") + set(PACKAGE_VERSION_EXACT TRUE) + endif() +endif() +EOF +rm -rf "${_ACVP_DIR}" + +# 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} @@ -1 +1,2 @@ -c7abf34ef2938ab354b62abddb09bae0 clips-vendor-6.4.4-1.tar.gz +962cb9cd1125255aa3d2cec74f89b4b0 ament-cmake-vendor-package-1.3.14.tar.gz +65a639a13062bea90bda3addcec1d51b clips-vendor-6.4.4-1.tar.gz |
