summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pym/_emerge/Scheduler.py9
-rw-r--r--pym/_emerge/depgraph.py4
-rw-r--r--pym/portage/dbapi/vartree.py4
3 files changed, 12 insertions, 5 deletions
diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py
index ee5b8a3d5..b78be89f9 100644
--- a/pym/_emerge/Scheduler.py
+++ b/pym/_emerge/Scheduler.py
@@ -828,9 +828,12 @@ class Scheduler(PollScheduler):
if pkg.root == self._running_root.root and \
portage.match_from_list(
portage.const.PORTAGE_PACKAGE_ATOM, [pkg]):
- if self._running_portage:
- return pkg.cpv != self._running_portage.cpv
- return True
+ if self._running_portage is None:
+ return True
+ elif pkg.cpv != self._running_portage.cpv or \
+ '9999' in pkg.cpv or \
+ 'git' in pkg.inherited:
+ return True
return False
def _restart_if_necessary(self, pkg):
diff --git a/pym/_emerge/depgraph.py b/pym/_emerge/depgraph.py
index 25429601e..3be0a196b 100644
--- a/pym/_emerge/depgraph.py
+++ b/pym/_emerge/depgraph.py
@@ -4897,8 +4897,10 @@ class depgraph(object):
pkg.root == self._frozen_config._running_root.root and \
portage.match_from_list(
portage.const.PORTAGE_PACKAGE_ATOM, [pkg]) and \
- not vardb.cpv_exists(pkg.cpv) and \
"--quiet" not in self._frozen_config.myopts:
+ if not vardb.cpv_exists(pkg.cpv) or \
+ '9999' in pkg.cpv or \
+ 'git' 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 9c4355143..52f8d833c 100644
--- a/pym/portage/dbapi/vartree.py
+++ b/pym/portage/dbapi/vartree.py
@@ -3768,7 +3768,9 @@ class dblink(object):
self.vartree.dbapi._categories = None
if self.myroot == "/" and \
match_from_list(PORTAGE_PACKAGE_ATOM, [self.mycpv]) and \
- not self.vartree.dbapi.cpv_exists(self.mycpv):
+ (not self.vartree.dbapi.cpv_exists(self.mycpv) or \
+ '9999' in self.mycpv or \
+ 'git' in self.settings.get('INHERITED', '').split()):
# Load lazily referenced portage submodules into memory,
# so imports won't fail during portage upgrade/downgrade.
portage.proxy.lazyimport._preload_portage_submodules()