[poky] [PATCH 1/2] module: build and clean hostprogs for each module
Gary Thomas
gary at mlbassoc.com
Thu Mar 3 08:50:40 PST 2011
On 03/02/2011 11:00 AM, Darren Hart wrote:
> 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>
Sadly, this doesn't seem to work for me. I don't see any indication in
run.do_compile that the extra steps were added at all.
Will it matter if my recipe overrides the do_compile() method?
> ---
> 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 () {
--
------------------------------------------------------------
Gary Thomas | Consulting for the
MLB Associates | Embedded world
------------------------------------------------------------
More information about the poky
mailing list