]> code.ossystems Code Review - meta-freescale.git/commitdiff
firmware-imx: Refactor recipe to avoid useless files in rootfs
authorOtavio Salvador <otavio@ossystems.com.br>
Mon, 8 Oct 2012 09:54:23 +0000 (06:54 -0300)
committerOtavio Salvador <otavio@ossystems.com.br>
Mon, 15 Oct 2012 14:52:58 +0000 (11:52 -0300)
The recipe now generate a set of packages for each SoC so it avoids
including useless files in rootfs. The architecture of binaries has
also been change to all as it is in binary form.

Change-Id: I912df305c0cda3a60e88a8e939f002464fd374ff
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
meta-fsl-arm/recipes-bsp/firmware-imx/firmware-imx.inc

index cee34bcbf530fa9d697a03239ed42d6473d08f8f..414ca2b8284f11998fc6f8e17ba3306000613b4f 100644 (file)
@@ -4,30 +4,42 @@ SECTION = "base"
 LICENSE = "Proprietary"
 LIC_FILES_CHKSUM = "file://licenses/vpu/EULA;md5=6469a8514eed615d6bf8c09f41846d8f"
 
-INC_PR = "r3"
+INC_PR = "r4"
 
 SRC_URI = "${FSL_MIRROR}/firmware-imx-${PV}.bin;fsl-eula=true"
 
-inherit fsl-eula-unpack
-
-# todo: make FILES_ machine dependent using override, i.MX53 only now.
-FILES_${PN} = "/lib/firmware/vpu/vpu_fw_imx53.bin"
-FILES_${PN} += "/lib/firmware/sdma/sdma-imx53-to1.bin"
-FILES_${PN} += "/lib/firmware/ath6k/*"
-FILES_${PN} += "/lib/firmware/ar3k/*"
+inherit fsl-eula-unpack allarch
 
 do_install() {
-       install -d ${D}/lib/firmware/vpu
-       install -m 0755 ${S}/firmware/vpu/vpu_fw_imx53.bin ${D}/lib/firmware/vpu
-        chmod 644 ${D}/lib/firmware/vpu/vpu_fw_imx53.bin
-       install -d ${D}/lib/firmware/sdma
-       install -m 0755 ${S}/firmware/sdma/sdma-imx53-to1.bin ${D}/lib/firmware/sdma
-        chmod 644 ${D}/lib//firmware/sdma/sdma-imx53-to1.bin
-       cp -rf ${S}/firmware/ath6k ${D}/lib/firmware
-       cp -rf ${S}/firmware/ar3k ${D}/lib/firmware
+       install -d ${D}/lib/firmware
+    cp -rfv firmware/* ${D}/lib/firmware/
+    find ${D}/lib/firmware -type f -exec chmod 644 '{}' ';'
+
+    # Remove files not going to be installed
+    find ${D}/lib/firmware/ -name Android.mk -exec rm '{}' ';'
+    rm ${D}/lib/firmware/LICENCE.atheros_firmware \
+       ${D}/lib/firmware/README
+}
+
+PACKAGES += "${PN}-ath6k ${PN}-ar3k"
+
+FILES_${PN}-ath6k = "/lib/firmware/ath6k/*"
+FILES_${PN}-ar3k  = "/lib/firmware/ar3k/*"
+
+python populate_packages_prepend() {
+    vpudir = bb.data.expand('/lib/firmware/vpu', d)
+    do_split_packages(d, vpudir, '^vpu_fw_([^_]*).*\.bin',
+                      output_pattern='firmware-imx-vpu-%s',
+                      description='Freescale IMX Firmware %s',
+                      extra_depends='',
+                      prepend=True)
+
+    sdmadir = bb.data.expand('/lib/firmware/sdma', d)
+    do_split_packages(d, sdmadir, '^sdma-([^-]*).*\.bin',
+                      output_pattern='firmware-imx-sdma-%s',
+                      description='Freescale IMX Firmware %s',
+                      extra_depends='',
+                      prepend=True)
 }
 
-# Add an upgrade path
-RPROVIDES_${PN} = "imx-firmware"
-RREPLACES_${PN} = "imx-firmware"
-RCONFLICTS_${PN} = "imx-firmware"
+PACKAGES_DYNAMIC = "${PN}-vpu-* ${PN}-sdma-*"