From 7cd90408efd0ccf9727037233dfa1266f57d48d2 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Sat, 23 Jun 2007 11:07:16 +0000 Subject: For bug #182964, replace os.rename() with shutil.move() in order to handle EXDEV errors that are triggered by layered filesystems. (trunk r6967) svn path=/main/branches/2.1.2/; revision=6968 --- bin/emerge | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/emerge b/bin/emerge index 3d6e9e245..914f8d69c 100755 --- a/bin/emerge +++ b/bin/emerge @@ -3696,14 +3696,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