summaryrefslogtreecommitdiff
path: root/as2-behaviors-perception.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2026-10-10 08:40:09 +0000
committerCoprDistGit <infra@openeuler.org>2026-10-10 08:40:09 +0000
commitb6892947af05be57e7b3ff8b2680a475e2b59bfb (patch)
tree714e61f965a4401731b32a8d77cad86c9712f783 /as2-behaviors-perception.spec
parent2e48ce0c105f691243bd5bd9b09c843e1a73c9e4 (diff)
automatic import of ros-humble-as2-behaviors-perception
Diffstat (limited to 'as2-behaviors-perception.spec')
-rw-r--r--as2-behaviors-perception.spec137
1 files changed, 74 insertions, 63 deletions
diff --git a/as2-behaviors-perception.spec b/as2-behaviors-perception.spec
index 87936f8..e32525b 100644
--- a/as2-behaviors-perception.spec
+++ b/as2-behaviors-perception.spec
@@ -1,6 +1,7 @@
%define ros_distro humble
%define RosPkgName as2-behaviors-perception
-%global commit 19c397309c6a41b279e6b551818ec12605cfcecc
+
+%global commit a99bf828ba068ec7d975bd4693de9516b60bfd80
Name: ros-%{ros_distro}-%{RosPkgName}
Version: 1.1.3
@@ -8,92 +9,102 @@ Release: 1%{?dist}
Summary: AS2 Behavior for object perception using a modular plugin-based pipeline
License: BSD-3-Clause
URL: https://github.com/aerostack2/aerostack2
-Source0: https://github.com/aerostack2/aerostack2/archive/%{commit}.tar.gz#/aerostack2-%{commit}.tar.gz
+Source0: https://github.com/aerostack2/aerostack2/archive/%{commit}.tar.gz
+# debug 子包无意义(/opt 前缀,strip/debugedit 路径非常规),SIG 模板统一关闭
%global debug_package %{nil}
+# /opt 下 python 字节码编译会写标准 sitelib 路径,摘掉 brp-python-bytecompile
%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g')
+# ROS 包不做自动依赖扫描(.so 全在 /opt/ros 下,由 ament 间接依赖模型替代)
%global __provides_exclude_from ^/opt/ros/%{ros_distro}/.*$
%global __requires_exclude_from ^/opt/ros/%{ros_distro}/.*$
-BuildRequires: ros-%{ros_distro}-ament-cmake
-BuildRequires: ros-%{ros_distro}-ament-cmake-ros
-BuildRequires: ros-%{ros_distro}-rclcpp
-BuildRequires: ros-%{ros_distro}-rclcpp-action
-BuildRequires: ros-%{ros_distro}-action-msgs
-BuildRequires: ros-%{ros_distro}-pluginlib
-BuildRequires: ros-%{ros_distro}-as2-core
-BuildRequires: ros-%{ros_distro}-as2-behavior
-BuildRequires: ros-%{ros_distro}-as2-msgs
-BuildRequires: ros-%{ros_distro}-as2-usb-camera-interface
-BuildRequires: ros-%{ros_distro}-sensor-msgs
-BuildRequires: ros-%{ros_distro}-geometry-msgs
-BuildRequires: ros-%{ros_distro}-std-msgs
-BuildRequires: ros-%{ros_distro}-cv-bridge
-BuildRequires: ros-%{ros_distro}-visualization-msgs
-BuildRequires: ros-%{ros_distro}-tf2
-BuildRequires: opencv
-BuildRequires: cmake
-BuildRequires: gcc-c++
-
-Requires: ros-%{ros_distro}-ros-workspace
-Requires: ros-%{ros_distro}-ament-cmake
-Requires: ros-%{ros_distro}-rclcpp
-Requires: ros-%{ros_distro}-rclcpp-action
-Requires: ros-%{ros_distro}-action-msgs
-Requires: ros-%{ros_distro}-pluginlib
-Requires: ros-%{ros_distro}-as2-core
-Requires: ros-%{ros_distro}-as2-behavior
-Requires: ros-%{ros_distro}-as2-msgs
-Requires: ros-%{ros_distro}-as2-usb-camera-interface
-Requires: ros-%{ros_distro}-sensor-msgs
-Requires: ros-%{ros_distro}-geometry-msgs
-Requires: ros-%{ros_distro}-std-msgs
-Requires: ros-%{ros_distro}-cv-bridge
-Requires: ros-%{ros_distro}-visualization-msgs
-Requires: ros-%{ros_distro}-tf2
-
-Provides: %{name}-devel = %{version}-%{release}
-Provides: %{name}-doc = %{version}-%{release}
-Provides: %{name}-runtime = %{version}-%{release}
+BuildRequires: cmake
+BuildRequires: gcc-c++
+BuildRequires: make
+
+# ROS 构建工具
+BuildRequires: ros-%{ros_distro}-ament-cmake
+BuildRequires: ros-%{ros_distro}-ament-cmake-ros
+
+# ROS 依赖(SIG 源已有)
+BuildRequires: ros-%{ros_distro}-pluginlib
+BuildRequires: ros-%{ros_distro}-rclcpp
+BuildRequires: ros-%{ros_distro}-rclcpp-action
+BuildRequires: ros-%{ros_distro}-action-msgs
+BuildRequires: ros-%{ros_distro}-sensor-msgs
+BuildRequires: ros-%{ros_distro}-geometry-msgs
+BuildRequires: ros-%{ros_distro}-cv-bridge
+BuildRequires: ros-%{ros_distro}-visualization-msgs
+BuildRequires: ros-%{ros_distro}-tf2
+BuildRequires: ros-%{ros_distro}-std-msgs
+
+# ROS 依赖(同 COPR project / additional_repos,aerostack2 monorepo 同源包)
+BuildRequires: ros-%{ros_distro}-as2-core
+BuildRequires: ros-%{ros_distro}-as2-behavior
+BuildRequires: ros-%{ros_distro}-as2-msgs
+BuildRequires: ros-%{ros_distro}-as2-usb-camera-interface
+
+# 系统依赖
+BuildRequires: opencv
+
+# 运行时 Requires(/opt/ros 被 __requires_exclude_from 豁免,autodeps 扫不到,必须手写)
+Requires: ros-%{ros_distro}-ros-workspace
+Requires: ros-%{ros_distro}-ament-cmake
+Requires: ros-%{ros_distro}-pluginlib
+Requires: ros-%{ros_distro}-rclcpp
+Requires: ros-%{ros_distro}-rclcpp-action
+Requires: ros-%{ros_distro}-action-msgs
+Requires: ros-%{ros_distro}-as2-core
+Requires: ros-%{ros_distro}-as2-behavior
+Requires: ros-%{ros_distro}-as2-msgs
+Requires: ros-%{ros_distro}-as2-usb-camera-interface
+Requires: ros-%{ros_distro}-sensor-msgs
+Requires: ros-%{ros_distro}-geometry-msgs
+Requires: ros-%{ros_distro}-cv-bridge
+Requires: ros-%{ros_distro}-visualization-msgs
+Requires: ros-%{ros_distro}-tf2
+Requires: ros-%{ros_distro}-std-msgs
+
+# 单包策略:虚拟别名兼容依赖方
+Provides: %{name}-devel = %{version}-%{release}
+Provides: %{name}-doc = %{version}-%{release}
+Provides: %{name}-runtime = %{version}-%{release}
%description
AS2 Behavior for object perception using a modular plugin-based pipeline.
-Part of the Aerostack2 framework for autonomous aerial robots.
+This package is part of the Aerostack2 framework, a ROS 2 framework for
+autonomous multi-aerial-robot systems.
%prep
-%autosetup -n aerostack2-%{commit}
+%autosetup -n %{name}-%{version}
%build
-source /opt/ros/%{ros_distro}/setup.sh 2>/dev/null || true
+# ROS 基座环境
+[ -f /opt/ros/%{ros_distro}/setup.sh ] && source /opt/ros/%{ros_distro}/setup.sh || 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}
+# monorepo 子包,进入实际构建目录
cd as2_behaviors/as2_behaviors_object_perception
-mkdir -p .obj
-cd .obj
+mkdir -p .obj && cd .obj
%cmake3 \
- -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 \
- -DSETUPTOOLS_DEB_LAYOUT=OFF \
- -DBUILD_TESTING=OFF \
- -DTESTING=OFF \
- -DCMAKE_SUPPRESS_REGENERATION=ON \
- ..
+ -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 \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DBUILD_TESTING=OFF \
+ ..
make %{?_smp_mflags}
%install
-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}
-
cd as2_behaviors/as2_behaviors_object_perception/.obj
make install DESTDIR=%{buildroot}
%files
-/opt/ros/%{ros_distro}/
+/opt/ros/%{ros_distro}
%changelog
-* Sun Sep 20 2026 Kiro AI Importer <ai-importer@openeuler.org> - 1.1.3-1
-- 初始引入 ros-humble-as2-behaviors-perception 1.1.3
+* Sat Oct 10 2026 ROS SIG <ros-sig@openeuler.org> - 1.1.3-1
+- Initial RPM package for as2-behaviors-perception (Aerostack2 monorepo)