From: Richard Purdie Date: Sun, 3 Feb 2013 16:51:34 +0000 (+0000) Subject: bitbake: utils: Use rm -rf in remove() X-Git-Tag: rev_ivi_2015_02_04~13663 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c355d1cf11e334078b9be71b9f8efc4ec0f5ebe9;p=scm%2Fbb%2Ftizen-distro.git bitbake: utils: Use rm -rf in remove() Whilst shutils.rmtree() is pythonic, its also slow. Its faster to use rm -rf which makes optimial use of the right syscalls. (Bitbake rev: 96088ebdec08e49ba9e8dbcac437bfcdc21f5983) Signed-off-by: Richard Purdie --- diff --git a/bitbake/lib/bb/utils.py b/bitbake/lib/bb/utils.py index b1a0f25..8c363df 100644 --- a/bitbake/lib/bb/utils.py +++ b/bitbake/lib/bb/utils.py @@ -535,14 +535,17 @@ def remove(path, recurse=False): """Equivalent to rm -f or rm -rf""" if not path: return - import os, errno, shutil, glob + if recurse: + import subprocess + # shutil.rmtree(name) would be ideal but its too slow + subprocess.call("rm -rf %s" % path, shell=True) + return + import os, errno, glob for name in glob.glob(path): try: os.unlink(name) except OSError as exc: - if recurse and exc.errno == errno.EISDIR: - shutil.rmtree(name) - elif exc.errno != errno.ENOENT: + if exc.errno != errno.ENOENT: raise def prunedir(topdir):