[legacy] catkin plugin: ensure cxxflags are consistent
Metadata
Current evaluation
Merged PR #2546 into legacy, making catkin include paths deterministic so CXXFLAGS stay stable between builds and avoid unnecessary rebuilds (LP: #1827148).
Resolution: closed resolved
Reason: PR #2546 was merged into the legacy branch with an approved review, resolving LP bug #1827148 by enforcing deterministic ordering of catkin include paths.
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] Have you successfully run `./runtests.sh static`?
- [x] Have you successfully run `./runtests.sh tests/unit`?
-----
Currently some of the include paths aren't ordered deterministically, and they change between builds, which ruins the rebuilding story because Catkin takes it as a sign that it needs to start the build over. This PR fixes [LP: #1827148](https://bugs.launchpad.net/snapcraft/+bug/1827148) for legacy by making sure they stay the same between builds.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #2546 into legacy, making catkin include paths deterministic so CXXFLAGS stay stable between builds and avoid unnecessary rebuilds (LP: #1827148). | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #2546 into the legacy branch, making legacy catkin include paths deterministic to prevent unnecessary rebuilds and fix LP: #1827148. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged fix for the legacy catkin plugin ensuring deterministic include path ordering. Resolves unnecessary rebuilds from non-deterministic cxxflags. Approved, passed CI, and merged. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged into the legacy branch to fix non-deterministic include paths in the catkin plugin that caused unnecessary rebuilds. Resolves LP #1827148. Requires PR #2547 for tests to pass. |
Update history
No update history recorded yet.
Related work
-
Related To:
snapcraft#2547
(confidence 100%)
Merged prerequisite that enabled the catkin spread test to use Python 2 or Python before #2546's tests could pass.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #195 Catkin plugin: Improve cmake path rewrite. | snapcraft | merged | Merged #195 via 0bb02b679 (merge commit 42b5e382c), replacing hard-coded Catkin Config.cmake paths with generic, robust rewrites to the install directory. | |
| #2545 catkin plugin: use build-packages for compilers | snapcraft | merged | Merged PR #2545 in commit ddb2d2627, replacing Catkin's side-loaded compiler workaround with required build-packages and fixing LP: #1827148 rebuild failures. |