← 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 PR #2585 (b88e37814) fixed Catkin builds by using rospack to enumerate workspace packages and exclude their internal dependencies from rosdep resolution; resolves LP #1832044.

Resolution: closed resolved

Reason: PR #2585 was merged as commit b88e37814. It adds workspace package discovery via rospack before rosdep filtering, resolving LP #1832044.

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`? ----- 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
stealth/space-bunny-alpha — closed resolved Merged PR #2585 (b88e37814) fixed Catkin builds by using rospack to enumerate workspace packages and exclude their internal dependencies from rosdep resolution; resolves LP #1832044.
stealth/space-bunny-alpha — closed resolved Merged PR #2585 (commit b88e37814): catkin plugin now enumerates workspace packages with rospack and filters declared dependencies against them before rosdep, fixing LP #1832044.
stealth/space-bunny-alpha — closed resolved Merged PR #2585 (commit b88e37814) by kyrofa: the Catkin plugin now uses rospack to enumerate workspace packages and filters dependencies through that list, fixing LP: #1832044. Later removed by #2833 once rosdep -i worked.
stealth/space-bunny-alpha — closed resolved Merged as b88e37814: catkin plugin now enumerates workspace packages with rospack and filters rosdep dependencies against them, fixing LP #1832044. Later superseded by #2833 (949f90946) removing the workaround.
stealth/space-bunny-alpha — closed resolved Merged PR #2585 as commit b88e37814, fixing LP #1832044 by resolving Catkin dependencies against workspace packages discovered with rospack.
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.

Update history

No update history recorded yet.

Related work

  • Related To: snapcraft (launchpad)#1832044 (confidence 100%)

    Launchpad bug LP #1832044 was explicitly resolved by this PR.

  • Blocked By: rosdep#685 (confidence 95%)

    The PR implements workspace-aware dependency filtering because rosdep lacked this capability.

Related issues

Issue Project State Summary Similarity
#1832044 Catkin plugin doesn't check the workspace for dependencies snapcraft (launchpad) closed Catkin plugin failed on whole-workspace builds because rosdep (#685) couldn't resolve deps satisfied by in-workspace packages. Workaround merged in snapcraft PR #2585 (commit b88e37814); the workaround was later dropped in #2833 once rosdep was fixed upstream.
85%
#2833 catkin: remove rospack workaround snapcraft merged Merged PR #2833 in commit 949f90946, removing the Catkin rospack workaround because rosdep can now ignore workspace source packages.
79%
#2847 Catkin plugin: consider only 'local' workspaces snapcraft merged Merged PR #2847 (commit 1d476f622) sources ROS setup with --local, preventing destructive-mode Catkin builds from using host workspaces and skipping dependency installation.
78%
#1743 catkin plugin: support building entire workspace snapcraft merged Merged #1743 in commit ec4cac26a, making catkin-packages optional so the Catkin plugin builds the entire workspace when omitted; this also resolves snapcraft#1713.
76%
#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.
75%
#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.
74%
#1713 catkin plugin: support for building all packages in a given workspace snapcraft closed Implemented workspace-wide Catkin builds: omitting catkin-packages now builds every package. Merged in canonical/snapcraft#1743 via commit ec4cac26a.
73%
#1721168 Catkin plugin: support building the entire workspace snapcraft (launchpad) closed Implemented in snapcraft PR #1743 (commit ec4cac26a, "catkin plugin: support building entire workspace"), merged ~Nov 2017. catkin-packages became optional: omitting it builds the whole workspace, while an empty list still means no packages.
73%
#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.
73%
#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.
72%