summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDarren Hart <dvhart@linux.intel.com>2012-03-07 00:06:46 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-03-08 11:53:57 -0800
commit6068f3229397baf561b1e84a22b570a803d95c49 (patch)
tree3c75665715e1ecc10f7067f75474a456a611c7a2
parent61d5fa2b7ae6b3ce49747a102b3817c36f6cf85d (diff)
downloadopenembedded-core-6068f3229397baf561b1e84a22b570a803d95c49.tar.gz
openembedded-core-6068f3229397baf561b1e84a22b570a803d95c49.tar.bz2
openembedded-core-6068f3229397baf561b1e84a22b570a803d95c49.zip
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. Signed-off-by: Darren Hart <dvhart@linux.intel.com> CC: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/kernel.bbclass10
1 files changed, 10 insertions, 0 deletions
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")