From 156dbf0689d8b476b0e84a32b0c4a4ead5673c75 Mon Sep 17 00:00:00 2001 From: Katie Hamilton Date: Thu, 24 Oct 2024 15:11:21 -0700 Subject: [PATCH 1/3] Added code to create the ground bridge debian. --- debian/.gitignore | 2 +- debian/astrobee-ground-comms.dirs | 4 ++++ debian/astrobee-ground-comms.files | 2 ++ debian/astrobee-ground-comms.lintian-overrides | 4 ++++ debian/control | 18 ++++++++++++++++++ 5 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 debian/astrobee-ground-comms.dirs create mode 100644 debian/astrobee-ground-comms.files create mode 100644 debian/astrobee-ground-comms.lintian-overrides diff --git a/debian/.gitignore b/debian/.gitignore index ce3ffbdb53..c71332c5c4 100644 --- a/debian/.gitignore +++ b/debian/.gitignore @@ -3,7 +3,7 @@ astrobee0 astrobee-comms astrobee-dev astrobee-config -astrobee-comms +astrobee-ground-comms files debhelper-build-stamp *.substvars diff --git a/debian/astrobee-ground-comms.dirs b/debian/astrobee-ground-comms.dirs new file mode 100644 index 0000000000..cdd16ade47 --- /dev/null +++ b/debian/astrobee-ground-comms.dirs @@ -0,0 +1,4 @@ +opt/astrobee +opt/astrobee/lib +opt/astrobee/lib/pkgconfig +opt/astrobee/share diff --git a/debian/astrobee-ground-comms.files b/debian/astrobee-ground-comms.files new file mode 100644 index 0000000000..339a2029b7 --- /dev/null +++ b/debian/astrobee-ground-comms.files @@ -0,0 +1,2 @@ +opt/astrobee/lib/libground_dds_ros_bridge.so +opt/astrobee/share/ground_dds_ros_bridge diff --git a/debian/astrobee-ground-comms.lintian-overrides b/debian/astrobee-ground-comms.lintian-overrides new file mode 100644 index 0000000000..a400dfe0d5 --- /dev/null +++ b/debian/astrobee-ground-comms.lintian-overrides @@ -0,0 +1,4 @@ +# See astrobee-comms.lintian-overrides for details +dir-or-file-in-opt +# Ignore until we figure out how to use shlibs on chroot +missing-dependency-on-libc diff --git a/debian/control b/debian/control index 0a63118703..08cbdf9602 100644 --- a/debian/control +++ b/debian/control @@ -43,6 +43,24 @@ Depends: ${misc:Depends} Description: Astrobee flight software communications. The communications portion of the Astrobee flight software. +Package: astrobee-ground-comms +Section: comm +Architecture: amd64 +Depends: ${misc:Depends} + astrobee-config (>= ${binary:Version}), + astrobee-comms (>= ${binary:Version}), + rti (>=1.0), libmiro0 (>=0.1), libsoracore1 (>=1.0), + ros-${ros-distro}-ros-base, ros-${ros-distro}-cpp-common, + ros-${ros-distro}-common-msgs, ros-${ros-distro}-nodelet, ros-${ros-distro}-image-transport, + ros-${ros-distro}-compressed-image-transport, ros-${ros-distro}-tf2, + ros-${ros-distro}-tf2-geometry-msgs, ros-${ros-distro}-tf2-msgs, ros-${ros-distro}-tf2-ros, + ros-${ros-distro}-tf2-sensor-msgs, + libgoogle-glog0v5 +Description: Astrobee flight software communications. + The communications portion of the Astrobee flight software. + + + Package: astrobee0 Architecture: any Depends: ${misc:Depends} From 8dfa042406e1784a9b689e5c692c23f80931ec1f Mon Sep 17 00:00:00 2001 From: Katie Hamilton Date: Thu, 24 Oct 2024 15:27:44 -0700 Subject: [PATCH 2/3] Added install to ground bridge. --- .../ground_dds_ros_bridge/CMakeLists.txt | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/communications/ground_dds_ros_bridge/CMakeLists.txt b/communications/ground_dds_ros_bridge/CMakeLists.txt index 28379e056d..595674f2d2 100644 --- a/communications/ground_dds_ros_bridge/CMakeLists.txt +++ b/communications/ground_dds_ros_bridge/CMakeLists.txt @@ -109,6 +109,36 @@ add_executable(ground_dds_ros_bridge_node add_dependencies(ground_dds_ros_bridge_node ${catkin_EXPORTED_TARGETS}) target_link_libraries(ground_dds_ros_bridge_node ground_dds_ros_bridge ${catkin_LIBRARIES}) +############# +## Install ## +############# +# Determine our module name +get_filename_component(MODULE_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) + +install(CODE "execute_process( + COMMAND mkdir -p share/${MODULE_NAME} + COMMAND ln -s ../../bin/ground_dds_ros_bridge share/${MODULE_NAME} + WORKING_DIRECOTRY ${CMAKE_INSTALL_PREFIX} + OUTPUT_QUIET + ERROR_QUIET + )") + +# Mark libraries for installation +install(TARGETS ground_dds_ros_bridge + ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} +) + +# Mark nodelet_plugin for installation +#install(FILES nodelet_plugins.xml +# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} +#) + +# Mark launch files for installation +install(DIRECTORY launch/ + DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch + PATTERN ".svn" EXCLUDE) else (USE_DDS) find_package(catkin REQUIRED COMPONENTS) catkin_package() From 081fb349c89495be4060876ad09fe2d18218cac2 Mon Sep 17 00:00:00 2001 From: Katie Hamilton Date: Mon, 4 Nov 2024 15:47:56 -0800 Subject: [PATCH 3/3] Got the ground bridge node executable in the ground bridge debian. --- .../ground_dds_ros_bridge/CMakeLists.txt | 17 +++++++++-------- debian/astrobee-ground-comms.files | 1 + 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/communications/ground_dds_ros_bridge/CMakeLists.txt b/communications/ground_dds_ros_bridge/CMakeLists.txt index 595674f2d2..1961916f1f 100644 --- a/communications/ground_dds_ros_bridge/CMakeLists.txt +++ b/communications/ground_dds_ros_bridge/CMakeLists.txt @@ -115,14 +115,6 @@ target_link_libraries(ground_dds_ros_bridge_node ground_dds_ros_bridge ${catkin_ # Determine our module name get_filename_component(MODULE_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME) -install(CODE "execute_process( - COMMAND mkdir -p share/${MODULE_NAME} - COMMAND ln -s ../../bin/ground_dds_ros_bridge share/${MODULE_NAME} - WORKING_DIRECOTRY ${CMAKE_INSTALL_PREFIX} - OUTPUT_QUIET - ERROR_QUIET - )") - # Mark libraries for installation install(TARGETS ground_dds_ros_bridge ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} @@ -135,6 +127,15 @@ install(TARGETS ground_dds_ros_bridge # DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} #) +# Install C++ executables +install(TARGETS ground_dds_ros_bridge_node DESTINATION bin) +install(CODE "execute_process( + COMMAND ln -s ../../bin/ground_dds_ros_bridge_node share/${MODULE_NAME} + WORKING_DIRECOTRY ${CMAKE_INSTALL_PREFIX} + OUTPUT_QUIET + ERROR_QUIET + )") + # Mark launch files for installation install(DIRECTORY launch/ DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/launch diff --git a/debian/astrobee-ground-comms.files b/debian/astrobee-ground-comms.files index 339a2029b7..ae7e625c8f 100644 --- a/debian/astrobee-ground-comms.files +++ b/debian/astrobee-ground-comms.files @@ -1,2 +1,3 @@ opt/astrobee/lib/libground_dds_ros_bridge.so +opt/astrobee/bin/ground_dds_ros_bridge_node opt/astrobee/share/ground_dds_ros_bridge