Skip to content

Transitive dependencies unexpectedly renamed #6492

Description

@KhanMechAI

Checks

  • I have checked that this issue has not already been reported.

  • I have confirmed this bug exists on the latest version of pixi, using pixi --version.

Reproducible example

Hey team, got one more for you
We’re trying to make our ROS node packages a bit more self-describing.
Each node depends on a private conda package, , from our http://prefix.dev/ channel. That package isn’t a rosdep key, so the idea was to declare it in package.xml and use extra-package-mappings to map it to the conda package directly, instead of having the backend turn it into ros-humble-....
This works fine when the package that carries the mapping is a direct dependency. But once it comes in transitively. In our case, the deploy/prod env depends on a leaf launch package, and that exec_depends the node packages, the mapping seems to disappear. The backend falls back to ros-humble-, and the solve fails because there are no candidates.
So in prod, the node packages are only ever resolved transitively, which is exactly the path where the mapping drops out.
I’ve put together a minimal repro, attached here. It only uses public packages, so no creds needed. pixi lock reproduces it. If I swap the root dep to the mapped member directly, it passes, which seems to point pretty clearly at the transitive resolution path dropping the mapping. README has the details.
pixi-ros-mapping-repro.zip

Issue description

No response

Expected behavior

Transitively resolved dependencies with extra-package-mappings are correctly resolved.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions