Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion base/comps/components-publish-channels.toml
Original file line number Diff line number Diff line change
Expand Up @@ -297,7 +297,6 @@ components = [
"fakeroot",
"fapolicyd",
"fcoe-utils",
"fdk-aac-free",
"felix-parent",
"felix-utils",
"fence-agents",
Expand Down
1 change: 0 additions & 1 deletion base/comps/components.toml
Original file line number Diff line number Diff line change
Expand Up @@ -442,7 +442,6 @@ includes = ["**/*.comp.toml", "component-check-disablement.toml", "component-min
[components.fast_float]
[components.fasterxml-oss-parent]
[components.fcgi]
[components.fdk-aac-free]
[components.fdupes]
[components.fedora-bookmarks]
[components.felix-parent]
Expand Down
42 changes: 40 additions & 2 deletions base/comps/firefox/firefox.comp.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,10 @@ release = { calculation = "manual" }
# 2. 'fix(firefox): set manual release calculation'
# 3. 'feat(firefox): add azl_release counter for independent rebuild
# tracking' (introduces the azl_release counter mechanism)
# 4. This change (strip malware-flagged files from source tarball)
azl_release = "4"
# 4. 'feat(firefox): strip malware-flagged files from source tarball'
# 5. This change (override --with-system-fdk-aac in mozconfig
# and drop fdk-aac-free-devel BR)
azl_release = "5"

# Firefox 148.0's mfbt/tests/TestIntegerRange.cpp uses uint8_t/uint16_t/uint32_t/uint64_t
# without #include <cstdint>. GCC 15 (used in Azure Linux bootstrap) enforces stricter
Expand Down Expand Up @@ -55,6 +57,42 @@ type = "spec-search-replace"
regex = '%global enable_mozilla_crashreporter 1'
replacement = '%global enable_mozilla_crashreporter 0'

# AZL does not ship fdk-aac-free (FDK-AAC licensing). Two coordinated
# overlays are required: simply dropping the BR causes ./mach configure
# to hard-fail.
#
# Mechanism: the Fedora firefox-mozconfig (Source10) ships
# `ac_add_options --with-system-fdk-aac` unconditionally, which sets the
# meson option `--with-system-fdk-aac` for the Firefox build. The Fedora
# mozilla-1667096.patch (Patch401) wires that into a
# `pkg_check_modules('MOZ_FDK_AAC', 'fdk-aac', when='--with-system-fdk-aac')`
# in toolkit/moz.configure. Mozilla's pkg_check_modules defaults to
# `allow_missing=False`, so configure exits 1 if fdk-aac.pc is not in the
# buildroot — which it won't be once fdk-aac-free is dropped from AZL.
#
# We therefore (a) rewrite the mozconfig source line to
# `--without-system-fdk-aac` via file-search-replace so MOZ_FDK_AAC is
# never set (and the fdk-aac C code in mozilla-1667096.patch is neither
# compiled nor linked), and (b) drop the now-unnecessary
# fdk-aac-free-devel BR.
#
# Permanent AZL policy — CELA Not Approved Codecs; no upstream
# retirement trigger. Update regex on Fedora rebase if upstream reflows
# firefox-mozconfig; do NOT remove the overlays.

[[components.firefox.overlays]]
description = "Override `--with-system-fdk-aac` to `--without-system-fdk-aac` in firefox-mozconfig (Source10). Without this, mozilla-1667096.patch's pkg_check_modules('MOZ_FDK_AAC', 'fdk-aac', when='--with-system-fdk-aac') causes ./mach configure to fail when fdk-aac.pc is absent from the buildroot (allow_missing defaults to False)."
type = "file-search-replace"
file = "firefox-mozconfig"
regex = 'ac_add_options --with-system-fdk-aac'
replacement = 'ac_add_options --without-system-fdk-aac'

[[components.firefox.overlays]]
description = "Drop BuildRequires: fdk-aac-free-devel (no longer needed once the mozconfig override above disables MOZ_FDK_AAC; fdk-aac-free is being removed from AZL anyway)"
type = "spec-remove-tag"
tag = "BuildRequires"
value = "fdk-aac-free-devel"

# Compose AZL release counter with upstream's Release integer. Uses RPM's
# `%[ ... ]` expression syntax so the final Release tag stays a single
# integer (Fedora-style). The literal "1" in the replacement MIRRORS the
Expand Down
21 changes: 21 additions & 0 deletions base/comps/freerdp/freerdp.comp.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,24 @@ type = "spec-search-replace"
section = "%build"
regex = '-DWITH_OPUS=ON \\'
replacement = '-DWITH_OPUS=OFF \'

# AZL does not ship fdk-aac-free — disable AAC audio support in FreeRDP.
# The Fraunhofer FDK AAC library carries patent-encumbered licensing
# concerns and we don't want to maintain it in the distro.
#
# Permanent AZL policy — CELA Not Approved Codecs; no upstream
# retirement trigger. Update regex on Fedora rebase; do NOT remove
# the overlays.

[[components.freerdp.overlays]]
description = "Drop BuildRequires: pkgconfig(fdk-aac) (fdk-aac-free not available in AZL)"
type = "spec-remove-tag"
tag = "BuildRequires"
value = "pkgconfig(fdk-aac)"

[[components.freerdp.overlays]]
description = "Disable AAC audio codec in FreeRDP (-DWITH_FDK_AAC=OFF)"
type = "spec-search-replace"
section = "%build"
regex = '-DWITH_FDK_AAC=ON \\'
replacement = '-DWITH_FDK_AAC=OFF \'
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,39 @@ type = "spec-search-replace"
section = "%files"
regex = '%\{_libdir\}/gstreamer-%\{majorminor\}/libgstopusparse\.so'
replacement = ''

# AZL does not ship fdk-aac-free (FDK-AAC licensing). Disable the
# fdkaac plugin (libgstfdkaac.so) so the build doesn't require
# pkgconfig(fdk-aac) and doesn't ship the AAC encoder/decoder
# wrapper that would link against libfdk-aac at runtime.
#
# Permanent AZL policy — CELA Not Approved Codecs; no upstream
# retirement trigger. Update regex on Fedora rebase; do NOT remove
# the overlays.
#
# Note: the `-D fdkaac=disabled` overlay below (and the existing
# `-D opus=disabled` one above) anchors on `%meson \` and PREPENDS
# its option. So overlays added later in this file appear EARLIER
# in the rendered %meson invocation. New `-D foo=disabled` overlays
# added after this block will appear at the top of the meson call.

[[components.gstreamer1-plugins-bad-free.overlays]]
description = "Remove pkgconfig(fdk-aac) BuildRequires (fdk-aac-free not available in AZL)"
type = "spec-remove-tag"
tag = "BuildRequires"
value = "pkgconfig(fdk-aac)"

[[components.gstreamer1-plugins-bad-free.overlays]]
description = "Disable the fdkaac meson plugin (no fdk-aac-free in AZL)"
type = "spec-search-replace"
section = "%build"
regex = '%meson \\'
replacement = """%meson \\
-D fdkaac=disabled \\"""

[[components.gstreamer1-plugins-bad-free.overlays]]
description = "Remove libgstfdkaac.so from %files (plugin disabled above)"
type = "spec-search-replace"
section = "%files"
regex = '%\{_libdir\}/gstreamer-%\{majorminor\}/libgstfdkaac\.so'
replacement = ''
32 changes: 31 additions & 1 deletion base/comps/pipewire/pipewire.comp.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ release = { calculation = "manual" }
# 2 - introduce azl_release for pipewire
# 3 - disable opus codec support
# 4 - drop webrtc-audio-processing BR
azl_release = "4"
# 5 - drop AAC bluetooth codec
azl_release = "5"

[[components.pipewire.overlays]]
description = "Add azl_release to upstream %{baserelease} so we can bump release independently of upstream while keeping a single-number Fedora-style Release schema"
Expand Down Expand Up @@ -67,3 +68,32 @@ description = "Drop legacy webrtc-audio-processing BR (else branch, EL<10 / F<40
type = "spec-remove-tag"
tag = "BuildRequires"
value = "pkgconfig(webrtc-audio-processing) >= 0.2"

# AZL does not ship fdk-aac-free (FDK-AAC licensing). Disable the
# bluez5 AAC codec module so the build doesn't require
# pkgconfig(fdk-aac); the other bluez5 codecs (SBC, lc3, ldac on
# non-s390x) remain enabled for Bluetooth audio streaming.
#
# Permanent AZL policy — CELA Not Approved Codecs; no upstream
# retirement trigger. Update regex on Fedora rebase; do NOT remove
# the overlays.

[[components.pipewire.overlays]]
description = "Remove pkgconfig(fdk-aac) BuildRequires (fdk-aac-free not available in AZL)"
type = "spec-remove-tag"
tag = "BuildRequires"
value = "pkgconfig(fdk-aac)"

# Narrowly anchor on the single `-D bluez5-codec-aptx=disabled` option
# (rather than a joint phrase like `-D volume=disabled -D bluez5-codec-
# aptx=disabled`) so this overlay survives upstream Fedora reordering
# of the meson options. `spec-search-replace` silently no-ops on a
# missing match, so a brittle anchor would leave the build's AAC
# bluetooth-codec behavior dependent on whatever meson default the
# next Fedora rebase ships.
[[components.pipewire.overlays]]
description = "Inject -D bluez5-codec-aac=disabled into the %meson invocation (no fdk-aac-free in AZL). Anchored on the neighbouring bluez5-codec-aptx option so the overlay is resilient to upstream reordering of other -D flags."
type = "spec-search-replace"
section = "%build"
regex = '-D bluez5-codec-aptx=disabled'
replacement = '-D bluez5-codec-aac=disabled -D bluez5-codec-aptx=disabled'
6 changes: 0 additions & 6 deletions locks/fdk-aac-free.lock

This file was deleted.

2 changes: 1 addition & 1 deletion locks/firefox.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
version = 1
import-commit = 'e6f01c53ca35f9fbad3bf45f227275550935b9d9'
upstream-commit = 'e6f01c53ca35f9fbad3bf45f227275550935b9d9'
input-fingerprint = 'sha256:36345bcfb73f664dd33a68077cbf4675fd87e17e8555d4d68d29084d18419364'
input-fingerprint = 'sha256:1db98438150193fca7a8b8301f1469522381db0d60be942e7ab6c2a37536ed2e'
resolution-input-hash = 'sha256:466421704711c4fd3c71f0b2ed715a0e61d49e3e26f3a2637fee755795849c8e'
2 changes: 1 addition & 1 deletion locks/freerdp.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
version = 1
import-commit = '4a5dcde00f546460d24a2adac8f286794b376847'
upstream-commit = '4a5dcde00f546460d24a2adac8f286794b376847'
input-fingerprint = 'sha256:f097c4f6e1de67a3042c1b70eb4e03628d7d02a1ccebcb894f9b99ce2c891ad1'
input-fingerprint = 'sha256:5fd8edd82b4f57547016b0d227eca799b66d222b806241eb082d0f858374c608'
resolution-input-hash = 'sha256:466421704711c4fd3c71f0b2ed715a0e61d49e3e26f3a2637fee755795849c8e'
2 changes: 1 addition & 1 deletion locks/gstreamer1-plugins-bad-free.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
version = 1
import-commit = 'b5597ad939bb024c2ab32ef8cf17e2ba2b86ebe5'
upstream-commit = 'b5597ad939bb024c2ab32ef8cf17e2ba2b86ebe5'
input-fingerprint = 'sha256:393070c6177a80d1c864ad5f146e5716905c7c43697d06baba46a714252f146e'
input-fingerprint = 'sha256:584321d2ef3802bc2e7fbc98f073376cf76264dc41c91697fb8bd20a3f5729d0'
resolution-input-hash = 'sha256:466421704711c4fd3c71f0b2ed715a0e61d49e3e26f3a2637fee755795849c8e'
2 changes: 1 addition & 1 deletion locks/pipewire.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
version = 1
import-commit = 'f930436e78f3c6c32901254baf4979bab7c2710a'
upstream-commit = 'f930436e78f3c6c32901254baf4979bab7c2710a'
input-fingerprint = 'sha256:99d3b9e77574e8b7d13e5fd678e3e81000b2c0270105c45ce676725c6d93a7d0'
input-fingerprint = 'sha256:85d46f4ed01d29ca96af16ae06417806c124f7dfcdb174217fc04f8846fc5958'
resolution-input-hash = 'sha256:466421704711c4fd3c71f0b2ed715a0e61d49e3e26f3a2637fee755795849c8e'
152 changes: 0 additions & 152 deletions specs/f/fdk-aac-free/fdk-aac-free.spec

This file was deleted.

1 change: 0 additions & 1 deletion specs/f/fdk-aac-free/sources

This file was deleted.

2 changes: 1 addition & 1 deletion specs/f/firefox/firefox-mozconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ ac_add_options --without-system-icu
ac_add_options --enable-release
ac_add_options --update-channel=release
ac_add_options --allow-addon-sideload
ac_add_options --with-system-fdk-aac
ac_add_options --without-system-fdk-aac
ac_add_options --enable-js-shell
ac_add_options --with-unsigned-addon-scopes=app,system
ac_add_options --disable-bootstrap
Expand Down
2 changes: 1 addition & 1 deletion specs/f/firefox/firefox.azl.macros
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# Macros file automatically generated by azldev.
# Do not edit manually; changes will be overwritten.
%azl_release 4
%azl_release 5
1 change: 0 additions & 1 deletion specs/f/firefox/firefox.spec
Original file line number Diff line number Diff line change
Expand Up @@ -413,7 +413,6 @@ BuildRequires: libasan
BuildRequires: libasan-static
%endif
BuildRequires: perl-interpreter
BuildRequires: fdk-aac-free-devel
%if 0%{?launch_wayland_compositor}
BuildRequires: mutter
BuildRequires: gsettings-desktop-schemas
Expand Down
Loading
Loading