module.bbclass: Allow for modules to be packaged seperate from ${PN}

This patch will allow recipes that provide kernel modules to package
the module or modules in specific packages. That list is contained in
MODULE_PACKAGES, this defaults to  to preserve the current behavior.
The package can also define MODULE_FILES to specify files.

[YOCTO #3803]

(From OE-Core rev: c1ff0467bf03a3342846f0d9dde74e34b740798f)

(From OE-Core rev: 977aee43868499ab87a098f3798e90d6978836b9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Saul Wold
2013-01-30 15:05:49 -08:00
committed by Richard Purdie
parent 497ec60bf8
commit 966aa9ec62

View File

@@ -1,4 +1,3 @@
RDEPENDS_${PN} += "kernel-image"
DEPENDS += "virtual/kernel"
inherit module-base
@@ -25,7 +24,7 @@ module_do_install() {
modules_install
}
pkg_postinst_${PN}_append () {
module_pkg_postinst () {
if [ -z "$D" ]; then
depmod -a ${KERNEL_VERSION}
else
@@ -33,7 +32,7 @@ else
fi
}
pkg_postrm_${PN}_append () {
module_pkg_postrm () {
if [ -z "$D" ]; then
depmod -a ${KERNEL_VERSION}
else
@@ -43,4 +42,16 @@ fi
EXPORT_FUNCTIONS do_compile do_install
FILES_${PN} = "/etc /lib/modules"
MODULE_PACKAGES ?= "${PN}"
python __anonymous() {
for package in d.getVar("MODULE_PACKAGES", True).split():
d.appendVar("RDEPENDS_%s" % package, " kernel-image")
files = d.getVar("MODULE_FILES_%s" % package, True) or "/etc /lib/modules"
d.appendVar("FILES_%s" % package, " " + files)
d.appendVar('pkg_postinst_%s' % package, " " + d.getVar('module_pkg_postinst', True))
d.appendVar('pkg_postrm_%s' % package, " " + d.getVar('module_pkg_postrm', True))
if not package in d.getVar("PACKAGES", True):
d.prependVar("PACKAGES", package + " ")
}