summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2012-05-13 07:38:13 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2012-05-20 09:24:22 +0100
commit2a167cb1fe28b7141ab848aafb7b54af9cec282b (patch)
tree8bf280d34669623e0e5d05faafb64ac82dd6c6da
parentf24d8df3af52e2a2911233746ad69f8899bbdf93 (diff)
downloadast2050-yocto-poky-2a167cb1fe28b7141ab848aafb7b54af9cec282b.zip
ast2050-yocto-poky-2a167cb1fe28b7141ab848aafb7b54af9cec282b.tar.gz
bitbake/fetch2: Remove hardcoded file removal and use clean method
Under certain circumstances, bitbake could remove files which were outside its control since it unconditionally removes ud.localpath. In the file:// case this can point at external paths. This patch converts it to use the clean() method which will remove files when its safe to do so but not in the file:// case since the file:// handler has an empty clean method. This means bitbake no longer removes files outside its control and is generally much safer. (Bitbake rev: 9ad1cebe2220b41da2141cdb3f0a403abb46d77c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--bitbake/lib/bb/fetch2/__init__.py6
1 files changed, 2 insertions, 4 deletions
diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py
index 670afb1..5d7ef1f 100644
--- a/bitbake/lib/bb/fetch2/__init__.py
+++ b/bitbake/lib/bb/fetch2/__init__.py
@@ -507,8 +507,7 @@ def try_mirrors(d, origud, mirrors, check = False):
logger.debug(1, "Mirror fetch failure for url %s (original url: %s)" % (newuri, origud.url))
logger.debug(1, str(e))
try:
- if os.path.isfile(ud.localpath):
- bb.utils.remove(ud.localpath)
+ ud.method.clean(ud, ld)
except UnboundLocalError:
pass
continue
@@ -984,8 +983,7 @@ class Fetch(object):
logger.debug(1, str(e))
firsterr = e
# Remove any incomplete fetch
- if os.path.isfile(ud.localpath):
- bb.utils.remove(ud.localpath)
+ m.clean(ud, self.d)
logger.debug(1, "Trying MIRRORS")
mirrors = mirror_from_string(self.d.getVar('MIRRORS', True))
localpath = try_mirrors (self.d, ud, mirrors)
OpenPOWER on IntegriCloud