From de86bfeda6e3845336a0b56c883b49219967128f Mon Sep 17 00:00:00 2001 From: Joshua Watt Date: Mon, 3 Jun 2019 10:29:47 -0500 Subject: [PATCH] classes/package: Sort ELF file list Sorts the list of detected ELF files by path before processing. This ensures that when multiple files are hardlinked together the first one found is always the same. This is required to have reproducible builds. Signed-off-by: Joshua Watt Signed-off-by: Richard Purdie --- meta/classes/package.bbclass | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 4c0a859536..0694855504 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -1005,6 +1005,12 @@ python split_and_strip_files () { symlinks[file] = target results = oe.utils.multiprocess_launch(oe.package.is_elf, checkelf.keys(), d) + + # Sort results by file path. This ensures that the files are always + # processed in the same order, which is important to make sure builds + # are reproducible when dealing with hardlinks + results.sort(key=lambda x: x[0]) + for (file, elf_file) in results: # It's a file (or hardlink), not a link # ...but is it ELF, and is it already stripped? -- 2.40.1