summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/egencache5
-rw-r--r--man/egencache.15
2 files changed, 10 insertions, 0 deletions
diff --git a/bin/egencache b/bin/egencache
index 69a41fde6..64429296d 100755
--- a/bin/egencache
+++ b/bin/egencache
@@ -67,6 +67,9 @@ def parse_args(args):
action="store_true",
help="enable rsync stat collision workaround " + \
"for bug 139134 (use with --update)")
+ parser.add_option("--tolerant",
+ action="store_true",
+ help="exit successfully if only minor errors occurred")
parser.add_option("--ignore-default-opts",
action="store_true",
help="do not use the EGENCACHE_DEFAULT_OPTS environment variable")
@@ -343,6 +346,8 @@ def egencache_main(args):
max_load=options.load_average,
rsync=options.rsync)
gen_cache.run()
+ if options.tolerant:
+ return os.EX_OK
return gen_cache.returncode
if __name__ == "__main__":
diff --git a/man/egencache.1 b/man/egencache.1
index dbcc44e4b..d0bd1014a 100644
--- a/man/egencache.1
+++ b/man/egencache.1
@@ -54,6 +54,11 @@ This option should only be needed for distribution via something like
(see \fBbug 139134\fR). It's not needed with \fBgit\fR(1) since that uses a
more thorough mechanism which allows it to detect changed inode numbers
(described in \fIracy-git.txt\fR in the git technical docs).
+.TP
+.BR "\-\-tolerant"
+Exit successfully if only minor errors occurred, such as skipped cache
+updates due to ebuilds that either fail to source or are not sourced
+due to invalid Manifest entries.
.SH "ENVIRONMENT OPTIONS"
.TP
\fBEGENCACHE_DEFAULT_OPTS\fR