Request for global autoconnect of ROS foundation snaps

Hello,

After internal discussion we came up with the following mitigation.

Each snap would declare their specific slot, that is e.g. the ros-noetic-ros-core snap would declare a ros-noetic-ros-core slot; the ros-foxy-desktop snap would declare a ros-foxy-desktop slot.

In addition, super-set snaps would declare additional slots for the lower sets they encompass since the content of those lower sets is also present. These additional slots would also be auto-connectable. E.g. the ros-foxy-desktop snap would also declare the ros-foxy-ros-base & ros-foxy-ros-core slots.

A full example for the foxy version is,

  • the snap ros-foxy-ros-core has the slot:
    • ros-foxy-ros-core
  • the snap ros-foxy-ros-base has the slots:
    • ros-foxy-ros-core
    • ros-foxy-ros-base
  • the snap ros-foxy-desktop has the slot:
    • ros-foxy-ros-core
    • ros-foxy-ros-base
    • ros-foxy-desktop

And equivalently for humble & noetic variants.

Reciprocally, plugs would also have to adopt this more exhaustive naming schema of course.

This more meaningful naming addresses the concern of a (current) ros-foxy plug expecting the ‘desktop’ set to wrongly auto-connecting to a (current) ros-foxy slot only providing the ‘core’ set for instance.

@emitorino Any thoughts? Would that address the concern you raised?

1 Like