summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2007-06-23 11:07:16 +0000
committerZac Medico <zmedico@gentoo.org>2007-06-23 11:07:16 +0000
commit7cd90408efd0ccf9727037233dfa1266f57d48d2 (patch)
tree331d374f355055b1705cd734774d06978085df5e /bin
parentd3961545106423725863532abcd07ab9c573893c (diff)
downloadportage-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-xbin/emerge7
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