summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2016-01-23 00:59:56 +1300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-01-24 09:40:33 +0000
commit477fa84390b54a83d82a9555aaba8b467c5e6446 (patch)
tree7c3ef19ec0969ec892f5163679701ec6f200532b
parent204e4abbcd6c7255828e704e249beed016fec1b9 (diff)
downloadpoky-477fa84390b54a83d82a9555aaba8b467c5e6446.tar.gz
gen-lockedsig-cache: copy correct native sstate into ext SDK
When constructing the sstate-cache directory for the extensible SDK, we were copying in any matching native sstate packages, and as the signature doesn't actually change when the distro changes (since NATIVELSBSTRING is just a path separator for the artifacts and is not part of the signature) we ended up copying duplicated packages when the distro changed e.g. upon host distro upgrade. Only search in the NATIVELSBSTRING-named subdirectory for native packages and the issue goes away. Fixes [YOCTO #8885]. (From OE-Core rev: 6c6baf6aa1823b8b20123f505e45c2768a193ad5) 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.py5
-rwxr-xr-xscripts/gen-lockedsig-cache6
2 files changed, 6 insertions, 5 deletions
diff --git a/meta/lib/oe/copy_buildsystem.py b/meta/lib/oe/copy_buildsystem.py
index 64755107d8..fb51b5183d 100644
--- a/meta/lib/oe/copy_buildsystem.py
+++ b/meta/lib/oe/copy_buildsystem.py
@@ -149,8 +149,9 @@ def merge_lockedsigs(copy_tasks, lockedsigs_main, lockedsigs_extra, merged_outpu
149def create_locked_sstate_cache(lockedsigs, input_sstate_cache, output_sstate_cache, d, fixedlsbstring=""): 149def create_locked_sstate_cache(lockedsigs, input_sstate_cache, output_sstate_cache, d, fixedlsbstring=""):
150 bb.note('Generating sstate-cache...') 150 bb.note('Generating sstate-cache...')
151 151
152 bb.process.run("gen-lockedsig-cache %s %s %s" % (lockedsigs, input_sstate_cache, output_sstate_cache)) 152 nativelsbstring = d.getVar('NATIVELSBSTRING', True)
153 bb.process.run("gen-lockedsig-cache %s %s %s %s" % (lockedsigs, input_sstate_cache, output_sstate_cache, nativelsbstring))
153 if fixedlsbstring: 154 if fixedlsbstring:
154 nativedir = output_sstate_cache + '/' + d.getVar('NATIVELSBSTRING', True) 155 nativedir = output_sstate_cache + '/' + nativelsbstring
155 if os.path.isdir(nativedir): 156 if os.path.isdir(nativedir):
156 os.rename(nativedir, output_sstate_cache + '/' + fixedlsbstring) 157 os.rename(nativedir, output_sstate_cache + '/' + fixedlsbstring)
diff --git a/scripts/gen-lockedsig-cache b/scripts/gen-lockedsig-cache
index 9c16506cd6..a4e9dede01 100755
--- a/scripts/gen-lockedsig-cache
+++ b/scripts/gen-lockedsig-cache
@@ -13,9 +13,9 @@ def mkdir(d):
13 if e.errno != errno.EEXIST: 13 if e.errno != errno.EEXIST:
14 raise e 14 raise e
15 15
16if len(sys.argv) < 3: 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>") 18 print("syntax: gen-lockedsig-cache <locked-sigs.inc> <input-cachedir> <output-cachedir> <nativelsbstring>")
19 sys.exit(1) 19 sys.exit(1)
20 20
21print('Reading %s' % sys.argv[1]) 21print('Reading %s' % sys.argv[1])
@@ -30,7 +30,7 @@ files = set()
30for s in sigs: 30for s in sigs:
31 p = sys.argv[2] + "/" + s[:2] + "/*" + s + "*" 31 p = sys.argv[2] + "/" + s[:2] + "/*" + s + "*"
32 files |= set(glob.glob(p)) 32 files |= set(glob.glob(p))
33 p = sys.argv[2] + "/*/" + s[:2] + "/*" + s + "*" 33 p = sys.argv[2] + "/%s/" % sys.argv[4] + s[:2] + "/*" + s + "*"
34 files |= set(glob.glob(p)) 34 files |= set(glob.glob(p))
35 35
36print('Processing files') 36print('Processing files')