generic-poky/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
Richard Purdie e6cbda6419 base: Improve makefile clean handling, introduce CLEANBROKEN variable
It turns out we have quite a number of Makefiles out there without a
clean target. Rather than have all cases code an empty do_configure, add
a CLEANBROKEN variable which when set to "1" will disable the attempt to
"make clean".

This patch also adjusts various recipes which either have this problem
fixed, or have been reported to have make clean failures.

(From OE-Core rev: 45b7d3add14eafc25da62bab68d4ae133f8dcb57)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-09 10:21:19 +00:00

233 lines
7.8 KiB
BlitzBasic

SUMMARY = "Firmware files for use with Linux kernel"
SECTION = "kernel"
# Notes:
# This is kind of a mess. Each bit of firmware has their own license. Some free
# some not. Leaving this as Proprietary for now, but this recipe should be probably
# be rethought out a bit more around how it deals with licenses.
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://LICENSE.radeon;md5=07b0c31777bd686d8e1609c6940b5e74\
file://LICENSE.dib0700;md5=f7411825c8a555a1a3e5eab9ca773431 \
file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \
file://LICENCE.ralink-firmware.txt;md5=ab2c269277c45476fb449673911a2dfd \
file://LICENCE.qla2xxx;md5=f5ce8529ec5c17cb7f911d2721d90e91 \
file://LICENCE.iwlwifi_firmware;md5=8b938534f77ffd453690eb34ed84ae8b \
file://LICENCE.i2400m;md5=14b901969e23c41881327c0d9e4b7d36 \
file://LICENCE.atheros_firmware;md5=30a14c7823beedac9fa39c64fdd01a13 \
file://LICENCE.agere;md5=af0133de6b4a9b2522defd5f188afd31 \
file://LICENCE.rtlwifi_firmware.txt;md5=00d06cfd3eddd5a2698948ead2ad54a5 \
file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc \
file://LICENCE.ti-connectivity;md5=186e7a43cf6c274283ad81272ca218ea \
file://LICENCE.atheros_firmware;md5=30a14c7823beedac9fa39c64fdd01a13 \
file://LICENCE.via_vt6656;md5=e4159694cba42d4377a912e78a6e850f \
file://LICENCE.Marvell;md5=9ddea1734a4baf3c78d845151f42a37a \
"
SRCREV = "dec41bce44e0dff6a2c3358a958fadf22bf58858"
PE = "1"
PV = "0.0+git${SRCPV}"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git"
S = "${WORKDIR}/git"
inherit allarch update-alternatives
CLEANBROKEN = "1"
do_compile() {
:
}
do_install() {
install -d ${D}/lib/firmware/
cp -r * ${D}/lib/firmware/
# Avoid Makefile to be deplyed
rm ${D}/lib/firmware/Makefile
# Remove unbuild firmware which needs cmake and bash
rm ${D}/lib/firmware/carl9170fw -rf
# Remove pointless bash script
rm ${D}/lib/firmware/configure
# Libertas sd8686
ln -sf libertas/sd8686_v9.bin ${D}/lib/firmware/sd8686.bin
ln -sf libertas/sd8686_v9_helper.bin ${D}/lib/firmware/sd8686_helper.bin
# fixup wl12xx location, after 2.6.37 the kernel searches a different location for it
( cd ${D}/lib/firmware ; ln -sf ti-connectivity/* . )
}
PACKAGES =+ "${PN}-ralink \
${PN}-radeon \
${PN}-marvell-license ${PN}-sd8686 ${PN}-sd8787 ${PN}-sd8797 \
${PN}-wl12xx ${PN}-wl18xx ${PN}-vt6656 \
${PN}-rtl-license ${PN}-rtl8192cu ${PN}-rtl8192ce ${PN}-rtl8192su \
${PN}-broadcom-license ${PN}-bcm4329 ${PN}-bcm4330 ${PN}-bcm4334 \
${PN}-atheros-license ${PN}-ar9170 ${PN}-ar3k ${PN}-ath6k ${PN}-ath9k \
${PN}-iwlwifi-license ${PN}-iwlwifi-6000g2a-5 ${PN}-iwlwifi-6000g2b-6 ${PN}-iwlwifi-7260-7 \
${PN}-iwlwifi-6000g2a-6 ${PN}-iwlwifi-135-6"
FILES_${PN}-atheros-license = "/lib/firmware/LICENCE.atheros_firmware"
LICENSE_${PN}-9170 = "Firmware-atheros_firmware"
FILES_${PN}-ar9170 = " \
/lib/firmware/ar9170*.fw \
"
RDEPENDS_${PN}-ar9170 += "${PN}-atheros-license"
LICENSE_${PN}-ar3k = "Firmware-atheros_firmware"
FILES_${PN}-ar3k = " \
/lib/firmware/ar3k \
"
RDEPENDS_${PN}-ath6k += "${PN}-atheros-license"
LICENSE_${PN}-ath6k = "Firmware-atheros_firmware"
FILES_${PN}-ath6k = " \
/lib/firmware/ath6k \
"
RDEPENDS_${PN}-ath6k += "${PN}-atheros-license"
LICENSE_${PN}-ath9k = "Firmware-atheros_firmware"
FILES_${PN}-ath9k = " \
/lib/firmware/ar9271.fw \
/lib/firmware/ar7010*.fw \
/lib/firmware/htc_9271.fw \
/lib/firmware/htc_7010.fw \
"
RDEPENDS_${PN}-ath9k += "${PN}-atheros-license"
LICENSE_${PN}-ralink = "Firmware-ralink"
FILES_${PN}-ralink = " \
/lib/firmware/rt*.bin \
/lib/firmware/LICENCE.ralink-firmware.txt \
"
LICENSE_${PN}-radeon = "Firmware-radeon"
FILES_${PN}-radeon = " \
/lib/firmware/radeon \
/lib/firmware/LICENCE.radeon \
"
FILES_${PN}-marvell-license = "/lib/firmware/LICENCE.Marvell"
LICENSE_${PN}-sd8686 = "Firmware-Marvell"
FILES_${PN}-sd8686 = " \
/lib/firmware/libertas/sd8686_v9* \
/lib/firmware/sd8686* \
"
RDEPENDS_${PN}-sd8686 += "${PN}-marvell-license"
LICENSE_${PN}-sd8787 = "Firmware-Marvell"
FILES_${PN}-sd8787 = " \
/lib/firmware/mrvl/sd8787_uapsta.bin \
"
RDEPENDS_${PN}-sd8787 += "${PN}-marvell-license"
LICENSE_${PN}-sd8797 = "Firmware-Marvell"
FILES_${PN}-sd8797 = " \
/lib/firmware/mrvl/sd8797_uapsta.bin \
"
RDEPENDS_${PN}-sd8797 += "${PN}-marvell-license"
FILES_${PN}-rtl-license = " \
/lib/firmware/LICENCE.rtlwifi_firmware.txt \
"
LICENSE_${PN}-rtl8192cu = "Firmware-rtlwifi"
FILES_${PN}-rtl8192cu = " \
/lib/firmware/rtlwifi/rtl8192cufw.bin \
"
RDEPENDS_${PN}-rtl8192cu += "${PN}-rtl-license"
LICENSE_${PN}-rtl8192ce = "Firmware-rtlwifi"
FILES_${PN}-rtl8192ce = " \
/lib/firmware/rtlwifi/rtl8192cfw.bin \
"
RDEPENDS_${PN}-rtl8192ce += "${PN}-rtl-license"
LICENSE_${PN}-rtl8192su = "Firmware-rtlwifi"
FILES_${PN}-rtl8192su = " \
/lib/firmware/rtlwifi/rtl8712u.bin \
"
LICENSE_${PN}-wl12xx = "Firmware-ti-connectivity"
FILES_${PN}-wl12xx = " \
/lib/firmware/wl12* \
/lib/firmware/TI* \
/lib/firmware/ti-connectivity \
"
LICENSE_${PN}-wl18xx = "Firmware-ti-connectivity"
FILES_${PN}-wl18xx = " \
/lib/firmware/wl18* \
/lib/firmware/TI* \
/lib/firmware/ti-connectivity \
"
LICENSE_${PN}-vt6656 = "Firmware-via_vt6656"
FILES_${PN}-vt6656 = " \
/lib/firmware/vntwusb.fw \
"
# WARNING: The ALTERNATIVE_* variables are not using ${PN} because of
# a bug in bitbake; when this is fixed and bitbake learns how to proper
# pass variable flags with expansion we can rework this patch.
ALTERNATIVE_LINK_NAME[brcmfmac-sdio.bin] = "/lib/firmware/brcm/brcmfmac-sdio.bin"
FILES_${PN}-broadcom-license = " \
/lib/firmware/LICENCE.broadcom_bcm43xx \
"
LICENSE_${PN}-bcm4329 = "Firmware-bcm4329"
FILES_${PN}-bcm4329 = " \
/lib/firmware/brcm/brcmfmac4329-sdio.bin \
"
RDEPENDS_${PN}-bcm4329 += "${PN}-broadcom-license"
ALTERNATIVE_linux-firmware-bcm4329 = "brcmfmac-sdio.bin"
ALTERNATIVE_TARGET_linux-firmware-bcm4329[brcmfmac-sdio.bin] = "/lib/firmware/brcm/brcmfmac4329-sdio.bin"
LICENSE_${PN}-bcm4330 = "Firmware-bcm4330"
FILES_${PN}-bcm4330 = " \
/lib/firmware/brcm/brcmfmac4330-sdio.bin \
"
RDEPENDS_${PN}-bcm4330 += "${PN}-broadcom-license"
ALTERNATIVE_linux-firmware-bcm4330 = "brcmfmac-sdio.bin"
ALTERNATIVE_TARGET_linux-firmware-bcm4330[brcmfmac-sdio.bin] = "/lib/firmware/brcm/brcmfmac4330-sdio.bin"
LICENSE_${PN}-bcm4334 = "Firmware-bcm4334"
FILES_${PN}-bcm4334 = " \
/lib/firmware/brcm/brcmfmac4334-sdio.bin \
"
RDEPENDS_${PN}-bcm4334 += "${PN}-broadcom-license"
ALTERNATIVE_linux-firmware-bcm4334 = "brcmfmac-sdio.bin"
ALTERNATIVE_TARGET_linux-firmware-bcm4334[brcmfmac-sdio.bin] = "/lib/firmware/brcm/brcmfmac4334-sdio.bin"
RDEPENDS_${PN}-iwlwifi-6000g2a-5 = "${PN}-iwlwifi-license"
RDEPENDS_${PN}-iwlwifi-6000g2a-6 = "${PN}-iwlwifi-license"
RDEPENDS_${PN}-iwlwifi-6000g2b-6 = "${PN}-iwlwifi-license"
RDEPENDS_${PN}-iwlwifi-135-6 = "${PN}-iwlwifi-license"
RDEPENDS_${PN}-iwlwifi-7260-7 = "${PN}-iwlwifi-license"
FILES_${PN}-iwlwifi-license = "/lib/firmware/LICENCE.iwlwifi_firmware"
FILES_${PN}-iwlwifi-6000g2a-5 = "/lib/firmware/iwlwifi-6000g2a-5.ucode"
FILES_${PN}-iwlwifi-6000g2a-6 = "/lib/firmware/iwlwifi-6000g2a-6.ucode"
FILES_${PN}-iwlwifi-6000g2b-6 = "/lib/firmware/iwlwifi-6000g2b-6.ucode"
FILES_${PN}-iwlwifi-135-6 = "/lib/firmware/iwlwifi-135-6.ucode"
FILES_${PN}-iwlwifi-7260-7 = "/lib/firmware/iwlwifi-7260-7.ucode"
FILES_${PN} += "/lib/firmware/*"
# Make linux-firmware depend on all of the split-out packages.
python populate_packages_prepend () {
firmware_pkgs = oe.utils.packages_filter_out_system(d)
d.appendVar('RDEPENDS_linux-firmware', ' ' + ' '.join(firmware_pkgs))
}