Skip to content

Full Rebuild (Sync) March 2026: bump ros-distro-mutex to 0.7.0 and build_number to 24#557

Merged
Tobias-Fischer merged 118 commits intoRoboStack:mainfrom
traversaro:rebuildnov2025
Mar 15, 2026
Merged

Full Rebuild (Sync) March 2026: bump ros-distro-mutex to 0.7.0 and build_number to 24#557
Tobias-Fischer merged 118 commits intoRoboStack:mainfrom
traversaro:rebuildnov2025

Conversation

@traversaro
Copy link
Copy Markdown
Member

The main goal here is to align noetic with the rest of the repos, switching to a unified vinca.yaml and similar. To be honest, I do not have any interested in Noetic packages it self at the moment, so if anyone more interested in Noetic wants to help here it would be great.

fyi @mmoerdijk @TedVanderfeen @ruben-arts @baszalmstra @vmehta-humanoid @nmarticorena @daenny (just tagging the author of recent PRs to the Noetic repo)

@traversaro
Copy link
Copy Markdown
Member Author

At the moment the rosbash patch modified in #536 is not applying. @daenny can you look into that? Thanks!

@baszalmstra
Copy link
Copy Markdown
Contributor

Id like to help! :)

@traversaro
Copy link
Copy Markdown
Member Author

Id like to help! :)

I gave you access to the fork, feel free to push directly there in the rebuildnov2025 branch.

@baszalmstra
Copy link
Copy Markdown
Contributor

Thanks! I pushed a number of (mostly windows) related fixes. Will continue later.

