Skip to content

fix(qt5-qtwebkit): make GStreamer MPEG-TS optional - #18313

Open
miz060 wants to merge 1 commit into
4.0from
mitchzhu/qt5-qtwebkit-optional-mpegts
Open

fix(qt5-qtwebkit): make GStreamer MPEG-TS optional#18313
miz060 wants to merge 1 commit into
4.0from
mitchzhu/qt5-qtwebkit-optional-mpegts

Conversation

@miz060

@miz060 miz060 commented Aug 4, 2026

Copy link
Copy Markdown
Member

Fixes the QtWebKit Stage 2 buildroot failure caused by the unavailable pkgconfig(gstreamer-mpegts-1.0) dependency.

Azure Linux does not provide gstreamer1-plugins-bad-free-devel, the package that supplies pkgconfig(gstreamer-mpegts-1.0). QtWebKit nevertheless treats MPEG-TS as a required GStreamer component whenever video support is enabled. That dependency is unnecessary for this build because QtWebKit uses the MPEG-TS source code and libraries only when USE_GSTREAMER_MPEGTS is enabled, and that integration is disabled. The fix makes MPEG-TS optional while leaving QtWebKit's general GStreamer audio and video support enabled.

Changes:

  • Removes the MPEG-TS build requirement and patches QtWebKit's required GStreamer component list.

Validation:

  • The full x86_64 build passed with ENABLE_VIDEO and USE_GSTREAMER still enabled.
  • RPM installation, dependency inspection, and an offscreen QWebPage smoke test passed.

Copilot AI balanced review requested due to automatic review settings August 4, 2026 18:30
@miz060
miz060 requested a review from a team as a code owner August 4, 2026 18:30

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Makes QtWebKit’s unused GStreamer MPEG-TS integration optional while retaining general GStreamer audio/video support.

Changes:

  • Removes the unavailable MPEG-TS build dependency and patches CMake component discovery.
  • Bumps the package release and refreshes generated state.
  • Adds matching source and rendered overlay artifacts.

Reviewed changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
base/comps/qt5-qtwebkit/qt5-qtwebkit.comp.toml Bumps the manual release.
base/comps/qt5-qtwebkit/overlays/0001-make-gstreamer-mpegts-optional.overlay.toml Defines dependency-removal and patch overlays.
base/comps/qt5-qtwebkit/overlays/qtwebkit-optional-gstreamer-mpegts.patch Removes MPEG-TS from required GStreamer components.
specs/q/qt5-qtwebkit/qt5-qtwebkit.spec Contains the rendered release, dependency, and patch changes.
specs/q/qt5-qtwebkit/qtwebkit-optional-gstreamer-mpegts.patch Contains the rendered patch artifact.
locks/qt5-qtwebkit.lock Refreshes the component input fingerprint.

@miz060

miz060 commented Aug 4, 2026

Copy link
Copy Markdown
Member Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
2 pipeline(s) were filtered out due to trigger conditions.

@tobiasb-ms tobiasb-ms left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

question(blocking-for-discussion): Is this failing everywhere or only in certain environments (stage 2 prod, for example)? If only certain environments, what is the difference?

@@ -0,0 +1,13 @@
QtWebKit requires the GStreamer MPEG-TS pkg-config component whenever generic

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

question(blocking-for-discussion): I see there's no git patch header here. How was this generated? I assume not using git -- should we generate it within a repo instead?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Good catch. No upstream commit contains this fix, and QtWebKit doesn't provide a way to disable only MPEG-TS. Without this one-line patch, the CMake configuration still requires the unavailable library. I regenerated the patch with git format-patch from the exact alpha4 tag using my name and signoff, etc.

Azure Linux does not ship gstreamer1-plugins-bad-free-devel, so Fedora's pkgconfig(gstreamer-mpegts-1.0) BuildRequires prevents mock from creating QtWebKit buildroots on both architectures.

QtWebKit also lists MPEG-TS as a required GStreamer component whenever generic video is enabled, although all MPEG-TS source and linkage is gated by USE_GSTREAMER_MPEGTS. Remove the exact build requirement and make that component optional while preserving the rest of the GStreamer media backend. Bump the manually managed release to 0.96.

Signed-off-by: Mitch Zhu <mitchzhu@microsoft.com>
@miz060
miz060 force-pushed the mitchzhu/qt5-qtwebkit-optional-mpegts branch from 87cb35a to 3f2cc05 Compare August 4, 2026 21:30
Copilot AI review requested due to automatic review settings August 4, 2026 21:30

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 5 out of 6 changed files in this pull request and generated no new comments.

@miz060

miz060 commented Aug 4, 2026

Copy link
Copy Markdown
Member Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
2 pipeline(s) were filtered out due to trigger conditions.

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.

3 participants