summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2026-10-21 02:54:46 +0000
committerCoprDistGit <infra@openeuler.org>2026-10-21 02:54:46 +0000
commit1e2c74cf51079b83f9246639a10a4254fdc1f83a (patch)
treec5ff0ccb55a019d1bd0b578eeccaa534959f3beb
parentf6adcd81ab3c8cd9b8723d5b196735ac486a2640 (diff)
automatic import of ros-humble-nebula-continental
-rw-r--r--nebula-continental.spec50
-rw-r--r--sources2
2 files changed, 46 insertions, 6 deletions
diff --git a/nebula-continental.spec b/nebula-continental.spec
index cf57656..d8d2b96 100644
--- a/nebula-continental.spec
+++ b/nebula-continental.spec
@@ -55,12 +55,16 @@ BuildRequires: ros-%{ros_distro}-sync-tooling-msgs
# package.xml <depend> —— nebula monorepo 兄弟子包(batch reused,COPR project / additional_repos 同源解析)
# nebula_core_ros 提供 nebula_agnocast_wrapper_register_node cmake 宏
+# 注:nebula_continental_hw_interfaces 不再 BuildRequire reuse 兄弟包——该包
+# (ROS-humble-3 build 112448) 的 Requires 错误用了下划线 ros-humble-nebula_msgs,
+# 拉入 eulermaker 旧版 1.1.1-4,与 COPR 连字符 1.2.0-1 文件冲突(build 113809
+# Transaction test error)。改为从 monorepo 源码同包构建,见构建阶段。
BuildRequires: ros-%{ros_distro}-continental-msgs
BuildRequires: ros-%{ros_distro}-continental-srvs
BuildRequires: ros-%{ros_distro}-nebula-continental-common
BuildRequires: ros-%{ros_distro}-nebula-continental-decoders
-BuildRequires: ros-%{ros_distro}-nebula-continental-hw-interfaces
BuildRequires: ros-%{ros_distro}-nebula-core-common
+BuildRequires: ros-%{ros_distro}-nebula-core-hw-interfaces
BuildRequires: ros-%{ros_distro}-nebula-core-ros
BuildRequires: ros-%{ros_distro}-nebula-msgs
@@ -84,7 +88,6 @@ Requires: ros-%{ros_distro}-geometry-msgs
Requires: ros-%{ros_distro}-message-filters
Requires: ros-%{ros_distro}-nebula-continental-common
Requires: ros-%{ros_distro}-nebula-continental-decoders
-Requires: ros-%{ros_distro}-nebula-continental-hw-interfaces
Requires: ros-%{ros_distro}-nebula-core-common
Requires: ros-%{ros_distro}-nebula-core-ros
Requires: ros-%{ros_distro}-nebula-msgs
@@ -100,6 +103,8 @@ Requires: ros-%{ros_distro}-visualization-msgs
Provides: %{name}-devel = %{version}-%{release}
Provides: %{name}-doc = %{version}-%{release}
Provides: %{name}-runtime = %{version}-%{release}
+# hw_interfaces 从源码同包构建(见构建阶段),虚拟别名满足依赖方解析
+Provides: ros-%{ros_distro}-nebula-continental-hw-interfaces = %{version}-%{release}
%description
Nebula Continental ROS Wrapper —— Nebula 多雷达驱动框架中面向 Continental
@@ -120,8 +125,32 @@ nebula_continental colcon 子包;monorepo 其余 colcon 包由各自独立 RPM
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 子包构建:进入目标 colcon 包目录(§5 ament_cmake 显式 out-of-source)
-cd src/nebula_continental/nebula_continental
+# 1. 先构建 nebula_continental_hw_interfaces(从源码同包构建,避开 reuse 兄弟包
+# ros-humble-nebula_msgs 下划线命名冲突——该兄弟包 Requires 用了
+# ros-humble-nebula_msgs 下划线名,拉入 eulermaker 旧版 1.1.1-4,与 COPR
+# 连字符 1.2.0-1 文件冲突)
+cd src/nebula_continental/nebula_continental_hw_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}
+# 安装到 /opt/ros(非 DESTDIR),让后续 nebula_continental 的 find_package 能发现
+make install
+
+# 2. 重新 source ROS 环境,纳入新装的 hw_interfaces
+source /opt/ros/%{ros_distro}/setup.sh || true
+
+# 3. 构建 nebula_continental(依赖上一步本地安装的 hw_interfaces)
+cd ../../nebula_continental
mkdir -p .obj
cd .obj
%cmake3 \
@@ -137,7 +166,11 @@ cd .obj
make %{?_smp_mflags}
%install
-cd src/nebula_continental/nebula_continental/.obj
+# 安装 hw_interfaces 到 buildroot
+cd src/nebula_continental/nebula_continental_hw_interfaces/.obj
+make install DESTDIR=%{buildroot}
+# 安装 nebula_continental 到 buildroot
+cd ../../nebula_continental/.obj
make install DESTDIR=%{buildroot}
# 文件清单整树拥有(§7:单包策略,ros_distro 前缀一行收尾,对「装了没打包」类错误免疫)
@@ -146,6 +179,13 @@ make install DESTDIR=%{buildroot}
%changelog
* Wed Oct 21 2026 AI Importer <ai-importer@openeuler.org> - 1.3.1-1
+- 修复 build 113809 事务冲突:reuse 兄弟包 ros-humble-nebula-continental-hw-interfaces
+ (ROS-humble-3 build 112448) 的 Requires 错用下划线 ros-humble-nebula_msgs,
+ 拉入 eulermaker 旧版 1.1.1-4 与 COPR 连字符 1.2.0-1 文件冲突
+- 改为从 monorepo 源码同包构建 nebula_continental_hw_interfaces,移除对该兄弟
+ 包的 BuildRequires/Requires,加 Provides 虚拟别名满足依赖方
+- 新增 BuildRequires: ros-humble-nebula-core-hw-interfaces(hw_interfaces 的
+ ament 依赖,该包 Requires 干净无下划线命名问题)
- 初始引入 ros-humble-nebula-continental(nebula_continental colcon 子包)
- 源自 tier4/nebula monorepo,commit 8be1ed775b02985eadafe39b00e0e4fc944114e2
- ament_cmake 形态,构建至 /opt/ros/humble 前缀
diff --git a/sources b/sources
index 27c58d2..6750b68 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-05ef0bf8c88648bf22aca3413059e215 8be1ed775b02985eadafe39b00e0e4fc944114e2.tar.gz
+e720c311293a6dfeaccb87347d51d388 8be1ed775b02985eadafe39b00e0e4fc944114e2.tar.gz