From: Joshua Lock Date: Fri, 27 Aug 2010 14:52:08 +0000 (+0100) Subject: bitbake/fetch: ensure the mirrored repository is updated as required X-Git-Tag: yocto-4.0~44394 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=232ef8430e2cfbf6eee54f602dc74b9986e3997f;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git bitbake/fetch: ensure the mirrored repository is updated as required If we fetch a tarball from a mirror it's entirely possible that the mirror will have been from before the required tag/branch/etc was included in the repository. To that end use forcefetch() as a way of testing whether the repository is up to date and if not fetch updates. Signed-off-by: Joshua Lock --- diff --git a/bitbake/lib/bb/fetch/__init__.py b/bitbake/lib/bb/fetch/__init__.py index ab097dda53f..9a99b346b31 100644 --- a/bitbake/lib/bb/fetch/__init__.py +++ b/bitbake/lib/bb/fetch/__init__.py @@ -259,7 +259,9 @@ def go(d, urls = None): # First try fetching uri, u, from PREMIRRORS mirrors = [ i.split() for i in (bb.data.getVar('PREMIRRORS', d, 1) or "").split('\n') if i ] localpath = try_mirrors(d, u, mirrors, False, m.forcefetch(u, ud, d)) - if not localpath: + + # Need to re-test forcefetch() which will return true if our copy is too old + if m.forcefetch(u, ud, d) or not localpath: # Next try fetching from the original uri, u try: m.go(u, ud, d)