The purpose of this change is to make 'yum install @group' behaviour consistent with 'yum install package' behaviour. When user tries to install a non-existent package he gets an error and the exit code gets set to 1. This patch makes group install behave in the same way.
The _at_groupinstall() code for normal groups and for environment groups was basically identical, so I merged it a little bit. I have also removed the try/except block since it appeared to have no effect. --- cli.py | 5 +++++ yum/__init__.py | 31 ++++++++----------------------- 2 files changed, 13 insertions(+), 23 deletions(-) diff --git a/cli.py b/cli.py index c8884ae..a576f16 100755 --- a/cli.py +++ b/cli.py @@ -970,6 +970,11 @@ class YumBaseCli(yum.YumBase, output.YumOutput): self.term.MODE['bold'], arg, self.term.MODE['normal']) self._maybeYouMeant(arg) + except yum.Errors.GroupsError: + self.verbose_logger.log(yum.logginglevels.INFO_2, + _('Group %s%s%s does not exist.'), + self.term.MODE['bold'], arg, + self.term.MODE['normal']) else: done = True self._install_upgraded_requires(txmbrs) diff --git a/yum/__init__.py b/yum/__init__.py index bbd20f3..d4143ee 100644 --- a/yum/__init__.py +++ b/yum/__init__.py @@ -4464,37 +4464,22 @@ much more problems). self.logger.warning(e) return tx_return + found = False if group_string and group_string[0] == '^': group_string = group_string[1:] # Actually dealing with "environment groups". - found = False for env_grp in comps.return_environments(group_string): found = True - try: - txmbrs = self.selectEnvironment(env_grp.environmentid, - upgrade=upgrade) - tx_return.extend(txmbrs) - except yum.Errors.GroupsError: - assert False, "Checked in for loop." - continue - if not found: - self.logger.error(_('Warning: Environment group %s does not exist.'), - group_string) - return tx_return - - found = False - for group in comps.return_groups(group_string): - found = True - try: + txmbrs = self.selectEnvironment(env_grp.environmentid, + upgrade=upgrade) + tx_return.extend(txmbrs) + else: + for group in comps.return_groups(group_string): + found = True txmbrs = self.selectGroup(group.groupid, upgrade=upgrade) tx_return.extend(txmbrs) - except yum.Errors.GroupsError: - assert False, "Checked in for loop." - continue if not found: - self.logger.error(_('Warning: Package group %s does not exist.'), - group_string) - + raise yum.Errors.GroupsError return tx_return def _at_groupupgrade(self, pattern): _______________________________________________ Yum-devel mailing list Yum-devel@lists.baseurl.org http://lists.baseurl.org/mailman/listinfo/yum-devel