fix(libavif): remove libavif and disable avif support in all dependent packages#17311
Conversation
ff401bc to
498aafe
Compare
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
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
f9cbbcd to
fe3862a
Compare
|
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. |
fe3862a to
696d86c
Compare
696d86c to
84e6260
Compare
84e6260 to
d53a1ba
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 21 out of 29 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (1)
specs/l/libavif/libavif.spec:1
- The libavif component definition at
base/comps/libavif/libavif.comp.tomlhas not been deleted by this PR. Only the rendered spec (specs/l/libavif/libavif.spec,sources) and the lock file (locks/libavif.lock) are removed, but the component is still defined via[components.libavif]inbase/comps/libavif/libavif.comp.toml(picked up bycomponents.toml'sincludes = ["**/*.comp.toml", ...]). As a result, the component remains active but has no rendered spec/lock, which will cause CI drift (Check Rendered Specs / Update Locks) and leaves stale overlays referencing dav1d. The wholebase/comps/libavif/directory (includinglibavif.comp.toml) must also be removed to fully retire the component.
60a0aaa to
4e90556
Compare
Add avif to build.without to disable AVIF image loader support. AZL does not ship libavif. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add avif to build.without and bump Release to 20. AZL does not ship libavif. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove libavif-devel BuildRequires and change --disable-avif-shared to --disable-avif. AZL does not ship libavif. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Pin SDL3_image to Fedora f43 commit 6b9cdf9 which includes BuildRequires: libpng-static, fixing the pre-existing build failure caused by libpng's cmake config referencing libpng16.a. Disable avif support via overlays (remove cmake(libavif) BR, set SDLIMAGE_AVIF flags OFF). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove pkgconfig(libavif) BuildRequires and add -DWITH_AVIF=OFF cmake flag. AZL does not ship libavif. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove pkgconfig(libavif) BuildRequires and add -DUSE_AVIF=OFF cmake flag to both webkit2gtk4.1 and webkitgtk6.0 builds. AZL does not ship libavif. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove cmake(libavif) BuildRequires. AZL does not ship libavif. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove libavif package from Azure Linux. All reverse dependencies have been updated to build without libavif support. Removed: - components.toml entry - components-publish-channels.toml entry - locks/libavif.lock - specs/l/libavif/ (rendered spec and sources) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
4e90556 to
bbeb381
Compare
| @@ -1,3 +1,14 @@ | |||
| [components.gd] | |||
| # Release: 19%{?prever}%{?short}%{?dist} | |||
Disable avif/libavif support in all packages that depend on it,
then remove the libavif component 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)SDL3_image
BuildRequires: cmake(libavif)+ cmake flagsSDLIMAGE_AVIF=ON6b9cdf9(version 3.4.4) which addsBuildRequires: libpng-static, fixing a pre-existing build failure caused by libpng cmake config referencinglibpng16.abase/comps/SDL3_image/SDL3_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.tomllibavif removal
base/comps/components.tomlbase/comps/components-publish-channels.tomlBuild verification
All 7 packages built successfully and verified to have no libavif dependency in resulting RPMs ✅
Not applicable
Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com