blob: f915d658c88eb689fab494e8a9122c347a3ccb43 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
From 41b859a9df9611b7b3f6cbe28af47118d947080f 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 1d13e8c..2c5cf99 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
|