aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/gen-lockedsig-cache
diff options
context:
space:
mode:
authorRandy Witt <randy.e.witt@linux.intel.com>2015-02-23 17:00:35 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-02-23 18:00:11 +0000
commitcf675896340ebed7c4830b93d791ddb08999031f (patch)
treedabf0581c1e23f3bad187752994cbdbe7120d8bc /scripts/gen-lockedsig-cache
parent2fdeee2fad69445b0d97148826c7b027820be63a (diff)
downloadopenembedded-core-contrib-cf675896340ebed7c4830b93d791ddb08999031f.tar.gz
gen-lockedsig-cache: Allow cross-filesystem copies.
Since this previously always tried to use hardlinks you couldn't have the source and destination be on different devices. This change allows for that and also prevents failure in situations where the files already existed. Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/gen-lockedsig-cache')
-rwxr-xr-xscripts/gen-lockedsig-cache10
1 files changed, 8 insertions, 2 deletions
diff --git a/scripts/gen-lockedsig-cache b/scripts/gen-lockedsig-cache
index dfb282efd4a..c93b2c0b99b 100755
--- a/scripts/gen-lockedsig-cache
+++ b/scripts/gen-lockedsig-cache
@@ -35,6 +35,12 @@ for s in sigs:
for f in files:
dst = f.replace(sys.argv[2], sys.argv[3])
- mkdir(os.path.dirname(dst))
- os.link(f, dst)
+ destdir = os.path.dirname(dst)
+ mkdir(destdir)
+ if os.path.exists(dst):
+ os.remove(dst)
+ if (os.stat(f).st_dev == os.stat(destdir).st_dev):
+ os.link(f, dst)
+ else:
+ shutil.copyfile(f, dst)