diff options
author | Zac Medico <zmedico@gentoo.org> | 2007-06-23 11:07:16 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2007-06-23 11:07:16 +0000 |
commit | 7cd90408efd0ccf9727037233dfa1266f57d48d2 (patch) | |
tree | 331d374f355055b1705cd734774d06978085df5e /bin | |
parent | d3961545106423725863532abcd07ab9c573893c (diff) | |
download | portage-7cd90408efd0ccf9727037233dfa1266f57d48d2.tar.gz portage-7cd90408efd0ccf9727037233dfa1266f57d48d2.tar.bz2 portage-7cd90408efd0ccf9727037233dfa1266f57d48d2.zip |
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
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/emerge | 7 |
1 files changed, 5 insertions, 2 deletions
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 |