plugins: add ros2 boostrapper
Metadata
Current evaluation
Merged ROS 2 underlay bootstrap code, providing a source-build path for the planned Ament plugin in commit ebb2980cc (PR #1582).
Resolution: closed resolved
Reason: PR #1582 merged after maintainer approval, with its change recorded as commit ebb2980cc. It translates the ROS 2 source-bootstrap process into Python and prepares for the Ament plugin.
Evaluated by: mr-cal-bot
No scores available.
Issue body
- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] If this is a bugfix. Have you checked that there is a bug report open for the issue you are trying to fix on [bug reports](https://bugs.launchpad.net/snapcraft)?
- [x] If this is a new feature. Have you discussed the design on the [forum](https://forum.snapcraft.io)?
- [x] Have you successfully run `./runtests.sh static`?
- [x] Have you successfully run `./runtests.sh unit`?
-----
Pave the way for an Ament plugin: make progress on LP: [#1686850](https://bugs.launchpad.net/snapcraft/+bug/1686850) (and #1443) by adding code to bootstrap ROS2 underlay from source.
Note that a Debian archive containing ros2 exists, but according to the docs it's temporary. Until it stabilizes, we'll build from source. This PR is essentially the [documentation for building from source](https://github.com/ros2/ros2/wiki/Linux-Development-Setup) in Python form.
A follow-up PR will add an Ament plugin that utilizes the bootstrapper.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged ROS 2 underlay bootstrap code, providing a source-build path for the planned Ament plugin in commit ebb2980cc (PR #1582). | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #1582 in ebb2980cc, adding ROS 2 underlay bootstrapping from source as groundwork for the Ament plugin. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #1582 in commit ebb2980cc, adding ROS 2 underlay bootstrapping from source as groundwork for the Ament plugin. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged following reviewer approval and passing CI checks. Adds a ROS2 bootstrapper to build the underlay from source, paving the way for a future Ament plugin. Integration tests will be added in a follow-up PR. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged to add a ROS2 bootstrapper building the underlay from source, enabling a future Ament plugin. Approved by ROS2 and Snapcraft maintainers after minor feedback. Integration tests are deferred to a follow-up PR. |
Update history
No update history recorded yet.
Related work
-
Related To:
snapcore/snapcraft#1583
(confidence 99%)
The planned follow-up added the Ament plugin using this bootstrapper.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1583 ament plugin: new plugin | snapcraft | merged | Merged as commit 23c22fef3: adds beta ament plugin bootstrapping ROS 2 to build source parts, resolving LP #1686850 and issue #1443. | |
| #1443 new ament plugin (ros2) | snapcraft | closed | ROS 2 ament support was added by merged PR #1583 (commit 23c22fef3), with ROS 2 bootstrapping in #1582. PR #2324 later removed ament for base-based builds. | |
| #1686850 Missing support for ament | snapcraft (launchpad) | closed | Added ROS 2 support: merged PR #1583 (commit 23c22fef3) introduced the beta ament plugin, with ROS 2 underlay bootstrapping in #1582, closing LP #1686850 and snapcraft#1443. Later #2324 removed ament for base-based builds. |