From 2a167cb1fe28b7141ab848aafb7b54af9cec282b Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Sun, 13 May 2012 07:38:13 +0000 Subject: 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 --- bitbake/lib/bb/fetch2/__init__.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'bitbake/lib') diff --git a/bitbake/lib/bb/fetch2/__init__.py b/bitbake/lib/bb/fetch2/__init__.py index 670afb1eed..5d7ef1f014 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) -- cgit v1.2.3-54-g00ecf