From baa91a2fd9adecd185b922b3135a3598d9f03de7 Mon Sep 17 00:00:00 2001 From: openhands Date: Mon, 21 Sep 2026 22:28:57 +0100 Subject: [PATCH 1/3] build: add libmarinholab-sas-core .deb (sas_cpp) to the PPA build The sas_core thin wrapper requires the non-ROS C++ core provided by MarinhoLab/sas_cpp as the libmarinholab-sas-core .deb (find_package marinholab_sas_core). It is not a colcon package (no package.xml), so it cannot go through the existing bloom loop; build it from its own debian/ packaging before colcon build, using sas_cpp main by default (overridable via SAS_CPP_REF). The .deb lands in tmp_ros2/ next to the ROS package .debs, so the existing PPA extract/scan/deploy pipeline ships it automatically. Co-authored-by: openhands --- build_ros2.sh | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/build_ros2.sh b/build_ros2.sh index 39a8b24..76ae3e1 100644 --- a/build_ros2.sh +++ b/build_ros2.sh @@ -120,6 +120,31 @@ done VERSION=$(date +"%-y.%-m.%-d%H%M%S") echo "version=${VERSION}" > SAS_VERSION +#################################################################### +# libmarinholab-sas-core .deb (non-ROS C++ core, MarinhoLab/sas_cpp) +# +# The sas_core thin wrapper requires this .deb (find_package +# marinholab_sas_core), so it must be built and installed before +# colcon build below and before the ROS package .deb builds. +# It is not a colcon package (no package.xml), so it cannot go +# through the bloom loop below; it is built from its own +# debian/ packaging (dpkg-buildflags-based CMake rules). +# +# The .deb is written to tmp_ros2/ so the PPA extract step +# (cp -f /root/tmp_ros2/*.deb) ships it together with the +# ROS package .debs. The version comes from sas_cpp's +# debian/changelog (static), while the content follows the +# cloned branch, so bump sas_cpp's changelog when promoting. +#################################################################### + +echo "Building libmarinholab-sas-core (sas_cpp @ ${SAS_CPP_REF:-main})" +git clone --depth 1 --branch "${SAS_CPP_REF:-main}" \ + https://github.com/MarinhoLab/sas_cpp.git +cd sas_cpp +dpkg-buildpackage -us -uc -b +cd .. +dpkg -i ./libmarinholab-sas-core_*.deb + #################################################################### # Check with colcon first #################################################################### From 57dd3f9b92835f240c37012cba5c67e505ed77e0 Mon Sep 17 00:00:00 2001 From: openhands Date: Mon, 21 Sep 2026 22:57:41 +0100 Subject: [PATCH 2/3] build: use sas_cpp rolling version for the libmarinholab-sas-core .deb Drop --depth 1 so sas_cpp's own tools/version.sh can count commits since the monthly version tag, and run tools/bump-changelog.sh (dch) to stamp debian/changelog with the rolling YY.MM.NN version before dpkg-buildpackage. Verified: changelog bump is idempotent, .deb builds and installs, find_package consumer probe runs a Clock. Co-authored-by: openhands --- build_ros2.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/build_ros2.sh b/build_ros2.sh index 76ae3e1..0a483f8 100644 --- a/build_ros2.sh +++ b/build_ros2.sh @@ -130,17 +130,21 @@ echo "version=${VERSION}" > SAS_VERSION # through the bloom loop below; it is built from its own # debian/ packaging (dpkg-buildflags-based CMake rules). # +# The full clone (no --depth) lets sas_cpp's tools/version.sh count +# commits since the monthly tag; tools/bump-changelog.sh (needs dch +# from devscripts, see prebuild_ros2.sh) stamps debian/changelog with +# that rolling YY.MM.NN version before dpkg-buildpackage. +# # The .deb is written to tmp_ros2/ so the PPA extract step # (cp -f /root/tmp_ros2/*.deb) ships it together with the -# ROS package .debs. The version comes from sas_cpp's -# debian/changelog (static), while the content follows the -# cloned branch, so bump sas_cpp's changelog when promoting. +# ROS package .debs. #################################################################### echo "Building libmarinholab-sas-core (sas_cpp @ ${SAS_CPP_REF:-main})" -git clone --depth 1 --branch "${SAS_CPP_REF:-main}" \ +git clone --branch "${SAS_CPP_REF:-main}" \ https://github.com/MarinhoLab/sas_cpp.git cd sas_cpp +bash tools/bump-changelog.sh dpkg-buildpackage -us -uc -b cd .. dpkg -i ./libmarinholab-sas-core_*.deb From 70624c69b23dea887fb74561b51530f0996fa992 Mon Sep 17 00:00:00 2001 From: openhands Date: Mon, 21 Sep 2026 23:00:47 +0100 Subject: [PATCH 3/3] build: install devscripts in the builder image (dch for sas_cpp) tools/bump-changelog.sh (run by build_ros2.sh before dpkg-buildpackage) needs dch, which is not in the base image. Co-authored-by: openhands --- prebuild_ros2.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/prebuild_ros2.sh b/prebuild_ros2.sh index becc1ab..3d3784f 100644 --- a/prebuild_ros2.sh +++ b/prebuild_ros2.sh @@ -7,6 +7,9 @@ sudo apt-get update -q sudo apt-get upgrade -y sudo apt-get autoremove -y sudo apt-get install -y dh-make dh-python python3-bloom +# dch (devscripts): needed by sas_cpp's tools/bump-changelog.sh, which +# stamps the rolling version into debian/changelog before dpkg-buildpackage +sudo apt-get install -y devscripts # sas_robot_driver_gazebo sudo apt-get install libgz-transport13-dev