summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/classes/uninative.bbclass12
1 files changed, 12 insertions, 0 deletions
diff --git a/meta/classes/uninative.bbclass b/meta/classes/uninative.bbclass
index a410647328..670efa9f05 100644
--- a/meta/classes/uninative.bbclass
+++ b/meta/classes/uninative.bbclass
@@ -63,7 +63,19 @@ python uninative_event_fetchloader() {
63 fetcher.download() 63 fetcher.download()
64 localpath = fetcher.localpath(srcuri) 64 localpath = fetcher.localpath(srcuri)
65 if localpath != tarballpath and os.path.exists(localpath) and not os.path.exists(tarballpath): 65 if localpath != tarballpath and os.path.exists(localpath) and not os.path.exists(tarballpath):
66 # Follow the symlink behavior from the bitbake fetch2.
67 # This will cover the case where an existing symlink is broken
68 # as well as if there are two processes trying to create it
69 # at the same time.
70 if os.path.islink(tarballpath):
71 # Broken symbolic link
72 os.unlink(tarballpath)
73
74 # Deal with two processes trying to make symlink at once
75 try:
66 os.symlink(localpath, tarballpath) 76 os.symlink(localpath, tarballpath)
77 except FileExistsError:
78 pass
67 79
68 cmd = d.expand("\ 80 cmd = d.expand("\
69mkdir -p ${UNINATIVE_STAGING_DIR}-uninative; \ 81mkdir -p ${UNINATIVE_STAGING_DIR}-uninative; \