gen-lockedsig-cache: catch os.link error

We do a hard link to speed up sdk creation but if your sstate-cache is
across a file system boundary, this tries and fails. This patch catches
that error and does a copy instead.

(From OE-Core rev: fb9fdd7a74917cdcab039aa3a9a9944b18246fea)

Signed-off-by: brian avery <brian.avery@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
brian avery 2017-03-19 10:32:40 -07:00 committed by Richard Purdie
parent 4ad1148e68
commit ab34d08772
1 changed files with 5 additions and 1 deletions

View File

@ -62,7 +62,11 @@ for f in files:
os.remove(dst)
if (os.stat(src).st_dev == os.stat(destdir).st_dev):
print('linking')
os.link(src, dst)
try:
os.link(src, dst)
except OSError as e:
print('hard linking failed, copying')
shutil.copyfile(src, dst)
else:
print('copying')
shutil.copyfile(src, dst)