summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2009-10-09 07:27:52 +0000
committerZac Medico <zmedico@gentoo.org>2009-10-09 07:27:52 +0000
commit649603edc045ab30b095808e75bed0b67337ccd8 (patch)
tree3245ff9490e9173aa42e9998610bb90b5144815e
parent42f16daade5ed09ed6b9fd01c139d840cdbff480 (diff)
downloadportage-649603edc045ab30b095808e75bed0b67337ccd8.tar.gz
portage-649603edc045ab30b095808e75bed0b67337ccd8.tar.bz2
portage-649603edc045ab30b095808e75bed0b67337ccd8.zip
Bug #272000 - When --keep-going is enabled, don't completely bail out at
the beginning due to corrupt manifest(s). Thanks to Sebastian Mingramm (few) for this patch. svn path=/main/trunk/; revision=14523
-rw-r--r--pym/_emerge/Scheduler.py14
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: