From 679bcf739e59e9277c6c427ddd7bde1095e04f8f Mon Sep 17 00:00:00 2001 From: I-am-a-robot Date: Sat, 21 Jun 2025 02:30:59 +0000 Subject: [PATCH] apply new package urdf_launch --- files_in_srpm.txt | 2 + ros-humble-urdf-launch_0.1.1.orig.tar.gz | Bin 0 -> 3844 bytes urdf_launch.spec | 109 +++++++++++++++++++++++ urdf_launch.src.rpm | Bin 0 -> 10967 bytes 4 files changed, 111 insertions(+) create mode 100644 files_in_srpm.txt create mode 100644 ros-humble-urdf-launch_0.1.1.orig.tar.gz create mode 100644 urdf_launch.spec create mode 100644 urdf_launch.src.rpm diff --git a/files_in_srpm.txt b/files_in_srpm.txt new file mode 100644 index 0000000..82c76ae --- /dev/null +++ b/files_in_srpm.txt @@ -0,0 +1,2 @@ +ros-humble-urdf-launch_0.1.1.orig.tar.gz +urdf-launch.spec diff --git a/ros-humble-urdf-launch_0.1.1.orig.tar.gz b/ros-humble-urdf-launch_0.1.1.orig.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..f17fe5a04f0a2244da3936e304812ef36a03bad7 GIT binary patch literal 3844 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 GPyhh2WO&m6 literal 0 HcmV?d00001 diff --git a/urdf_launch.spec b/urdf_launch.spec new file mode 100644 index 0000000..910cec3 --- /dev/null +++ b/urdf_launch.spec @@ -0,0 +1,109 @@ +%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 urdf-launch +%define ros_distro humble +%define with_tests 0 + +Name: ros-%{ros_distro}-%{RosPkgName} +Version: 0.1.1 +Release: 1%{?dist}%{?release_suffix} +Summary: Launch files for common URDF operations + +License: BSD 3-clause +Source0: %{name}_%{version}.orig.tar.gz + +Requires: ros-%{ros_distro}-rviz-common +Requires: ros-%{ros_distro}-rviz-default-plugins +#Requires: joint_state_publisher +#Requires: joint_state_publisher_gui +Requires: ros-%{ros_distro}-launch-ros +Requires: ros-%{ros_distro}-robot-state-publisher +Requires: ros-%{ros_distro}-rviz2 +Requires: ros-%{ros_distro}-xacro + +BuildRequires: ros-%{ros_distro}-rviz-common +BuildRequires: ros-%{ros_distro}-rviz-default-plugins +BuildRequires: ros-%{ros_distro}-ament-cmake + +%if 0%{?with_tests} +%endif + +Provides: %{name}-devel = %{version}-%{release} +Provides: %{name}-doc = %{version}-%{release} +Provides: %{name}-runtime = %{version}-%{release} + +%description +Launch files for common URDF operations + +%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 David V. Lu!! davidvlu@gmail.com - 0.1.1-1 +- Autogenerated by ros-porting-tools diff --git a/urdf_launch.src.rpm b/urdf_launch.src.rpm new file mode 100644 index 0000000000000000000000000000000000000000..18bc17f1e46b72378149fc7a32919674483b31fc GIT binary patch literal 10967 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 t*YU;*EceYXF-(9{k6@{{i`E!&CqO literal 0 HcmV?d00001 -- Gitee