From d8d976066375743d6e915ae279e6465fd9182065 Mon Sep 17 00:00:00 2001 From: I-am-a-robot Date: Wed, 2 Jul 2025 02:46:27 +0000 Subject: [PATCH] apply new package cob_common --- cob_common.spec | 110 +++++++++++++++++++++++++ cob_common.src.rpm | Bin 0 -> 11836 bytes files_in_srpm.txt | 2 + ros-humble-cob-msgs_2.7.10.orig.tar.gz | Bin 0 -> 4519 bytes 4 files changed, 112 insertions(+) create mode 100644 cob_common.spec create mode 100644 cob_common.src.rpm create mode 100644 files_in_srpm.txt create mode 100644 ros-humble-cob-msgs_2.7.10.orig.tar.gz diff --git a/cob_common.spec b/cob_common.spec new file mode 100644 index 0000000..c217850 --- /dev/null +++ b/cob_common.spec @@ -0,0 +1,110 @@ +%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 cob-msgs +%define ros_distro humble +%define with_tests 0 + +Name: ros-%{ros_distro}-%{RosPkgName} +Version: 2.7.10 +Release: 1%{?dist}%{?release_suffix} +Summary: ROS cob-msgs package + +License: Apache 2.0 +Source0: %{name}_%{version}.orig.tar.gz + +Requires: ros-%{ros_distro}-builtin-interfaces +Requires: ros-%{ros_distro}-diagnostic-msgs +Requires: ros-%{ros_distro}-std-msgs +Requires: ros-%{ros_distro}-rosidl-default-runtime + +BuildRequires: ros-%{ros_distro}-builtin-interfaces +BuildRequires: ros-%{ros_distro}-diagnostic-msgs +BuildRequires: ros-%{ros_distro}-std-msgs +BuildRequires: ros-%{ros_distro}-ament-cmake +BuildRequires: ros-%{ros_distro}-rosidl-default-generators + +%if 0%{?with_tests} +BuildRequires: ros-%{ros_distro}-ament-common +%endif + +Provides: %{name}-devel = %{version}-%{release} +Provides: %{name}-doc = %{version}-%{release} +Provides: %{name}-runtime = %{version}-%{release} + +%description + + Messages for representing state information, such as battery information and emergency stop status. + + +%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 Felix Messmer felixmessmer@gmail.com - 2.7.10-1 +- Autogenerated by ros-porting-tools diff --git a/cob_common.src.rpm b/cob_common.src.rpm new file mode 100644 index 0000000000000000000000000000000000000000..00010adf0765db49e3078ed30c3b5e7ce850b210 GIT binary patch literal 11836 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 F004(rz`Fnd literal 0 HcmV?d00001 -- Gitee