From 0b122f63379e9ceb62f5987cc62670e917dfed6a Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Thu, 7 Mar 2024 04:05:29 -0800 Subject: linux-firmware: add support for deduplicating the firmware 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" (From OE-Core rev: 6acca0c04a82af90dca6a160b1b6edb2ec75c967) Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/recipes-kernel/linux-firmware/linux-firmware_20240220.bb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'meta/recipes-kernel') diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_20240220.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_20240220.bb index 1fd44f4d53..b7dd84bad9 100644 --- a/meta/recipes-kernel/linux-firmware/linux-firmware_20240220.bb +++ b/meta/recipes-kernel/linux-firmware/linux-firmware_20240220.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/ } -- cgit v1.2.3-54-g00ecf