summaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2016-07-25 20:41:39 +1200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-07-26 08:56:31 +0100
commit0b2ca6687404999a3f663b116259c041a39d389d (patch)
treed7a58b786b23e1547d5395527d239cdb6e6a8156 /scripts
parent2ac1fdf53741f1943623df47c7a2bfa2a91544b9 (diff)
downloadpoky-0b2ca6687404999a3f663b116259c041a39d389d.tar.gz
classes/populate_sdk_ext: filter sstate within the extensible SDK
Use the new oe-check-sstate to filter the sstate artifacts shipped with the extensible SDK by effectively running bitbake within the produced eSDK and and getting it to tell us which tasks it will restore from sstate. This has several benefits: 1) We drop the *-initial artifacts from the minimal + toolchain eSDK. This still leaves us with a reasonably large SDK for this configuration, however it does pave the way for future reductions since we are actually filtering by what will be expected to be there on install rather than hoping that whatever cuts we make will match. 2) We verify bitbake's basic operation within the eSDK, i.e. that we haven't messed up the configuration 3) We verify that the sstate artifacts we expect to be present are present (at least in the sstate cache for the build producing the eSDK). Outside deletion of sstate artifacts has been a problem up to now, and this should at least catch that earlier i.e. during the build rather than when someone tries to install the eSDK. This does add a couple of minutes to the do_populate_sdk_ext time, but it seems like the most appropriate way to handle this. Should mostly address [YOCTO #9083] and [YOCTO #9626]. (From OE-Core rev: 4b7b48fcb9b39fccf8222650c2608325df2a4507) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/gen-lockedsig-cache16
1 files changed, 14 insertions, 2 deletions
diff --git a/scripts/gen-lockedsig-cache b/scripts/gen-lockedsig-cache
index 26e9b63a30..de8a20c787 100755
--- a/scripts/gen-lockedsig-cache
+++ b/scripts/gen-lockedsig-cache
@@ -15,15 +15,27 @@ def mkdir(d):
15 15
16if len(sys.argv) < 5: 16if len(sys.argv) < 5:
17 print("Incorrect number of arguments specified") 17 print("Incorrect number of arguments specified")
18 print("syntax: gen-lockedsig-cache <locked-sigs.inc> <input-cachedir> <output-cachedir> <nativelsbstring>") 18 print("syntax: gen-lockedsig-cache <locked-sigs.inc> <input-cachedir> <output-cachedir> <nativelsbstring> [filterfile]")
19 sys.exit(1) 19 sys.exit(1)
20 20
21filterlist = []
22if len(sys.argv) > 5:
23 print('Reading filter file %s' % sys.argv[5])
24 with open(sys.argv[5]) as f:
25 for l in f.readlines():
26 if ":" in l:
27 filterlist.append(l.rstrip())
28
21print('Reading %s' % sys.argv[1]) 29print('Reading %s' % sys.argv[1])
22sigs = [] 30sigs = []
23with open(sys.argv[1]) as f: 31with open(sys.argv[1]) as f:
24 for l in f.readlines(): 32 for l in f.readlines():
25 if ":" in l: 33 if ":" in l:
26 sigs.append(l.split(":")[2].split()[0]) 34 task, sig = l.split()[0].rsplit(':', 1)
35 if filterlist and not task in filterlist:
36 print('Filtering out %s' % task)
37 else:
38 sigs.append(sig)
27 39
28print('Gathering file list') 40print('Gathering file list')
29files = set() 41files = set()