Re: [OE-core] [PATCH] kernel.bbclass: Add dependency on binutils

2013-05-21 Thread Mike Crowe
On Mon, May 20, 2013 at 11:25:18PM +0100, Richard Purdie wrote:
 On Mon, 2013-05-20 at 10:37 -0700, Khem Raj wrote:
  On May 20, 2013, at 5:22 AM, Mike Crowe m...@mcrowe.com wrote:
  
   Compiling the Linux kernel requires binutils; kernel.bbclass uses
   INHIBIT_DEFAULT_DEPS so it had better depend on binutils explicitly.
   
   (The lack of this dependency isn't always a problem because binutils
   is required to build gcc-cross but if gcc-cross is reconstructed from
   the sstate cache then gcc-cross's dependency on binutils-cross is
   ignored due to being in the safe dependency list in
   setscene_depvalid.)
  
  what good is cross-gcc without cross-binutils. Could it be fixed in gcc 
  recipes instead so
  it pulls binutils-cross 
 
 This needs fixing in the logic in sstate.bbclass.

The most straightforward fix there (with thanks to Phil Blundell) is to
just remove binutils-cross from the safe dependency list:

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 1f85c54..be08a66 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -648,7 +648,7 @@ def setscene_depvalid(task, taskdependees, notneeded, d):
 def isNativeCross(x):
 return x.endswith(-native) or x.endswith(-cross) or 
x.endswith(-cross-initial)
 def isSafeDep(x):
-if x in [quilt-native, autoconf-native, automake-native, 
gnu-config-native, libtool-native, pkgconfig-native, gcc-cross, 
binutils-cross, gcc-cross-initial]:
+if x in [quilt-native, autoconf-native, automake-native, 
gnu-config-native, libtool-native, pkgconfig-native, gcc-cross, 
gcc-cross-initial]:
 return True
 return False
 def isPostInstDep(x):

Is this the sort of fix you mean?

Thanks.

Mike.
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


[OE-core] [PATCH] kernel.bbclass: Add dependency on binutils

2013-05-20 Thread Mike Crowe
Compiling the Linux kernel requires binutils; kernel.bbclass uses
INHIBIT_DEFAULT_DEPS so it had better depend on binutils explicitly.

(The lack of this dependency isn't always a problem because binutils
is required to build gcc-cross but if gcc-cross is reconstructed from
the sstate cache then gcc-cross's dependency on binutils-cross is
ignored due to being in the safe dependency list in
setscene_depvalid.)

Signed-off-by: Mike Crowe m...@mcrowe.com
Acked-by: Phil Blundell ph...@gnu.org
---
 meta/classes/kernel.bbclass |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index ffb0b11..38973db 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -1,7 +1,7 @@
 inherit linux-kernel-base module_strip kernel-module-split
 
 PROVIDES += virtual/kernel
-DEPENDS += virtual/${TARGET_PREFIX}gcc kmod-native depmodwrapper-cross
+DEPENDS += virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc 
kmod-native depmodwrapper-cross
 
 # we include gcc above, we dont need virtual/libc
 INHIBIT_DEFAULT_DEPS = 1
-- 
1.7.10.4


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] kernel.bbclass: Add dependency on binutils

2013-05-20 Thread Khem Raj

On May 20, 2013, at 5:22 AM, Mike Crowe m...@mcrowe.com wrote:

 Compiling the Linux kernel requires binutils; kernel.bbclass uses
 INHIBIT_DEFAULT_DEPS so it had better depend on binutils explicitly.
 
 (The lack of this dependency isn't always a problem because binutils
 is required to build gcc-cross but if gcc-cross is reconstructed from
 the sstate cache then gcc-cross's dependency on binutils-cross is
 ignored due to being in the safe dependency list in
 setscene_depvalid.)

what good is cross-gcc without cross-binutils. Could it be fixed in gcc recipes 
instead so
it pulls binutils-cross 

 
 Signed-off-by: Mike Crowe m...@mcrowe.com
 Acked-by: Phil Blundell ph...@gnu.org
 ---
 meta/classes/kernel.bbclass |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
 
 diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
 index ffb0b11..38973db 100644
 --- a/meta/classes/kernel.bbclass
 +++ b/meta/classes/kernel.bbclass
 @@ -1,7 +1,7 @@
 inherit linux-kernel-base module_strip kernel-module-split
 
 PROVIDES += virtual/kernel
 -DEPENDS += virtual/${TARGET_PREFIX}gcc kmod-native depmodwrapper-cross
 +DEPENDS += virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc 
 kmod-native depmodwrapper-cross
 
 # we include gcc above, we dont need virtual/libc
 INHIBIT_DEFAULT_DEPS = 1
 -- 
 1.7.10.4
 
 
 ___
 Openembedded-core mailing list
 Openembedded-core@lists.openembedded.org
 http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] kernel.bbclass: Add dependency on binutils

2013-05-20 Thread Mike Crowe
On Mon, May 20, 2013 at 10:37:08AM -0700, Khem Raj wrote:
 
 On May 20, 2013, at 5:22 AM, Mike Crowe m...@mcrowe.com wrote:
 
  Compiling the Linux kernel requires binutils; kernel.bbclass uses
  INHIBIT_DEFAULT_DEPS so it had better depend on binutils explicitly.
  
  (The lack of this dependency isn't always a problem because binutils
  is required to build gcc-cross but if gcc-cross is reconstructed from
  the sstate cache then gcc-cross's dependency on binutils-cross is
  ignored due to being in the safe dependency list in
  setscene_depvalid.)
 
 what good is cross-gcc without cross-binutils. Could it be fixed in gcc 
 recipes instead so
 it pulls binutils-cross 

Perhaps it could do when considering requiring binutils to be an
implementation detail of gcc. Unfortunately sstate.bbclass doesn't honour
the dependency (presumably because other recipes that depend on binutils
directly don't wish to bring in all the binutils build dependencies
unnecessarily.) What is the best way to avoid this?

But, kernel compilation also requires the ability to call binutils directly
so it doesn't feel completely wrong for the kernel class to depend on
binutils directly too.

Mike.
___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] kernel.bbclass: Add dependency on binutils

2013-05-20 Thread Richard Purdie
On Mon, 2013-05-20 at 10:37 -0700, Khem Raj wrote:
 On May 20, 2013, at 5:22 AM, Mike Crowe m...@mcrowe.com wrote:
 
  Compiling the Linux kernel requires binutils; kernel.bbclass uses
  INHIBIT_DEFAULT_DEPS so it had better depend on binutils explicitly.
  
  (The lack of this dependency isn't always a problem because binutils
  is required to build gcc-cross but if gcc-cross is reconstructed from
  the sstate cache then gcc-cross's dependency on binutils-cross is
  ignored due to being in the safe dependency list in
  setscene_depvalid.)
 
 what good is cross-gcc without cross-binutils. Could it be fixed in gcc 
 recipes instead so
 it pulls binutils-cross 

This needs fixing in the logic in sstate.bbclass.

Cheers,

Richard

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core