build: Sort file list
authorBernhard M. Wiedemann <bwiedemann@suse.de>
Sun, 16 Jul 2017 19:46:31 +0000 (21:46 +0200)
committerJens Axboe <axboe@kernel.dk>
Sun, 16 Jul 2017 20:02:51 +0000 (14:02 -0600)
to make build reproducible.
Because filesystems/readdir returns entries in underministic order
and the linker orders functions depending on input order
the resulting fio binary differed across builds
(which we do in disposable VMs for openSUSE)

See https://reproducible-builds.org/ for why this matters.

Signed-off-by: Bernhard M. Wiedemann <bwiedemann@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Makefile

index bef930f876718c48e72a5c169912760e04ac5e43..e8ea6cb9a3d28a05552eb054ba9bd454f5fc89cd 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -36,8 +36,8 @@ ifdef CONFIG_GFIO
   PROGS += gfio
 endif
 
   PROGS += gfio
 endif
 
-SOURCE :=      $(patsubst $(SRCDIR)/%,%,$(wildcard $(SRCDIR)/crc/*.c)) \
-               $(patsubst $(SRCDIR)/%,%,$(wildcard $(SRCDIR)/lib/*.c)) \
+SOURCE :=      $(sort $(patsubst $(SRCDIR)/%,%,$(wildcard $(SRCDIR)/crc/*.c)) \
+               $(patsubst $(SRCDIR)/%,%,$(wildcard $(SRCDIR)/lib/*.c))) \
                gettime.c ioengines.c init.c stat.c log.c time.c filesetup.c \
                eta.c verify.c memory.c io_u.c parse.c mutex.c options.c \
                smalloc.c filehash.c profile.c debug.c engines/cpu.c \
                gettime.c ioengines.c init.c stat.c log.c time.c filesetup.c \
                eta.c verify.c memory.c io_u.c parse.c mutex.c options.c \
                smalloc.c filehash.c profile.c debug.c engines/cpu.c \