ROS plugins v2: Exclude packages in stage snap from fetched packages during staging
Metadata
Current evaluation
Closed unmerged as outdated; the maintainer said the ROS v2 stage-snap package-exclusion workaround needed a new discussion before proceeding.
Resolution: closed stale
Reason: PR #3676 was closed without merge after @sergiusens commented on 2023-05-17 that it looked outdated and required a new discussion. No resolving commit or replacement PR is identified.
Evaluated by: mr-cal-bot
No scores available.
Issue body
This PR introduces a ROS-specific workaround that prevents from fetching debs already contained in a stage-snap during staging.
Assuming the following dependency chain `foo -> bar -> baz` and a stage snap containing package `baz`. Snapping a ROS app `foo` means that at staging the package `bar` will be fetched (as it should) together with its dependency `baz`. However, `baz` being already provided by a stage snap we would like to avoid fetching it again, potentially shadowing a desired specific `baz` version or custom changes. Afaik, there is no mechanisms at the moment to handle this case.
This PR, somewhat akin to [get_packages_in_base](https://github.com/snapcore/snapcraft/blob/0224b48ea0e1cc7378e1ad392b41466f005ae3e6/snapcraft/internal/repo/_deb.py#L261) for ROS stage snaps, proposes a workaround.
- [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/)?
- [ ] Have you successfully run `./runtests.sh static`? -> Some unrelated `black` errors
- [ ] Have you successfully run `./runtests.sh tests/unit`?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed stale | Closed unmerged as outdated; the maintainer said the ROS v2 stage-snap package-exclusion workaround needed a new discussion before proceeding. | |
| stealth/space-bunny-alpha | — | closed stale | Closed unmerged as outdated; maintainer @sergiusens said the ROS stage-snap package-exclusion workaround needed a new discussion before reconsideration. | |
| stealth/space-bunny-alpha | — | closed stale | Closed unmerged as outdated; maintainer @sergiusens said the ROS stage-snap package-exclusion workaround needed a new discussion before proceeding. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without merging. Maintainers marked the ROS stage-snap package exclusion workaround as outdated and deferred implementation to a future discussion, effectively abandoning the PR. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed as outdated. The ROS staging workaround to exclude stage-snap packages from fetching was not merged. Maintainers indicated the PR requires re-evaluation when the feature is revisited. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1882288 ROS plugins: allow skip keys for rosdep | snapcraft (launchpad) | closed | Fixed in snapcraft plugins V2 via PR #3536 and #3566. Rosdep resolution was changed to use locally available packages, making a 'skip keys' option unnecessary. | |
| #3536 ROS plugins v2 misc fixes | snapcraft | merged | Merged ROS v2 plugin fixes to detect local ROS packages in the part install or underlay and skip rosdep resolution for them, with added core20 spread coverage. | |
| #1902090 ROS plugins should support building a single ROS package in addition to a workspace | snapcraft (launchpad) | closed | ROS plugins V2 gained single-package build support in merged PR snapcore/snapcraft#3405 (commit c074de797). |