From 650b868246bc5cb97389d91efb52c2d882a295e6 Mon Sep 17 00:00:00 2001 From: CoprDistGit Date: Thu, 8 Oct 2026 09:13:34 +0000 Subject: automatic import of ros-humble-nebula-core-decoders --- nebula-core-decoders.spec | 94 ++++++++++++++++++++++++++++------------------- 1 file changed, 56 insertions(+), 38 deletions(-) (limited to 'nebula-core-decoders.spec') diff --git a/nebula-core-decoders.spec b/nebula-core-decoders.spec index 00489e7..6911f21 100644 --- a/nebula-core-decoders.spec +++ b/nebula-core-decoders.spec @@ -1,13 +1,14 @@ %define ros_distro humble %define RosPkgName nebula-core-decoders +%define commit 8ce64073f41c2ec1166334ce7f8fb2edc13c86e5 Name: ros-%{ros_distro}-%{RosPkgName} Version: 1.2.0 Release: 1%{?dist} Summary: Nebula Decoders Base Library -License: Apache 2.0 +License: Apache-2.0 URL: https://github.com/tier4/nebula -Source0: https://github.com/tier4/nebula/archive/refs/tags/v%{version}.tar.gz#/nebula-%{version}.tar.gz +Source0: https://github.com/tier4/nebula/archive/%{commit}.tar.gz#/nebula-core-decoders-%{version}.tar.gz # debug 子包无意义(/opt 前缀,strip/debugedit 路径非常规) %global debug_package %{nil} @@ -17,62 +18,79 @@ Source0: https://github.com/tier4/nebula/archive/refs/tags/v%{version}.tar.gz %global __provides_exclude_from ^/opt/ros/%{ros_distro}/.*$ %global __requires_exclude_from ^/opt/ros/%{ros_distro}/.*$ -# ament_cmake 构建工具 -BuildRequires: ros-%{ros_distro}-ament-cmake -BuildRequires: ros-%{ros_distro}-autoware-cmake -BuildRequires: ros-%{ros_distro}-ros-environment -# 系统依赖 -BuildRequires: libpng-devel -BuildRequires: eigen3-devel -BuildRequires: boost-devel -# ROS 依赖 -BuildRequires: ros-%{ros_distro}-nebula-core-common -BuildRequires: ros-%{ros_distro}-sensor-msgs +BuildRequires: cmake +BuildRequires: gcc-c++ +# ament_cmake 形态构建工具依赖 +BuildRequires: ros-%{ros_distro}-ament-cmake +# autoware_cmake 提供 autoware_package() 宏(ros-upstream.list,同 COPR 递归构建) +BuildRequires: ros-%{ros_distro}-autoware-cmake +# buildtool_depend +BuildRequires: ros-%{ros_distro}-ros-environment +# ROS 包(同 COPR 递归构建 / SIG 已有) +BuildRequires: ros-%{ros_distro}-nebula-core-common +BuildRequires: ros-%{ros_distro}-sensor-msgs +# 系统库(pkg.remap: libpng-dev -> libpng-devel) +BuildRequires: libpng-devel +# 系统库(pkg.remap: boost -> boost-devel, eigen -> eigen3-devel) +BuildRequires: boost-devel +BuildRequires: eigen3-devel -Requires: ros-%{ros_distro}-ros-workspace -Requires: ros-%{ros_distro}-ament-cmake -Requires: ros-%{ros_distro}-nebula-core-common -Requires: ros-%{ros_distro}-sensor-msgs +# 运行时 Requires(/opt/ros 被 __requires_exclude_from 豁免,autodeps 扫不到,必须手写) +Requires: ros-%{ros_distro}-ros-workspace +Requires: ros-%{ros_distro}-ament-cmake +Requires: ros-%{ros_distro}-nebula-core-common +Requires: ros-%{ros_distro}-sensor-msgs +Requires: boost-devel +Requires: eigen3-devel +Requires: libpng-devel -Provides: %{name}-devel = %{version}-%{release} -Provides: %{name}-doc = %{version}-%{release} -Provides: %{name}-runtime = %{version}-%{release} +# 单包策略:虚拟别名兼容依赖方,严禁拆实体子包 +Provides: %{name}-devel = %{version}-%{release} +Provides: %{name}-doc = %{version}-%{release} +Provides: %{name}-runtime = %{version}-%{release} %description -Nebula Decoders Base Library — header-only interface library providing -point filter and scan cutter primitives for the Nebula LiDAR driver suite. +Nebula Decoders Base Library — a header-only INTERFACE library providing +decoder interfaces for the Nebula universal sensor driver platform. +Built from the tier4/nebula monorepo (package: nebula_core_decoders). %prep -%autosetup -n nebula-%{version} +%autosetup -n %{RosPkgName}-%{version} %build +# ROS 基座环境(chroot 已配置 ROS SIG repo;无 ROS 依赖的包 buildroot 里 +# 可能没有 setup.sh,必须用 [ -f ] 守卫——直接 source 不存在的文件在 +# 严格 sh 下会中止整个 %build 脚本,|| true 挡不住) [ -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} -mkdir -p src/nebula_core/nebula_core_decoders/.obj -cd src/nebula_core/nebula_core_decoders/.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 \ - .. +# monorepo 子包目录:src/nebula_core/nebula_core_decoders +cd src/nebula_core/nebula_core_decoders +# 显式 out-of-source 构建(避免 openEuler %cmake 宏位置参数坑) +mkdir -p .obj && cd .obj +cmake .. \ + -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_build %install +# 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} cd src/nebula_core/nebula_core_decoders/.obj -%make_install DESTDIR=%{buildroot} +make install DESTDIR=%{buildroot} %files -/opt/ros/%{ros_distro}/ +/opt/ros/%{ros_distro} %changelog -* Sun Sep 20 2026 ROS SIG - 1.2.0-1 -- Initial package for ros-humble-nebula-core-decoders 1.2.0 +* Thu Oct 08 2026 ROS AI Importer - 1.2.0-1 +- Initial RPM package for ros-humble-nebula-core-decoders +- Built from tier4/nebula monorepo (commit 8ce64073) -- cgit v1.2.3