From 31a03ed08d7e9985c4d5f5693ca7e5e31354708f Mon Sep 17 00:00:00 2001 From: Darren Hart Date: Wed, 7 Mar 2012 00:06:46 -0800 Subject: kernel.bbclass: Remove warnings for modutils and modprobe.d Fixes [Yocto #2036] The source and build directories are unused, remove them. The modutils and modprobe.d directories may be used if modules are built that are either autoloaded or have modprobe.d entries. This isn't known at install time, so check after the package split if these directories are empty and remove them if they are. (From OE-Core rev: 6068f3229397baf561b1e84a22b570a803d95c49) Signed-off-by: Darren Hart CC: Paul Eggleton Signed-off-by: Richard Purdie --- meta/classes/kernel.bbclass | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'meta/classes/kernel.bbclass') diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 8fbec90ef1..169df33b31 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -105,6 +105,8 @@ kernel_do_install() { oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" modules_install rm -f "${D}/lib/modules/${KERNEL_VERSION}/modules.order" rm -f "${D}/lib/modules/${KERNEL_VERSION}/modules.builtin" + rm "${D}/lib/modules/${KERNEL_VERSION}/build" + rm "${D}/lib/modules/${KERNEL_VERSION}/source" else bbnote "no modules to install" fi @@ -450,6 +452,14 @@ python populate_packages_prepend () { do_split_packages(d, root='/lib/firmware', file_regex='^(.*)\.cis$', 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' % d.getVar("KERNEL_VERSION", True)) + # If modutils and modprobe.d are empty at this point, remove them to + # avoid warnings. removedirs only raises an OSError if an empty + # directory cannot be removed. + dvar = d.getVar('PKGD', True) + for dir in ["%s/etc/modutils" % (dvar), "%s/etc/modprobe.d" % (dvar)]: + if len(os.listdir(dir)) == 0: + os.rmdir(dir) + import re metapkg = "kernel-modules" d.setVar('ALLOW_EMPTY_' + metapkg, "1") -- cgit v1.2.3-54-g00ecf