aboutsummaryrefslogtreecommitdiffstats
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
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>
-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 dfb282efd4..c93b2c0b99 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)