From 9cde75d21dc83eb89d3602c09460153008d07390 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 11 Mar 2009 03:36:37 +0000 Subject: Make emerge --regen return non-zero if that are any failures. Thanks to Daniel Robbins for reporting. (trunk r12575) svn path=/main/branches/2.1.6/; revision=12856 --- pym/_emerge/__init__.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index 7dbf3c14b..0e6a7f443 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -11129,6 +11129,8 @@ class MetadataRegen(PollScheduler): self._valid_pkgs = set() self._process_iter = self._iter_metadata_processes() + self.returncode = os.EX_OK + self._error_count = 0 def _iter_metadata_processes(self): portdb = self._portdb @@ -11206,6 +11208,8 @@ class MetadataRegen(PollScheduler): def _metadata_exit(self, metadata_process): self._jobs -= 1 if metadata_process.returncode != os.EX_OK: + self.returncode = 1 + self._error_count += 1 self._valid_pkgs.discard(metadata_process.cpv) portage.writemsg("Error processing %s, continuing...\n" % \ (metadata_process.cpv,)) @@ -12697,6 +12701,7 @@ def action_regen(settings, portdb, max_jobs, max_load): regen.run() portage.writemsg_stdout("done!\n") + return regen.returncode def action_config(settings, trees, myopts, myfiles): if len(myfiles) != 1: @@ -14705,7 +14710,7 @@ def emerge_main(): action_metadata(settings, portdb, myopts) elif myaction=="regen": validate_ebuild_environment(trees) - action_regen(settings, portdb, myopts.get("--jobs"), + return action_regen(settings, portdb, myopts.get("--jobs"), myopts.get("--load-average")) # HELP action elif "config"==myaction: -- cgit v1.2.3-1-g7c22