[poky] [PATCH 1/2] module: build and clean hostprogs for each module
Darren Hart
dvhart at linux.intel.com
Wed Mar 2 10:00:56 PST 2011
From: Darren Hart <dvhart at linux.intel.com>
This fixes [BUGID #241]
The kernel hostprogs are built for the host architecture. They should not
be deployed with to the target, and they should not be included in an sstate
package which might get reused on a host of a different architecture.
As we don't build many out-of-tree modules, this patch takes the approach
of building the hostprogs as part of the module compile process with a
do_compile_prepend() routine in module.bbclass. To ensure the hostprogs
don't contaminate the build, they are removed in do_install_append().
Signed-off-by: Darren Hart <dvhart at linux.intel.com>
CC: Gary Thomas <gary at mlbassoc.com>
---
meta/classes/module.bbclass | 21 ++++++++++++++++++++-
1 files changed, 20 insertions(+), 1 deletions(-)
diff --git a/meta/classes/module.bbclass b/meta/classes/module.bbclass
index d16d462..78f9b0a 100644
--- a/meta/classes/module.bbclass
+++ b/meta/classes/module.bbclass
@@ -3,6 +3,15 @@ DEPENDS += "virtual/kernel"
inherit module-base
+# Ensure the hostprogs are available for module compilation
+module_do_compile_prepend() {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" AR="${KERNEL_AR}" \
+ -C ${STAGING_KERNEL_DIR} clean SUBDIRS=scripts
+ oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" AR="${KERNEL_AR}" \
+ -C ${STAGING_KERNEL_DIR} scripts
+}
+
module_do_compile() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \
@@ -15,7 +24,17 @@ module_do_compile() {
module_do_install() {
unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
- oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" CC="${KERNEL_CC}" LD="${KERNEL_LD}" modules_install
+ oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" \
+ KERNEL_SRC=${STAGING_KERNEL_DIR} \
+ CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
+ modules_install
+}
+
+# Remove the hostprogs from the STAGING_KERNEL_DIR
+module_do_install_append() {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ oe_runmake CC="${KERNEL_CC}" LD="${KERNEL_LD}" AR="${KERNEL_AR}" \
+ -C ${STAGING_KERNEL_DIR} clean SUBDIRS=scripts
}
pkg_postinst_append () {
--
1.7.1
More information about the poky
mailing list