diff mbox series

linux-firmware: Fix FILES for intel firmware

Message ID 20250925192115.21761-1-reatmon@ti.com
State New
Headers show
Series linux-firmware: Fix FILES for intel firmware | expand

Commit Message

Ryan Eatmon Sept. 25, 2025, 7:21 p.m. UTC
The 20250917 version is installing the firmware files into the
/usr/lib/firmware/intel directory and symbolic links to those files
under /usr/lib/firmware.  FILES needs to be updated to correctly package
all of the files into the right packages.  Without this we get a dependency
from the linux-firmware-iwlwifi-* and linux-firmware-qat packages back to
linux-firmware which means you have to install ALL of the drivers when you
depend on the specific package.

Signed-off-by: Ryan Eatmon <reatmon@ti.com>
---
 .../linux-firmware/linux-firmware_20250917.bb | 52 +++++++++----------
 1 file changed, 26 insertions(+), 26 deletions(-)

Comments

Martin Jansa Sept. 25, 2025, 9:01 p.m. UTC | #1
On Thu, Sep 25, 2025 at 9:21 PM Ryan Eatmon via lists.openembedded.org
<reatmon=ti.com@lists.openembedded.org> wrote:
>
> The 20250917 version is installing the firmware files into the
> /usr/lib/firmware/intel directory and symbolic links to those files
> under /usr/lib/firmware.  FILES needs to be updated to correctly package
> all of the files into the right packages.  Without this we get a dependency
> from the linux-firmware-iwlwifi-* and linux-firmware-qat packages back to
> linux-firmware which means you have to install ALL of the drivers when you
> depend on the specific package.

Can we set FILES:${PN} to empty, so that issues like this trigger
installed-vs-shipped QA issue in the version upgrades? Or are there
any files which should be packaged in ${PN}?

Cheers,
Ryan Eatmon Sept. 26, 2025, 1:39 p.m. UTC | #2
On 9/25/2025 4:01 PM, Martin Jansa wrote:
> On Thu, Sep 25, 2025 at 9:21 PM Ryan Eatmon via lists.openembedded.org
> <reatmon=ti.com@lists.openembedded.org> wrote:
>>
>> The 20250917 version is installing the firmware files into the
>> /usr/lib/firmware/intel directory and symbolic links to those files
>> under /usr/lib/firmware.  FILES needs to be updated to correctly package
>> all of the files into the right packages.  Without this we get a dependency
>> from the linux-firmware-iwlwifi-* and linux-firmware-qat packages back to
>> linux-firmware which means you have to install ALL of the drivers when you
>> depend on the specific package.
> 
> Can we set FILES:${PN} to empty, so that issues like this trigger
> installed-vs-shipped QA issue in the version upgrades? Or are there
> any files which should be packaged in ${PN}?
> 
> Cheers,

I certainly think that would be a good idea in the long run.  But right 
now there are bunch of files that go into linux-firmware that are not 
broken out in sub packages.

ls -l packages-split/linux-firmware/usr/lib/firmware// | wc -l
234

So, there would need to be a lot of additional cleanup and sub package 
definitions before linux-firmware could be considered to be clean.

I'm happy to start the process of doing that, but this patch needs to be 
picked up to avoid build issues.
diff mbox series

Patch

diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_20250917.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_20250917.bb
index 5d5a5c8cae..f6bca28fbc 100644
--- a/meta/recipes-kernel/linux-firmware/linux-firmware_20250917.bb
+++ b/meta/recipes-kernel/linux-firmware/linux-firmware_20250917.bb
@@ -1759,32 +1759,32 @@  LICENSE:${PN}-iwlwifi-misc      = "Firmware-iwlwifi_firmware"
 LICENSE:${PN}-iwlwifi-license   = "Firmware-iwlwifi_firmware"
 
 FILES:${PN}-iwlwifi-license = "${nonarch_base_libdir}/firmware/LICENCE.iwlwifi_firmware"
