From 6fd5a8c72e6fd5d917a466843fe9af180cfab91b Mon Sep 17 00:00:00 2001 From: I-am-a-robot Date: Tue, 15 Jul 2025 03:03:00 +0000 Subject: [PATCH] apply new package clearpath_simulator --- clearpath_simulator.spec | 103 ++++++++++++++++++ clearpath_simulator.src.rpm | Bin 0 -> 14181 bytes files_in_srpm.txt | 2 + ...e-clearpath-generator-gz_0.3.0.orig.tar.gz | Bin 0 -> 7428 bytes 4 files changed, 105 insertions(+) create mode 100644 clearpath_simulator.spec create mode 100644 clearpath_simulator.src.rpm create mode 100644 files_in_srpm.txt create mode 100644 ros-humble-clearpath-generator-gz_0.3.0.orig.tar.gz diff --git a/clearpath_simulator.spec b/clearpath_simulator.spec new file mode 100644 index 0000000..894a6c3 --- /dev/null +++ b/clearpath_simulator.spec @@ -0,0 +1,103 @@ +%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 clearpath-generator-gz +%define ros_distro humble +%define with_tests 0 + +Name: ros-%{ros_distro}-%{RosPkgName} +Version: 0.3.0 +Release: 1%{?dist}%{?release_suffix} +Summary: Clearpath Gazebo Generator + +License: BSD +Source0: %{name}_%{version}.orig.tar.gz + +Requires: ros-%{ros_distro}-clearpath-config +Requires: ros-%{ros_distro}-clearpath-generator-common + +BuildRequires: ros-%{ros_distro}-ament-cmake + +%if 0%{?with_tests} +BuildRequires: ros-%{ros_distro}-ament-lint-auto +BuildRequires: ros-%{ros_distro}-ament-common +%endif + +Provides: %{name}-devel = %{version}-%{release} +Provides: %{name}-doc = %{version}-%{release} +Provides: %{name}-runtime = %{version}-%{release} + +%description +Clearpath Gazebo Generator + +%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 +* 三 12月 04 2024 Luis Camero lcamero@clearpathrobotics.com - 0.3.0-1 +- Autogenerated by ros-porting-tools diff --git a/clearpath_simulator.src.rpm b/clearpath_simulator.src.rpm new file mode 100644 index 0000000000000000000000000000000000000000..4e88f10ef2f5e31d6e77faa9a84b45dcc2a2df32 GIT binary patch literal 14181 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