| From 32852028e95cdf78d09f1bd867f3b46b4728f9e3 Mon Sep 17 00:00:00 2001 |
| From: Richard Purdie <richard.purdie@linuxfoundation.org> |
| Date: Sun, 21 Feb 2021 09:45:48 +0000 |
| Subject: [PATCH] rsync: Fix a file sorting determinism issue |
| |
| 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 |
| --- |
| Makefile.in | 5 +++++ |
| 1 file changed, 5 insertions(+) |
| |
| diff --git a/Makefile.in b/Makefile.in |
| index 0ba2d5c..b9c5438 100644 |
| --- a/Makefile.in |
| +++ b/Makefile.in |
| @@ -27,6 +27,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 |
| |