From 3929434dd1e998cf371dcef840c8344dcd2b08c7 Mon Sep 17 00:00:00 2001 From: aknightive Date: Tue, 16 May 2023 02:34:34 +0800 Subject: [PATCH] add keyboard_handler --- keyboard-handler.spec | 97 ++++++++++++++++++ ros-humble-keyboard-handler_0.0.5.orig.tar.gz | Bin 0 -> 19545 bytes 2 files changed, 97 insertions(+) create mode 100644 keyboard-handler.spec create mode 100644 ros-humble-keyboard-handler_0.0.5.orig.tar.gz diff --git a/keyboard-handler.spec b/keyboard-handler.spec new file mode 100644 index 0000000..4d456bf --- /dev/null +++ b/keyboard-handler.spec @@ -0,0 +1,97 @@ +%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 keyboard-handler + +Name: ros-%{ros_distro}-%{RosPkgName} +Version: 0.0.5 +Release: 1%{?dist}%{?release_suffix} +Summary: Handler for input from keyboard + +License: Apache License 2.0 +Source0: %{name}_%{version}.orig.tar.gz + +Requires: ros-%{ros_distro}-ros-workspace + +BuildRequires: ros-%{ros_distro}-ament-cmake +BuildRequires: ros-%{ros_distro}-ros-workspace + +%if 0%{?with_tests} +BuildRequires: ros-%{ros_distro}-ament-lint-auto +BuildRequires: ros-%{ros_distro}-ament-lint-common +BuildRequires: ros-%{ros_distro}-ament-cmake-gmock +%endif + +Provides: %{name}-devel = %{version}-%{release} +Provides: %{name}-doc = %{version}-%{release} +Provides: %{name}-runtime = %{version}-%{release} + +%description +Handler for input from keyboard + +%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 + +# 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}" \ + -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 +* Thu May 04 2023 michael michael.orlov@apex.ai - 0.0.5-1 +- Autogenerated by ros-porting-tools diff --git a/ros-humble-keyboard-handler_0.0.5.orig.tar.gz b/ros-humble-keyboard-handler_0.0.5.orig.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..ff61226c26bf7f6b0f7ea66fd12e786ab0ced3fa GIT binary patch literal 19545 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 literal 0 HcmV?d00001 -- Gitee