Skip to content

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

Merged
Tobias Brick (tobiasb-ms) merged 1 commit into
4.0from
mitchzhu/qt5-qtwebkit-optional-mpegts
Aug 5, 2026
Merged

fix(qt5-qtwebkit): make GStreamer MPEG-TS optional#18313
Tobias Brick (tobiasb-ms) merged 1 commit into
4.0from
mitchzhu/qt5-qtwebkit-optional-mpegts

Conversation

@miz060

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
Mitch Zhu (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

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 Tobias Brick (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?

Comment thread base/comps/qt5-qtwebkit/overlays/qtwebkit-optional-gstreamer-mpegts.patch Outdated
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
Mitch Zhu (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

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

Copy link
Copy Markdown
Contributor

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?

Mitch Zhu (@miz060) -- I suspect you didn't see this question because of weirdness in how overall comments from a code review are laid out.

@reubeno reuben olinsky (reubeno) 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.

You should respond to Tobias's question, but you can consider me signed off on this change.

@miz060

Copy link
Copy Markdown
Member Author

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?

thanks for the reminder! I did miss that.

It only fails in Stage 2 prod. Stage 1 differs because it uses Fedora 43 repositories, where gstreamer1-plugins-bad-free-devel provides that dependency; Stage 2 prod uses current Stage 1 prod, which does not ship it.

@reubeno

Copy link
Copy Markdown
Member

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?

thanks for the reminder! I did miss that.

It only fails in Stage 2 prod. Stage 1 differs because it uses Fedora 43 repositories, where gstreamer1-plugins-bad-free-devel provides that dependency; Stage 2 prod uses current Stage 1 prod, which does not ship it.

I'll add that it may also be a latent issue in Stage2 DEV -- but since we haven't force-rolled/rebuilt all the packages in DEV since some of the dependency carving happened, we just may not have noticed it. (That's a pattern we've seen recur.)

@tobiasb-ms

Copy link
Copy Markdown
Contributor

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?

thanks for the reminder! I did miss that.
It only fails in Stage 2 prod. Stage 1 differs because it uses Fedora 43 repositories, where gstreamer1-plugins-bad-free-devel provides that dependency; Stage 2 prod uses current Stage 1 prod, which does not ship it.

I'll add that it may also be a latent issue in Stage2 DEV -- but since we haven't force-rolled/rebuilt all the packages in DEV since some of the dependency carving happened, we just may not have noticed it. (That's a pattern we've seen recur.)

Ah this makes sense -- we already had the dependencies but got rid of some. Thanks.

@tobiasb-ms
Tobias Brick (tobiasb-ms) merged commit 2341fa7 into 4.0 Aug 5, 2026
11 checks passed
@tobiasb-ms
Tobias Brick (tobiasb-ms) deleted the mitchzhu/qt5-qtwebkit-optional-mpegts branch August 5, 2026 17:06
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.

4 participants