| Submitter | Koen Kooi |
|---|---|
| Date | June 22, 2011, 3:41 p.m. |
| Message ID | <1308757294-21106-1-git-send-email-koen@dominion.thruhere.net> |
| Download | mbox | patch |
| Permalink | /patch/6245/ |
| State | New, archived |
| Headers | show |
Comments
On 06/22/2011 08:41 AM, Koen Kooi wrote: > This fixes external module recipes that need $KERNEL_VERSION. It got removed by > > commit a9d41062e24a6b99661b3a5256f369b557433607 > Author: Darren Hart <dvhart@linux.intel.com> > Date: Tue Mar 8 17:09:10 2011 -0800 > > kernel/bbclass: rework kernel and module classes to allow for building out-of-tree modules > > seemingly as an oversight. > > Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> > --- > meta/classes/kernel.bbclass | 6 ++++++ > 1 files changed, 6 insertions(+), 0 deletions(-) > > diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass > index 1bb69f5..8f9f108 100644 > --- a/meta/classes/kernel.bbclass > +++ b/meta/classes/kernel.bbclass > @@ -123,6 +123,12 @@ kernel_do_install() { > install -d $kerneldir > > # > + # Store the kernel version in sysroots for module-base.bbclass > + # > + > + echo "${KERNEL_VERSION}" > $kerneldir/kernel-abiversion From everything I can see this is an openembedded construct - which external modules need this? An example recipe I can review? I'd like to understand this better as I don't like the idea of depending on an arbitrary file that isn't part of the kernel build system to build modules. It seems to me that these modules should be able to DEPEND on something provided by the kernel recipes, rather than checking the contents of a file stuck in the build tree. -- Darren > + > + # > # Copy the entire source tree. In case an external build directory is > # used, copy the build directory over first, then copy over the source > # dir. This ensures the original Makefiles are used and not the
Op 22 jun 2011, om 20:13 heeft Darren Hart het volgende geschreven: > > > On 06/22/2011 08:41 AM, Koen Kooi wrote: >> This fixes external module recipes that need $KERNEL_VERSION. It got removed by >> >> commit a9d41062e24a6b99661b3a5256f369b557433607 >> Author: Darren Hart <dvhart@linux.intel.com> >> Date: Tue Mar 8 17:09:10 2011 -0800 >> >> kernel/bbclass: rework kernel and module classes to allow for building out-of-tree modules >> >> seemingly as an oversight. >> >> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> >> --- >> meta/classes/kernel.bbclass | 6 ++++++ >> 1 files changed, 6 insertions(+), 0 deletions(-) >> >> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass >> index 1bb69f5..8f9f108 100644 >> --- a/meta/classes/kernel.bbclass >> +++ b/meta/classes/kernel.bbclass >> @@ -123,6 +123,12 @@ kernel_do_install() { >> install -d $kerneldir >> >> # >> + # Store the kernel version in sysroots for module-base.bbclass >> + # >> + >> + echo "${KERNEL_VERSION}" > $kerneldir/kernel-abiversion > > From everything I can see this is an openembedded construct - which > external modules need this? An example recipe I can review? > > I'd like to understand this better as I don't like the idea of depending > on an arbitrary file that isn't part of the kernel build system to build > modules. > > It seems to me that these modules should be able to DEPEND on something > provided by the kernel recipes, rather than checking the contents of a > file stuck in the build tree. It's used in the stock module.bbclass thru module-base.bbclass: https://github.com/openembedded/oe-core/blob/master/meta/classes/module-base.bbclass An example of a recipe that's using it: http://git.angstrom-distribution.org/cgi-bin/cgit.cgi/meta-texasinstruments/tree/recipes-bsp/powervr-drivers/omap3-sgx-modules_1.6.16.3977.bb For various reasons the makefile can't be trusted or patched, so we can't use KBuild to get the version for us. regards, Koen
On 06/22/2011 11:18 AM, Koen Kooi wrote: > > Op 22 jun 2011, om 20:13 heeft Darren Hart het volgende geschreven: > >> >> >> On 06/22/2011 08:41 AM, Koen Kooi wrote: >>> This fixes external module recipes that need $KERNEL_VERSION. It got removed by >>> >>> commit a9d41062e24a6b99661b3a5256f369b557433607 >>> Author: Darren Hart <dvhart@linux.intel.com> >>> Date: Tue Mar 8 17:09:10 2011 -0800 >>> >>> kernel/bbclass: rework kernel and module classes to allow for building out-of-tree modules >>> >>> seemingly as an oversight. It was indeed unintentional. There is enough history with this mechanism that a change here should be intentional and not an oversight as you pointed out. >>> >>> Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Acked-by: Darren Hart <dvhart@linux.intel.com> >>> --- >>> meta/classes/kernel.bbclass | 6 ++++++ >>> 1 files changed, 6 insertions(+), 0 deletions(-) >>> >>> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass >>> index 1bb69f5..8f9f108 100644 >>> --- a/meta/classes/kernel.bbclass >>> +++ b/meta/classes/kernel.bbclass >>> @@ -123,6 +123,12 @@ kernel_do_install() { >>> install -d $kerneldir >>> >>> # >>> + # Store the kernel version in sysroots for module-base.bbclass >>> + # >>> + >>> + echo "${KERNEL_VERSION}" > $kerneldir/kernel-abiversion >> >> From everything I can see this is an openembedded construct - which >> external modules need this? An example recipe I can review? >> >> I'd like to understand this better as I don't like the idea of depending >> on an arbitrary file that isn't part of the kernel build system to build >> modules. >> >> It seems to me that these modules should be able to DEPEND on something >> provided by the kernel recipes, rather than checking the contents of a >> file stuck in the build tree. > > It's used in the stock module.bbclass thru module-base.bbclass: > > https://github.com/openembedded/oe-core/blob/master/meta/classes/module-base.bbclass > > An example of a recipe that's using it: > > http://git.angstrom-distribution.org/cgi-bin/cgit.cgi/meta-texasinstruments/tree/recipes-bsp/powervr-drivers/omap3-sgx-modules_1.6.16.3977.bb > > For various reasons the makefile can't be trusted or patched, so we can't use KBuild to get the version for us. > > regards, > > Koen >
On Wed, 2011-06-22 at 17:41 +0200, Koen Kooi wrote: > This fixes external module recipes that need $KERNEL_VERSION. It got removed by > > commit a9d41062e24a6b99661b3a5256f369b557433607 > Author: Darren Hart <dvhart@linux.intel.com> > Date: Tue Mar 8 17:09:10 2011 -0800 > > kernel/bbclass: rework kernel and module classes to allow for building out-of-tree modules > > seemingly as an oversight. > > Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> > --- > meta/classes/kernel.bbclass | 6 ++++++ > 1 files changed, 6 insertions(+), 0 deletions(-) Merged to master, thanks. Richard
Patch
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass index 1bb69f5..8f9f108 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -123,6 +123,12 @@ kernel_do_install() { install -d $kerneldir # + # Store the kernel version in sysroots for module-base.bbclass + # + + echo "${KERNEL_VERSION}" > $kerneldir/kernel-abiversion + + # # Copy the entire source tree. In case an external build directory is # used, copy the build directory over first, then copy over the source # dir. This ensures the original Makefiles are used and not the
This fixes external module recipes that need $KERNEL_VERSION. It got removed by commit a9d41062e24a6b99661b3a5256f369b557433607 Author: Darren Hart <dvhart@linux.intel.com> Date: Tue Mar 8 17:09:10 2011 -0800 kernel/bbclass: rework kernel and module classes to allow for building out-of-tree modules seemingly as an oversight. Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> --- meta/classes/kernel.bbclass | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-)