From: Richard Purdie Date: Fri, 7 Dec 2018 15:39:15 +0000 (+0000) Subject: bitbake: utils: Use utils.remove() within prunedir() X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=888d76d2215565435ce7b0a890e2a7624e213874;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git bitbake: utils: Use utils.remove() within prunedir() We've already tweaked remove() for speed and not to error if it races for deletion. Therefore use this for prunedir() which was starting to show the same bug reports. [YOCTO #13003] (Bitbake rev: 47f359f9b017f8d99d0bb2161ac0dcefcbd915de) Signed-off-by: Richard Purdie --- diff --git a/bitbake/lib/bb/utils.py b/bitbake/lib/bb/utils.py index 13bb5f2a058..f687ee41277 100644 --- a/bitbake/lib/bb/utils.py +++ b/bitbake/lib/bb/utils.py @@ -708,15 +708,7 @@ def prunedir(topdir): # CAUTION: This is dangerous! if _check_unsafe_delete_path(topdir): raise Exception('bb.utils.prunedir: called with dangerous path "%s", refusing to delete!' % topdir) - for root, dirs, files in os.walk(topdir, topdown = False): - for name in files: - os.remove(os.path.join(root, name)) - for name in dirs: - if os.path.islink(os.path.join(root, name)): - os.remove(os.path.join(root, name)) - else: - os.rmdir(os.path.join(root, name)) - os.rmdir(topdir) + remove(topdir, recurse=True) # # Could also use return re.compile("(%s)" % "|".join(map(re.escape, suffixes))).sub(lambda mo: "", var)