summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2012-02-23 10:12:48 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-02-23 22:36:48 +0000
commit5adef35691a956c3071c0a1ed1caf6b58d1ec5a1 (patch)
treead15cd17e8d5534f91bdf19068e77b0316124357
parent91fc672756d45086cdf4e9c6de8e920dcd8cd14e (diff)
downloadopenembedded-core-5adef35691a956c3071c0a1ed1caf6b58d1ec5a1.tar.gz
openembedded-core-5adef35691a956c3071c0a1ed1caf6b58d1ec5a1.tar.bz2
openembedded-core-5adef35691a956c3071c0a1ed1caf6b58d1ec5a1.zip
sstatesig.py: Move package exclusion list to the layer config
its desireable for other layers to be able to append to the list of packages with 'safe ABI's which are excluded from the sstate signatures. I can't emphasise enough how careful you need to be with this list, anything excluded here needs to be things which don't change interface and are consistent between different machines. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/conf/layer.conf1
-rw-r--r--meta/lib/oe/sstatesig.py10
2 files changed, 7 insertions, 4 deletions
diff --git a/meta/conf/layer.conf b/meta/conf/layer.conf
index ad9540586c..c0c2930f0d 100644
--- a/meta/conf/layer.conf
+++ b/meta/conf/layer.conf
@@ -18,3 +18,4 @@ PATH := "${PATH}:${COREBASE}/scripts"
QEMUIMAGETESTS := "${COREBASE}/scripts/qemuimage-tests"
+SIGGEN_EXCLUDERECIPES_ABISAFE = "sysvinit-inittab shadow-securetty opkg-config-base netbase formfactor xserver-xf86-config pointercal base-files"
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index 5a64882fba..7b80c18b63 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -1,6 +1,6 @@
import bb.siggen
-def sstate_rundepfilter(fn, recipename, task, dep, depname, dataCache):
+def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCache):
# Return True if we should keep the dependency, False to drop it
def isNative(x):
return x.endswith("-native")
@@ -30,7 +30,7 @@ def sstate_rundepfilter(fn, recipename, task, dep, depname, dataCache):
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']:
+ if depname in siggen.abisaferecipes:
return False
# Kernel modules are well namespaced. We don't want to depend on the kernel's checksum
@@ -50,16 +50,18 @@ def sstate_rundepfilter(fn, recipename, task, dep, depname, dataCache):
class SignatureGeneratorOEBasic(bb.siggen.SignatureGeneratorBasic):
name = "OEBasic"
def init_rundepcheck(self, data):
+ self.abisaferecipes = (data.getVar("SIGGEN_EXCLUDERECIPES_ABISAFE", True) or "").split()
pass
def rundep_check(self, fn, recipename, task, dep, depname, dataCache = None):
- return sstate_rundepfilter(fn, recipename, task, dep, depname, dataCache)
+ return sstate_rundepfilter(self, fn, recipename, task, dep, depname, dataCache)
class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash):
name = "OEBasicHash"
def init_rundepcheck(self, data):
+ self.abisaferecipes = (data.getVar("SIGGEN_EXCLUDERECIPES_ABISAFE", True) or "").split()
pass
def rundep_check(self, fn, recipename, task, dep, depname, dataCache = None):
- return sstate_rundepfilter(fn, recipename, task, dep, depname, dataCache)
+ return sstate_rundepfilter(self, fn, recipename, task, dep, depname, dataCache)
# Insert these classes into siggen's namespace so it can see and select them
bb.siggen.SignatureGeneratorOEBasic = SignatureGeneratorOEBasic