Bug 2391118 - qcom-wwan-firmware cannot be removed due to Requires: in linux-firmware
Summary: qcom-wwan-firmware cannot be removed due to Requires: in linux-firmware
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: linux-firmware
Version: 42
Hardware: Unspecified
OS: Linux
unspecified
low
Target Milestone: ---
Assignee: David Woodhouse
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-08-26 19:23 UTC by Rob Foehl
Modified: 2025-10-03 01:17 UTC (History)
5 users (show)

Fixed In Version: linux-firmware-20250917-2.fc43 linux-firmware-20250917-2.fc42 linux-firmware-20250917-2.fc41
Clone Of:
Environment:
Last Closed: 2025-10-02 01:20:35 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Rob Foehl 2025-08-26 19:23:34 UTC
The newly separated qcom-wwan-firmware package cannot be removed (or avoided) independently of linux-firmware, due to a Requires: in the latter.  This seems to defeat the purpose of splitting it out, especially as all previous subpackages only carry a Recommends:.

Reproducible: Always

Steps to Reproduce:
dnf remove qcom-wwan-firmware
Actual Results:
DNF attempts to remove linux-firmware and related packages

Expected Results:
qcom-wwan-firmware can be removed independently, and is not installed as a hard dependency of linux-firmware

Comment 1 Peter Robinson 2025-08-26 20:01:39 UTC
This is the way we handle it when we split out firmware to ensure no regressions to existing users and ensure upgrade paths. If you look back through the history of the rest of the sub packages with recommends they all started as requires to ensure the upgrade path and it later gets relaxed.

Comment 2 Rob Foehl 2025-08-27 03:37:47 UTC
(In reply to Peter Robinson from comment #1)
> If you look back
> through the history of the rest of the sub packages with recommends they all
> started as requires to ensure the upgrade path and it later gets relaxed.

Okay, let's do that:

╶➤ git -P blame -s -L 27,38 linux-firmware.spec
50de9939 27) Recommends:        amd-gpu-firmware
a5cdcc32 28) Recommends:        amd-ucode-firmware
be92a95e 29) Recommends:        atheros-firmware
be92a95e 30) Recommends:        brcmfmac-firmware
25343c35 31) Recommends:        cirrus-audio-firmware
25343c35 32) Recommends:        intel-audio-firmware
25343c35 33) Recommends:        intel-gpu-firmware
be92a95e 34) Recommends:        mt7xxx-firmware
25343c35 35) Recommends:        nvidia-gpu-firmware
25343c35 36) Recommends:        nxpwireless-firmware
be92a95e 37) Recommends:        realtek-firmware
25343c35 38) Recommends:        tiwilink-firmware

50de9939 is the tail end of a series of changes to a conditional block, which as of that commit was:

Recommends:	amd-gpu-firmware
Recommends:	intel-gpu-firmware
Recommends:	nvidia-gpu-firmware
%if 0%{?fedora} && 0%{?fedora} < 39
Requires:	atheros-firmware
Requires:	brcmfmac-firmware
Requires:	mt7xxx-firmware
Requires:	realtek-firmware
%else
Recommends:	atheros-firmware
Recommends:	brcmfmac-firmware
Recommends:	mt7xxx-firmware
Recommends:	realtek-firmware
%endif

and some variant thereof for all prior changes touching this block back to its introduction in be92a95e; see below.

a5cdcc32 added another conditional:

%if 0%{?fedora} && 0%{?fedora} < 40
Requires:	amd-ucode-firmware
%else
Recommends:	amd-ucode-firmware
%endif

be92a95e added the first version of the conditional later modified through 50de9939:

%if 0%{?fedora} > 38
Recommends:	atheros-firmware
Recommends:	brcmfmac-firmware
Recommends:	mt7xxx-firmware
Recommends:	realtek-firmware
%else
Requires:	atheros-firmware
Requires:	brcmfmac-firmware
Requires:	mt7xxx-firmware
Requires:	realtek-firmware
%endif

25343c35 reordered several lines originally sourced from b2768f61, which looked like this:

Recommends:	amd-gpu-firmware
Recommends:	intel-gpu-firmware
Recommends:	nvidia-gpu-firmware
%if 0%{?fedora} && 0%{?fedora} < 40
Requires:	amd-ucode-firmware
Requires:	cirrus-audio-firmware
Requires:	intel-audio-firmware
Requires:	nxpwireless-firmware
Requires:	tiwilink-firmware
%else
Recommends:	amd-ucode-firmware
Recommends:	cirrus-audio-firmware
Recommends:	intel-audio-firmware
Recommends:	nxpwireless-firmware
Recommends:	tiwilink-firmware
%endif
%if 0%{?fedora} && 0%{?fedora} < 39
Requires:	atheros-firmware
Requires:	brcmfmac-firmware
Requires:	mt7xxx-firmware
Requires:	realtek-firmware
%else
Recommends:	atheros-firmware
Recommends:	brcmfmac-firmware
Recommends:	mt7xxx-firmware
Recommends:	realtek-firmware
%endif

...and so on, back to 6e605212 which introduced the initial -gpu-firmware subpackages with an unconditional Recommends:.

So, no, none of the other current subpackages were added via an unconditional Requires: committed across all branches, making the addition of qcom-wwan-firmware in df8f20ed an exception.  Had it been handled like the rest, I wouldn't have bothered opening this bug.  The unconditional Requires: is almost certainly inappropriate for rawhide, and arguably for F43, given the timing; either way, "later gets relaxed" is exceptionally vague, especially given the branch-based precedent for everything else.

Comment 3 Fedora Update System 2025-09-29 09:26:05 UTC
FEDORA-2025-badf0ec7c2 (linux-firmware-20250917-2.fc42) has been submitted as an update to Fedora 42.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-badf0ec7c2

Comment 4 Fedora Update System 2025-09-29 09:26:12 UTC
FEDORA-2025-5dc8119805 (linux-firmware-20250917-2.fc43) has been submitted as an update to Fedora 43.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-5dc8119805

Comment 5 Fedora Update System 2025-09-29 09:26:20 UTC
FEDORA-2025-247771a325 (linux-firmware-20250917-2.fc41) has been submitted as an update to Fedora 41.
https://bodhi.fedoraproject.org/updates/FEDORA-2025-247771a325

Comment 6 Fedora Update System 2025-09-30 01:32:07 UTC
FEDORA-2025-5dc8119805 has been pushed to the Fedora 43 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2025-5dc8119805`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-5dc8119805

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 7 Fedora Update System 2025-09-30 01:56:32 UTC
FEDORA-2025-badf0ec7c2 has been pushed to the Fedora 42 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2025-badf0ec7c2`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-badf0ec7c2

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 8 Fedora Update System 2025-09-30 02:42:10 UTC
FEDORA-2025-247771a325 has been pushed to the Fedora 41 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2025-247771a325`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2025-247771a325

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 9 Fedora Update System 2025-10-02 01:20:35 UTC
FEDORA-2025-5dc8119805 (linux-firmware-20250917-2.fc43) has been pushed to the Fedora 43 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 10 Fedora Update System 2025-10-03 00:52:52 UTC
FEDORA-2025-badf0ec7c2 (linux-firmware-20250917-2.fc42) has been pushed to the Fedora 42 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 11 Fedora Update System 2025-10-03 01:17:03 UTC
FEDORA-2025-247771a325 (linux-firmware-20250917-2.fc41) has been pushed to the Fedora 41 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.