diff mbox series

[1/4] linux-firmware: add support for deduplicating the firmware

Message ID 20240307120526.774895-1-ross.burton@arm.com
State New
Headers show
Series [1/4] linux-firmware: add support for deduplicating the firmware | expand

Commit Message

Ross Burton March 7, 2024, 12:05 p.m. UTC
From: Ross Burton <ross.burton@arm.com>

This can a non-trivial amount of disk space, but requires rdfind from
meta-oe. As duplicate pieces of firmware become links, this reduces the
size of individual packages and adds dependencies:

linux-firmware-adsp-sst: PKGSIZE changed from 6362678 to 5609999 (-12%)
linux-firmware-amdgpu: PKGSIZE changed from 80234502 to 60819841 (-24%)
linux-firmware-cirrus: PKGSIZE changed from 1290908 to 1068886 (-17%)
linux-firmware-ibt-17: PKGSIZE changed from 2601222 to 1300679 (-50%)
linux-firmware-ibt-17: RDEPENDS: added "linux-firmware-ibt-misc"
linux-firmware-ibt-20: PKGSIZE changed from 2399511 to 1599721 (-33%)
linux-firmware-ibt-20: RDEPENDS: added "linux-firmware-ibt-misc"
linux-firmware-ibt-misc: PKGSIZE changed from 22400466 to 13390020 (-40%)
linux-firmware-ibt-misc: RDEPENDS: added "linux-firmware-ibt-17"
linux-firmware-qcom-qrb4210-audio: RDEPENDS: added "linux-firmware-qcom-qcm2290-audio"
linux-firmware-qcom-qrb4210-modem: PKGSIZE changed from 8882947 to 63 (-100%)
linux-firmware-qcom-qrb4210-modem: RDEPENDS: added "linux-firmware-qcom-qcm2290-modem"
linux-firmware-qcom-sdm845-audio: RDEPENDS: added "linux-firmware-qcom-qcm2290-audio"
linux-firmware-qcom-sdm845-compute: RDEPENDS: added "linux-firmware-qcom-qrb4210-compute"
linux-firmware-qcom-sdm845-modem: RDEPENDS: added "linux-firmware-qcom-qcm2290-modem"
linux-firmware-qcom-sm8250-audio: RDEPENDS: added "linux-firmware-qcom-qcm2290-audio"
linux-firmware-qcom-sm8250-compute: RDEPENDS: added "linux-firmware-qcom-qrb4210-compute"
linux-firmware-qcom-sm8250-thundercomm-rb5-sensors: RDEPENDS: added "linux-firmware-qcom-sdm845-thundercomm-db845c-sensors"
linux-firmware-radeon: PKGSIZE changed from 7105560 to 3343141 (-53%)
linux-firmware-radeon: RDEPENDS: added "linux-firmware-amdgpu"
linux-firmware-rtl8822: RDEPENDS: added "linux-firmware-rtl8761"
linux-firmware-sd8688: RDEPENDS: added "linux-firmware"
linux-firmware: RDEPENDS: added "linux-firmware-rtl8761"

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 .../linux-firmware/linux-firmware_20231211.bb             | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_20231211.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_20231211.bb
index 3a3690bdc1b..b3884dd3e5a 100644
--- a/meta/recipes-kernel/linux-firmware/linux-firmware_20231211.bb
+++ b/meta/recipes-kernel/linux-firmware/linux-firmware_20231211.bb
@@ -249,13 +249,17 @@  inherit allarch
 
 CLEANBROKEN = "1"
 
+# Use PACKAGECONFIG_CONFARGS to set the Makefile target
+PACKAGECONFIG ??= ""
+# Enabling dedup will turn duplicate firmware files into links
+PACKAGECONFIG[deduplicate] = "install,install-nodedup,rdfind-native"
+
 do_compile() {
 	:
 }
 
 do_install() {
-        # install-nodedup avoids rdfind dependency
-        oe_runmake 'DESTDIR=${D}' 'FIRMWAREDIR=${nonarch_base_libdir}/firmware' install-nodedup
+        oe_runmake 'DESTDIR=${D}' 'FIRMWAREDIR=${nonarch_base_libdir}/firmware' ${PACKAGECONFIG_CONFARGS}
         cp GPL-2 LICEN[CS]E.* WHENCE ${D}${nonarch_base_libdir}/firmware/
 }