aboutsummaryrefslogtreecommitdiffstats
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-22 23:42:57 +0000
commit6c6baf6aa1823b8b20123f505e45c2768a193ad5 (patch)
tree208a55c3712cfeda6e93b338a307f4f19bea7d48
parent176e2bddb45b417b0bfbcdcd95bd5e81505e1e5b (diff)
downloadopenembedded-core-contrib-6c6baf6aa1823b8b20123f505e45c2768a193ad5.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]. 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
def create_locked_sstate_cache(lockedsigs, input_sstate_cache, output_sstate_cache, d, fixedlsbstring=""):
bb.note('Generating sstate-cache...')
- bb.process.run("gen-lockedsig-cache %s %s %s" % (lockedsigs, input_sstate_cache, output_sstate_cache))
+ nativelsbstring = d.getVar('NATIVELSBSTRING', True)
+ bb.process.run("gen-lockedsig-cache %s %s %s %s" % (lockedsigs, input_sstate_cache, output_sstate_cache, nativelsbstring))
if fixedlsbstring:
- nativedir = output_sstate_cache + '/' + d.getVar('NATIVELSBSTRING', True)
+ nativedir = output_sstate_cache + '/' + nativelsbstring
if os.path.isdir(nativedir):
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):
if e.errno != errno.EEXIST:
raise e
-if len(sys.argv) < 3:
+if len(sys.argv) < 5:
print("Incorrect number of arguments specified")
- print("syntax: gen-lockedsig-cache <locked-sigs.inc> <input-cachedir> <output-cachedir>")
+ print("syntax: gen-lockedsig-cache <locked-sigs.inc> <input-cachedir> <output-cachedir> <nativelsbstring>")
sys.exit(1)
print('Reading %s' % sys.argv[1])
@@ -30,7 +30,7 @@ files = set()
for s in sigs:
p = sys.argv[2] + "/" + s[:2] + "/*" + s + "*"
files |= set(glob.glob(p))
- p = sys.argv[2] + "/*/" + s[:2] + "/*" + s + "*"
+ p = sys.argv[2] + "/%s/" % sys.argv[4] + s[:2] + "/*" + s + "*"
files |= set(glob.glob(p))
print('Processing files')