fix(libavif and deps): remove libavif and remove dependency from all dependent packages#17311
Draft
binujp wants to merge 1 commit into
Draft
fix(libavif and deps): remove libavif and remove dependency from all dependent packages#17311binujp wants to merge 1 commit into
binujp wants to merge 1 commit into
Conversation
ff401bc to
498aafe
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
Removes the libavif component from Azure Linux and surgically disables avif support in every dependent component (efl, gd, SDL2_image, opencv, webkitgtk, kf6-kimageformats) via component overlays and build.without toggles, regenerating the affected rendered specs and locks.
Changes:
- Delete
libavifcomponent (lock, rendered spec, sources, components.toml entry, publish-channels entry). - Add/extend
.comp.tomlfiles for the six dependents to droplibavifBuildRequires and force the avif knob off (bcondbuild.without, cmake/configure flag overlays). - Re-render specs + refresh locks (and generate
.azl.macrosfor the components newly usingbuild.without).
Reviewed changes
Copilot reviewed 18 out of 25 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| base/comps/components.toml | Drops inline entries for libavif, efl, SDL2_image, webkitgtk (now have dedicated comp files). |
| base/comps/components-publish-channels.toml | Removes libavif from publish channel list. |
| base/comps/efl/efl.comp.toml | New dedicated comp; build.without = ["avif"]. |
| base/comps/gd/gd.comp.toml | Adds build.without = ["avif"] and explicit Release bump (manual release). |
| base/comps/SDL2_image/SDL2_image.comp.toml | New: removes BR and switches --disable-avif-shared → --disable-avif. |
| base/comps/opencv/opencv.comp.toml | Adds avif BR removal + %cmake regex injection of -DWITH_AVIF=OFF \. |
| base/comps/webkitgtk/webkitgtk.comp.toml | New: removes BR + injects -DUSE_AVIF=OFF into both %cmake invocations (missing line continuation). |
| base/comps/kf6-kimageformats/kf6-kimageformats.comp.toml | Removes cmake(libavif) BR. |
| specs/* and locks/* | Re-rendered specs, generated .azl.macros, refreshed input fingerprints. |
| specs/l/libavif/*, locks/libavif.lock | Removed component artifacts. |
christopherco
requested changes
May 16, 2026
Collaborator
christopherco
left a comment
There was a problem hiding this comment.
SDL3_image will also fail to build because it has a BR on cmake(libavif)
e0e2ba1 to
f9cbbcd
Compare
…dependent packages Remove libavif component from the distro and disable avif/libavif support in all packages that depend on it. ## Packages updated ### efl - Control: `%bcond avif 1` — bcond controls BuildRequires + meson `-Devas-loaders-disabler` - Fix: `build.without = ["avif"]` - Created: `base/comps/efl/efl.comp.toml` (moved from inline) - Result: No avif dependency in RPMs ### gd - Control: `%bcond_without avif` (Fedora) / `%bcond_with avif` (RHEL) — bcond controls BR + Requires - Fix: `build.without = ["avif"]` added to existing comp.toml - Result: No avif dependency in RPMs (gd, gd-devel, gd-progs) ### SDL2_image - Control: Unconditional `BuildRequires: libavif-devel`; `--disable-avif-shared` in configure - Fix: spec-remove-tag to drop BR + spec-search-replace to change `--disable-avif-shared` to `--disable-avif` - Created: `base/comps/SDL2_image/SDL2_image.comp.toml` (moved from inline) - Result: No avif dependency in RPMs ### opencv - Control: Unconditional `BuildRequires: pkgconfig(libavif)` — no cmake flag for avif in spec - Fix: spec-remove-tag to drop BR + spec-search-replace to add `-DWITH_AVIF=OFF` cmake flag - Extended: `base/comps/opencv/opencv.comp.toml` - Result: No avif dependency in RPMs (including opencv-imgcodecs) ### webkitgtk - Control: Unconditional `BuildRequires: pkgconfig(libavif)` — cmake has `-DUSE_AVIF` option - Fix: spec-remove-tag to drop BR + spec-search-replace to add `-DUSE_AVIF=OFF` to cmake - Created: `base/comps/webkitgtk/webkitgtk.comp.toml` (moved from inline) - Result: No avif dependency in RPMs (webkit2gtk4.1, webkitgtk6.0, all -devel and -doc) ### kf6-kimageformats - Control: Unconditional `BuildRequires: cmake(libavif)` — auto-discovers avif via cmake - Fix: spec-remove-tag to drop `cmake(libavif)` BR - Extended: `base/comps/kf6-kimageformats/kf6-kimageformats.comp.toml` - Result: No avif dependency in RPMs ## libavif removal - Removed from `base/comps/components.toml` - Removed from `base/comps/components-publish-channels.toml` - Removed lock file `locks/libavif.lock` - Removed rendered specs `specs/l/libavif/` ## Not applicable - libheif: Not a component in AZL4 - ffmpeg / libavcodec-free: Already removed from distro - gstreamer1-plugins-bad-free: No avif dependency in spec All 6 packages built successfully and verified to have no libavif dependency in the resulting RPMs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
f9cbbcd to
fe3862a
Compare
Contributor
Author
|
Interesting that the SDL3_image dependency was not found by any script. A rpm -qR or spec grep clearly shows it, but not a dnf repoquery. Fixed it, added dependency removal overlays to SDL3_image. |
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.
Disable avif/libavif support in all packages that depend on it,
ahead of libavif removal from the distro.
Packages updated
efl
%bcond avif 1— bcond controls BuildRequires + meson-Devas-loaders-disablerbuild.without = ["avif"]base/comps/efl/efl.comp.toml(moved from inline)gd
%bcond_without avif(Fedora) /%bcond_with avif(RHEL) — bcond controls BR + Requiresbuild.without = ["avif"]added to existing comp.tomlSDL2_image
BuildRequires: libavif-devel;--disable-avif-sharedin configure--disable-avif-sharedto--disable-avifbase/comps/SDL2_image/SDL2_image.comp.toml(moved from inline)opencv
BuildRequires: pkgconfig(libavif)— no cmake flag for avif in spec-DWITH_AVIF=OFFcmake flagbase/comps/opencv/opencv.comp.tomlwebkitgtk
BuildRequires: pkgconfig(libavif)— cmake has-DUSE_AVIFoption-DUSE_AVIF=OFFto cmakebase/comps/webkitgtk/webkitgtk.comp.toml(moved from inline)kf6-kimageformats
BuildRequires: cmake(libavif)— auto-discovers avif via cmakecmake(libavif)BRbase/comps/kf6-kimageformats/kf6-kimageformats.comp.tomlNot applicable
All 6 packages built successfully and verified to have no libavif
dependency in the resulting RPMs.
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com