[WIP] catkin plugin: support building with an underlay.
Metadata
Current evaluation
Merged PR #1140 in commit cab0b3806, adding build- and run-time underlay support to the Catkin plugin so ROS dependencies can be shared instead of bundled.
Resolution: closed resolved
Reason: PR #1140 was merged as commit cab0b3806, resolving LP: #1664776 by allowing the Catkin plugin to search a build-time underlay and use a run-time underlay.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Currently the Catkin plugin simply pulls down all dependencies of the workspace being built using rosdep. This doesn't work for the cases of trying to create a ROS system that utilizes content sharing, as it forces each snap to bundle their dependencies even when it's undesired.
This PR resolves LP: [#1664776](https://bugs.launchpad.net/snapcraft/+bug/1664776) by adding support for an `underlay` property to the Catkin plugin, which accepts a build-time underlay path for when the consumer snap is being built (which is searched for dependencies before fetching them), as well as a run-time underlay path for when the consumer snap is being run (so the workspace can be properly overlaid).
**Note:** This is the first of two PRs. The second adds a demo (and a snaps_test) that utilizes this. It might be helpful to see how this is used, though, so feel free to [check out the demo](https://github.com/kyrofa/snapcraft/tree/feature/1664776/catkin_underlay_snaps_tests/demos/shared-ros).
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #1140 in commit cab0b3806, adding build- and run-time underlay support to the Catkin plugin so ROS dependencies can be shared instead of bundled. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged as canonical/snapcraft#1140 in commit cab0b3806, adding build-time and run-time underlay support to the Catkin plugin for shared ROS dependencies. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged changes adding an underlay property to the Catkin plugin, enabling ROS dependency sharing. Resolves LP: #1664776. Approved and merged after addressing a regression from PR #1146. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged the catkin plugin update adding an underlay property for build and runtime dependency paths, resolving LP #1664776. Despite WIP status and breakage from #1146, it was merged to enable ROS content sharing without bundling dependencies. |
Update history
No update history recorded yet.
Related work
-
Related To:
canonical/snapcraft#1186
(confidence 100%)
Follow-up PR merged as 1fb6d756a added a ROS content-sharing demo and test.
-
Related To:
snapcraft (launchpad)#1664776
(confidence 98%)
Original Launchpad bug resolved by the underlay support merged in #1140.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1664776 Catkin plugin: support building with an underlay | snapcraft (launchpad) | closed | Catkin underlay support landed in snapcore/snapcraft#1140 (cab0b3806); follow-up #1186 added a ROS content-sharing demo. | |
| #1526 catkin plugin: don't assume catkin is in underlay | snapcraft | merged | Merged #1526 in commit ae9fd598f, making the Catkin plugin use its isolated Catkin installation instead of requiring Catkin in the underlay; fixes LP #1696014. |