catkin plugin: don't assume catkin is in underlay
Metadata
Current evaluation
Merged fix updating the catkin plugin to use its isolated installation instead of assuming catkin exists in the underlay. Resolves Launchpad bug #1696014. Includes reviewer-requested test naming updates. Approved and merged.
Suggested action: —
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`?
-----
Currently the Catkin plugin pulls its own Catkin off to the side in order to search for dependencies in the underlay, but then doesn't use it in isolation, using Catkin components out of the underlay. This breaks if the underlay doesn't actually include Catkin, and makes no sense considering that Catkin is already pulled off to the side. This PR fixes LP: [#1696014](https://bugs.launchpad.net/snapcraft/+bug/1696014) by using that version completely.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged fix updating the catkin plugin to use its isolated installation instead of assuming catkin exists in the underlay. Resolves Launchpad bug #1696014. Includes reviewer-requested test naming updates. Approved and merged. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged fix for the Catkin plugin to use its isolated Catkin version instead of assuming the underlay contains it, resolving LP: #1696014. Integration test naming was updated per reviewer feedback before merging. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. The catkin plugin now exclusively uses its isolated Catkin installation instead of relying on the underlay, resolving bug #1696014. Integration test directories were renamed to start with catkin per reviewer feedback. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1140 [WIP] catkin plugin: support building with an underlay. | snapcraft | merged | 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. | |
| #324 catkin plugin: do not overwrite the PYTHONPATH | snapcraft | merged | Merged a fix for the catkin plugin that preserves the PYTHONPATH instead of overwriting it. This resolves a ROS test failure and LP: #1544790 by retaining paths set by setup.sh. Approved and merged by maintainers. | |
| #2525 catkin plugin: check stage-snaps for ROS dependencies | snapcraft | merged | Merged to master. Updates the catkin plugin to check stage-snaps for ROS dependencies, preventing redundant fetching by treating them like underlays. Resolves Launchpad bug #1823788. Approved, passed CI, and merged. | |
| #2847 Catkin plugin: consider only 'local' workspaces | snapcraft | merged | Merged. Fixes catkin plugin dependency resolution in destructive mode by passing the --local flag when sourcing ROS setup scripts. This prevents host ROS paths from leaking into workspace searches. Approved by three reviewers. | |
| #1743 catkin plugin: support building entire workspace | snapcraft | merged | Merged. The catkin-packages property is now optional. When omitted, the plugin builds the entire workspace. Resolves LP: #1721168. Approved by two reviewers with passing CI checks. | |
| #3168 plugins: fix loading of catkin-tools | snapcraft | merged | Merged a one-line correction changing catkin_tools to catkin-tools in the plugin loader, resolving package loading failures. Approved, passed CI, and addresses LP #1882996. | |
| #2545 catkin plugin: use build-packages for compilers | snapcraft | merged | Merged updates to the Catkin plugin that specify compilers as build-packages instead of isolating them. This resolves a rebuild failure and aligns with current base requirements. Approved by one reviewer and passed CI. | |
| #1522 catkin plugin: only append PYTHONPATH if set | snapcraft | merged | Merged fix for the Catkin plugin that only appends PYTHONPATH when set, preventing empty segments from resolving to the current directory. Added an environment test to verify the fix. Approved and merged. | |
| #175 Catkin plugin: Refactor build. | snapcraft | merged | Merged after addressing reviewer feedback on error handling and testing strategy. The update refactored the Catkin plugin build process, simplified build logic, extracted dependency resolution, added a source-space keyword, and achieved 100% unit test coverage. | |
| #2546 [legacy] catkin plugin: ensure cxxflags are consistent | snapcraft | merged | Merged fix for the legacy catkin plugin ensuring deterministic include path ordering. Resolves unnecessary rebuilds from non-deterministic cxxflags. Approved, passed CI, and merged. |