aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2015-09-08 14:41:50 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-09-12 22:47:22 +0100
commit090196dd2d8f4306b34b239e78c39d37cc86034c (patch)
tree4ce8b3b759c82c6387b973d93ad921c0be3c116f
parent29e0aaa7345ca823bb4af2d4a870e98ac75e04e7 (diff)
downloadopenembedded-core-contrib-090196dd2d8f4306b34b239e78c39d37cc86034c.tar.gz
classes/sstate: break out function to get sstate manifest filename
It is useful in a few different contexts to see which files have been written out by an sstate task; break out a function that lets us get the path to the manifest file easily. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r--meta/classes/sstate.bbclass7
-rw-r--r--meta/lib/oe/sstatesig.py12
2 files changed, 14 insertions, 5 deletions
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass
index 50729bf750..b9ad6da9dd 100644
--- a/meta/classes/sstate.bbclass
+++ b/meta/classes/sstate.bbclass
@@ -157,17 +157,14 @@ def sstate_add(ss, source, dest, d):
def sstate_install(ss, d):
import oe.path
+ import oe.sstatesig
import subprocess
sharedfiles = []
shareddirs = []
bb.utils.mkdirhier(d.expand("${SSTATE_MANIFESTS}"))
- d2 = d.createCopy()
- extrainf = d.getVarFlag("do_" + ss['task'], 'stamp-extra-info', True)
- if extrainf:
- d2.setVar("SSTATE_MANMACH", extrainf)
- manifest = d2.expand("${SSTATE_MANFILEPREFIX}.%s" % ss['task'])
+ manifest, d2 = oe.sstatesig.sstate_get_manifest_filename(ss['task'], d)
if os.access(manifest, os.R_OK):
bb.fatal("Package already staged (%s)?!" % manifest)
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index 9d6d7c42fc..cb46712eea 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -277,3 +277,15 @@ def find_siginfo(pn, taskname, taskhashlist, d):
return filedates
bb.siggen.find_siginfo = find_siginfo
+
+
+def sstate_get_manifest_filename(task, d):
+ """
+ Return the sstate manifest file path for a particular task.
+ Also returns the datastore that can be used to query related variables.
+ """
+ d2 = d.createCopy()
+ extrainf = d.getVarFlag("do_" + task, 'stamp-extra-info', True)
+ if extrainf:
+ d2.setVar("SSTATE_MANMACH", extrainf)
+ return (d2.expand("${SSTATE_MANFILEPREFIX}.%s" % task), d2)