From cfe5e7bc23c30dc40b90c1f61282d8f59430840a Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 23 Jun 2007 10:58:09 +0000 Subject: For bug #182964, replace os.rename() with shutil.move() in order to handle EXDEV errors that are triggered by layered filesystems. svn path=/main/trunk/; revision=6967 --- pym/emerge/__init__.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'pym/emerge/__init__.py') diff --git a/pym/emerge/__init__.py b/pym/emerge/__init__.py index 17ff8d58d..ac74f12d2 100644 --- a/pym/emerge/__init__.py +++ b/pym/emerge/__init__.py @@ -3754,14 +3754,17 @@ def chk_updated_info_files(root, infodirs, prev_mtimes, retval): icount=0 badcount=0 + import shutil for inforoot in regen_infodirs: if inforoot=='': continue for filename in ("dir", "dir.gz", "dir.bz2"): file_path = os.path.join(inforoot, filename) + if not os.path.exists(file_path): + continue try: - os.rename(file_path, file_path + ".old") - except OSError, e: + shutil.move(file_path, file_path + ".old") + except EnvironmentError, e: if e.errno != errno.ENOENT: raise del e -- cgit v1.2.3-1-g7c22