don't use EROOT or an upgrade of a package will result in the package being unmerged!
authorFabian Groffen <grobian@gentoo.org>
Thu, 9 Sep 2010 15:42:51 +0000 (17:42 +0200)
committerZac Medico <zmedico@gentoo.org>
Fri, 17 Sep 2010 21:05:52 +0000 (14:05 -0700)
pym/portage/dbapi/vartree.py

index ea54433c97b2d579083b7c4138e5a16f2048f5aa..144cc39f8ba069398f44c7f872d2792f9ac8ed56 100644 (file)
@@ -1812,6 +1812,9 @@ class dblink(object):
                        unmerge_desc["!obj"] = _("!obj")
                        unmerge_desc["!sym"] = _("!sym")
 
+                       real_root = self.settings['ROOT']
+                       real_root_len = len(real_root) - 1
+
                        for i, objkey in enumerate(mykeys):
 
                                if scheduler is not None and \
@@ -1852,8 +1855,11 @@ class dblink(object):
                                if lstatobj is None:
                                                show_unmerge("---", unmerge_desc["!found"], file_type, obj)
                                                continue
-                               if obj.startswith(dest_root):
-                                       relative_path = obj[dest_root_len:]
+                               # PREFIX LOCAL: don't use EROOT or you will unmerge a
+                               # just upgraded package!
+                               if obj.startswith(real_root):
+                                       relative_path = obj[real_root_len:]
+                                       # PREFIX LOCAL
                                        is_owned = False
                                        for dblnk in others_in_slot:
                                                if dblnk.isowner(relative_path):