Currently, when there's a typo in option name, we ignore it. Maybe we should report an error there. --- yum/config.py | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/yum/config.py b/yum/config.py index 2bf4f45..9e6cc30 100644 --- a/yum/config.py +++ b/yum/config.py @@ -562,7 +562,7 @@ class BaseConfig(object): out.append('%s: %r' % (name, value)) return '\n'.join(out) - def populate(self, parser, section, parent=None): + def populate(self, parser, section, parent=None, partial=False): """Set option values from an INI file section. :param parser: :class:`ConfigParser` instance (or subclass) @@ -582,6 +582,7 @@ class BaseConfig(object): option = self.optionobj(name) value = None if name in opts: + opts.remove(name) value = parser.get(section, name) else: # No matching option in this section, try inheriting @@ -590,6 +591,8 @@ class BaseConfig(object): if value is not None: setattr(self, name, value) + if opts and not partial: + raise Errors.ConfigError, 'No such option %s' % ', '.join(map(repr, opts)) def optionobj(cls, name, exceptions=True): """Return the :class:`Option` instance for the given name. @@ -990,7 +993,7 @@ def readStartupConfig(configfile, root, releasever=None): parser.readfp(confpp_obj) except ParsingError, e: raise Errors.ConfigError("Parsing file failed: %s" % e) - startupconf.populate(parser, 'main') + startupconf.populate(parser, 'main', partial=True) # Check that plugin paths are all absolute for path in startupconf.pluginpath: -- 1.7.4.4 _______________________________________________ Yum-devel mailing list Yum-devel@lists.baseurl.org http://lists.baseurl.org/mailman/listinfo/yum-devel