From 67c1d2eeb7384abb307805a088eb63341ef09af1 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. (From OE-Core rev: cf675896340ebed7c4830b93d791ddb08999031f) 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 v1.2.3-54-g00ecf