-FILES:${PN}-iwlwifi-135-6 = "${nonarch_base_libdir}/firmware/iwlwifi-135-6.ucode*"
-FILES:${PN}-iwlwifi-3160-7 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-7.ucode*"
-FILES:${PN}-iwlwifi-3160-8 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-8.ucode*"
-FILES:${PN}-iwlwifi-3160-9 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-9.ucode*"
-FILES:${PN}-iwlwifi-3160-10 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-10.ucode*"
-FILES:${PN}-iwlwifi-3160-12 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-12.ucode*"
-FILES:${PN}-iwlwifi-3160-13 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-13.ucode*"
-FILES:${PN}-iwlwifi-3160-16 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-16.ucode*"
-FILES:${PN}-iwlwifi-3160-17 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-17.ucode*"
-FILES:${PN}-iwlwifi-6000-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6000-4.ucode*"
-FILES:${PN}-iwlwifi-6000g2a-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-5.ucode*"
-FILES:${PN}-iwlwifi-6000g2a-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-6.ucode*"
-FILES:${PN}-iwlwifi-6000g2b-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-5.ucode*"
-FILES:${PN}-iwlwifi-6000g2b-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-6.ucode*"
-FILES:${PN}-iwlwifi-6050-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-4.ucode*"
-FILES:${PN}-iwlwifi-6050-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-5.ucode*"
-FILES:${PN}-iwlwifi-7260   = "${nonarch_base_libdir}/firmware/iwlwifi-7260-*.ucode*"
-FILES:${PN}-iwlwifi-7265   = "${nonarch_base_libdir}/firmware/iwlwifi-7265-*.ucode*"
-FILES:${PN}-iwlwifi-7265d   = "${nonarch_base_libdir}/firmware/iwlwifi-7265D-*.ucode*"
-FILES:${PN}-iwlwifi-8000c   = "${nonarch_base_libdir}/firmware/iwlwifi-8000C-*.ucode*"
-FILES:${PN}-iwlwifi-8265   = "${nonarch_base_libdir}/firmware/iwlwifi-8265-*.ucode*"
-FILES:${PN}-iwlwifi-9000   = "${nonarch_base_libdir}/firmware/iwlwifi-9000-*.ucode*"
-FILES:${PN}-iwlwifi-9260   = "${nonarch_base_libdir}/firmware/iwlwifi-9260-*.ucode*"
+FILES:${PN}-iwlwifi-135-6 = "${nonarch_base_libdir}/firmware/iwlwifi-135-6.ucode* ${nonarch_base_libdir}/firmware/intel/iwlwifi/iwlwifi-135-6.ucode*"
+FILES:${PN}-iwlwifi-3160-7 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-7.ucode* ${nonarch_base_libdir}/firmware/intel/iwlwifi/iwlwifi-3160-7.ucode*"
+FILES:${PN}-iwlwifi-3160-8 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-8.ucode* ${nonarch_base_libdir}/firmware/intel/iwlwifi/iwlwifi-3160-8.ucode*"
+FILES:${PN}-iwlwifi-3160-9 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-9.ucode* ${nonarch_base_libdir}/firmware/intel/iwlwifi/iwlwifi-3160-9.ucode*"
+FILES:${PN}-iwlwifi-3160-10 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-10.ucode* ${nonarch_base_libdir}/firmware/intel/iwlwifi/iwlwifi-3160-10.ucode*"
+FILES:${PN}-iwlwifi-3160-12 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-12.ucode* ${nonarch_base_libdir}/firmware/intel/iwlwifi/iwlwifi-3160-12.ucode*"
+FILES:${PN}-iwlwifi-3160-13 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-13.ucode* ${nonarch_base_libdir}/firmware/intel/iwlwifi/iwlwifi-3160-13.ucode*"
+FILES:${PN}-iwlwifi-3160-16 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-16.ucode* ${nonarch_base_libdir}/firmware/intel/iwlwifi/iwlwifi-3160-16.ucode*"
+FILES:${PN}-iwlwifi-3160-17 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-17.ucode* ${nonarch_base_libdir}/firmware/intel/iwlwifi/iwlwifi-3160-17.ucode*"
+FILES:${PN}-iwlwifi-6000-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6000-4.ucode* ${nonarch_base_libdir}/firmware/intel/iwlwifi/iwlwifi-6000-4.ucode*"
+FILES:${PN}-iwlwifi-6000g2a-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-5.ucode* ${nonarch_base_libdir}/firmware/intel/iwlwifi/iwlwifi-6000g2a-5.ucode*"
+FILES:${PN}-iwlwifi-6000g2a-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-6.ucode* ${nonarch_base_libdir}/firmware/intel/iwlwifi/iwlwifi-6000g2a-6.ucode*"
+FILES:${PN}-iwlwifi-6000g2b-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-5.ucode* ${nonarch_base_libdir}/firmware/intel/iwlwifi/iwlwifi-6000g2b-5.ucode*"
+FILES:${PN}-iwlwifi-6000g2b-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-6.ucode* ${nonarch_base_libdir}/firmware/intel/iwlwifi/iwlwifi-6000g2b-6.ucode*"
+FILES:${PN}-iwlwifi-6050-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-4.ucode* ${nonarch_base_libdir}/firmware/intel/iwlwifi/iwlwifi-6050-4.ucode*"
+FILES:${PN}-iwlwifi-6050-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-5.ucode* ${nonarch_base_libdir}/firmware/intel/iwlwifi/iwlwifi-6050-5.ucode*"
+FILES:${PN}-iwlwifi-7260   = "${nonarch_base_libdir}/firmware/iwlwifi-7260-*.ucode* ${nonarch_base_libdir}/firmware/intel/iwlwifi/iwlwifi-7260-*.ucode*"
+FILES:${PN}-iwlwifi-7265   = "${nonarch_base_libdir}/firmware/iwlwifi-7265-*.ucode* ${nonarch_base_libdir}/firmware/intel/iwlwifi/iwlwifi-7265-*.ucode*"
+FILES:${PN}-iwlwifi-7265d   = "${nonarch_base_libdir}/firmware/iwlwifi-7265D-*.ucode* ${nonarch_base_libdir}/firmware/intel/iwlwifi/iwlwifi-7265D-*.ucode*"
+FILES:${PN}-iwlwifi-8000c   = "${nonarch_base_libdir}/firmware/iwlwifi-8000C-*.ucode* ${nonarch_base_libdir}/firmware/intel/iwlwifi/iwlwifi-8000C-*.ucode*"
+FILES:${PN}-iwlwifi-8265   = "${nonarch_base_libdir}/firmware/iwlwifi-8265-*.ucode* ${nonarch_base_libdir}/firmware/intel/iwlwifi/iwlwifi-8265-*.ucode*"
+FILES:${PN}-iwlwifi-9000   = "${nonarch_base_libdir}/firmware/iwlwifi-9000-*.ucode* ${nonarch_base_libdir}/firmware/intel/iwlwifi/iwlwifi-9000-*.ucode*"
+FILES:${PN}-iwlwifi-9260   = "${nonarch_base_libdir}/firmware/iwlwifi-9260-*.ucode* ${nonarch_base_libdir}/firmware/intel/iwlwifi/iwlwifi-9260-*.ucode*"
 FILES:${PN}-iwlwifi-misc   = " \
-    ${nonarch_base_libdir}/firmware/iwlwifi-*.ucode* \
-    ${nonarch_base_libdir}/firmware/iwlwifi-*.pnvm* \
+    ${nonarch_base_libdir}/firmware/iwlwifi-*.ucode* ${nonarch_base_libdir}/firmware/intel/iwlwifi/iwlwifi-*.ucode* \
+    ${nonarch_base_libdir}/firmware/iwlwifi-*.pnvm* ${nonarch_base_libdir}/firmware/intel/iwlwifi/iwlwifi-*.pnvm* \
 "
 
 RDEPENDS:${PN}-iwlwifi-135-6     = "${PN}-iwlwifi-license"
@@ -1903,7 +1903,7 @@  RDEPENDS:${PN}-adsp-sst           = "${PN}-adsp-sst-license"
 LICENSE:${PN}-qat         = "Firmware-qat"
 LICENSE:${PN}-qat-license = "Firmware-qat"
 FILES:${PN}-qat-license   = "${nonarch_base_libdir}/firmware/LICENCE.qat_firmware"
-FILES:${PN}-qat           = "${nonarch_base_libdir}/firmware/qat*.bin*"
+FILES:${PN}-qat           = "${nonarch_base_libdir}/firmware/qat*.bin* ${nonarch_base_libdir}/firmware/intel/qat/qat*.bin*"
 RDEPENDS:${PN}-qat        = "${PN}-qat-license"
 
 LICENSE:${PN}-qed         = "WHENCE"