summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2006-10-08 22:14:47 +0000
committerZac Medico <zmedico@gentoo.org>2006-10-08 22:14:47 +0000
commitb3704ce7bd94f3c74b6f7e209dc14834b78118ab (patch)
tree8ac44c3a9bf5ec1a0279c1091c156fdfecb41403 /pym
parent5b80a67a44c895e60f120db0967a63d89429f8e7 (diff)
downloadportage-b3704ce7bd94f3c74b6f7e209dc14834b78118ab.tar.gz
portage-b3704ce7bd94f3c74b6f7e209dc14834b78118ab.tar.bz2
portage-b3704ce7bd94f3c74b6f7e209dc14834b78118ab.zip
Make the merge phase automatically invalidate the ${PORTAGE_BUILDDIR}/.installed flag since it may move files out of the image directory.
svn path=/main/trunk/; revision=4622
Diffstat (limited to 'pym')
-rw-r--r--pym/portage.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/pym/portage.py b/pym/portage.py
index fff074035..3fd1dc337 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -6029,6 +6029,16 @@ class dblink:
# This blocks until we can get the dirs to ourselves.
self.lockdb()
+ try:
+ """ The merge process may move files out of the image directory,
+ which causes invalidation of the .installed flag."""
+ 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])