← Back to issue list

Catkin plugin: Handle rosdep empty and multiple dependencies.

View original Github issue

Metadata

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

Current evaluation

Merged refactoring of the Catkin plugin rosdep resolver to handle empty results and multiple dependencies per line. Fixes Launchpad bugs #1548406 and #1548404. Approved by maintainer sergiusens.

Suggested action:

No scores available.

Issue body

This PR resolves both LP: [#1548406](https://bugs.launchpad.net/snapcraft/+bug/1548406) and [#1548404](https://bugs.launchpad.net/snapcraft/+bug/1548404) by refactoring the `rosdep` dependency resolution code to account for an empty result as well as multiple results on one line. Note that both of these bugs are fixed here since, while they're separate bugs, the fix for both is very closely related and it would be more work to split them apart than to just do both.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Merged refactoring of the Catkin plugin rosdep resolver to handle empty results and multiple dependencies per line. Fixes Launchpad bugs #1548406 and #1548404. Approved by maintainer sergiusens.
qwen3.6-35b-a3b-mtp-q6 Merged refactoring of the Catkin plugin rosdep resolution to handle empty outputs and multiple dependencies per line. Resolves Launchpad bugs #1548406 and #1548404. Approved and merged by maintainers.
qwen3.6-35b-a3b-mtp-q6 Merged refactoring of the Catkin plugin rosdep resolver to handle empty and multiple dependency results, resolving Launchpad bugs #1548406 and #1548404. Approved by @sergiusens.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#163 Catkin plugin: use rosdep for dependency resolution snapcraft merged 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.
82%
#1581 catkin plugin: support rosdep pip dependencies snapcraft merged Merged implementation adding pip-based dependency support to the Catkin plugin's rosdep resolver, resolving Launchpad bug #1683036. Approved by one reviewer, passed CI, and modified 12 files.
81%
#1548404 Catkin plugin: Can't handle rosdep resolving to multiple packages snapcraft (launchpad) closed Closed without resolution. The Catkin plugin fails when rosdep returns multiple packages on a single line, treating it as one invalid name. The issue was abandoned due to zero comments and no proposed fix.
80%
#1548406 Catkin plugin: Can't handle rosdep resolving to nothing snapcraft (launchpad) closed Closed without comments or resolution. The Catkin plugin issue regarding rosdep entries resolving to nothing was unaddressed, indicating the report was abandoned or resolved internally without a code change.
79%
#183 Backport to 1.x: Catkin plugin: use rosdep for dependency resolution. snapcraft merged Merged backport of #163 to the 1.x branch. The catkin plugin now uses rosdep for dependency resolution, updating three files with 547 additions and 147 deletions.
77%
#2585 catkin plugin: check workspace for dependencies snapcraft merged Merged. Resolves LP: #1832044 by updating the Catkin plugin to use rospack for workspace dependency resolution instead of relying solely on the rosdep index. Approved by reviewers and passed all CI checks.
76%
#1479 rosdep: add support for multiple dependency types snapcraft merged Merged to add rosdep support for parsing multiple dependency types. The catkin plugin was updated to use the new API, currently limited to debs, laying groundwork for future pip dependency integration. Approved and passed CI.
76%
#2525 catkin plugin: check stage-snaps for ROS dependencies snapcraft merged 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.
74%
#1683036 Catkin plugin doesn't support rosdep dependencies that resolve to pip snapcraft (launchpad) closed Support for rosdep dependencies resolving to pip in the Catkin plugin was closed without implementation. The request appears abandoned, leaving pip resolution unsupported.
74%
#1392 catkin plugin: extract rosdep into new package snapcraft merged Merged. Extracts rosdep from the catkin plugin into snapcraft.plugins.internal.pullers to enable future Ament and ROS 2 support. Updates plugin loading to ignore internal packages, resolving issue #1464.
74%