bb.fetch2: add "BB_NO_NETWORK" option

Sometime user want a purely local fetching, i.e. using local mirror without
any remote netowrk access. BB_NO_NETWORK option is introduced for this purpose

check_network_access() is the guard for BB_NO_NETWOKR option. it should be
put in any place that fetcher use network access

Signed-off-by: Yu Ke <ke.yu@intel.com>
This commit is contained in:
Yu Ke 2011-01-24 14:58:26 +08:00 committed by Richard Purdie
parent 733de7596c
commit 098e8ded33
1 changed files with 10 additions and 0 deletions

View File

@ -469,6 +469,16 @@ def runfetchcmd(cmd, d, quiet = False):
return output
def check_network_access(d, info = ""):
"""
log remote network access, and error if BB_NO_NETWORK is set
"""
if bb.data.getVar("BB_NO_NETWORK", d, True) == "1":
bb.error("BB_NO_NETWORK is set, but the fetcher code attempted network access with the command %s" % info)
raise FetchError("BB_NO_NETWORK violation")
else:
bb.note("Fetcher accessed the network with the command %s" % info)
def try_mirrors(d, uri, mirrors, check = False, force = False):
"""
Try to use a mirrored version of the sources.