diff options
-rw-r--r-- | pym/_emerge/Scheduler.py | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py index 00c27925b..f2247578b 100644 --- a/pym/_emerge/Scheduler.py +++ b/pym/_emerge/Scheduler.py @@ -816,19 +816,21 @@ class Scheduler(PollScheduler): self.pkgsettings[root] = portage.config( clone=root_config.settings) + keep_going = "--keep-going" in self.myopts + fetchonly = self._build_opts.fetchonly + mtimedb = self._mtimedb + failed_pkgs = self._failed_pkgs + rval = self._generate_digests() if rval != os.EX_OK: return rval + # TODO: Immediately recalculate deps here if --keep-going + # is enabled and corrupt manifests are detected. rval = self._check_manifests() - if rval != os.EX_OK: + if rval != os.EX_OK and not keep_going: return rval - keep_going = "--keep-going" in self.myopts - fetchonly = self._build_opts.fetchonly - mtimedb = self._mtimedb - failed_pkgs = self._failed_pkgs - while True: rval = self._merge() if rval == os.EX_OK or fetchonly or not keep_going: |