Skip to content

fix: pick the package name prefix per mutex, not per distro - #168

Merged
Hofer-Julian merged 1 commit into
mainfrom
pick-package-prefix-per-mutex
Aug 24, 2026
Merged

fix: pick the package name prefix per mutex, not per distro#168
Hofer-Julian merged 1 commit into
mainfrom
pick-package-prefix-per-mutex

Conversation

@Hofer-Julian

@Hofer-Julian Hofer-Julian commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Rolling publishes ros2-<pkg> for mutex 0.19 and published ros-rolling-<pkg>
for everything before it. Since #166 the page picked one prefix per distro, so
on the older mutexes it looked up names that do not exist there and reported 0%
of the index available. Reported by @traversaro in #166.

  • Key packages by their bare name, so ros2-rclcpp and ros-rolling-rclcpp
    share a row and each mutex slot comes from whichever spelling that generation
    was built under
  • Record the prefix per mutex in the dataset and let the table put it in front
    of every name it shows, so rows read ros-rolling-rclcpp on 0.16 to 0.18 and
    ros2-rclcpp on 0.19, links included
  • Drop Rolling's ros-rolling-<pkg> compatibility packages: they only pin the
    ros2-<pkg> of the same version and constrain no mutex, so counting them
    would advertise today's version on every older mutex too
  • Match either spelling in the search box

Screenshots

Rolling on ros2-distro-mutex 0.18.0 before, nothing available and every name
spelled ros2-:

The Rolling package table on mutex 0.18.0 reporting 0% available

The same mutex after, back at 42% with the ros-rolling- names it was built
under:

The Rolling package table on mutex 0.18.0 reporting 42% available

How Has This Been Tested?

  • pixi run update-tables: rolling goes from 762 packages on 0.19 and nothing
    on any older mutex to 758, 756 and 755 on 0.18, 0.17 and 0.16, which is ~42%
    of the index instead of 0%
  • noetic, humble, jazzy, kilted and lyrical regenerate to build slots identical
    to what is deployed today
  • pixi run lint and pixi run build-docs

Rolling publishes `ros2-<pkg>` for mutex 0.19 and published
`ros-rolling-<pkg>` for everything before it, so a page-wide prefix left every
older mutex at 0% available. Packages are now keyed by their bare name and the
dataset records the prefix each mutex generation uses, which the table puts in
front of every name it shows.

The `ros-rolling-<pkg>` compatibility packages are dropped: they only pin the
`ros2-<pkg>` of the same version and constrain no mutex, so counting them would
advertise today's version on every older mutex too.
@Hofer-Julian
Hofer-Julian marked this pull request as ready for review August 24, 2026 13:00

@traversaro traversaro left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! We are we tracking from which mutex a distro published names under the new scheme?

@Hofer-Julian

Copy link
Copy Markdown
Contributor Author

Thanks! We are we tracking from which mutex a distro published names under the new scheme?

Yes.

So for each mutex you check out the corresponding packages.
If for a package both ros2- and ros-rolling- exist, only ros2- is considered.
Then it checks whether more ros2- or ros-rolling- packages are there for one mutex. The highest number wins.

@Hofer-Julian
Hofer-Julian merged commit 58ce947 into main Aug 24, 2026
2 checks passed
@traversaro

Copy link
Copy Markdown
Member

Thanks! We are we tracking from which mutex a distro published names under the new scheme?

Yes.

So for each mutex you check out the corresponding packages. If for a package both ros2- and ros-rolling- exist, only ros2- is considered. Then it checks whether more ros2- or ros-rolling- packages are there for one mutex. The highest number wins.

Ah cool, so that works out of the box.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants