Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
automatic: Check availability of config file
Upstream commit: 13ecc39 RHEL issue: https://issues.redhat.com/browse/RHEL-49743 If a configuration file is explicitly specified on the command line, ensure that it exists and is readable. If the file is not found, notify the user immediately and terminate the process. This resolves issues where users may run dnf-automatic with unrecognized positional arguments, such as `dnf-automatic install`. The most natural approach to handle a non-existing config file would be by catching the exception thrown by the `read()` method of the `libdnf.conf.ConfigParser` class. Unfortunately, the Python bindings override the `read()` method at the SWIG level, causing it to suppress any potentially raised IOError. For details see this section of the commit rpm-software-management/libdnf@8f1fedf def ConfigParser__newRead(self, filenames): parsedFNames = [] try: if isinstance(filenames, str) or isinstance(filenames, unicode): filenames = [filenames] except NameError: pass for fname in filenames: try: self.readFileName(fname) parsedFNames.append(fname) except IOError: pass except Exception as e: raise RuntimeError("Parsing file '%s' failed: %s" % (fname, str(e))) return parsedFNames ConfigParser.read = ConfigParser__newRead Resolves: https://issues.redhat.com/browse/RHEL-46030
- Loading branch information