From 4c3191f9abe889f1ef4b29be1f659dffb03cf1ce Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Tue, 22 Dec 2015 17:02:59 +1300 Subject: 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 master rev: 7e63a672517518644a37ce006e05b5494c29cf6e) (From OE-Core rev: 623e59b103c1edf3211384d26cc0c83cfd424587) Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- scripts/lib/scriptutils.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'scripts') diff --git a/scripts/lib/scriptutils.py b/scripts/lib/scriptutils.py index 3366882635..e79a195b1f 100644 --- a/scripts/lib/scriptutils.py +++ b/scripts/lib/scriptutils.py @@ -85,6 +85,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] -- cgit v1.2.3-54-g00ecf