From be8f79e63da3fec708a55eb486cd2d59d1a06d3d Mon Sep 17 00:00:00 2001 From: I-am-a-robot Date: Fri, 25 Jul 2025 07:45:34 +0000 Subject: [PATCH] apply new package turtlebot4_tutorials --- files_in_srpm.txt | 2 + ...turtlebot4-cpp-tutorials_1.0.1.orig.tar.gz | Bin 0 -> 2496 bytes turtlebot4_tutorials.spec | 104 ++++++++++++++++++ turtlebot4_tutorials.src.rpm | Bin 0 -> 10274 bytes 4 files changed, 106 insertions(+) create mode 100644 files_in_srpm.txt create mode 100644 ros-humble-turtlebot4-cpp-tutorials_1.0.1.orig.tar.gz create mode 100644 turtlebot4_tutorials.spec create mode 100644 turtlebot4_tutorials.src.rpm diff --git a/files_in_srpm.txt b/files_in_srpm.txt new file mode 100644 index 0000000..a37f1f6 --- /dev/null +++ b/files_in_srpm.txt @@ -0,0 +1,2 @@ +ros-humble-turtlebot4-cpp-tutorials_1.0.1.orig.tar.gz +turtlebot4-cpp-tutorials.spec diff --git a/ros-humble-turtlebot4-cpp-tutorials_1.0.1.orig.tar.gz b/ros-humble-turtlebot4-cpp-tutorials_1.0.1.orig.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..b35eca6cb455efeb42ab3cf29e2c4f368d128cc4 GIT binary patch literal 2496 zcmV;x2|xB9iwFP!000001MOOEbJ|D}_GkTyUhe7&vIc0F zgEW9HgQOb`!LC&P`}K?@5az`=mCfDl>M4g8bx%)EcTacE5TD$eQ|65cGiQ|8l%ITk z6cJ}#d=9xEYPIVA{g0nF_rFoB)M_WyueZ$o z_>=GdTmiRCcqWtccB! z(v0d(wiocm!H9-S!iXgt3pizz1QZEv&lTJm%jE=h7Kc_$Nj_9z-R3LEAoN% zoInHxasR9Y@WlQvmACpoqij^l>Hhx)u;%DhbB-}RU(8KT|GjWHwX;8W2E*=kAIgQ7 zInC$Zzo;d$`?h&b)0|1Rebsu`G27QyH{D)mV0MS*W&gH)cL&!4h-i0r3Hk+GwMOl? zogrk}46{lmrvVV#HnAV|9Y#&h7mnu!+5CIL806p6d%+35`_v{bZq%GcT^lFH>Hh)~ z$F;$xK0czZ<m#f+AEj_ z2~JI_P4B6-5CnHp(ohqbTa>w6&!!M?OW#W^;0Gy8>55S~rNT@u>44lw`E4zwZ(Iy< z#wo=pGr0aor#&+Jt*g%G(9^GPyS)o@q*yPd z*LIkiIru^_LK0>I6d8zY>*l7@zW|iiADO)_zO-&f*JkIg-MhW$AQy(g+Fck9{sVWW zGl3KpBAfC}HMyX{BU>e+BODRym;1xy?yrI4^M7Q&!u^~*bB?F-zfn2c>i^D4wKV^K z12ld>f5Jz~1I)GO8FY2#ho+{U=I59b7|b}GoM&c2_;p>ky`{@MViz!O3Lc;8fi4Eh@<-hs_Bl8vI8& zppFhZ&+rdn3;3gjZ6f!Hn5m@eSU~|RSEd=$8~S>z62%+~4MCeNT;z;`Q7AU__?add z#tVnp!t+>^$(o5Y*wDAATDUCrIn4i3{gAY#Y?p*Jmt;$1&gP@k+R&541I+RU$#WmE zOMZIqdt5YCP7jx7%5d1Ru<*GYqsN09aa1+ajQzXe`1~(hmoJ;+3+{hP#@ShV|MLy- zJpUhTUH8uMME$Q-s^!Q2ua#=){m-|6{z3zJ(Gm67ATLXx9alCOM5XN%x~^3~R>|E9 ziB#Kya*`DZ~{C=FbeeE zqP_sfmA^~)%ptBtVd1b&HRcw<>)fq*f*s! zo~*C?7hQQ=!*6e()&B+Fb^8~mK+$5dXSw&eTmh=-NNZACnQlnwh6?gBPks-4YB>|f z0(l@`$VP1HVH1Vj%oKde=T0EK8lZx<6vLdkBZxYsZ?7wkmLIW|n4$dS^%-OjcTsrG zd!gg8-f=Cqz~gPhLbB^M6Hg`!*OD_6mV7#=bB{kHpGd>H(`G_gCTy1U@U1ZO{Y;X& z-7x9+qGO*!`Gi>1L^lasaX9eFaZGM2se;L<9SzbfM$jp%HngH{Ap7zlUk86NX7UzN zX;-hyr`jhid|Jl_X~(FnJQvqNea!65(V5&SC~X4MbIt4oQ#+LdKdJUi*I~FA%jS1X zWh_fiZZ8@szGJBYTQoC>$8!_T6%VM5oo_})i5OIO-PpEQy^gQ-dN&sQI+WYYMzS*7 z`eaTcT5PT%hMvbSh#)_C!)z`l2g0t`$Bt`f|F*+^_4@W=EW+3r`_EIggws%h&yZ#2 zF${Io)-2^Po5j{^tA$`1QmzW*?u)mTZq03T6$l9%u7hJW2u-(Xv=wE)#d@)r9)?)L zTpQCqWh$AN;j^as-1&&|WvJn*R?dJp0+LRI*hRhRiekh!k{I+DGv%hrN( zJko)1=JZiyqsT(|UrP#s5)j9?G^oWq42@jA>3Yj-Vlycfu+H$6XeLYhWaZKC)|qVW zG#q%1<%&DFDh215PuCqGfL~L9*b*^7%#q)#6hFp@YJQvdfAEl_CP5p=zC@mX1dcS7W`K$)c7DC=~hjourY^Pnh zkv^xFkSS86NRc8%iWDhQq)3q>MT!(DQlv|Jks?Kk6e&`qNRi@y2mb-; Kzz@g(Pyhg;;OV{q literal 0 HcmV?d00001 diff --git a/turtlebot4_tutorials.spec b/turtlebot4_tutorials.spec new file mode 100644 index 0000000..2afeb2c --- /dev/null +++ b/turtlebot4_tutorials.spec @@ -0,0 +1,104 @@ +%bcond_without tests +%bcond_without weak_deps + +%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 turtlebot4-cpp-tutorials +%define ros_distro humble +%define with_tests 0 + +Name: ros-%{ros_distro}-%{RosPkgName} +Version: 1.0.1 +Release: 1%{?dist}%{?release_suffix} +Summary: TurtleBot 4 C++ Tutorials + +License: Apache 2.0 +Source0: %{name}_%{version}.orig.tar.gz + +Requires: ros-%{ros_distro}-rclcpp +Requires: ros-%{ros_distro}-irobot-create-msgs + +BuildRequires: ros-%{ros_distro}-rclcpp +BuildRequires: ros-%{ros_distro}-irobot-create-msgs +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 +TurtleBot 4 C++ Tutorials + +%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 rkreinin rkreinin@clearpathrobotics.com - 1.0.1-1 +- Autogenerated by ros-porting-tools diff --git a/turtlebot4_tutorials.src.rpm b/turtlebot4_tutorials.src.rpm new file mode 100644 index 0000000000000000000000000000000000000000..fc9c80266e1eb29f8c58ce98f406bcb01663be7c GIT binary patch literal 10274 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 literal 0 HcmV?d00001 -- Gitee