diff options
-rw-r--r-- | pym/_emerge/Scheduler.py | 9 | ||||
-rw-r--r-- | pym/_emerge/depgraph.py | 4 | ||||
-rw-r--r-- | pym/portage/dbapi/vartree.py | 4 |
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() |