Skip to content
Merged
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 @@ -426,7 +426,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
64 changes: 62 additions & 2 deletions base/comps/firefox/firefox.comp.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,9 @@ 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. 'fix(firefox): drop fdk-aac-free-devel and Fedora fdk-aac patch'
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 +56,65 @@ type = "spec-search-replace"
regex = '%global enable_mozilla_crashreporter 1'
replacement = '%global enable_mozilla_crashreporter 0'

# AZL does not ship fdk-aac-free. Four 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, and Fedora's
# mozilla-1667096.patch (Patch401) wires that into
# `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.
#
# Patch401 is fdk-aac-only — it touches exactly 4 files
# (toolkit/moz.configure to add the `--with-system-fdk-aac` option +
# pkg_check_modules; ffvpx moz.build / codec_list.c / libfdk-aacdec.c
# to wire `ff_libfdk_aac_decoder` into the ffvpx codec table). Nothing
# else depends on it.
#
# We therefore (a) skip the `%patch -P401` invocation in %prep, which
# removes the `--with-system-fdk-aac` configure option entirely AND
# removes the `ff_libfdk_aac_decoder` entry from ffvpx's codec table
# (otherwise the link of libmozavcodec.so fails with `undefined
# reference to ff_libfdk_aac_decoder` because the wrapper .c file isn't
# compiled); (b) drop the `Patch401:` source declaration so the
# now-unused mozilla-1667096.patch is also pruned from the rendered
# SRPM by azldev's render filter; (c) drop the now-stale
# `ac_add_options --with-system-fdk-aac` line from firefox-mozconfig
# (Source10), because once Patch401 is gone that option is
# unrecognized by ./mach configure and aborts the build; and (d) drop
# the now-unnecessary fdk-aac-free-devel BR.
#
# Update regexes on Fedora rebase if upstream renames Patch401 or
# reflows firefox-mozconfig; do NOT remove the overlays.

[[components.firefox.overlays]]
description = "Skip Fedora's mozilla-1667096.patch (Patch401) in %prep. The patch is fdk-aac-only and (i) adds the `--with-system-fdk-aac` configure option and (ii) registers `ff_libfdk_aac_decoder` in ffvpx's codec_list.c. Without the wrapper .c file (libfdk-aacdec.c, also added by the patch) compiled in, that codec-table entry produces `undefined reference to ff_libfdk_aac_decoder` when linking libmozavcodec.so."
type = "spec-search-replace"
section = "%prep"
regex = '^%patch -P401 -p1 -b \.1667096$'
Comment thread
christopherco marked this conversation as resolved.
replacement = '# AZL: mozilla-1667096.patch (Patch401) skipped — adds fdk-aac support; see firefox.comp.toml'

[[components.firefox.overlays]]
description = "Drop the Patch401 source declaration for the now-unused mozilla-1667096.patch. azldev's render filter prunes patch files not referenced in the rendered spec, so removing the declaration also retires the ~21KB .patch file from the SRPM."
type = "spec-remove-tag"
tag = "Patch401"
value = "mozilla-1667096.patch"

[[components.firefox.overlays]]
description = "Drop the `ac_add_options --with-system-fdk-aac` line from firefox-mozconfig (Source10). Once Patch401 is skipped, toolkit/moz.configure no longer declares `--with-system-fdk-aac`, so leaving the mozconfig line in (or flipping it to `--without-`) aborts ./mach configure with 'unknown option'."
type = "file-search-replace"
file = "firefox-mozconfig"
regex = 'ac_add_options --with-system-fdk-aac'
replacement = ''

[[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
16 changes: 16 additions & 0 deletions base/comps/freerdp/freerdp.comp.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,19 @@ 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.
# 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 \'
27 changes: 26 additions & 1 deletion base/comps/pipewire/pipewire.comp.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ build.without = ["v4l2", "roc"]
# 4 - drop webrtc-audio-processing BR
# 5 - disable v4l2 support
# 6 - disable roc support
azl_release = "6"
# 7 - drop AAC bluetooth codec
azl_release = "7"

[[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 @@ -94,3 +95,27 @@ lines = [
"# Remove pw-v4l2 man page (generated even with -D pipewire-v4l2=disabled)",
"rm -f %{buildroot}%{_mandir}/man1/pw-v4l2.1*",
]

# AZL does not ship fdk-aac-free. 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.
#
# 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.
[[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:55ad1d0be4dafff74e28791ed3f44081c8cd20af3633969754d65d5062c2f1e1'
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/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:1395e906bd9a8c81a3bda5bc6bb2ace2cb46a92e4c46d13f238342e2d67e0aa6'
input-fingerprint = 'sha256:1dc967243eeed7950f87593790183681e01b198c6c8177a44cf0d8d1c81148db'
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 --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
4 changes: 1 addition & 3 deletions specs/f/firefox/firefox.spec
Original file line number Diff line number Diff line change
Expand Up @@ -279,7 +279,6 @@ Patch242: 0026-Add-KDE-integration-to-Firefox.patch

# Upstream patches
Patch400: mozilla-1196777.patch
Patch401: mozilla-1667096.patch
# Bug 1999029 - Wayland buffer transaction locking
Patch402: D278446.patch
Patch403: D278447.patch
Expand Down Expand Up @@ -413,7 +412,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 Expand Up @@ -606,7 +604,7 @@ cat %{SOURCE49} | sed -e "s|LIBCLANG_RT_PLACEHOLDER|`pwd`/wasi-sdk-25/build/sysr
%patch -P231 -p1 -b .fedora-customization

%patch -P400 -p1 -b .1196777
%patch -P401 -p1 -b .1667096
# AZL: mozilla-1667096.patch (Patch401) skipped — adds fdk-aac support; see firefox.comp.toml
# Bug 1999029 - Wayland buffer transaction locking
%patch -P402 -p1 -b .1999029-1
%patch -P403 -p1 -b .1999029-2
Expand Down
Loading
Loading