1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
import bb.siggen
def sstate_rundepfilter(fn, recipename, task, dep, depname):
# Return True if we should keep the dependency, False to drop it
def isNative(x):
return x.endswith("-native")
def isCross(x):
return x.endswith("-cross") or x.endswith("-cross-initial") or x.endswith("-cross-intermediate")
def isNativeSDK(x):
return x.endswith("-nativesdk")
# Always include our own inter-task dependencies
if recipename == depname:
return True
# Quilt (patch application) changing isn't likely to affect anything
if depname == "quilt-native":
return False
# Don't change native/cross/nativesdk recipe dependencies any further
if isNative(recipename) or isCross(recipename) or isNativeSDK(recipename):
return True
# Only target packages beyond here
# Drop native/cross/nativesdk dependencies from target recipes
if isNative(depname) or isCross(depname) or isNativeSDK(depname):
return False
# Exclude well defined machine specific configurations which don't change ABI
if depname in ['sysvinit-inittab', 'shadow-securetty', 'opkg-config-base', 'netbase', 'formfactor', 'xserver-xf86-config', 'pointercal', 'base-files']:
return False
# Default to keep dependencies
return True
class SignatureGeneratorOEBasic(bb.siggen.SignatureGeneratorBasic):
name = "OEBasic"
def init_rundepcheck(self, data):
pass
def rundep_check(self, fn, recipename, task, dep, depname):
return sstate_rundepfilter(fn, recipename, task, dep, depname)
class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash):
name = "OEBasicHash"
def init_rundepcheck(self, data):
pass
def rundep_check(self, fn, recipename, task, dep, depname):
return sstate_rundepfilter(fn, recipename, task, dep, depname)
# Insert these classes into siggen's namespace so it can see and select them
bb.siggen.SignatureGeneratorOEBasic = SignatureGeneratorOEBasic
bb.siggen.SignatureGeneratorOEBasicHash = SignatureGeneratorOEBasicHash
|