The upstream source at release/noetic/rosbag/1.17.4-1 now uses
conditional compilation (#if BOOST_VERSION < 107200) for boost headers.
@baszalmstra
Copy link
Copy Markdown
Contributor

baszalmstra commented Nov 1, 2025

I just tried to fix rosbash but it looks like the zsh implementation has changed quite a bit. I let my AI assistant cobble something together but I dont really trust it enough.

@baszalmstra
Copy link
Copy Markdown
Contributor

Should we try to use conda-forge fcl for ros-noetic-fcl instead?

baszalmstra and others added 8 commits November 2, 2025 00:15
The upstream source already removed add_compile_options(-std=c++11).
Regenerated patch to only add OpenCV find_package and linking.
The upstream source at release/noetic/rosgraph/1.17.4-1 already has
Python 3.11+ compatibility handling with conditional logic.
The upstream source at release/noetic/rospack/2.6.4-1 already handles
APPLE-specific library exclusion using a package_libraries variable.
The upstream source already has the boost filesystem API updates
(fs::extension). Regenerated patch without those already-applied changes.
The upstream source at release/noetic/topic_tools/1.17.4-1 already
includes the <thread> header that this patch was adding.
The upstream source at release/noetic/tf2_py/0.7.10-1 already includes
the APPLE-specific Python linking and -undefined dynamic_lookup flags.
The upstream source at release/noetic/tf/1.13.4-1 already removed the
C++11 checking logic. Regenerated patch with only NO_ERROR and sys/time.h changes.
@traversaro
Copy link
Copy Markdown
Member Author

Should we try to use conda-forge fcl for ros-noetic-fcl instead?

Done in traversaro@596aa7a .

@daenny
Copy link
Copy Markdown
Contributor

daenny commented Nov 1, 2025

I can have a look at the zsh patch on Monday, but I am also fine with just removing it.

Refactor run_rattler_build to run recipes individually and report results. Better for debugging.
@Tobias-Fischer Tobias-Fischer changed the title Full Rebuild (Sync) November 2025: bump ros-distro-mutex to 0.7.0 and build_number to 24 Full Rebuild (Sync) March 2026: bump ros-distro-mutex to 0.7.0 and build_number to 24 Mar 12, 2026
@Tobias-Fischer
Copy link
Copy Markdown
Collaborator

Hard to believe but it's all green now and ready for review @traversaro @wolfv

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR performs a full rebuild sync for the ros-noetic repository, aligning it with other RoboStack repos by switching to a unified vinca.yaml, bumping the ros-distro-mutex to 0.7.0, updating build tooling, and applying numerous patches for compatibility with newer Boost, Qt, and compiler versions.

Changes:

  • Unified per-platform vinca_*.yaml files into a single vinca.yaml approach, removed old platform-specific configs and legacy constructor/installer scripts
  • Updated build infrastructure: Python 3.12, rattler-build 0.57, vs2022 compiler, new conda_build_config.yaml pins, CI caching, and patch validation tooling
  • Added/updated many patches for C++14 compatibility, Boost.Asio io_context migration, Qt5 enforcement, and cross-compilation fixes

Reviewed changes

Copilot reviewed 133 out of 136 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
vinca_osx_arm64.yaml, vinca_linux_aarch64.yaml Removed per-platform vinca configs in favor of unified approach
vinca.yaml (implicit) Now generated/used directly by vinca per platform
robostack.yaml Updated dependency mappings (cargo, google-mock, gtk2, etc.)
conda_build_config.yaml Bumped pins for numpy, protobuf, spdlog, libopencv, etc.; switched to vs2022, Python 3.12
pixi.toml Updated tooling versions, simplified tasks, removed per-platform rename tasks
pkg_additional_info.yaml Replaced build_number overrides with generate_dummy_package_with_run_deps entries
rosdistro_additional_recipes.yaml New file for jackal packages not in upstream rosdistro
patch/dependencies.yaml Updated OpenGL deps from REQUIRE_OPENGL to explicit per-platform packages
patch/*.patch (many) C++14 upgrades, Boost.Asio modernization, Qt5 fixes, cross-compilation fixes
.github/workflows/*.yml CI modernization: caching, unified recipe generation, patch checking
check_patches_clean_apply.py, build_gap_report.py New utility scripts for patch validation and build gap reporting
AGENTS.md New contributor documentation for coding agents
additional_recipes/* Removed manually maintained recipes (jackal, eigenpy, etc.) now handled via vinca

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@traversaro
Copy link
Copy Markdown
Member Author

Hard to believe but it's all green now and ready for review @traversaro @wolfv

Incredible, great work! Go for me, modulo probably the copilot comments that seems correct.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@Tobias-Fischer
Copy link
Copy Markdown
Collaborator

@copilot open a new pull request to apply changes based on the comments in this thread

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR performs a full rebuild sync for ROS Noetic, bumping ros-distro-mutex to 0.7.0 and build_number to 24. It unifies per-platform vinca_*.yaml files into a single vinca.yaml, updates tooling (Python 3.12, rattler-build 0.57, vs2022), modernizes CI workflows, adds numerous patches for Boost/C++14 compatibility, and removes legacy additional_recipes in favor of rosdistro_additional_recipes.yaml and pkg_additional_info.yaml.

Changes:

  • Unified vinca configuration and removed per-platform vinca_*.yaml files; updated pixi.toml tasks and CI workflows accordingly
  • Added/updated many patches for C++14 compatibility, Boost.Asio modernization (io_serviceio_context), and platform-specific fixes
  • Replaced manual additional_recipes/ with pkg_additional_info.yaml (dummy package generation) and rosdistro_additional_recipes.yaml

Reviewed changes

Copilot reviewed 133 out of 136 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
vinca_osx_arm64.yaml, vinca_linux_aarch64.yaml Removed per-platform vinca configs
vinca.yaml (implied), pixi.toml Unified vinca config; updated deps and tasks
rosdistro_additional_recipes.yaml New file for jackal packages bloom recipes
robostack.yaml Updated dependency mappings (cargo, draco, google-mock, etc.)
pkg_additional_info.yaml Replaced build-number overrides with dummy package generation
conda_build_config.yaml Updated pinnings (Python 3.12, protobuf 6.x, vs2022, etc.)
patch/* Many new/updated patches for C++14, Boost.Asio, platform fixes
patch/dependencies.yaml Replaced REQUIRE_OPENGL with explicit per-platform GL deps
check_patches_clean_apply.py, build_gap_report.py New utility scripts
.github/workflows/* Modernized CI with caching, unified recipe generation
additional_recipes/* Removed legacy manually-maintained recipes
AGENTS.md Added developer/agent guidance document
constructor_scripts/* Removed legacy installer scripts

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@Tobias-Fischer Tobias-Fischer merged commit 0a1df5a into RoboStack:main Mar 15, 2026
5 checks passed
@Tobias-Fischer Tobias-Fischer mentioned this pull request Mar 16, 2026
1 task
@diegoferigo-rai
Copy link
Copy Markdown

@traversaro could you have a look at #561? It seems this PR somehow affected rosdep

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants