Recognize git-2.eclass when reinstalling self.
authorZac Medico <zmedico@gentoo.org>
Mon, 14 Feb 2011 15:46:39 +0000 (07:46 -0800)
committerZac Medico <zmedico@gentoo.org>
Mon, 14 Feb 2011 16:04:02 +0000 (08:04 -0800)
pym/_emerge/Scheduler.py
pym/_emerge/depgraph.py
pym/_emerge/resolver/output.py
pym/portage/dbapi/vartree.py

index 4ff8893965bf5b98bea990efa4529bee6cfefce0..34e5e6fa03793b49de8972a4fe215dfb18017adf 100644 (file)
@@ -931,7 +931,8 @@ class Scheduler(PollScheduler):
                                return True
                        elif pkg.cpv != self._running_portage.cpv or \
                                '9999' in pkg.cpv or \
-                               'git' in pkg.inherited:
+                               'git' in pkg.inherited or \
+                               'git-2' in pkg.inherited:
                                return True
                return False
 
index f569b18158820515e0f17c2b855e7cc9cbfb8a1d..271d4bfbde8e7c11581495a78bc83323d42befa6 100644 (file)
@@ -4271,7 +4271,8 @@ class depgraph(object):
                        (running_portage is None or \
                        running_portage.cpv != replacement_portage.cpv or \
                        '9999' in replacement_portage.cpv or \
-                       'git' in replacement_portage.inherited):
+                       'git' in replacement_portage.inherited or \
+                       'git-2' in replacement_portage.inherited):
                        # update from running_portage to replacement_portage asap
                        asap_nodes.append(replacement_portage)
 
index 457b786b1922de593c61e8a4f49fa9ccda646ec6..a5b5e27b7e312763dca8787ff5fd080f0468c518 100644 (file)
@@ -732,7 +732,8 @@ def display(depgraph, mylist, favorites=[], verbosity=None):
                                not conf.quiet:
                                if not vardb.cpv_exists(pkg.cpv) or \
                                        '9999' in pkg.cpv or \
-                                       'git' in pkg.inherited:
+                                       'git' in pkg.inherited or \
+                                       'git-2' in pkg.inherited:
                                        if mylist_index < len(mylist) - 1:
                                                p.append(colorize("WARN", "*** Portage will stop merging at this point and reload itself,"))
                                                p.append(colorize("WARN", "    then resume the merge."))
index ccf239ff118209d1577700087563cf23737816c3..9be12fb3e0624b3bd69b4f8c66e4001a680f9c25 100644 (file)
@@ -3825,11 +3825,17 @@ class dblink(object):
                myroot = None
                if self.vartree.dbapi._categories is not None:
                        self.vartree.dbapi._categories = None
+               reinstall_self = False
                if self.myroot == "/" and \
-                       match_from_list(PORTAGE_PACKAGE_ATOM, [self.mycpv]) and \
-                       (not self.vartree.dbapi.cpv_exists(self.mycpv) or \
-                       '9999' in self.mycpv or \
-                       'git' in self.settings.get('INHERITED', '').split()):
+                       match_from_list(PORTAGE_PACKAGE_ATOM, [self.mycpv]):
+                       inherited = frozenset(self.settings.get('INHERITED', '').split())
+                       if not self.vartree.dbapi.cpv_exists(self.mycpv) or \
+                               '9999' in self.mycpv or \
+                               'git' in inherited or \
+                               'git-2' in inherited:
+                               reinstall_self = True
+
+               if reinstall_self:
                        # Load lazily referenced portage submodules into memory,
                        # so imports won't fail during portage upgrade/downgrade.
                        portage.proxy.lazyimport._preload_portage_submodules()