Commit 63620367 authored by Bernhard M. Wiedemann's avatar Bernhard M. Wiedemann Committed by Arnaldo Carvalho de Melo

perf jevents: Sort list of input files

Without this, pmu-events.c would be generated with variations in
ordering depending on non-deterministic filesystem readdir order.

I tested that pmu-events.c still has the same number of lines and that
perf list output works.

This patch was done while working on reproducible builds for openSUSE,
but also solves issues in Debian [1] and other distributions.

[1] https://tests.reproducible-builds.org/debian/rb-pkg/unstable/i386/linux.htmlSigned-off-by: default avatarBernhard M. Wiedemann <bwiedemann@suse.de>
Cc: Ian Rogers <irogers@google.com>
Link: https://lore.kernel.org/r/20230321063032.19804-1-bwiedemann@suse.deSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 51b02a96
...@@ -922,7 +922,7 @@ def main() -> None: ...@@ -922,7 +922,7 @@ def main() -> None:
def ftw(path: str, parents: Sequence[str], def ftw(path: str, parents: Sequence[str],
action: Callable[[Sequence[str], os.DirEntry], None]) -> None: action: Callable[[Sequence[str], os.DirEntry], None]) -> None:
"""Replicate the directory/file walking behavior of C's file tree walk.""" """Replicate the directory/file walking behavior of C's file tree walk."""
for item in os.scandir(path): for item in sorted(os.scandir(path), key=lambda e: e.name):
if _args.model != 'all' and item.is_dir(): if _args.model != 'all' and item.is_dir():
# Check if the model matches one in _args.model. # Check if the model matches one in _args.model.
if len(parents) == _args.model.split(',')[0].count('/'): if len(parents) == _args.model.split(',')[0].count('/'):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment