From: "André Draszik" <git@andred.net>
To: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH] module.bbclass: allow to override location of Module.symvers
Date: Wed, 21 Dec 2016 10:02:49 +0000 [thread overview]
Message-ID: <1482314569.19279.2.camel@andred.net> (raw)
In-Reply-To: <20161121093713.7220-1-git@andred.net>
ping
On Mon, 2016-11-21 at 09:37 +0000, André Draszik wrote:
> From: André Draszik <adraszik@tycoint.com>
>
> Requiring all build systems for external kernel modules to
> place Module.symvers directly into ${B}/. is quite an
> artificial assumption/requirement. It doesn't have to end
> up there, but could easily end up somewhere below ${B}.
>
> Allow to override the location below ${B}
>
> Note that we still don't make use of multiple
> Module.symvers in case there are any generated by one
> single kernel module build, but this is no change in
> behaviour from before and could be added if there really
> is a demand for that.
>
> Reported-by: Denys Dmytriyenko <denis@denix.org>
> Signed-off-by: André Draszik <adraszik@tycoint.com>
> ---
> meta/classes/module.bbclass | 16 ++++++++++++----
> 1 file changed, 12 insertions(+), 4 deletions(-)
>
> diff --git a/meta/classes/module.bbclass b/meta/classes/module.bbclass
> index 68e3d34..037ca4f 100644
> --- a/meta/classes/module.bbclass
> +++ b/meta/classes/module.bbclass
> @@ -7,6 +7,7 @@ do_make_scripts[depends] +=
> "virtual/kernel:do_shared_workdir"
> EXTRA_OEMAKE += "KERNEL_SRC=${STAGING_KERNEL_DIR}"
>
> MODULES_INSTALL_TARGET ?= "modules_install"
> +MODULES_MODULE_SYMVERS_LOCATION ?= ""
>
> python __anonymous () {
> depends = d.getVar('DEPENDS', True)
> @@ -35,10 +36,17 @@ module_do_install() {
> O=${STAGING_KERNEL_BUILDDIR} \
> ${MODULES_INSTALL_TARGET}
>
> - install -d -m0755 ${D}${includedir}/${BPN}
> - cp -a --no-preserve=ownership ${B}/Module.symvers
> ${D}${includedir}/${BPN}
> - # it doesn't actually seem to matter which path is specified here
> - sed -e 's:${B}/::g' -i ${D}${includedir}/${BPN}/Module.symvers
> + if [ ! -e
> "${B}/${MODULES_MODULE_SYMVERS_LOCATION}/Module.symvers" ] ; then
> + bbwarn "Module.symvers not found in
> ${B}/${MODULES_MODULE_SYMVERS_LOCATION}"
> + bbwarn "Please consider setting
> MODULES_MODULE_SYMVERS_LOCATION to a"
> + bbwarn "directory below B to get correct inter-module
> dependencies"
> + else
> + install -Dm0644
> "${B}/${MODULES_MODULE_SYMVERS_LOCATION}"/Module.symvers
> ${D}${includedir}/${BPN}/Module.symvers
> + # Module.symvers contains absolute path to the build
> directory.
> + # While it doesn't actually seem to matter which path is
> specified,
> + # clear them out to avoid confusion
> + sed -e 's:${B}/::g' -i
> ${D}${includedir}/${BPN}/Module.symvers
> + fi
> }
>
> EXPORT_FUNCTIONS do_compile do_install
prev parent reply other threads:[~2016-12-21 10:02 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-21 9:37 [PATCH] module.bbclass: allow to override location of Module.symvers André Draszik
2016-11-22 22:33 ` Denys Dmytriyenko
2016-11-23 8:01 ` André Draszik
2016-12-12 15:38 ` André Draszik
2016-12-21 10:02 ` André Draszik [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1482314569.19279.2.camel@andred.net \
--to=git@andred.net \
--cc=openembedded-core@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox