diff options
Diffstat (limited to 'nebula-core-common.spec')
| -rw-r--r-- | nebula-core-common.spec | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/nebula-core-common.spec b/nebula-core-common.spec new file mode 100644 index 0000000..ed4ef94 --- /dev/null +++ b/nebula-core-common.spec @@ -0,0 +1,72 @@ +%define ros_distro humble +%define RosPkgName nebula-core-common +%global commit 26749c80dff89f39000a9817141143c05ec151ab + +Name: ros-%{ros_distro}-%{RosPkgName} +Version: 1.2.0 +Release: 1%{?dist} +Summary: Nebula Common Base Libraries and headers +License: Apache-2.0 +URL: https://github.com/tier4/nebula +Source0: https://github.com/tier4/nebula/archive/%{commit}.tar.gz + +# debug 子包无意义(/opt 前缀),SIG 模板统一关闭 +%global debug_package %{nil} +# 摘掉 brp-python-bytecompile(/opt 下路径非常规) +%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g') +# ROS 包不做自动依赖扫描(.so 全在 /opt/ros 下) +%global __provides_exclude_from ^/opt/ros/%{ros_distro}/.*$ +%global __requires_exclude_from ^/opt/ros/%{ros_distro}/.*$ + +BuildRequires: ros-%{ros_distro}-autoware-cmake +BuildRequires: ros-%{ros_distro}-ros-environment +BuildRequires: boost-devel +BuildRequires: nlohmann-json-devel +BuildRequires: cmake +BuildRequires: gcc-c++ + +Requires: ros-%{ros_distro}-ros-workspace +Requires: ros-%{ros_distro}-ament-cmake + +Provides: %{name}-devel = %{version}-%{release} +Provides: %{name}-doc = %{version}-%{release} +Provides: %{name}-runtime = %{version}-%{release} + +%description +Nebula Common Base Libraries and headers for the Nebula LiDAR driver framework. +Provides core data types, utilities, and common interfaces shared across +all Nebula sensor driver implementations. + +%prep +# GitHub commit 归档解压根目录为完整 SHA(实测纪律,非 <repo>-<sha> 形式) +%autosetup -n %{commit} + +%build +[ -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 .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 \ + ../src/nebula_core/nebula_core_common +make %{?_smp_mflags} + +%install +cd .obj +make install DESTDIR=%{buildroot} + +%files +/opt/ros/%{ros_distro}/ + +%changelog +* Sun Sep 20 2026 ROS SIG <ros@openeuler.org> - 1.2.0-1 +- Initial package for ros-%{ros_distro}-%{RosPkgName} 1.2.0 +- Source: https://github.com/tier4/nebula commit 26749c8 |
