Bugzilla – Bug 1214789
Drop the raw / uncompressed kernel-firmware package
Last modified: 2024-06-18 16:30:14 UTC
Currently, kernel-firmware repo provides two different ways of packaging: one is the kernel-firmware.rpm that contains all firmware files in raw and uncompressed format, and another is the split of several subpackages with compressed files which are gathered by kernel-firmwre-all.rpm meta package. The former, kernel-firmware.rpm is still provided only for the legacy use cases (the old SLE), and kernel-firmware-all.rpm already has "Provides: kernel-firmware" as the better (much smaller) replacement. Now, we'd like to drop the old big kernel-firmware.rpm finally. But this needs fixing the dependencies in some package or images. As far as I see, the only package that has an explicit use of the uncompressed files is installation-images. This needs the changes to adapt kernel-firmwre-all and handling of compressed files. Also, KIWI images may have requires of kernel-firmware, and that might be a bigger problem.
FWIW, there have been a few changes about kernel-firmware package: - The multibuild target is swapped; the raw all-in-one package is built with "uncompressed" flavor while the compressed split packages are built as the base one - The kernel-firmware provides kernel-firmware-uncompressed as alias - kernel-firmware-* subpackages have Conflicts against kernel-firmware-uncompressed; it's because they must not coexist, otherwise the kernel may choose the undesired one (basically uncompressed file is chosen at first). - The installation is done with the upstream script, as it supports the compression support - The upstream added "RawFile" attribute in WHENCE, and this made some files installed as uncompressed even in compression mode. (e.g. for small files or amd-ucode) The last change seemed to cause a problem, though. It made kernel-firmware and kernel-firmware-* packages conflicting with its content (both provides the same files). As a workaround, Dominique suggested that kernel-firmware should also have Provides of kernel-firmware-*. Then, if kernel-firmware is used, the dependency for kernel-firmware-* can be solved. OTOH, kernel-firmware-all is installed, it replaces everything.
After bsc#1218307, the Provides: has been removed, including the one for kernel-firmware-brcm installation-images now fails to resolve both in 15-SP6 and Factory: conflict for providers of kernel-firmware-brcm needed by bcm43xx-firmware, (provider kernel-firmware-brcm conflicts with kernel-firmware) I assume that to avoid catching the same bug again the solution would be to make installation-images depend on kernel-firmware-all instead, right? @Steffen: can this be done for both SP6 and Factory? Thanks in advance
Yes, it's a better option!
installation-images has historically these (kernel) firmware dependencies: BuildRequires: adaptec-firmware BuildRequires: bcm43xx-firmware BuildRequires: kernel-firmware BuildRequires: atmel-firmware BuildRequires: ipw-firmware Can this be reduced to simply kernel-firmware resp. (after the transition) kernel-firmware-all?
(In reply to Steffen Winterfeldt from comment #6) > installation-images has historically these (kernel) firmware dependencies: > > BuildRequires: adaptec-firmware > BuildRequires: bcm43xx-firmware > BuildRequires: kernel-firmware > BuildRequires: atmel-firmware > BuildRequires: ipw-firmware > > Can this be reduced to simply kernel-firmware resp. (after the > transition) kernel-firmware-all? AFAIK, all those (except for kernel-firmware) seem to be the non-upstreamed stuff, so they are still needed.
If I still have to include bcm43xx-firmware then I don't see how to avoid the conflict mentioned in comment 4.
If I understood correctly, bcm43xx-firmware explicitly depends on kernel-firmware-brcm (which is in turn pulled in by kernel-firmware-all as well) so the dependency should be satisfied that way by changing kernel-firmware with kernel-firmware-all.
Right. bcm43xx-firmware explicitly requires kernel-firmware-brcm, as it contains a symlink to the firmware file included in kernel-firmware-brcm. Hence it'll be broken if kernel-firmware package is used instead.
Ok, I'll move to kernel-firmware-all, then.
For Tumbleweed: - https://github.com/openSUSE/installation-images/pull/687 Insterestingly, compressed initrd size is down 2.6% - with exactly the same number of firmware blobs included (1834).
Could you fix for SLE15-SP6 and ALP, too? They take the same kernel-firmware changes, too.
Yes, I'm working on it.
SLE15-SP6: https://github.com/openSUSE/installation-images/pull/688
SUSE-RU-2024:2071-1: An update that has six fixes can now be installed. Category: recommended (moderate) Bug References: 1213185, 1213606, 1214789, 1218706, 1221603, 1226047 Maintenance Incident: [SUSE:Maintenance:34213](https://smelt.suse.de/incident/34213/) Sources used: openSUSE Leap 15.6 (src): mksusecd-2.18-150600.3.3.1 Development Tools Module 15-SP6 (src): mksusecd-2.18-150600.3.3.1 NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.
SUSE-RU-2024:2070-1: An update that has six fixes can now be installed. Category: recommended (moderate) Bug References: 1213185, 1213606, 1214789, 1218706, 1221603, 1226047 Maintenance Incident: [SUSE:Maintenance:34214](https://smelt.suse.de/incident/34214/) Sources used: openSUSE Leap 15.5 (src): mksusecd-2.18-150500.3.3.1 Development Tools Module 15-SP5 (src): mksusecd-2.18-150500.3.3.1 NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.
SUSE-RU-2024:2069-1: An update that has six fixes can now be installed. Category: recommended (moderate) Bug References: 1213185, 1213606, 1214789, 1218706, 1221603, 1226047 Maintenance Incident: [SUSE:Maintenance:34215](https://smelt.suse.de/incident/34215/) Sources used: openSUSE Leap 15.4 (src): mksusecd-2.18-150400.3.18.2 SUSE Linux Enterprise High Performance Computing ESPOS 15 SP4 (src): mksusecd-2.18-150400.3.18.2 SUSE Linux Enterprise High Performance Computing LTSS 15 SP4 (src): mksusecd-2.18-150400.3.18.2 SUSE Linux Enterprise Desktop 15 SP4 LTSS 15-SP4 (src): mksusecd-2.18-150400.3.18.2 SUSE Linux Enterprise Server 15 SP4 LTSS 15-SP4 (src): mksusecd-2.18-150400.3.18.2 SUSE Linux Enterprise Server for SAP Applications 15 SP4 (src): mksusecd-2.18-150400.3.18.2 NOTE: This line indicates an update has been released for the listed product(s). At times this might be only a partial fix. If you have questions please reach out to maintenance coordination.