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 <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2024-03-07 04:05:29 -08:00
committed by Richard Purdie
parent 04d7460529
commit 0b122f6337

View File

@@ -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/
}