From 3ca04757a670e8b6f78799cc0454d75691809ac4 Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Thu, 11 Feb 2016 14:13:34 +1300 Subject: recipetool: create: convert http git URLs that don't end in .git but contain /git/ When recipetool create is given a URL that starts with http(s):// and contains /git/, such as the URLs at git.yoctoproject.org, it's fairly safe to assume it's a git repository and not something that should be fetched with wget, so rewrite the URL. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/recipetool/create.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py index f6d75150bf..daf13fb50e 100644 --- a/scripts/lib/recipetool/create.py +++ b/scripts/lib/recipetool/create.py @@ -291,10 +291,12 @@ def supports_srcrev(uri): def reformat_git_uri(uri): '''Convert any http[s]://....git URI into git://...;protocol=http[s]''' - res = re.match('(https?)://([^;]+\.git)(;.*)?$', uri) - if res: - # Need to switch the URI around so that the git fetcher is used - return 'git://%s;protocol=%s%s' % (res.group(2), res.group(1), res.group(3) or '') + checkuri = uri.split(';', 1)[0] + if checkuri.endswith('.git') or '/git/' in checkuri: + res = re.match('(https?)://([^;]+(\.git)?)(;.*)?$', uri) + if res: + # Need to switch the URI around so that the git fetcher is used + return 'git://%s;protocol=%s%s' % (res.group(2), res.group(1), res.group(4) or '') return uri def create_recipe(args): -- cgit v1.2.3