summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-10-10 11:03:25 +0000
committerZac Medico <zmedico@gentoo.org>2006-10-10 11:03:25 +0000
commit6542c6325ff2dc047dd729aa18c0f27ca27cdc68 (patch)
tree155deb2926017160b9d88d8221e3d1023833b531 /pym
parentd84f6c79157771b629985653796a95eada3b93d0 (diff)
downloadportage-6542c6325ff2dc047dd729aa18c0f27ca27cdc68.tar.gz
portage-6542c6325ff2dc047dd729aa18c0f27ca27cdc68.tar.bz2
portage-6542c6325ff2dc047dd729aa18c0f27ca27cdc68.zip
Only unlink .installed after the collision-protect has completed successfully (reported by axxo).
svn path=/main/trunk/; revision=4648
Diffstat (limited to 'pym')
-rw-r--r--pym/portage.py21
1 files changed, 10 insertions, 11 deletions
diff --git a/pym/portage.py b/pym/portage.py
index b66486fb7..1aa41ae88 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -5978,17 +5978,6 @@ class dblink:
# This blocks until we can get the dirs to ourselves.
self.lockdb()
- if os.stat(srcroot).st_dev == os.stat(destroot).st_dev:
- """ The merge process may move files out of the image directory,
- which causes invalidation of the .installed flag."""
- try:
- os.unlink(os.path.join(
- os.path.dirname(normalize_path(srcroot)), ".installed"))
- except OSError, e:
- if e.errno != errno.ENOENT:
- raise
- del e
-
otherversions=[]
for v in self.vartree.dbapi.cp_list(self.mysplit[0]):
otherversions.append(v.split("/")[1])
@@ -6078,6 +6067,16 @@ class dblink:
except:
pass
+ if os.stat(srcroot).st_dev == os.stat(destroot).st_dev:
+ """ The merge process may move files out of the image directory,
+ which causes invalidation of the .installed flag."""
+ try:
+ os.unlink(os.path.join(
+ os.path.dirname(normalize_path(srcroot)), ".installed"))
+ except OSError, e:
+ if e.errno != errno.ENOENT:
+ raise
+ del e
# get old contents info for later unmerging
oldcontents = self.getcontents()