diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2015-09-08 14:41:50 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-09-12 22:47:22 +0100 |
commit | 090196dd2d8f4306b34b239e78c39d37cc86034c (patch) | |
tree | 4ce8b3b759c82c6387b973d93ad921c0be3c116f /meta | |
parent | 29e0aaa7345ca823bb4af2d4a870e98ac75e04e7 (diff) | |
download | openembedded-core-090196dd2d8f4306b34b239e78c39d37cc86034c.tar.gz openembedded-core-090196dd2d8f4306b34b239e78c39d37cc86034c.tar.bz2 openembedded-core-090196dd2d8f4306b34b239e78c39d37cc86034c.zip |
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>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/classes/sstate.bbclass | 7 | ||||
-rw-r--r-- | meta/lib/oe/sstatesig.py | 12 |
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) |