blob: 320ca57271a41bdbc3a092f7e8145ff762025b9a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
%bcond_without tests
%bcond_without weak_deps
%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g')
%global __provides_exclude_from ^/opt/ros/jazzy/.*$
%global __requires_exclude_from ^/opt/ros/jazzy/.*$
%global debug_package %{nil}
Name: ros-jazzy-robot-calibration
Version: 0.10.0
Release: 0%{?dist}%{?release_suffix}
Summary: ROS robot_calibration package
License: Apache2
URL: http://ros.org/wiki/robot_calibration
Source0: %{name}-%{version}.tar.gz
BuildRequires: ros-jazzy-ament-package
Requires: ceres-solver-devel
Requires: gflags-devel
Requires: orocos-kdl-devel
Requires: protobuf-devel
Requires: ros-jazzy-camera-calibration-parsers
Requires: ros-jazzy-control-msgs
Requires: ros-jazzy-cv-bridge
Requires: ros-jazzy-geometric-shapes
Requires: ros-jazzy-geometry-msgs
Requires: ros-jazzy-kdl-parser
Requires: ros-jazzy-moveit-msgs
Requires: ros-jazzy-nav-msgs
Requires: ros-jazzy-pluginlib
Requires: ros-jazzy-rclcpp
Requires: ros-jazzy-rclcpp-action
Requires: ros-jazzy-robot-calibration-msgs
Requires: ros-jazzy-rosbag2-cpp
Requires: ros-jazzy-sensor-msgs
Requires: ros-jazzy-std-msgs
Requires: ros-jazzy-tf2-geometry-msgs
Requires: ros-jazzy-tf2-ros
Requires: ros-jazzy-tinyxml2-vendor
Requires: ros-jazzy-visualization-msgs
Requires: suitesparse
Requires: tinyxml2-devel
Requires: yaml-cpp-devel
BuildRequires: boost-devel
BuildRequires: ceres-solver-devel
BuildRequires: eigen3-devel
BuildRequires: gflags-devel
BuildRequires: orocos-kdl-devel
BuildRequires: protobuf-devel
BuildRequires: ros-jazzy-ament-cmake
BuildRequires: ros-jazzy-camera-calibration-parsers
BuildRequires: ros-jazzy-control-msgs
BuildRequires: ros-jazzy-cv-bridge
BuildRequires: ros-jazzy-geometric-shapes
BuildRequires: ros-jazzy-geometry-msgs
BuildRequires: ros-jazzy-kdl-parser
BuildRequires: ros-jazzy-moveit-msgs
BuildRequires: ros-jazzy-nav-msgs
BuildRequires: ros-jazzy-pluginlib
BuildRequires: ros-jazzy-rclcpp
BuildRequires: ros-jazzy-rclcpp-action
BuildRequires: ros-jazzy-robot-calibration-msgs
BuildRequires: ros-jazzy-rosbag2-cpp
BuildRequires: ros-jazzy-sensor-msgs
BuildRequires: ros-jazzy-std-msgs
BuildRequires: ros-jazzy-tf2-geometry-msgs
BuildRequires: ros-jazzy-tf2-ros
BuildRequires: ros-jazzy-tinyxml2-vendor
BuildRequires: ros-jazzy-visualization-msgs
BuildRequires: suitesparse
BuildRequires: tinyxml2-devel
BuildRequires: yaml-cpp-devel
%if 0%{?with_tests}
BuildRequires: ros-jazzy-ament-cmake-gtest
BuildRequires: ros-jazzy-launch
BuildRequires: ros-jazzy-launch-ros
BuildRequires: ros-jazzy-launch-testing
BuildRequires: ros-jazzy-ament-package
%endif
%description
Calibrate a Robot
%prep
%autosetup -p1
%build
# 修复 PYTHONPATH 环境变量
export PYTHONPATH=/opt/ros/jazzy/lib/python3.11/site-packages:$PYTHONPATH
# 修复 CMAKE_PREFIX_PATH 和 PKG_CONFIG_PATH
export CMAKE_PREFIX_PATH=/opt/ros/jazzy
export PKG_CONFIG_PATH=/opt/ros/jazzy/lib/pkgconfig
export rcutils_DIR=/opt/ros/jazzy/opt/ros/jazzy/share/rcutils/cmake
# 输出环境变量以验证设置
echo "PYTHONPATH: $PYTHONPATH"
echo "CMAKE_PREFIX_PATH: $CMAKE_PREFIX_PATH"
echo "PKG_CONFIG_PATH: $PKG_CONFIG_PATH"
# 验证 ament_package 是否可用
python3 -c "import ament_package" || { echo "ament_package not found"; exit 1; }
# 创建构建目录并进入
mkdir -p .obj-%{_target_platform} && cd .obj-%{_target_platform}
%cmake3 \
-UINCLUDE_INSTALL_DIR \
-ULIB_INSTALL_DIR \
-USYSCONF_INSTALL_DIR \
-USHARE_INSTALL_PREFIX \
-ULIB_SUFFIX \
-DCMAKE_INSTALL_PREFIX="/opt/ros/jazzy" \
-DAMENT_PREFIX_PATH="/opt/ros/jazzy" \
-DCMAKE_PREFIX_PATH="/opt/ros/jazzy" \
-DSETUPTOOLS_DEB_LAYOUT=OFF \
%if !0%{?with_tests}
-DBUILD_TESTING=OFF \
%endif
..
%make_build
%install
# In case we're installing to a non-standard location, look for a setup.sh
# in the install tree and source it. It will set things like
# CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH.
if [ -f "/opt/ros/jazzy/setup.sh" ]; then . "/opt/ros/jazzy/setup.sh"; fi
%make_install -C .obj-%{_target_platform}
%if 0%{?with_tests}
%check
# 检查是否存在测试目录或文件
if [ -d "tests" ] || ls test_*.py *_test.py > /dev/null 2>&1; then
%__python3 -m pytest tests || echo "RPM TESTS FAILED"
else
echo "No tests to run, skipping."
fi
%endif
%files
/opt/ros/jazzy/*
%changelog
* Tue Jan 07 2025 Michael Ferguson <mike@vanadiumlabs.com> - 0.10.0-0
- Autogenerated by Bloom
|