Restore RHEL 8 entries on the Qt5/Qt6-selecting rosdep keys - #53020
Open
nbbrooks wants to merge 1 commit into
Open
Restore RHEL 8 entries on the Qt5/Qt6-selecting rosdep keys#53020nbbrooks wants to merge 1 commit into
nbbrooks wants to merge 1 commit into
Conversation
The seven keys added in ros#50896 and ros#50897 that select Qt5 or Qt6 per platform all declare `rhel: '8': null`, so no package depending on them can be released for RHEL 8. Fill in the RHEL 8 entries with the same Qt5 packages already used for RHEL 9. ros#50896 built these keys by machine-merging existing ones, two of which (`qtbase5-dev`, `libqt5-widgets`) carry a flat, unversioned `rhel:` entry that covers every RHEL version. Collapsing that into a version-keyed map produced `{'*': qt6, '8': null, '9': qt5}`, dropping RHEL 8. Its stated scope was Rolling and Lyrical, where RHEL 8 does not apply, so the loss was not visible in review. The `null` is an artifact of that merge, not an assertion that Qt is unavailable on RHEL 8. Every value added here is already provided on RHEL 8 by an existing key with a flat `rhel:` entry — `qt5-qtbase-devel` by `qtbase5-dev`, `qt5-qtbase` by `libqt5-widgets`, `qt5-qtbase-gui` by `libqt5-gui`, `qt5-qtsvg` by `libqt5-svg`, `qt5-qtsvg-devel` by `libqt5-svg-dev` — and matches that key's existing RHEL 9 value, since RHEL 8 and 9 both ship Qt5. Found while releasing rviz_visual_tools 4.2.0 to Humble, where bloom's rosrpm generator failed to resolve `libqtwidgets` and `qt-base-dev` on rhel:8. The same package released for RHEL 8 previously, via the Qt5-specific keys. Follows ros#52673, which filled the equivalent missing `jammy` entry in `qt-base-dev`. Keys with `rhel: '8': null` that are Qt6-only are left alone; RHEL 8 has no Qt6. Assisted-by: Claude Code:claude-opus-5 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
nbbrooks
force-pushed
the
rhel8-qt5-qt6-selecting-keys
branch
from
August 3, 2026 06:04
e564ee5 to
12cb62f
Compare
|
Tick the box to add this pull request to the merge queue (same as
|
clalancette
approved these changes
Aug 4, 2026
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.
The seven Qt5/Qt6-selecting rosdep keys added in #50896 and #50897 all declare
rhel: '8': null, so any package depending on them cannot be released for RHEL 8. This PR fills in the RHEL 8 entries with the same Qt5 packages already used for RHEL 9.How this surfaced
Releasing
rviz_visual_tools4.2.0 to Humble, which switched toqt-base-dev/libqtwidgetsto pick up Qt6 on Resolute. Bloom'srosrpmgenerator forrhel:8:The same package released fine for RHEL 8 previously, using
qtbase5-devandlibqt5-widgets.Why the entries are missing
#50896 built these keys by merging existing ones:
Two of those sources —
qtbase5-devandlibqt5-widgets— have a flat, unversionedrhel:entry, which covers every RHEL version including 8. Collapsing that into a version-keyed map produced{'*': qt6, '8': null, '9': qt5}, dropping RHEL 8. The stated scope was "Rolling (and in the future Lyrical) use Qt5 on RHEL 9 / Ubuntu Noble, and Qt6 everywhere else", where RHEL 8 does not apply, so nothing in review would have flagged it.So the
nullis an artifact of that collapse, not an assertion that Qt is unavailable on RHEL 8.Every value here is already in use on RHEL 8
Each package name below is provided by an existing key whose
rhel:entry is flat, and therefore already resolves on RHEL 8:qt-base-devqt5-qtbase-develqtbase5-dev,qt5-qmake,libqt5-opengl-devlibqtwidgetsqt5-qtbaselibqt5-widgets,libqt5-core,libqt5-concurrentlibqtcoreqt5-qtbaselibqt5-corelibqtopenglqt5-qtbaselibqt5-opengllibqtguiqt5-qtbase-guilibqt5-guilibqtsvgqt5-qtsvglibqt5-svgqt-svg-devqt5-qtsvg-devellibqt5-svg-devIn every case the new RHEL 8 value is identical to the existing RHEL 9 value, which is the expected outcome: RHEL 8 and 9 both ship Qt5, and only
'*'(RHEL 10 and newer) has Qt6.Scope
All seven members of the family, rather than only the two that blocked our release — the omission is uniform across them and fixing a subset would leave the same failure waiting for the next package.
#52673is the precedent: it filled the equivalent missingjammyentry inqt-base-devso that packages "correctly pick up the Qt5 or Qt6 version of this package, depending on which distro they are running." This is the RHEL 8 half of that same gap.The other keys in
base.yamlwithrhel: '8': nullare Qt6-only (qt6-*,libqt6*,qml6-module-*) and are correctly null, since RHEL 8 has no Qt6. They are untouched.test/rosdep_formatting_test.pyandtest/rosdep_duplicates_test.pypass.Assisted-by: Claude Code:claude-opus-5