On 10/20/19 2:54 AM, Michał Górny wrote: > When DeletionIterator fails, report all stat() errors. Reporting > just the first one results in confusing logs, suggesting that one > of the location did not exist but the other existed and was removed. > --- > lib/portage/_emirrordist/DeletionIterator.py | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/lib/portage/_emirrordist/DeletionIterator.py > b/lib/portage/_emirrordist/DeletionIterator.py > index cd773b3c8..dab6eaea2 100644 > --- a/lib/portage/_emirrordist/DeletionIterator.py > +++ b/lib/portage/_emirrordist/DeletionIterator.py > @@ -25,20 +25,20 @@ class DeletionIterator(object): > distfiles_set.update(layout.get_filenames(distdir)) > for filename in distfiles_set: > # require at least one successful stat() > - first_exception = None > + exceptions = [] > for layout in reversed(self._config.layouts): > try: > st = os.stat( > os.path.join(distdir, > layout.get_path(filename))) > except OSError as e: > - first_exception = e > + exceptions.append(e) > else: > if stat.S_ISREG(st.st_mode): > break > else: > - if first_exception is not None: > + if exceptions: > logging.error("stat failed on '%s' in > distfiles: %s\n" % > - (filename, first_exception)) > + (filename, '; '.join(str(x) for > x in exceptions))) > continue > > if filename in file_owners: >
Looks good. Please merge. -- Thanks, Zac
signature.asc
Description: OpenPGP digital signature