summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2026-09-15 15:13:09 +0000
committerCoprDistGit <infra@openeuler.org>2026-09-15 15:13:09 +0000
commitea1489ae878d5b643444565810f880c1c9a76d2d (patch)
treee73d9df41c9bb9c998d4a2627153c4fbbe9825f4
parent28745b3193d53a3b32b997655e4b3d19974c48f4 (diff)
automatic import of ros-humble-gazebo-video-monitor-pluginsopeneuler24.03_LTS
-rw-r--r--.gitignore1
-rw-r--r--gazebo-video-monitor-plugins.spec161
-rw-r--r--sources1
3 files changed, 163 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..4daa791 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/gazebo_video_monitors-0.8.1.tar.gz
diff --git a/gazebo-video-monitor-plugins.spec b/gazebo-video-monitor-plugins.spec
new file mode 100644
index 0000000..bf48d66
--- /dev/null
+++ b/gazebo-video-monitor-plugins.spec
@@ -0,0 +1,161 @@
+%define ros_distro humble
+%define RosPkgName gazebo-video-monitor-plugins
+
+Name: ros-%{ros_distro}-%{RosPkgName}
+Version: 0.8.1
+Release: 1%{?dist}
+Summary: ROS 2 Gazebo plugins for recording simulation videos with multiple camera views
+License: GPLv3
+URL: https://github.com/nlamprian/gazebo_video_monitors
+Source0: https://github.com/nlamprian/gazebo_video_monitors/archive/refs/tags/%{version}.tar.gz#/gazebo_video_monitors-%{version}.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')
+%global __provides_exclude_from ^/opt/ros/%{ros_distro}/.*$
+%global __requires_exclude_from ^/opt/ros/%{ros_distro}/.*$
+
+# ---- 构建工具 ----
+BuildRequires: cmake
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+
+# ---- 来自 ros_pkg_manifest.json official_deps_rpm ----
+BuildRequires: ros-%{ros_distro}-ament-cmake
+BuildRequires: ros-%{ros_distro}-builtin-interfaces
+BuildRequires: ros-%{ros_distro}-rosidl-default-generators
+BuildRequires: ros-%{ros_distro}-rosidl-default-runtime
+BuildRequires: ros-%{ros_distro}-std-srvs
+
+# ---- gazebo_video_monitor_plugins 直接依赖(package.xml <build_depend> / <depend>)----
+BuildRequires: ros-%{ros_distro}-gazebo-dev
+BuildRequires: ros-%{ros_distro}-gazebo-ros
+BuildRequires: ros-%{ros_distro}-rclcpp
+BuildRequires: ros-%{ros_distro}-yaml-cpp-vendor
+
+# ---- gazebo_video_monitor_utils 运行时(ament_python,exec_depend)----
+BuildRequires: ros-%{ros_distro}-gazebo-msgs
+BuildRequires: ros-%{ros_distro}-rclpy
+
+# ---- 运行时 Requires ----
+Requires: ros-%{ros_distro}-ros-workspace
+Requires: ros-%{ros_distro}-ament-cmake
+Requires: ros-%{ros_distro}-builtin-interfaces
+Requires: ros-%{ros_distro}-rosidl-default-runtime
+Requires: ros-%{ros_distro}-std-srvs
+Requires: ros-%{ros_distro}-gazebo-dev
+Requires: ros-%{ros_distro}-gazebo-ros
+Requires: ros-%{ros_distro}-rclcpp
+Requires: ros-%{ros_distro}-yaml-cpp-vendor
+Requires: ros-%{ros_distro}-gazebo-msgs
+Requires: ros-%{ros_distro}-rclpy
+
+Provides: %{name}-devel = %{version}-%{release}
+Provides: %{name}-doc = %{version}-%{release}
+Provides: %{name}-runtime = %{version}-%{release}
+
+%description
+gazebo-video-monitor-plugins is a monorepo containing four ROS 2 packages:
+- gazebo_video_monitor_interfaces: ROS 2 message/service interface definitions
+- gazebo_video_monitor_plugins: Gazebo plugins for recording simulation videos
+ with support for multiple camera views
+- gazebo_video_monitor_utils: Python utility scripts for interacting with the
+ video monitor plugins
+- gazebo_video_monitors: Metapackage grouping the above packages
+
+%prep
+%autosetup -n gazebo_video_monitors-%{version}
+
+%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}
+export PKG_CONFIG_PATH=/opt/ros/%{ros_distro}/lib/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
+
+# 1. gazebo_video_monitor_interfaces(ament_cmake,接口生成,其余包依赖它)
+cd gazebo_video_monitor_interfaces
+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 \
+ ..
+make %{?_smp_mflags}
+cd ../..
+
+# 2. gazebo_video_monitor_plugins(ament_cmake,依赖 interfaces)
+# 先将 interfaces 安装到临时前缀,让后续 find_package 能找到
+cd gazebo_video_monitor_interfaces/.obj
+make install DESTDIR=%{_builddir}/ros_install_staging
+cd ../..
+export AMENT_PREFIX_PATH="/opt/ros/%{ros_distro}:%{_builddir}/ros_install_staging/opt/ros/%{ros_distro}"
+export CMAKE_PREFIX_PATH="/opt/ros/%{ros_distro}:%{_builddir}/ros_install_staging/opt/ros/%{ros_distro}"
+
+cd gazebo_video_monitor_plugins
+mkdir -p .obj && cd .obj
+%cmake3 \
+ -DCMAKE_INSTALL_PREFIX="/opt/ros/%{ros_distro}" \
+ -DAMENT_PREFIX_PATH="${AMENT_PREFIX_PATH}" \
+ -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" \
+ -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 \
+ ..
+make %{?_smp_mflags}
+cd ../..
+
+# 3. gazebo_video_monitors(ament_cmake 元包,仅 ament_package())
+cd gazebo_video_monitors
+mkdir -p .obj && cd .obj
+%cmake3 \
+ -DCMAKE_INSTALL_PREFIX="/opt/ros/%{ros_distro}" \
+ -DAMENT_PREFIX_PATH="${AMENT_PREFIX_PATH}" \
+ -DCMAKE_PREFIX_PATH="${CMAKE_PREFIX_PATH}" \
+ -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 \
+ ..
+make %{?_smp_mflags}
+cd ../..
+
+# 4. gazebo_video_monitor_utils(ament_python,setuptools 安装)
+cd gazebo_video_monitor_utils
+export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages${PYTHONPATH:+:$PYTHONPATH}
+
+%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}
+export PKG_CONFIG_PATH=/opt/ros/%{ros_distro}/lib/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
+export AMENT_PREFIX_PATH="/opt/ros/%{ros_distro}:%{_builddir}/ros_install_staging/opt/ros/%{ros_distro}"
+export CMAKE_PREFIX_PATH="/opt/ros/%{ros_distro}:%{_builddir}/ros_install_staging/opt/ros/%{ros_distro}"
+
+# 1. interfaces
+cd gazebo_video_monitor_interfaces/.obj
+make install DESTDIR=%{buildroot}
+cd ../..
+
+# 2. plugins
+cd gazebo_video_monitor_plugins/.obj
+make install DESTDIR=%{buildroot}
+cd ../..
+
+# 3. 元包
+cd gazebo_video_monitors/.obj
+make install DESTDIR=%{buildroot}
+cd ../..
+
+# 4. Python 工具包(ament_python)
+cd gazebo_video_monitor_utils
+%{__python3} setup.py install \
+ --prefix=/opt/ros/%{ros_distro} \
+ --root=%{buildroot} \
+ --install-layout=rpm
+cd ..
+
+%files
+/opt/ros/%{ros_distro}
+
+%changelog
+* Mon Sep 15 2026 ai-importer <ai-importer@openeuler.org> - 0.8.1-1
+- Initial import of gazebo-video-monitor-plugins monorepo (ROS 2 Humble)
diff --git a/sources b/sources
new file mode 100644
index 0000000..09d475a
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+be7387600fbd7c042e9bde93f888855d gazebo_video_monitors-0.8.1.tar.gz