Skip to content

Apply micro-ROS patch to upstream Rolling branch - #27

Open
David-LP99 wants to merge 5 commits into
rolling_upstreamfrom
rolling_rebased
Open

Apply micro-ROS patch to upstream Rolling branch#27
David-LP99 wants to merge 5 commits into
rolling_upstreamfrom
rolling_rebased

Conversation

@David-LP99

@David-LP99 David-LP99 commented Aug 12, 2026

Copy link
Copy Markdown

Description

Rebases micro-ROS's rcl fork from its stale kilted-era base onto current upstream ros2/rcl (rolling), reapplying the micro-ROS-specific patches (RCL_MICROROS/RCL_MICROROS_COMPLETE_IMPL stripping of arguments parsing, logging/rosout, type-hash, type-description service, and action feedback content-filtering) on top and resolving all merge conflicts.

The first 4 commits re-apply the micro-ROS patch to the branch, and the 5th one allows running the test suite, which was not adapted for micro-ROS previously.

Validated by building and running the full rcl/rcl_action/rcl_lifecycle test suite in a rolling container. Along the way, found and fixed several real bugs (not just conflict fallout):

  • rcl_init() never set rmw_init_options.enclave under RCL_MICROROS, which crashed every rcl_init()-dependent test against rmw_fastrtps_cpp.
  • rcl_subscription_options_t.disable_loaned_message was read from uninitialized memory under RCL_MICROROS (an over-broad #ifdef swallowed unrelated env-var logic); now deterministically true.
  • Several test_graph.cpp node-info tests had hardcoded expected publisher counts that silently assumed the implicit /rosout publisher every node gets upstream — which doesn't exist under RCL_MICROROS's enable_rosout=false default.

Also added/fixed test guards for functionality intentionally stripped under RCL_MICROROS (remapping, rosout, type-hash, type-description service, CFT), and cleaned up a batch of pre-existing cpplint/uncrustify/lint_cmake formatting issues.

rcl_yaml_param_parser remains intentionally excluded from the build (COLCON_IGNORE), unchanged.

Is this user-facing behavior change?

Yes, the enclave/security-options fix and the disable_loaned_message fix are real runtime corrections, not just test updates. Previously, rcl_init() would fail whenever the RMW required a properly-populated enclave, and loaned-message capability was read from undefined memory.

Did you use Generative AI?

Yes, Claude Code assisted with conflict resolution and debugging.

Additional Information

pablogs9 and others added 5 commits August 10, 2026 15:03
* Avoid logging on build time based on RCutils flags (#6)

* Add RCL_YAML_PARSER and RCL_LOGGING CMake options.

* Replace RCL_YAML_PARSER by RCL_COMMAND_LINE_ENABLED and RCL_LOGGING by RCL_LOGGING_ENABLED.

* Disabled logging fix

* Fix remapping (#7)

Co-authored-by: Pablo Garrido <pablogs9@gmail.com>
Co-authored-by: julibert <julianbermudez@eprosima.com>

Updates 17092020

*Release micro-ROS Foxy (#9)

Cleaning

Update

Add workflow checker

Update

Test

Test

Update

New approach

Update

Disable logger name (#11) (#13)

(cherry picked from commit 1fac9bf)

Co-authored-by: Pablo Garrido <pablogs9@gmail.com>

Avoid uint64_t operation when handling context (#16) (#18)

* Update

Signed-off-by: Pablo Garrido <pablogs9@gmail.com>

Update

Signed-off-by: Pablo Garrido <pablogs9@gmail.com>

Update

Signed-off-by: Pablo Garrido <pablogs9@gmail.com>

Update

Signed-off-by: Pablo Garrido <pablogs9@gmail.com>

* Update

Signed-off-by: Pablo Garrido <pablogs9@gmail.com>

* Clean PR

* Clean id rollover check

* Fix rollover

Co-authored-by: acuadros95 <acuadros1995@gmail.com>
(cherry picked from commit 32aa288)

Co-authored-by: Pablo Garrido <pablogs9@gmail.com>

Update fork checker for Humble

Signed-off-by: Pablo Garrido <pablogs9@gmail.com>

Update micro-ROS conditional compilation

micro-ROS get_type_description fix

Signed-off-by: acuadros95 <acuadros1995@gmail.com>

micro-ROS get_type_description fix

Signed-off-by: acuadros95 <acuadros1995@gmail.com>

Revert minor change

Signed-off-by: acuadros95 <acuadros1995@gmail.com>

Remove vscode file

Signed-off-by: acuadros95 <acuadros1995@gmail.com>

Address memory issue of type hash

Update
…nvironment from micro-ROS (#24)

Signed-off-by: Antón Casas <antoncasas@eprosima.com>
Signed-off-by: David Laseca Perez <davidlaseca@eprosima.com>
Signed-off-by: David Laseca Perez <davidlaseca@eprosima.com>
@mergify

mergify Bot commented Aug 12, 2026

Copy link
Copy Markdown

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

@David-LP99 David-LP99 changed the title Rolling rebased Apply the micro-ROS patch to the upstream Rolling branch Aug 12, 2026
@David-LP99 David-LP99 changed the title Apply the micro-ROS patch to the upstream Rolling branch Apply micro-ROS patch to upstream Rolling branch Aug 12, 2026
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.

3 participants