summaryrefslogtreecommitdiff
path: root/nebula-velodyne-decoders.spec
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2026-10-21 02:18:44 +0000
committerCoprDistGit <infra@openeuler.org>2026-10-21 02:18:44 +0000
commitf491dfa224d9c9a6a4247171ac30b5022105d6d5 (patch)
tree4b5a627434411f163362b24b3d387d18136572a8 /nebula-velodyne-decoders.spec
parent72f5f934a74a7e0b22a6dcc3bdeaa41542c1c20f (diff)
automatic import of ros-humble-nebula-velodyne-decodersopeneuler24.03_LTS_SP3
Diffstat (limited to 'nebula-velodyne-decoders.spec')
-rw-r--r--nebula-velodyne-decoders.spec128
1 files changed, 61 insertions, 67 deletions
diff --git a/nebula-velodyne-decoders.spec b/nebula-velodyne-decoders.spec
index 26f80c2..852085c 100644
--- a/nebula-velodyne-decoders.spec
+++ b/nebula-velodyne-decoders.spec
@@ -1,100 +1,94 @@
%define ros_distro humble
%define RosPkgName nebula-velodyne-decoders
-%define commit 8ce64073f41c2ec1166334ce7f8fb2edc13c86e5
+%define src_version 1.3.1-1
-Name: ros-%{ros_distro}-%{RosPkgName}
-Version: 1.2.0
-Release: 1%{?dist}
-Summary: Nebula Velodyne Decoders Library
-License: Apache-2.0
-URL: https://github.com/tier4/nebula
-Source0: https://github.com/tier4/nebula/archive/%{commit}.tar.gz#/nebula-velodyne-decoders-%{version}.tar.gz
+Name: ros-%{ros_distro}-%{RosPkgName}
+Version: 1.3.1
+Release: 1%{?dist}
+Summary: Nebula Velodyne Decoders Library
+License: Apache 2
+URL: https://github.com/tier4/nebula/tree/main
+Source0: %{RosPkgName}-%{src_version}.tar.gz
-# debug 子包无意义(/opt 前缀,strip/debugedit 路径非常规)
%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: 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
-# <depend> ROS 包(SIG 已有 / 同 COPR 递归构建)
-BuildRequires: ros-%{ros_distro}-angles
-BuildRequires: ros-%{ros_distro}-rclcpp
-BuildRequires: ros-%{ros_distro}-velodyne-msgs
-BuildRequires: ros-%{ros_distro}-nebula-core-common
-BuildRequires: ros-%{ros_distro}-nebula-core-decoders
-BuildRequires: ros-%{ros_distro}-nebula-velodyne-common
-# <depend> 系统库(pkg.remap: boost -> boost-devel)
-BuildRequires: boost-devel
+# AI 兜底生成:monorepo 多级嵌套,package.xml 位于
+# src/nebula_velodyne/nebula_velodyne_decoders/,gen_ros_spec 模板的
+# parse_package_xml 仅扫一级子目录无法定位 → needs_llm 转人工。
+# 依赖分类仍沿用 analyze_ros_deps.classify_deps 同源函数(依据
+# ros-projects.list / ros-upstream.list / pkg.remap,零幻觉):
+# - angles / rclcpp / ros-environment / velodyne-msgs:ros-projects.list(SIG 已有)
+# - autoware-cmake / nebula-core-common / nebula-core-decoders /
+# nebula-velodyne-common:ros-upstream.list(rosdistro 真实存在,
+# 注册递归构建;其中三个 nebula 兄弟为 reuse_copr_project 已有 provider)
+# - boost:pkg.remap 映射为 boost-devel(基础源实证 boost-devel-1.83.0)
+# buildtool_depend(autoware_cmake/ros_environment) 一并写 BuildRequires。
+BuildRequires: cmake
+BuildRequires: ros-humble-ament-cmake
+BuildRequires: ros-humble-angles
+BuildRequires: ros-humble-rclcpp
+BuildRequires: ros-humble-ros-environment
+BuildRequires: ros-humble-velodyne-msgs
+BuildRequires: ros-humble-autoware-cmake
+BuildRequires: ros-humble-nebula-core-common
+BuildRequires: ros-humble-nebula-core-decoders
+BuildRequires: ros-humble-nebula-velodyne-common
+BuildRequires: boost-devel
-# 运行时 Requires(/opt/ros 被 __requires_exclude_from 豁免,autodeps 扫不到,必须手写)
-Requires: ros-%{ros_distro}-ros-workspace
-Requires: ros-%{ros_distro}-ament-cmake
-Requires: ros-%{ros_distro}-angles
-Requires: ros-%{ros_distro}-rclcpp
-Requires: ros-%{ros_distro}-velodyne-msgs
-Requires: ros-%{ros_distro}-nebula-core-common
-Requires: ros-%{ros_distro}-nebula-core-decoders
-Requires: ros-%{ros_distro}-nebula-velodyne-common
-Requires: boost-devel
+# 运行时 Requires 三件套(spec-rules-ros §6):ros-workspace 提供
+# /opt/ros/<distro>/setup.sh;ament-cmake 提供 ament 运行期钩子。
+# 其余为 package.xml <depend>(build+exec 双态)映射,不得降级 Recommends。
+Requires: ros-humble-ros-workspace
+Requires: ros-humble-ament-cmake
+Requires: ros-humble-angles
+Requires: ros-humble-rclcpp
+Requires: ros-humble-velodyne-msgs
+Requires: ros-humble-nebula-core-common
+Requires: ros-humble-nebula-core-decoders
+Requires: ros-humble-nebula-velodyne-common
+Requires: boost-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 Velodyne Decoders Library — shared library providing Velodyne LiDAR
-decoder implementations (VLP-16, VLP-32, VLS-128) for the Nebula universal
-sensor driver platform.
-Built from the tier4/nebula monorepo (package: nebula_velodyne_decoders).
+Nebula Velodyne Decoders Library
%prep
-%autosetup -n %{RosPkgName}-%{version}
+%autosetup -n %{RosPkgName}-%{src_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}
-
-# monorepo 子包目录:src/nebula_velodyne/nebula_velodyne_decoders
+# monorepo 子目录构建:CMakeLists.txt 位于 src/nebula_velodyne/nebula_velodyne_decoders/
cd src/nebula_velodyne/nebula_velodyne_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
+%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}
%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_velodyne/nebula_velodyne_decoders/.obj
+cd src/nebula_velodyne/nebula_velodyne_decoders
+cd .obj
make install DESTDIR=%{buildroot}
%files
/opt/ros/%{ros_distro}
%changelog
-* Thu Oct 08 2026 ROS AI Importer <ros-sig@openeuler.org> - 1.2.0-1
-- Initial RPM package for ros-humble-nebula-velodyne-decoders
-- Built from tier4/nebula monorepo (commit 8ce64073)
+* Wed Oct 21 2026 ai-importer <ai-importer@openeuler.org> - 1.3.1-1
+- Initial import (ROS batch)