summaryrefslogtreecommitdiffstats
path: root/meta/classes/populate_sdk_ext.bbclass
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2016-08-11 16:45:02 +1200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-08-17 10:35:40 +0100
commit7df442c340ba8eaaad7d512ed4130a87a25328f5 (patch)
tree9781a8f18e4162623daa5cc7f4b4368368300852 /meta/classes/populate_sdk_ext.bbclass
parent37b81968bb74b2ea06c317fce68deb9739dba666 (diff)
downloadpoky-7df442c340ba8eaaad7d512ed4130a87a25328f5.tar.gz
lib/oe/copy_buildsystem: fix merging sstate directories for eSDK
When we don't have uninative enabled there's more merging to be done in the default configuration (SDK_EXT_TYPE = "full" which by default means SDK_INCLUDE_TOOLCHAIN = "1") and there are likely files that already exist in the sstate feed we're assembling, so we need to take care to merge the directory contents rather than just moving the directories over. Additionally we now only run this if uninative genuinely isn't enabled (i.e. NATIVELSBSTRING is different to the fixed value of "universal".) In the process of fixing this I discovered an unusual behaviour in os.rename() - when we're merging these feeds we're dealing with hard-linked sstate artifacts, and whilst os.rename() is supposed to silently overwrite an existing destination (permissions allowing), if you have the source and destination as hardlinks to the same file then the os.rename() call will just silently fail. As a result the code now just checks if the destination exists and deletes the source if so (since we know it will be the same file, we don't need to check in this case.) (From OE-Core rev: 2b5b920c6b4f4d5c243192aa75beff402fd704d3) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/populate_sdk_ext.bbclass')
0 files changed, 0 insertions, 0 deletions