diff options
author | Randy Witt <randy.e.witt@linux.intel.com> | 2015-02-23 17:00:38 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-02-24 17:41:43 +0000 |
commit | 1118c12bdf56fd1cf84c1ba857bf27f81d7c3549 (patch) | |
tree | f18dfb60636737e445886fce309eaa772a674181 | |
parent | d5d4b70a5db1ab5588151764dedb926e304420be (diff) | |
download | poky-1118c12bdf56fd1cf84c1ba857bf27f81d7c3549.tar.gz |
copy_buildsystem.py: Add methods to copy shared state.
Added the helper functions necessary to copy the sstate from the
current build, and generate the file to "lock" it.
(From OE-Core rev: f704b0ad26bbca868c4ac40addb92dcd212f586f)
Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/lib/oe/copy_buildsystem.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/meta/lib/oe/copy_buildsystem.py b/meta/lib/oe/copy_buildsystem.py index 5a4d8c332e..cf7fada7f0 100644 --- a/meta/lib/oe/copy_buildsystem.py +++ b/meta/lib/oe/copy_buildsystem.py | |||
@@ -68,3 +68,35 @@ class BuildSystem(object): | |||
68 | _smart_copy(layer, layerdestpath) | 68 | _smart_copy(layer, layerdestpath) |
69 | 69 | ||
70 | return layers_copied | 70 | return layers_copied |
71 | |||
72 | def generate_locked_sigs(sigfile, d): | ||
73 | bb.utils.mkdirhier(os.path.dirname(sigfile)) | ||
74 | depd = d.getVar('BB_TASKDEPDATA', True) | ||
75 | tasks = ['%s.%s' % (v[2], v[1]) for v in depd.itervalues()] | ||
76 | bb.parse.siggen.dump_lockedsigs(sigfile, tasks) | ||
77 | |||
78 | def prune_lockedsigs(allowed_tasks, excluded_targets, lockedsigs, pruned_output): | ||
79 | with open(lockedsigs, 'r') as infile: | ||
80 | bb.utils.mkdirhier(os.path.dirname(pruned_output)) | ||
81 | with open(pruned_output, 'w') as f: | ||
82 | invalue = False | ||
83 | for line in infile: | ||
84 | if invalue: | ||
85 | if line.endswith('\\\n'): | ||
86 | splitval = line.strip().split(':') | ||
87 | if splitval[1] in allowed_tasks and not splitval[0] in excluded_targets: | ||
88 | f.write(line) | ||
89 | else: | ||
90 | f.write(line) | ||
91 | invalue = False | ||
92 | elif line.startswith('SIGGEN_LOCKEDSIGS'): | ||
93 | invalue = True | ||
94 | f.write(line) | ||
95 | |||
96 | def create_locked_sstate_cache(lockedsigs, input_sstate_cache, output_sstate_cache, d, fixedlsbstring=""): | ||
97 | bb.note('Generating sstate-cache...') | ||
98 | |||
99 | bb.process.run("gen-lockedsig-cache %s %s %s" % (lockedsigs, input_sstate_cache, output_sstate_cache)) | ||
100 | if fixedlsbstring: | ||
101 | os.rename(output_sstate_cache + '/' + d.getVar('NATIVELSBSTRING', True), | ||
102 | output_sstate_cache + '/' + fixedlsbstring) | ||