blob: 3762a888e0e441317440027ce764980844bb5e45 (
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
|
%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-dynamixel-workbench
Version: 2.2.3
Release: 0%{?dist}%{?release_suffix}
Summary: ROS dynamixel_workbench package
License: Apache 2.0
URL: http://wiki.ros.org/dynamixel_workbench
Source0: %{name}-%{version}.tar.gz
BuildRequires: ros-jazzy-ament-package
Requires: ros-jazzy-dynamixel-workbench-toolbox
BuildRequires: ros-jazzy-ament-cmake
%description
Dynamixel-Workbench is dynamixel solution for ROS. This metapackage allows you
to easily change the ID, baudrate and operating mode of the Dynamixel.
Furthermore, it supports various controllers based on operating mode and
Dynamixel SDK. These controllers are commanded by operators.
%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
* Fri Dec 27 2024 Will Son <willson@robotis.com> - 2.2.3-0
- Autogenerated by Bloom
|