| 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 |
| |