recipetool: create: detect when specified URL returns a web page

If the user specifies a URL that just returns a web page, then it's
probably incorrect (or broken); attempt to detect this and show an error
if it's the case.

(From OE-Core rev: 83b1245b2638eb5d314fe663d33cd52a776a34a7)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Paul Eggleton 2015-12-22 17:03:00 +13:00 committed by Richard Purdie
parent e78a03980a
commit 38803e38d6
1 changed files with 11 additions and 4 deletions

View File

@ -130,10 +130,17 @@ def create_recipe(args):
dirlist = os.listdir(srctree)
if 'git.indirectionsymlink' in dirlist:
dirlist.remove('git.indirectionsymlink')
if len(dirlist) == 1 and os.path.isdir(os.path.join(srctree, dirlist[0])):
# We unpacked a single directory, so we should use that
srcsubdir = dirlist[0]
srctree = os.path.join(srctree, srcsubdir)
if len(dirlist) == 1:
singleitem = os.path.join(srctree, dirlist[0])
if os.path.isdir(singleitem):
# We unpacked a single directory, so we should use that
srcsubdir = dirlist[0]
srctree = os.path.join(srctree, srcsubdir)
else:
with open(singleitem, 'r') as f:
if '<html' in f.read(100).lower():
logger.error('Fetching "%s" returned a single HTML page - check the URL is correct and functional' % fetchuri)
sys.exit(1)
else:
# Assume we're pointing to an existing source tree
if args.extract_to: