From 7f30131faaa5e3fdb1191c9da95c5683cefafeb5 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Fri, 11 Feb 2011 12:06:44 +0000 Subject: bitbake/fetch2: Correctly handle git mirror tarball fetching Signed-off-by: Richard Purdie --- bitbake/lib/bb/fetch2/__init__.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'bitbake') diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py index d168cdff6b..b9e145a62b 100644 --- a/bitbake/lib/bb/fetch2/__init__.py +++ b/bitbake/lib/bb/fetch2/__init__.py @@ -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) -- cgit v1.2.3-54-g00ecf