M7350/oe-core/meta/lib/oe/sstatesig.py

53 lines
2.0 KiB
Python
Raw Normal View History

2024-09-09 08:52:07 +00:00
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