summaryrefslogtreecommitdiffstats
path: root/scripts/lib
diff options
context:
space:
mode:
authorPaul Eggleton <paul.eggleton@linux.intel.com>2016-09-19 08:08:07 +1200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-09-20 15:11:07 +0100
commit541c54e3012e39b4c9a9997b3224434d444d9de2 (patch)
tree2728e8f9d75f75b7f9e1daa27f9e7594b46eabdf /scripts/lib
parente30276cb185b5b4448628b39fbbd533abbb0f94e (diff)
downloadpoky-541c54e3012e39b4c9a9997b3224434d444d9de2.tar.gz
recipetool: create: fix error with git tree and no network
When creating a recipe for an existing local git clone, we attempt to use the fetcher to determine if it supports the SRCREV variable. Unfortunately running this code does a network check to get the latest revision as a direct result of us using '${AUTOREV}' as a default value. If you don't have a network connection this will of course fail. Rather than have this block creating the recipe, catch the exception and just guess from the URL. Ultimately this should probably be fixed in the fetcher but for now this will at least resolve the issue on this end. (From OE-Core rev: f7e43f931d7d6019a3b2509b2b2635978fbbae36) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/lib')
-rw-r--r--scripts/lib/recipetool/create.py14
1 files changed, 10 insertions, 4 deletions
diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py
index f7b0676f32..f8701d401e 100644
--- a/scripts/lib/recipetool/create.py
+++ b/scripts/lib/recipetool/create.py
@@ -336,10 +336,16 @@ def supports_srcrev(uri):
336 # odd interactions with the urldata cache which lead to errors 336 # odd interactions with the urldata cache which lead to errors
337 localdata.setVar('SRCREV', '${AUTOREV}') 337 localdata.setVar('SRCREV', '${AUTOREV}')
338 bb.data.update_data(localdata) 338 bb.data.update_data(localdata)
339 fetcher = bb.fetch2.Fetch([uri], localdata) 339 try:
340 urldata = fetcher.ud 340 fetcher = bb.fetch2.Fetch([uri], localdata)
341 for u in urldata: 341 urldata = fetcher.ud
342 if urldata[u].method.supports_srcrev(): 342 for u in urldata:
343 if urldata[u].method.supports_srcrev():
344 return True
345 except bb.fetch2.FetchError as e:
346 logger.debug('FetchError in supports_srcrev: %s' % str(e))
347 # Fall back to basic check
348 if uri.startswith(('git://', 'gitsm://')):
343 return True 349 return True
344 return False 350 return False
345 351