Patchwork [2/2] sstate: remove binutils-crosssdk from safe dependent list

login
register
mail settings
Submitter Ming Liu
Date Jan. 7, 2014, 8:13 a.m.
Message ID <1389082433-19396-2-git-send-email-ming.liu@windriver.com>
Download mbox | patch
Permalink /patch/64205/
State New
Headers show

Comments

Ming Liu - Jan. 7, 2014, 8:13 a.m.
binutils-crosssdk is being depended by other packages like
gcc-crosssdk-initial, so it's not safe to be skipped when checking the
setscene dependencies in setscene_depvalid().

Signed-off-by: Ming Liu <ming.liu@windriver.com>
---
 meta/classes/sstate.bbclass |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Richard Purdie - Jan. 7, 2014, 1:58 p.m.
On Tue, 2014-01-07 at 16:13 +0800, Ming Liu wrote:
> binutils-crosssdk is being depended by other packages like
> gcc-crosssdk-initial, so it's not safe to be skipped when checking the
> setscene dependencies in setscene_depvalid().

Can you explain this change a bit more please?

Personally, I think the code is right as it is, if the sstate object
exists, it was already compiled and we don't ever need bintuils* so its
a 'safe' dep and can be skipped?

Cheers,

Richard
Ming Liu - Jan. 8, 2014, 6:05 a.m.
On 01/07/2014 09:58 PM, Richard Purdie wrote:
> On Tue, 2014-01-07 at 16:13 +0800, Ming Liu wrote:
>> binutils-crosssdk is being depended by other packages like
>> gcc-crosssdk-initial, so it's not safe to be skipped when checking the
>> setscene dependencies in setscene_depvalid().
> Can you explain this change a bit more please?
>
> Personally, I think the code is right as it is, if the sstate object
> exists, it was already compiled and we don't ever need bintuils* so its
> a 'safe' dep and can be skipped?
Actually I am not very clear about why the binutils-crosssdk should be a 
build time dependency, because based on my test, it's seems to being 
required by gcc-crosssdk-initial at runtime, the steps:
bitbake nativesdk-eglibc-initial -c cleansstate
bitbake gcc-crosssdk-initial binutils-crosssdk -c clean
bitbake gcc-crosssdk-initial
bitbake nativesdk-eglibc-initial

the above will fail due to lacking binutils-crosssdk stuff in sysroot.

//Ming Liu
>
> Cheers,
>
> Richard
>
>
>

Patch

diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 35c3f85..9d3972f 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -679,7 +679,7 @@  def setscene_depvalid(task, taskdependees, notneeded, d):
     def isNativeCross(x):
         return x.endswith("-native") or x.endswith("-cross") or x.endswith("-cross-initial") or x.endswith("-crosssdk") or x.endswith("-crosssdk-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", "gcc-crosssdk", "binutils-crosssdk", "gcc-crosssdk-initial"]:
+        if x in ["quilt-native", "autoconf-native", "automake-native", "gnu-config-native", "libtool-native", "pkgconfig-native", "gcc-cross", "binutils-cross", "gcc-cross-initial", "gcc-crosssdk", "gcc-crosssdk-initial"]:
             return True
         return False
     def isPostInstDep(x):