summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/portage.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/pym/portage.py b/pym/portage.py
index 3fd1dc337..1a6aa256d 100644
--- a/pym/portage.py
+++ b/pym/portage.py
@@ -6029,15 +6029,16 @@ class dblink:
# This blocks until we can get the dirs to ourselves.
self.lockdb()
- try:
+ 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."""
- os.unlink(os.path.join(
- os.path.dirname(normalize_path(srcroot)), ".installed"))
- except OSError, e:
- if e.errno != errno.ENOENT:
- raise
- del e
+ 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]):