open_posix_testsuite/generate-makefiles.sh: Fix determinism issue Currently the list of tests is generated by the order of the files found within the directories. This results in differences in the run.sh and Makefiles. Within Yocto Project this results in differing target test packages. The fix is simple, just sort the output from locate-test. mk/lib.mk: Sort wildcard expansion for determinism The order of the objects linked into libltp.a varies depending on the order of the files found on disk. This results in most ltp binaries differing depending on that order too. Sort the wildcard expansion of *.c which leads to reproducible binaries. Signed-off-by: Richard Purdie Upstream-Status: Submitted [http://lists.linux.it/pipermail/ltp/2021-March/021272.html http://lists.linux.it/pipermail/ltp/2021-March/021273.html] Index: git/testcases/open_posix_testsuite/scripts/generate-makefiles.sh =================================================================== --- git.orig/testcases/open_posix_testsuite/scripts/generate-makefiles.sh +++ git/testcases/open_posix_testsuite/scripts/generate-makefiles.sh @@ -24,7 +24,7 @@ generate_locate_test_makefile() { echo "Generating $maketype Makefiles" - locate-test --$maketype | sed -e 's,^./,,g' > make-gen.$maketype + locate-test --$maketype | sed -e 's,^./,,g' | sort > make-gen.$maketype generate_makefiles make-gen.$maketype $* Index: git/include/mk/lib.mk =================================================================== --- git.orig/include/mk/lib.mk +++ git/include/mk/lib.mk @@ -50,6 +50,7 @@ endif MAKE_TARGETS += $(LIB) LIBSRCS ?= $(wildcard $(abs_srcdir)/*.c) +LIBSRCS := $(sort $(LIBSRCS)) LIBSRCS := $(abspath $(LIBSRCS)) LIBSRCS := $(subst $(abs_srcdir)/,,$(wildcard $(LIBSRCS))) LIBSRCS := $(filter-out $(FILTER_OUT_LIBSRCS),$(LIBSRCS))