catkin plugin: check stage-snaps for ROS dependencies
Metadata
Current evaluation
Merged #2525 as d1c5f1b00, updating the catkin plugin to honor ROS dependencies supplied by stage-snaps and avoid redundant fetches.
Resolution: closed resolved
Reason: PR snapcraft#2525 was merged into master as commit d1c5f1b00, implementing stage-snaps dependency checks and resolving LP #1823788.
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`?
-----
Similar to building snaps with a separate underlay (i.e. content sharing), the introduction of `stage-snaps` means that ROS dependencies can already be satisfied by the time rosdep runs to determine what dependencies are required. This PR resolves [LP: #1823788](https://bugs.launchpad.net/snapcraft/+bug/1823788) by reusing the functionality that prevents fetching already-satisfied dependencies in an underlay to ensure that dependencies already satisfied by stage-snaps are treated the same way (i.e. not fetched again).
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged #2525 as d1c5f1b00, updating the catkin plugin to honor ROS dependencies supplied by stage-snaps and avoid redundant fetches. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged into master as commit d1c5f1b00: the catkin plugin now checks stage-snaps for ROS dependencies, reusing underlay-satisfaction logic so already-provided deps aren't re-fetched. Resolves LP: #1823788. | |
| stealth/space-bunny-alpha | — | closed resolved | PR #2525 (kyrofa) merged into master as commit d1c5f1b00: the catkin plugin now checks stage-snaps for ROS dependencies, reusing underlay-satisfaction logic so already-provided deps aren't refetched. Fixes LP: #1823788. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged into master as commit d1c5f1b00 (#2525), making the catkin plugin check stage-snaps for ROS dependencies and avoid redundant dependency fetching. | |
| qwen/qwen3.6-35b-a3b | — | — | 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. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged into master. Updates the catkin plugin to check stage-snaps for ROS dependencies, preventing redundant fetching and resolving Launchpad bug #1823788. Code coverage reached 100%. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1823788 Catkin plugin doesn't notice ROS dependencies satisfied by stage-snaps | snapcraft (launchpad) | closed | Catkin stage-snap dependency detection was implemented by merged snapcraft PR #2525 (commit d1c5f1b00), avoiding redundant ROS dependency fetches. | |
| #1779 catkin-tools plugin: use stage-packages | snapcraft | merged | Merged #1779 (ebc4f2ce2): catkin-tools now uses stage-packages for clean-system builds, with a snapd-suite integration test. | |
| #1130 catkin plugin: produce build-ready staging area. | snapcraft | merged | Merged PR #1130 (commit e34b7ab19) makes the Catkin plugin rewrite ROS-specific paths after building, creating a staging area reusable by later parts and fixing LP #1663385. | |
| #1658828 Catkin plugin stages compilers | snapcraft (launchpad) | closed | Catkin no longer stages compilers: snapcore/snapcraft#1070 (ea8736af4) moved them to an alternate work area, keeping compiler bloat out of ROS snaps. | |
| #331 Catkin plugin: Handle rosdep empty and multiple dependencies. | snapcraft | merged | PR #331 merged into snapcraft master as commit 1c1119ce3 (merge e3a2b9d03). It refactored the Catkin plugin's rosdep dependency resolution to handle empty output and multiple packages per line, fixing LP bugs #1548406 and #1548404. | |
| #163 Catkin plugin: use rosdep for dependency resolution | snapcraft | merged | Merged in PR #163 (commit 87b2e24f6), replacing manual Catkin package.xml dependency parsing with rosdep; PR #183 backported the change to Snapcraft 1.x. | |
| #1663385 Catkin plugin: Staging area not suitable for building other parts | snapcraft (launchpad) | closed | Catkin staging output was made reusable by later parts: merged snapcraft#1130 rewrote ROS-specific paths after building, fixing LP #1663385. | |
| #152 Catkin plugin: Add support for ROS tools. | snapcraft | merged | Merged #152 as fc5142126, adding ROS package installation, roslaunch/rosrun support, updated examples, and doubled Catkin test coverage. | |
| #1548406 Catkin plugin: Can't handle rosdep resolving to nothing | snapcraft (launchpad) | closed | Fixed by canonical/snapcraft#331, merged as commit 1c1119ce3; Catkin now treats empty rosdep output as no dependencies instead of an error. | |
| #28 Add support for building ros/catkin based projects | snapcraft | closed | ROS/catkin snap building was delivered via the Catkin plugin, including PR #175 (9045874fd), and shipped in Snapcraft 0.4; issue #28 was closed. |