From db0be578fa059662b17a8958c5c30fe3f825de83 Mon Sep 17 00:00:00 2001 From: I-am-a-robot Date: Wed, 2 Jul 2025 02:14:16 +0000 Subject: [PATCH] apply new package novatel_oem7_driver --- files_in_srpm.txt | 2 + novatel_oem7_driver.spec | 106 ++++++++++++++++++ novatel_oem7_driver.src.rpm | Bin 0 -> 14303 bytes ...umble-novatel-oem7-msgs_20.1.0.orig.tar.gz | Bin 0 -> 7128 bytes 4 files changed, 108 insertions(+) create mode 100644 files_in_srpm.txt create mode 100644 novatel_oem7_driver.spec create mode 100644 novatel_oem7_driver.src.rpm create mode 100644 ros-humble-novatel-oem7-msgs_20.1.0.orig.tar.gz diff --git a/files_in_srpm.txt b/files_in_srpm.txt new file mode 100644 index 0000000..9e625bb --- /dev/null +++ b/files_in_srpm.txt @@ -0,0 +1,2 @@ +novatel-oem7-msgs.spec +ros-humble-novatel-oem7-msgs_20.1.0.orig.tar.gz diff --git a/novatel_oem7_driver.spec b/novatel_oem7_driver.spec new file mode 100644 index 0000000..8e60431 --- /dev/null +++ b/novatel_oem7_driver.spec @@ -0,0 +1,106 @@ +%bcond_without tests +%bcond_without weak_deps + +%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}/.*$ + +%define RosPkgName novatel-oem7-msgs +%define ros_distro humble +%define with_tests 0 + +Name: ros-%{ros_distro}-%{RosPkgName} +Version: 20.1.0 +Release: 1%{?dist}%{?release_suffix} +Summary: ROS novatel-oem7-msgs package + +Url: http://www.novatel.com +License: MIT +Source0: %{name}_%{version}.orig.tar.gz + +Requires: ros-%{ros_distro}-std-msgs +Requires: ros-%{ros_distro}-rosidl-default-runtime + +BuildRequires: ros-%{ros_distro}-std-msgs +BuildRequires: ros-%{ros_distro}-ament-cmake +BuildRequires: ros-%{ros_distro}-rosidl-default-generators + +%if 0%{?with_tests} +%endif + +Provides: %{name}-devel = %{version}-%{release} +Provides: %{name}-doc = %{version}-%{release} +Provides: %{name}-runtime = %{version}-%{release} + +%description + + Messages for NovAtel Oem7 family of receivers. + + +%prep +%autosetup -p1 + +%build +# Needed to bootstrap since the ros_workspace package does not yet exist. +export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages + +export ROS_DISTRO=%{ros_distro} +export ROS_PYTHON_VERSION=%{python3_version} + +# In case we're installing to a non-standard location, look for a setup.sh +# in the install tree and source it. It will set things like +# CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. +if [ -f "/opt/ros/%{ros_distro}/setup.sh" ]; then . "/opt/ros/%{ros_distro}/setup.sh"; fi +mkdir -p .obj-%{_target_platform} && cd .obj-%{_target_platform} +%cmake3 \ + -UINCLUDE_INSTALL_DIR \ + -ULIB_INSTALL_DIR \ + -USYSCONF_INSTALL_DIR \ + -USHARE_INSTALL_PREFIX \ + -ULIB_SUFFIX \ + -DCMAKE_INSTALL_PREFIX="/opt/ros/%{ros_distro}" \ + -DAMENT_PREFIX_PATH="/opt/ros/%{ros_distro}" \ + -DCMAKE_PREFIX_PATH="/opt/ros/%{ros_distro}" \ + -DCMAKE_INSTALL_LIBDIR="/opt/ros/%{ros_distro}/lib" \ + -DSETUPTOOLS_DEB_LAYOUT=OFF \ +%if !0%{?with_tests} + -DBUILD_TESTING=OFF \ +%endif + .. + +%make_build + +%install +# Needed to bootstrap since the ros_workspace package does not yet exist. +export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages + +# In case we're installing to a non-standard location, look for a setup.sh +# in the install tree and source it. It will set things like +# CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. +if [ -f "/opt/ros/%{ros_distro}/setup.sh" ]; then . "/opt/ros/%{ros_distro}/setup.sh"; fi +%make_install -C .obj-%{_target_platform} + +%if 0%{?with_tests} +%check +# Needed to bootstrap since the ros_workspace package does not yet exist. +export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages + +# Look for a Makefile target with a name indicating that it runs tests +TEST_TARGET=$(%__make -qp -C .obj-%{_target_platform} | sed "s/^\(test\|check\):.*/\\1/;t f;d;:f;q0") +if [ -n "$TEST_TARGET" ]; then +# In case we're installing to a non-standard location, look for a setup.sh +# in the install tree and source it. It will set things like +# CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH. +if [ -f "/opt/ros/%{ros_distro}/setup.sh" ]; then . "/opt/ros/%{ros_distro}/setup.sh"; fi +CTEST_OUTPUT_ON_FAILURE=1 \ + %make_build -C .obj-%{_target_platform} $TEST_TARGET || echo "RPM TESTS FAILED" +else echo "RPM TESTS SKIPPED"; fi +%endif + +%files +/opt/ros/%{ros_distro} + +%changelog +* Fri May 23 2025 NovAtel Support support.novatel@hexagon.com - 20.1.0-1 +- Autogenerated by ros-porting-tools diff --git a/novatel_oem7_driver.src.rpm b/novatel_oem7_driver.src.rpm new file mode 100644 index 0000000000000000000000000000000000000000..d201f7c6f8022ba04779bbb52a2d45c677a07f67 GIT binary patch literal 14303 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