Catkin plugin: use rosdep for dependency resolution
Metadata
Current evaluation
Merged in PR #163 (commit 87b2e24f6), replacing manual Catkin package.xml dependency parsing with rosdep; PR #183 backported the change to Snapcraft 1.x.
Resolution: closed resolved
Reason: The rosdep-based dependency resolution was merged as commit 87b2e24f6. The same change was subsequently backported to 1.x by merged PR #183.
Evaluated by: mr-cal-bot
No scores available.
Issue body
The Catkin plugin currently does its own dependency resolution via manually parsing each package.xml. It makes some naive assumptions while doing so, and a tool already exists in ROS for doing this: rosdep. This PR gets rid of the manual parsing in favor of rosdep.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged in PR #163 (commit 87b2e24f6), replacing manual Catkin package.xml dependency parsing with rosdep; PR #183 backported the change to Snapcraft 1.x. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #163 (commit 87b2e24f6, merge 20b33e494): the Catkin plugin replaced its manual package.xml dependency parsing with rosdep for resolution. Backported to 1.x via merged PR #183. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #163 (87b2e24f6): Catkin now uses rosdep instead of manually parsing package.xml dependencies. The change was also backported to 1.x in merged PR #183. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged. Replaced manual package.xml parsing with rosdep for Catkin plugin dependency resolution. Reviewers approved the changes, with minor naming suggestions deferred to a future refactor. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged after replacing manual package.xml parsing in the Catkin plugin with rosdep for dependency resolution. Test feedback was addressed, and variable naming improvements were deferred to a future refactor. |
Update history
No update history recorded yet.
Related work
-
Related To:
canonical/snapcraft#183
(confidence 100%)
Merged backport of PR #163 to the Snapcraft 1.x branch.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #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. | |
| #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. | |
| #1683036 Catkin plugin doesn't support rosdep dependencies that resolve to pip | snapcraft (launchpad) | closed | Catkin support for rosdep dependencies resolving to pip was merged in snapcraft PR #1581, commit 186ae7f91. | |
| #1548404 Catkin plugin: Can't handle rosdep resolving to multiple packages | snapcraft (launchpad) | closed | Fixed by ubuntu-core/snapcraft PR #331 (commit 1c1119ce3, 'Catkin plugin: Handle rosdep empty and multiple dependencies'), merged as e3a2b9d03; maintainer ~kyrofa linked the PR when closing the Launchpad bug. | |
| #183 Backport to 1.x: Catkin plugin: use rosdep for dependency resolution. | snapcraft | merged | Merged into 1.x via PR #183, backporting PR #163 so Catkin uses rosdep instead of manually parsing package.xml dependencies. | |
| #1392 catkin plugin: extract rosdep into new package | snapcraft | merged | Merged in canonical/snapcraft#1392 (99218f59d), extracting rosdep from Catkin into internal.pullers and resolving #1464. | |
| #1581 catkin plugin: support rosdep pip dependencies | snapcraft | merged | Merged PR #1581 in commit 186ae7f91, adding pip-based rosdep dependency support to the Catkin plugin and fixing LP bug #1683036. | |
| #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. | |
| #1444 catkin pip support | snapcraft | closed | Catkin gained pip-based rosdep dependency support via merged PR #1581 (commit 186ae7f91), following groundwork in #1479 and #1540. | |
| #1464 Extract rosdep into its own package | snapcraft | closed | Rosdep was extracted from Catkin into internal.pullers for reuse by Ament/ROS 2; PR canonical/snapcraft#1392 merged in commit 99218f59d. |