[oe-commits] [openembedded-core] 09/29: recipetool: create: fix error with git tree and no network

git at git.openembedded.org git at git.openembedded.org
Mon Sep 19 08:12:03 UTC 2016


rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit f7e43f931d7d6019a3b2509b2b2635978fbbae36
Author: Paul Eggleton <paul.eggleton at linux.intel.com>
AuthorDate: Mon Sep 19 08:08:07 2016 +1200

    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.
    
    Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 scripts/lib/recipetool/create.py | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py
index f7b0676..f8701d4 100644
--- a/scripts/lib/recipetool/create.py
+++ b/scripts/lib/recipetool/create.py
@@ -336,10 +336,16 @@ def supports_srcrev(uri):
     # odd interactions with the urldata cache which lead to errors
     localdata.setVar('SRCREV', '${AUTOREV}')
     bb.data.update_data(localdata)
-    fetcher = bb.fetch2.Fetch([uri], localdata)
-    urldata = fetcher.ud
-    for u in urldata:
-        if urldata[u].method.supports_srcrev():
+    try:
+        fetcher = bb.fetch2.Fetch([uri], localdata)
+        urldata = fetcher.ud
+        for u in urldata:
+            if urldata[u].method.supports_srcrev():
+                return True
+    except bb.fetch2.FetchError as e:
+        logger.debug('FetchError in supports_srcrev: %s' % str(e))
+        # Fall back to basic check
+        if uri.startswith(('git://', 'gitsm://')):
             return True
     return False
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list