[oe-commits] [openembedded-core] 02/11: devtool: upgrade: handle recipes where source is not first entry in SRC_URI

git at git.openembedded.org git at git.openembedded.org
Fri Apr 15 06:00:35 UTC 2016


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

commit c868198c1f6006789707b497c2ae34d7cc5e706f
Author: Paul Eggleton <paul.eggleton at linux.intel.com>
AuthorDate: Thu Apr 14 20:24:19 2016 +1200

    devtool: upgrade: handle recipes where source is not first entry in SRC_URI
    
    It is unusual but not impossible to find recipes whose first entry is
    not the main source URL but instead some patch or other local file, for
    example python-cryptography in meta-python (which sets SRC_URI before
    inheriting pypi). There's nothing inherently wrong with this, and we
    shouldn't assume that the first entry is the main source URL, so just
    take the first non-local entry instead.
    
    Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 scripts/lib/devtool/upgrade.py | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/scripts/lib/devtool/upgrade.py b/scripts/lib/devtool/upgrade.py
index 680cbf1..a085f78 100644
--- a/scripts/lib/devtool/upgrade.py
+++ b/scripts/lib/devtool/upgrade.py
@@ -145,7 +145,15 @@ def _get_uri(rd):
     srcuris = rd.getVar('SRC_URI', True).split()
     if not len(srcuris):
         raise DevtoolError('SRC_URI not found on recipe')
-    srcuri = srcuris[0] # it is assumed, URI is at first position
+    # Get first non-local entry in SRC_URI - usually by convention it's
+    # the first entry, but not always!
+    srcuri = None
+    for entry in srcuris:
+        if not entry.startswith('file://'):
+            srcuri = entry
+            break
+    if not srcuri:
+        raise DevtoolError('Unable to find non-local entry in SRC_URI')
     srcrev = '${AUTOREV}'
     if '://' in srcuri:
         # Fetch a URL

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


More information about the Openembedded-commits mailing list