Patchwork kernel.bbclass: Add dependency on binutils

login
register
mail settings
Submitter Mike Crowe
Date May 21, 2013, 8:41 a.m.
Message ID <20130521084102.GA31419@mcrowe.com>
Download mbox | patch
Permalink /patch/50225/
State New
Headers show

Comments

Mike Crowe - May 21, 2013, 8:41 a.m.
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 <mac@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:


Is this the sort of fix you mean?

Thanks.

Mike.

Patch

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):