recipetool: create: prevent attempting to unpack entire DL_DIR

If you specify a URL ending in /, BitBake's fetcher returns a localpath
of ${DL_DIR}, and if you then try to unpack that it will attempt to copy
the entire DL_DIR contents to the destination - which at least on my
system filled my entire /tmp. Obviously we should fix the fetcher, but
at least detect and stop that from happening here for now.

(From OE-Core rev: 7e63a672517518644a37ce006e05b5494c29cf6e)

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:02:59 +13:00 committed by Richard Purdie
parent e61645b504
commit e78a03980a
1 changed files with 4 additions and 0 deletions

View File

@ -86,6 +86,10 @@ def fetch_uri(d, uri, destdir, srcrev=None):
ud = fetcher.ud[u]
ud.ignore_checksums = True
fetcher.download()
for u in fetcher.ud:
ud = fetcher.ud[u]
if ud.localpath.rstrip(os.sep) == localdata.getVar('DL_DIR', True).rstrip(os.sep):
raise Exception('Local path is download directory - please check that the URI "%s" is correct' % uri)
fetcher.unpack(destdir)
for u in fetcher.ud:
ud = fetcher.ud[u]