From cf675896340ebed7c4830b93d791ddb08999031f Mon Sep 17 00:00:00 2001 From: Randy Witt Date: Mon, 23 Feb 2015 17:00:35 +0000 Subject: 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 Signed-off-by: Richard Purdie --- scripts/gen-lockedsig-cache | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'scripts/gen-lockedsig-cache') 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) -- cgit 1.2.3-korg