diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-05-13 07:38:13 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-05-20 09:24:22 +0100 |
commit | 2a167cb1fe28b7141ab848aafb7b54af9cec282b (patch) | |
tree | 8bf280d34669623e0e5d05faafb64ac82dd6c6da /bitbake/lib/bb/fetch2 | |
parent | f24d8df3af52e2a2911233746ad69f8899bbdf93 (diff) | |
download | 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>
Diffstat (limited to 'bitbake/lib/bb/fetch2')
-rw-r--r-- | bitbake/lib/bb/fetch2/__init__.py | 6 |
1 files changed, 2 insertions, 4 deletions
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): | |||
507 | logger.debug(1, "Mirror fetch failure for url %s (original url: %s)" % (newuri, origud.url)) | 507 | logger.debug(1, "Mirror fetch failure for url %s (original url: %s)" % (newuri, origud.url)) |
508 | logger.debug(1, str(e)) | 508 | logger.debug(1, str(e)) |
509 | try: | 509 | try: |
510 | if os.path.isfile(ud.localpath): | 510 | ud.method.clean(ud, ld) |
511 | bb.utils.remove(ud.localpath) | ||
512 | except UnboundLocalError: | 511 | except UnboundLocalError: |
513 | pass | 512 | pass |
514 | continue | 513 | continue |
@@ -984,8 +983,7 @@ class Fetch(object): | |||
984 | logger.debug(1, str(e)) | 983 | logger.debug(1, str(e)) |
985 | firsterr = e | 984 | firsterr = e |
986 | # Remove any incomplete fetch | 985 | # Remove any incomplete fetch |
987 | if os.path.isfile(ud.localpath): | 986 | m.clean(ud, self.d) |
988 | bb.utils.remove(ud.localpath) | ||
989 | logger.debug(1, "Trying MIRRORS") | 987 | logger.debug(1, "Trying MIRRORS") |
990 | mirrors = mirror_from_string(self.d.getVar('MIRRORS', True)) | 988 | mirrors = mirror_from_string(self.d.getVar('MIRRORS', True)) |
991 | localpath = try_mirrors (self.d, ud, mirrors) | 989 | localpath = try_mirrors (self.d, ud, mirrors) |