kernel.bbclass: prepare for 2.6.27 style external firmware
authorKoen Kooi <koen@openembedded.org>
Fri, 26 Sep 2008 20:39:20 +0000 (20:39 +0000)
committerKoen Kooi <koen@openembedded.org>
Fri, 26 Sep 2008 20:39:20 +0000 (20:39 +0000)
* see http://lwn.net/Articles/284932/
* does *NOT* have dependency code, RRECOMMENDS for firmwares need to be added manually

classes/kernel.bbclass

index d0db4c7..266a89d 100644 (file)
@@ -29,6 +29,7 @@ inherit kernel-arch
 
 PACKAGES_DYNAMIC += "kernel-module-*"
 PACKAGES_DYNAMIC += "kernel-image-*"
+PACKAGES_DYNAMIC += "kernel-firmware-*"
 
 export OS = "${TARGET_OS}"
 export CROSS_COMPILE = "${TARGET_PREFIX}"
@@ -428,6 +429,9 @@ python populate_packages_prepend () {
 
        postinst = bb.data.getVar('pkg_postinst_modules', d, 1)
        postrm = bb.data.getVar('pkg_postrm_modules', d, 1)
+       
+       do_split_packages(d, root='/lib/firmware', file_regex='^(.*)\.bin$', output_pattern='kernel-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='')
+       do_split_packages(d, root='/lib/firmware', file_regex='^(.*)\.fw$', output_pattern='kernel-firmware-%s', description='Firmware for %s', recursive=True, extra_depends='')
        do_split_packages(d, root='/lib/modules', file_regex=module_regex, output_pattern=module_pattern, description='%s kernel module', postinst=postinst, postrm=postrm, recursive=True, hook=frob_metadata, extra_depends='update-modules kernel-%s' % bb.data.getVar("KERNEL_VERSION", d, 1))
 
        import re, os