← Back to issue list

[WIP] catkin plugin: support building with an underlay.

View original Github issue

Metadata

Project
snapcraft
Number
#1140
Type
pull request
State
merged
Author
kyrofa
Labels
—
Created
Updated
Closed

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 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.
81%
#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.
74%