← Back to issue list

catkin plugin: check workspace for dependencies

View original Github issue

Metadata

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

Current evaluation

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.

Suggested action:

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 the Catkin plugin doesn't check the workspace for dependencies, which causes the build to fail if a declared dependency isn't contained within the rosdep index (even though it's satisfied by another package in the workspace). Until rosdep [grows the ability to do this on its own](https://github.com/ros-infrastructure/rosdep/issues/685), this PR resolves [LP: #1832044](https://bugs.launchpad.net/snapcraft/+bug/1832044) by adding the ability for the snapcraft CLI to do this manually, using `rospack` to enumerate the packages contained in the workspace and filtering dependencies through that list.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b 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.
qwen3.6-35b-a3b-mtp-q6 Merged a catkin plugin fix resolving build failures when workspace dependencies lack rosdep entries. The update uses rospack to enumerate local packages and filter dependencies, addressing LP: #1832044. Changes passed tests with 96.36% diff coverage.
qwen3.6-35b-a3b-mtp-q6 Merged fix for the Catkin plugin to resolve workspace dependencies using rospack, addressing LP #1832044. Builds now succeed when dependencies are satisfied by other workspace packages instead of the rosdep index. Changes are available on the edge channel.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#2847 Catkin plugin: consider only 'local' workspaces snapcraft merged Merged. Fixes catkin plugin dependency resolution in destructive mode by passing the --local flag when sourcing ROS setup scripts. This prevents host ROS paths from leaking into workspace searches. Approved by three reviewers.
79%
#1832044 Catkin plugin doesn't check the workspace for dependencies snapcraft (launchpad) closed The catkin plugin incorrectly errors on workspace-local dependencies due to a rosdep bug. The report was closed without a fix or resolution.
78%
#1743 catkin plugin: support building entire workspace snapcraft merged Merged. The catkin-packages property is now optional. When omitted, the plugin builds the entire workspace. Resolves LP: #1721168. Approved by two reviewers with passing CI checks.
78%
#2833 catkin: remove rospack workaround snapcraft merged Merged removal of a catkin rospack workaround, reverting #2585 as rosdep now natively ignores source packages. Approved by three reviewers and passed CI checks.
76%
#331 Catkin plugin: Handle rosdep empty and multiple dependencies. snapcraft merged 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.
76%
#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.
76%
#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.
75%
#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%
#1314 catkin plugin: add support for rosinstall files snapcraft merged Merged. Introduces a rosinstall-files property to the Catkin plugin, allowing Snapcraft to manage ROS workspace dependencies. Approved by a reviewer and merged after resolving CI test delays. Resolves Launchpad bug 1533735.
72%
#1526 catkin plugin: don't assume catkin is in underlay snapcraft merged Merged fix updating the catkin plugin to use its isolated installation instead of assuming catkin exists in the underlay. Resolves Launchpad bug #1696014. Includes reviewer-requested test naming updates. Approved and merged.
70%