From c9feec049bdb1624f08d0f6e81c92dc9eaf7d0cc Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Tue, 5 Nov 2013 22:15:22 +0000 Subject: [PATCH] lib/oe/sstatesig: Ensure packagegroups don't continually rebuild packagegroups are allarch and shouldn't change depending on the target or machine selected. In general they should have good stable namespaces for their dependencies. As such we can exclude them from rebuilding when dependency checksums change. (From OE-Core rev: 80b065ff46322ec0cad039dfd9eb2d010168dba6) Signed-off-by: Richard Purdie Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- meta/lib/oe/sstatesig.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py index 852fb7e..33ff892 100644 --- a/meta/lib/oe/sstatesig.py +++ b/meta/lib/oe/sstatesig.py @@ -11,6 +11,9 @@ def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCache): def isKernel(fn): inherits = " ".join(dataCache.inherits[fn]) return inherits.find("module-base.bbclass") != -1 or inherits.find("linux-kernel-base.bbclass") != -1 + def isPackageGroup(fn): + inherits = " ".join(dataCache.inherits[fn]) + return "packagegroup.bbclass" in inherits # Always include our own inter-task dependencies if recipename == depname: @@ -27,6 +30,10 @@ def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCache): # Only target packages beyond here + # packagegroups are assumed to have well behaved names which don't change between architecures/tunes + if isPackageGroup(fn): + return False + # Drop native/cross/nativesdk dependencies from target recipes if isNative(depname) or isCross(depname) or isNativeSDK(depname): return False -- 2.7.4