Browse Source

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.

Signed-off-by: brian avery <brian.avery@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
brian avery 7 years ago
parent
commit
fb9fdd7a74
1 changed files with 5 additions and 1 deletions
  1. 5 1
      scripts/gen-lockedsig-cache

+ 5 - 1
scripts/gen-lockedsig-cache

@@ -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)