← Back to issue list

Catkin plugin: use rosdep for dependency resolution

View original Github issue

Metadata

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

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 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.
88%
#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.
87%
#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.
86%
#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.
85%
#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.
85%
#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.
85%
#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.
83%
#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.
79%
#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.
78%
#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.
77%