Skip to contentSkip to conversation

Fix external module compilations

PATCH In review Anders Darander 4 participants 10 messages Jul 5, 2011 – Jul 8, 2011

lore
Share & tools
lore
#0 lore raw

cover Fix external module compilations

When compiling an external module, the compilation errors out, when scripts/basic/fixdep and later on scripts/mod/modpost is being requested. The removal of 'make -C $kerneldir _mrproper_scripts' fixes these problems.

The following changes since commit 69eeb3d2276e5b10d084b47d308ecfc8daf8b467:

qt4: ensure target packages don't include host binaries (2011-07-05 11:28:59 +0100)

are available in the git repository at:
git://github.com/darander/oe-core fixdep
https://github.com/darander/oe-core/tree/fixdep

Anders Darander (1):
kernel.bbclass: make external module compile

 meta/classes/kernel.bbclass |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
Signature · 1 line
1.7.4.1
#1 lore raw

PATCH 1/1 kernel.bbclass: make external module compile

When compiling external modules, scripts/basic/fixdep and scripts/mod/modpost, is wanted. Do not remove too much from the staged kernel sources.

---
 meta/classes/kernel.bbclass |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)
meta/classes/kernel.bbclass +0 -1
index 943252a..26ee416 100644
@@ -149,7 +149,6 @@ kernel_do_install() {
 	# and include files.
 	#
 	oe_runmake -C $kerneldir CC="${KERNEL_CC}" LD="${KERNEL_LD}" clean
-	make -C $kerneldir _mrproper_scripts
 	find $kerneldir -path $kerneldir/scripts -prune -o -name "*.[csS]" -exec rm '{}' \;
 	find $kerneldir/Documentation -name "*.txt" -exec rm '{}' \;
 
Signature · 1 line
1.7.4.1
#2 lore raw

Re: [PATCH 1/1] kernel.bbclass: make external module compile

meta/classes/kernel.bbclass kernel_do_install() {

Quoted 5 lines · Anders Darander
meta/classes/kernel.bbclass +0 -0
index 943252a..26ee416 100644
@@ -149,7 +149,6 @@ kernel_do_install() {

#
# We don't want to leave host-arch binaries in /sysroots, so # we clean the scripts dir while leaving the generated config

meta/classes/kernel.bbclass kernel_do_install() { · line 153

Quoted 6 lines
meta/classes/kernel.bbclass +0 -1
 	# and include files.
 	#
 	oe_runmake -C $kerneldir CC="${KERNEL_CC}" LD="${KERNEL_LD}" clean
-	make -C $kerneldir _mrproper_scripts
 	find $kerneldir -path $kerneldir/scripts -prune -o -name "*.[csS]" -exec rm '{}' \;
 	find $kerneldir/Documentation -name "*.txt" -exec rm '{}' \;

Did you verify that this doesn't introduce any new QA warnings during packaging? Presumably that line was originally added for a reason and it seems a bit surprising that just deleting it without any replacement is the right thing to do.

Also, if the scripts dir isn't being cleaned anymore, I guess the preceding comment should be adjusted to match the new reality.

p.

#3 lore raw

Re: [PATCH 1/1] kernel.bbclass: make external module compile

Quoted 17 lines · Phil Blundell Phil Blundell

meta/classes/kernel.bbclass kernel_do_install() {

Quoted 5 lines · Anders Darander
meta/classes/kernel.bbclass +0 -0
index 943252a..26ee416 100644
@@ -149,7 +149,6 @@ kernel_do_install() {

#
# We don't want to leave host-arch binaries in /sysroots, so # we clean the scripts dir while leaving the generated config

Quoted 6 lines
meta/classes/kernel.bbclass +0 -1
 	# and include files.
 	#
 	oe_runmake -C $kerneldir CC="${KERNEL_CC}" LD="${KERNEL_LD}" clean
 
-	make -C $kerneldir _mrproper_scripts
 
Quoted 8 lines

meta/classes/kernel.bbclass

Quoted 3 lines
meta/classes/kernel.bbclass +0 -0
 	find $kerneldir -path $kerneldir/scripts -prune -o -name "*.[csS]"
meta/classes/kernel.bbclass +0 -0
 	-exec rm '{}' \; find $kerneldir/Documentation -name "*.txt" -exec rm
 	'{}' \;

Did you verify that this doesn't introduce any new QA warnings during packaging? Presumably that line was originally added for a reason and it seems a bit surprising that just deleting it without any replacement is the right thing to do.

No, I didn't really verify that. Do I need to run with any specific options enabled, or should it be enough to just bitbake my modules recipe? (I can't test for the moment, as the latest pull from oe-core forces a rebuild of gcc etc).

Quoted 2 lines

Also, if the scripts dir isn't being cleaned anymore, I guess the preceding comment should be adjusted to match the new reality.

That's true.

I'll wait to see if someone else has any comments, or if I find some QA warnings before I produce a version 2.

Regards,
Anders

#4 lore raw

Re: [PATCH 1/1] kernel.bbclass: make external module compile

Quoted 32 lines · Anders Darander
Quoted 17 lines · Phil Blundell Phil Blundell

meta/classes/kernel.bbclass kernel_do_install() {

Quoted 5 lines · Anders Darander
meta/classes/kernel.bbclass +0 -0
index 943252a..26ee416 100644
@@ -149,7 +149,6 @@ kernel_do_install() {

#
# We don't want to leave host-arch binaries in /sysroots, so # we clean the scripts dir while leaving the generated config

Quoted 6 lines
meta/classes/kernel.bbclass +0 -1
 	# and include files.
 	#
 	oe_runmake -C $kerneldir CC="${KERNEL_CC}" LD="${KERNEL_LD}" clean
 
-	make -C $kerneldir _mrproper_scripts
 
Quoted 8 lines

meta/classes/kernel.bbclass

Quoted 3 lines
meta/classes/kernel.bbclass +0 -0
 	find $kerneldir -path $kerneldir/scripts -prune -o -name "*.[csS]"
meta/classes/kernel.bbclass +0 -0
 	-exec rm '{}' \; find $kerneldir/Documentation -name "*.txt" -exec rm
 	'{}' \;

Did you verify that this doesn't introduce any new QA warnings during packaging? Presumably that line was originally added for a reason and it seems a bit surprising that just deleting it without any replacement is the right thing to do.

No, I didn't really verify that. Do I need to run with any specific options enabled, or should it be enough to just bitbake my modules recipe? (I can't test for the moment, as the latest pull from oe-core forces a rebuild of gcc etc).

Quoted 7 lines
Quoted 2 lines

Also, if the scripts dir isn't being cleaned anymore, I guess the preceding comment should be adjusted to match the new reality.

That's true.

I'll wait to see if someone else has any comments, or if I find some QA warnings before I produce a version 2.

I'm cc'ing Darren as this is one of his favourite subjects :/.

Summary is that this works well in some kernel versions and not in others. We might have to start doing this conditionally based upon kernel version I guess...

Cheers,

Richard

#5 lore raw

Re: [PATCH 1/1] kernel.bbclass: make external module compile

Quoted 38 lines · Richard Purdie
Quoted 37 lines · Anders Darander
Quoted 17 lines · Phil Blundell Phil Blundell

meta/classes/kernel.bbclass kernel_do_install() {

Quoted 5 lines · Anders Darander
meta/classes/kernel.bbclass +0 -0
index 943252a..26ee416 100644
@@ -149,7 +149,6 @@ kernel_do_install() {

#
# We don't want to leave host-arch binaries in /sysroots, so # we clean the scripts dir while leaving the generated config

Quoted 6 lines
meta/classes/kernel.bbclass +0 -1
   # and include files.
   #
   oe_runmake -C $kerneldir CC="${KERNEL_CC}" LD="${KERNEL_LD}" clean
 
-    make -C $kerneldir _mrproper_scripts
 
Quoted 8 lines
Quoted 3 lines
meta/classes/kernel.bbclass +0 -0
   find $kerneldir -path $kerneldir/scripts -prune -o -name "*.[csS]"

-exec rm '{}' \; find $kerneldir/Documentation -name "*.txt" -exec rm '{}' \;

Did you verify that this doesn't introduce any new QA warnings during packaging? Presumably that line was originally added for a reason and it seems a bit surprising that just deleting it without any replacement is the right thing to do.

No, I didn't really verify that. Do I need to run with any specific options enabled, or should it be enough to just bitbake my modules recipe? (I can't test for the moment, as the latest pull from oe-core forces a rebuild of gcc etc).

Quoted 2 lines

Also, if the scripts dir isn't being cleaned anymore, I guess the preceding comment should be adjusted to match the new reality.

That's true.

Quoted 8 lines
Quoted 2 lines

I'll wait to see if someone else has any comments, or if I find some QA warnings before I produce a version 2.

I'm cc'ing Darren as this is one of his favourite subjects :/.

Summary is that this works well in some kernel versions and not in others. We might have to start doing this conditionally based upon kernel version I guess...

Ah, well then it is worse than I thought. ( On the other hand, that would explain why no one has noticed the problem, until I tried using the wrong kernel version).

Do we have any idea at what point the kernel breaks? I guess that might be a question for Darren.

Cheers,
Anders

#6 lore raw

Re: [PATCH 1/1] kernel.bbclass: make external module compile

Quoted 51 lines · Anders Darander
Quoted 37 lines · Richard Purdie
Quoted 36 lines · Anders Darander
Quoted 15 lines · Phil Blundell Phil Blundell
Quoted 5 lines · Anders Darander
(quoted diff) +0 -0

b/meta/classes/kernel.bbclass index 943252a..26ee416 100644 --- a/meta/classes/kernel.bbclass +++ b/meta/classes/kernel.bbclass @@ -149,7 +149,6 @@ kernel_do_install() {

# # We don't want to leave host-arch binaries in /sysroots, so

# we clean the scripts dir while leaving the generated config
Quoted 5 lines
# and include files. # oe_runmake -C $kerneldir
CC="${KERNEL_CC}" LD="${KERNEL_LD}" clean

- make -C $kerneldir _mrproper_scripts

Quoted 8 lines
Quoted 3 lines

find $kerneldir -path $kerneldir/scripts -prune -o -name "*.[csS]" -exec rm '{}' \; find $kerneldir/Documentation -name "*.txt" -exec rm '{}' \;

Did you verify that this doesn't introduce any new QA warnings during packaging? Presumably that line was originally added for a reason and it seems a bit surprising that just deleting it without any replacement is the right thing to do.

No, I didn't really verify that. Do I need to run with any specific options enabled, or should it be enough to just bitbake my modules recipe? (I can't test for the moment, as the latest pull from oe-core forces a rebuild of gcc etc).

Quoted 3 lines

Also, if the scripts dir isn't being cleaned anymore, I guess the preceding comment should be adjusted to match the new reality.

That's true.

Quoted 8 lines
Quoted 2 lines

I'll wait to see if someone else has any comments, or if I find some QA warnings before I produce a version 2.

I'm cc'ing Darren as this is one of his favourite subjects :/.

Summary is that this works well in some kernel versions and not in others. We might have to start doing this conditionally based upon kernel version I guess...

Quoted 6 lines

Ah, well then it is worse than I thought. ( On the other hand, that would explain why no one has noticed the problem, until I tried using the wrong kernel version).

Do we have any idea at what point the kernel breaks? I guess that might be a question for Darren.

Hi Anders,

Please see the following commit log:

commit 3b49416fc7a7ee9bfe722f2e6089aa18df41dc58

Author: Darren Hart <[email protected]>
Date:   Tue Mar 8 17:09:10 2011 -0800

kernel/bbclass: rework kernel and module classes to allow for building out-of-tree modul

In particular, the following:

Care is also taken to clean the hostprogs in scripts, and the modules are responsible for building them as needed. Although it is unclear to me if this is really necessary, especially considering that modules put these bits back as soon as they compile. If we are not generating an sstate package, I suspect we can ignore these.

The scripts are recreated during the build of module.bbclass derived recipes. Are you trying to build modules independently of this method? Richard expressed concerns about not including host specific binaries in the sstate, which was part of the reason this approach was taken.

--
Darren

Quoted 5 lines

Cheers, Anders _______________________________________________ Openembedded-core mailing list [email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

--

Quoted 1 line

Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel

#7 lore raw

Re: [PATCH 1/1] kernel.bbclass: make external module compile

Hi Darren,

Quoted 17 lines · Darren Hart

Please see the following commit log:

commit 3b49416fc7a7ee9bfe722f2e6089aa18df41dc58

Author: Darren Hart <[email protected]>
Date:   Tue Mar 8 17:09:10 2011 -0800

kernel/bbclass: rework kernel and module classes to allow for building out-of-tree modul

In particular, the following:

Care is also taken to clean the hostprogs in scripts, and the modules are responsible for building them as needed. Although it is unclear to me if this is really necessary, especially considering that modules put these bits back as soon as they compile. If we are not generating an sstate package, I suspect we can ignore these.

Quoted 4 lines

The scripts are recreated during the build of module.bbclass derived recipes. Are you trying to build modules independently of this method? Richard expressed concerns about not including host specific binaries in the sstate, which was part of the reason this approach was taken.

Thanks for pointing out this, especially the first sentence in this paragraph. No matter how many times I've looked at both the recipes in question, as well as the meta/classes directory, I haven't noticed that the old, inherited recipes were not using module.bbclass, but rather inherited module-base.bbclass directly. I'll assume that once I change that, and fix the recipes properly all my issues will go away.

Once more, thanks for pointing me to the real problem.

Cheers,
Anders

#8 lore raw

Re: [PATCH 1/1] kernel.bbclass: make external module compile

Quoted 35 lines · Anders Darander

Hi Darren,

Quoted 17 lines · Darren Hart

Please see the following commit log:

commit 3b49416fc7a7ee9bfe722f2e6089aa18df41dc58 Author: Darren Hart
<[email protected]> Date: Tue Mar 8 17:09:10 2011 -0800

kernel/bbclass: rework kernel and module classes to allow for building out-of-tree modul

In particular, the following:

Care is also taken to clean the hostprogs in scripts, and the modules are responsible for building them as needed. Although it is unclear to me if this is really necessary, especially considering that modules put these bits back as soon as they compile. If we are not generating an sstate package, I suspect we can ignore these.

Quoted 5 lines

The scripts are recreated during the build of module.bbclass derived recipes. Are you trying to build modules independently of this method? Richard expressed concerns about not including host specific binaries in the sstate, which was part of the reason this approach was taken.

Thanks for pointing out this, especially the first sentence in this paragraph. No matter how many times I've looked at both the recipes in question, as well as the meta/classes directory, I haven't noticed that the old, inherited recipes were not using module.bbclass, but rather inherited module-base.bbclass directly. I'll assume that once I change that, and fix the recipes properly all my issues will go away.

Quoted 1 line

Once more, thanks for pointing me to the real problem.

Excellent, please keep us posted!

Signature · 3 lines
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
#9 lore raw

Re: [PATCH 1/1] kernel.bbclass: make external module compile

Quoted 20 lines · Darren Hart
Quoted 18 lines · Anders Darander

Hi Darren,

Quoted 5 lines · Darren Hart

The scripts are recreated during the build of module.bbclass derived recipes. Are you trying to build modules independently of this method? Richard expressed concerns about not including host specific binaries in the sstate, which was part of the reason this approach was taken.

Thanks for pointing out this, especially the first sentence in this paragraph. No matter how many times I've looked at both the recipes in question, as well as the meta/classes directory, I haven't noticed that the old, inherited recipes were not using module.bbclass, but rather inherited module-base.bbclass directly. I'll assume that once I change that, and fix the recipes properly all my issues will go away.

Quoted 3 lines
Quoted 1 line

Once more, thanks for pointing me to the real problem.

Excellent, please keep us posted!

Fixing the module recipes as hinted above, solved my problems. Thus, I've back ported the fixes to our current build system, based on oe-dev.

Thanks again!

Cheers,
Anders