The Makefile calls awk on a "*.c" glob. The results of this glob are sorted
|
but the order depends on the locale settings, particularly whether
|
"util.c" and "util2.c" sort before or after each other. In en_US.UTF-8
|
they sort one way, in C, they sort the other. The sorting order changes
|
the output binaries. The behaviour also changes dependning on whether
|
SHELL (/bin/sh) is dash or bash.
|
|
Specify a C locale setting to be deterministic.
|
|
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
Submitted: https://github.com/WayneD/rsync/pull/155
|
|
Upstream-Status: Backport [ish, see below]
|
|
After discussion upstream renamed util.c to util1.c which avoids the problem
|
in a different way. This patch can be dropped when we upgrade to include:
|
https://github.com/WayneD/rsync/commit/d3085f7add38a5cf833a0b31cb0637ff46c80f8d
|
|
Index: rsync-3.2.3/Makefile.in
|
===================================================================
|
--- rsync-3.2.3.orig/Makefile.in
|
+++ rsync-3.2.3/Makefile.in
|
@@ -26,6 +26,11 @@ MKDIR_P=@MKDIR_P@
|
VPATH=$(srcdir)
|
SHELL=/bin/sh
|
|
+# We use globbing in commands, need to be deterministic
|
+unexport LC_ALL
|
+LC_COLLATE=C
|
+export LC_COLLATE
|
+
|
.SUFFIXES:
|
.SUFFIXES: .c .o
|
|