mirror of
https://git.yoctoproject.org/poky
synced 2026-01-29 21:08:42 +01:00
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>
58 lines
1.7 KiB
Plaintext
58 lines
1.7 KiB
Plaintext
DEPENDS += "virtual/kernel"
|
|
|
|
inherit module-base
|
|
|
|
addtask make_scripts after do_patch before do_compile
|
|
do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock"
|
|
do_make_scripts[deptask] = "do_populate_sysroot"
|
|
|
|
module_do_compile() {
|
|
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
|
|
oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \
|
|
KERNEL_SRC=${STAGING_KERNEL_DIR} \
|
|
KERNEL_VERSION=${KERNEL_VERSION} \
|
|
CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
|
|
AR="${KERNEL_AR}" \
|
|
${MAKE_TARGETS}
|
|
}
|
|
|
|
module_do_install() {
|
|
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
|
|
oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" \
|
|
KERNEL_SRC=${STAGING_KERNEL_DIR} \
|
|
CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
|
|
modules_install
|
|
}
|
|
|
|
module_pkg_postinst () {
|
|
if [ -z "$D" ]; then
|
|
depmod -a ${KERNEL_VERSION}
|
|
else
|
|
depmod -a -b $D -F ${STAGING_KERNEL_DIR}/System.map-${KERNEL_VERSION} ${KERNEL_VERSION}
|
|
fi
|
|
}
|
|
|
|
module_pkg_postrm () {
|
|
if [ -z "$D" ]; then
|
|
depmod -a ${KERNEL_VERSION}
|
|
else
|
|
depmod -a -b $D -F ${STAGING_KERNEL_DIR}/System.map-${KERNEL_VERSION} ${KERNEL_VERSION}
|
|
fi
|
|
}
|
|
|
|
EXPORT_FUNCTIONS do_compile do_install
|
|
|
|
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 + " ")
|
|
}
|
|
|