summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/_emerge/Scheduler.py3
-rw-r--r--pym/_emerge/depgraph.py3
-rw-r--r--pym/_emerge/resolver/output.py3
-rw-r--r--pym/portage/dbapi/vartree.py14
4 files changed, 16 insertions, 7 deletions
diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py
index 4ff889396..34e5e6fa0 100644
--- a/pym/_emerge/Scheduler.py
+++ b/pym/_emerge/Scheduler.py
@@ -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
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index f569b1815..271d4bfbd 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -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)
diff --git a/pym/_emerge/resolver/output.py b/pym/_emerge/resolver/output.py
index 457b786b1..a5b5e27b7 100644
--- a/pym/_emerge/resolver/output.py
+++ b/pym/_emerge/resolver/output.py
@@ -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."))
diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py
index ccf239ff1..9be12fb3e 100644
--- a/pym/portage/dbapi/vartree.py
+++ b/pym/portage/dbapi/vartree.py
@@ -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()