← Back to issue list

catkin plugin: use build-packages for compilers

View original Github issue

Metadata

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

Current evaluation

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.

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] Have you successfully run `./runtests.sh static`? - [x] Have you successfully run `./runtests.sh tests/unit`? ----- Currently, the Catkin plugin pulls compilers off to the side rather than requesting that they be installed on the host. The reason for this is historical at this point: before bases existed, one could build a ROS snap on any version of Ubuntu, even versions unsupported by the ROS distribution being used. In an effort to ensure this worked as well as possible, the Catkin plugin did as much as it could without utilizing `build-packages` to ensure all components were compatible. With the introduction of bases (and the fact that the only ROS1 releases available correspond to LTS releases, and thus bases), this is no longer a concern. It's no longer possible to build a ROS snap on an unsupported Ubuntu version in a supported manner. Add to that the fact that there's a bug in the plugin's use of the compilers that prevents rebuilds from working properly, and it's time to get rid of them. Rather than pulling compilers off to the side, this PR fixes [LP: #1827148](https://bugs.launchpad.net/snapcraft/+bug/1827148) by simply specifying them as required `build-packages`.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b 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.
qwen3.6-35b-a3b-mtp-q6 Merged. Updates the Catkin plugin to declare compilers as build-packages, replacing legacy workarounds. Resolves rebuild failures (LP: #1827148) and aligns with modern bases support. Merged after test dependencies were satisfied.
qwen3.6-35b-a3b-mtp-q6 Merged. Replaces isolated compiler handling in the Catkin plugin with required build-packages, fixing rebuild failures (LP: #1827148). This change aligns with modern bases support and simplifies the build environment.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1070 catkin plugin: don't stage compilers. snapcraft merged Merged to master. The catkin plugin now routes compilers to an alternate working area instead of staging them, resolving LP #1658828 and preventing their inclusion in the final snap. Approved, passed CI, and merged.
79%
#1779 catkin-tools plugin: use stage-packages snapcraft merged Merged a fix switching the catkin-tools plugin from build-packages to stage-packages, resolving clean system failures. Added an integration test. Approved by two reviewers and passed CI.
78%
#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.
74%
#2459 catkin plugin: describe how to build all packages snapcraft merged Merged a documentation update for the catkin plugin explaining how to build all packages. Adds a missing blurb from a previous bug fix. Approved by two reviewers, passed CI, and modified one file.
72%
#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.
72%
#1526 catkin plugin: don't assume catkin is in underlay snapcraft merged 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.
71%
#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.
70%