diff options
Diffstat (limited to 'ros-jazzy-rqt-robot-monitor.spec')
-rw-r--r-- | ros-jazzy-rqt-robot-monitor.spec | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/ros-jazzy-rqt-robot-monitor.spec b/ros-jazzy-rqt-robot-monitor.spec new file mode 100644 index 0000000..886b475 --- /dev/null +++ b/ros-jazzy-rqt-robot-monitor.spec @@ -0,0 +1,91 @@ +%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-rqt-robot-monitor +Version: 1.0.1 +Release: 0%{?dist}%{?release_suffix} +Summary: ROS rqt_robot_monitor package + +License: BSD +URL: http://wiki.ros.org/rqt_robot_monitor +Source0: %{name}-%{version}.tar.gz + +BuildRequires: ros-jazzy-ament-package +Requires: python3-rospkg +Requires: ros-jazzy-diagnostic-msgs +Requires: ros-jazzy-python-qt-binding >= 0.2.19 +Requires: ros-jazzy-qt-gui +Requires: ros-jazzy-qt-gui-py-common +Requires: ros-jazzy-rclpy +Requires: ros-jazzy-rqt-gui +Requires: ros-jazzy-rqt-gui-py +Requires: ros-jazzy-rqt-py-common +BuildRequires: python%{python3_pkgversion}-devel +BuildRequires: ros-jazzy-rosidl-default-generators + +%description +rqt_robot_monitor displays diagnostics_agg topics messages that are published by +diagnostic_aggregator. rqt_robot_monitor is a direct port to rqt of +robot_monitor. All diagnostics are fall into one of three tree panes depending +on the status of diagnostics (normal, warning, error/stale). Status are shown in +trees to represent their hierarchy. Worse status dominates the higher level +status. Ex. 'Computer' category has 3 sub devices. 2 are green but 1 is error. +Then 'Computer' becomes error. You can look at the detail of each status by +double-clicking the tree nodes. Currently re-usable API to other pkgs are not +explicitly provided. + +%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} + +%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 +%py3_install -- --prefix "/opt/ros/jazzy" + +%if 0%{?with_tests} +%check +# 检查是否存在测试目录或文件 +if [ -d "tests" ] || ls test_*.py *_test.py > /dev/null 2>&1; then + # 加载安装目录的 setup.sh 文件(如果存在) + if [ -f "/opt/ros/jazzy/setup.sh" ]; then + . "/opt/ros/jazzy/setup.sh" + fi + %__python3 -m pytest tests || echo "RPM TESTS FAILED" +else + echo "No tests to run, skipping." +fi +%endif + +%files +/opt/ros/jazzy/* + +%changelog +* Mon Jan 06 2025 Aaron Blasdel <ablasdel@gmail.com> - 1.0.1-0 +- Autogenerated by Bloom |