Repository navigation
Replace packages_skip_by_deps / packages_remove_from_deps with packages_exclude / packages_skip; don't build conda_index-mapped ROS packages - #162
Merged
traversaro merged 3 commits intoOct 9, 2026
Conversation
…dex maps to conda packages - packages_exclude: not built, and dropped from other packages' dependencies (packages_skip_by_deps + packages_remove_from_deps) - packages_skip: not built, dependents keep the dependency (packages_skip_by_deps) - both also remove the package from packages_select_by_deps, and take selectors, so a shared selection can be narrowed per platform or configuration - a ROS package whose name a conda_index maps to a conda package (e.g. tl_expected -> cpp-expected) is skipped, instead of being built under the conda package's name Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…adding keys vinca now knows only packages_exclude and packages_skip; the old keys are rejected with a message on how to convert them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 8, 2026
Member
|
Can we accept the old keys with a warning? As in the snapshot case, it is a good idea not to prevent old distro to use the latest vinca unless it is strictly necessary |
…h a warning So that existing configurations keep working with a newer vinca. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
Author
|
Good point, done: 🤖 Claude (AI assistant), on behalf of @Tobias-Fischer |
Contributor
Author
|
@traversaro are you happy to merge here? |
traversaro
approved these changes
Oct 9, 2026
Member
|
Thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two simplifications, prompted by RoboStack's move to one repository for all ROS 2 distributions, where one shared package selection is narrowed per distribution and platform.
packages_excludeandpackages_skipreplace the two old keyspackages_skip_by_depsandpackages_remove_from_depsalmost always listed the same packages, and neither removed a package frompackages_select_by_deps, so a shared selection was hard to narrow. They are replaced by:packages_exclude: not built, and dropped from other packages' dependencies. This covers what used to be in both lists.packages_skip: not built, but dependents keep the dependency, e.g. on a build that is already published. This is what used to be only inpackages_skip_by_deps.Both take selectors (
- if: win/then: [...]), and both also take the package out ofpackages_select_by_deps.The old keys are rejected with a message explaining how to convert them, rather than being kept alongside, so there is one way to do it. This is a breaking change for configurations that use them: a package from
packages_remove_from_depsgoes intopackages_exclude, and a package that was only inpackages_skip_by_depsgoes intopackages_skip.ROS packages mapped to conda packages
When a rosdep key in a
conda_index(e.g.tl_expected->cpp-expected,sophus) is also a ROS package of the distribution, vinca used to build the ROS package under the conda package's name. That shadowed the real conda-forge package (e.g. notl-expectedCMake config forrsl). Dependencies already resolve to the conda package, so such ROS packages are now skipped and listed in the output ("Mapped to conda packages, not built").Tests: the new tests cover selectors per platform, dependency removal, rejection of the old keys, and the shadowing skip. The existing tests are moved to the new keys. All 260 tests pass, ruff and pyrefly are clean, and the README documents the keys and the conversion.
Checked against RoboStack: generating recipes with this branch for RoboStack's monorepo, which already uses the new keys, gives the same results as before (jazzy linux-64: 1182 recipes; humble linux-64 and win-64).
🤖 Generated with Claude Code