diff options
author | Zac Medico <zmedico@gentoo.org> | 2006-10-10 11:03:25 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2006-10-10 11:03:25 +0000 |
commit | 6542c6325ff2dc047dd729aa18c0f27ca27cdc68 (patch) | |
tree | 155deb2926017160b9d88d8221e3d1023833b531 | |
parent | d84f6c79157771b629985653796a95eada3b93d0 (diff) | |
download | portage-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
-rw-r--r-- | pym/portage.py | 21 |
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() |