]> code.ossystems Code Review - openembedded-core.git/commitdiff
bitbake/fetch2: Correctly handle git mirror tarball fetching
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 11 Feb 2011 12:06:44 +0000 (12:06 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 11 Feb 2011 12:06:44 +0000 (12:06 +0000)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bitbake/lib/bb/fetch2/__init__.py

index d168cdff6bd7e2a1cde780b362877a2b64175c5a..b9e145a62ba5a0770de11ce978565c2053b60396 100644 (file)
@@ -441,10 +441,11 @@ def try_mirrors(d, origud, mirrors, check = False):
             # We may be obtaining a mirror tarball which needs further processing by the real fetcher
             # If that tarball is a local file:// we need to provide a symlink to it
             dldir = ld.getVar("DL_DIR", True)
-            if not ud.localpath.startswith(dldir):
-                if os.path.basename(ud.localpath) != os.path.basename(origud.localpath):
-                    os.symlink(ud.localpath, os.path.join(dldir, os.path.basename(ud.localpath)))
-                    return None
+            if os.path.basename(ud.localpath) != os.path.basename(origud.localpath):
+                dest = os.path.join(dldir, os.path.basename(ud.localpath))
+                if not os.path.exists(dest):
+                    os.symlink(ud.localpath, dest)
+                return None
             # Otherwise the result is a local file:// and we symlink to it
             if not os.path.exists(origud.localpath):
                  os.symlink(ud.localpath, origud.localpath)