aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2013-04-16 07:00:45 -0700
committerZac Medico <zmedico@gentoo.org>2013-04-16 07:00:45 -0700
commit4d9c8b5ca0a7c13066b3e08ed6700cbd0939ec72 (patch)
treeecbb64c9f88d58593fc8ae9d791f07cecaff98e5 /pym/portage/util/movefile.py
parentrefactor contents file writing to its own function (diff)
downloadportage-4d9c8b5ca0a7c13066b3e08ed6700cbd0939ec72.tar.gz
portage-4d9c8b5ca0a7c13066b3e08ed6700cbd0939ec72.tar.bz2
portage-4d9c8b5ca0a7c13066b3e08ed6700cbd0939ec72.zip
movefile: remove source symlink/hardlink after mv
Diffstat (limited to 'pym/portage/util/movefile.py')
-rw-r--r--pym/portage/util/movefile.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/pym/portage/util/movefile.py b/pym/portage/util/movefile.py
index 8a7a2b6a6..f33e67c62 100644
--- a/pym/portage/util/movefile.py
+++ b/pym/portage/util/movefile.py
@@ -224,6 +224,12 @@ def movefile(src, dest, newmtime=None, sstat=None, mysettings=None,
target != os.readlink(dest):
raise
lchown(dest,sstat[stat.ST_UID],sstat[stat.ST_GID])
+
+ try:
+ _os.unlink(src_bytes)
+ except OSError:
+ pass
+
if sys.hexversion >= 0x3030000:
try:
os.utime(dest, ns=(sstat.st_mtime_ns, sstat.st_mtime_ns), follow_symlinks=False)
@@ -277,6 +283,10 @@ def movefile(src, dest, newmtime=None, sstat=None, mysettings=None,
writemsg("!!! %s\n" % (e,), noiselevel=-1)
return None
hardlinked = True
+ try:
+ _os.unlink(src_bytes)
+ except OSError:
+ pass
break
renamefailed=1