xref: /OK3568_Linux_fs/yocto/poky/meta/recipes-devtools/rsync/files/determism.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunThe Makefile calls awk on a "*.c" glob. The results of this glob are sorted
2*4882a593Smuzhiyunbut the order depends on the locale settings, particularly whether
3*4882a593Smuzhiyun"util.c" and "util2.c" sort before or after each other. In en_US.UTF-8
4*4882a593Smuzhiyunthey sort one way, in C, they sort the other. The sorting order changes
5*4882a593Smuzhiyunthe output binaries. The behaviour also changes dependning on whether
6*4882a593SmuzhiyunSHELL (/bin/sh) is dash or bash.
7*4882a593Smuzhiyun
8*4882a593SmuzhiyunSpecify a C locale setting to be deterministic.
9*4882a593Smuzhiyun
10*4882a593SmuzhiyunSigned-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
11*4882a593SmuzhiyunSubmitted: https://github.com/WayneD/rsync/pull/155
12*4882a593Smuzhiyun
13*4882a593SmuzhiyunUpstream-Status: Backport [ish, see below]
14*4882a593Smuzhiyun
15*4882a593SmuzhiyunAfter discussion upstream renamed util.c to util1.c which avoids the problem
16*4882a593Smuzhiyunin a different way. This patch can be dropped when we upgrade to include:
17*4882a593Smuzhiyunhttps://github.com/WayneD/rsync/commit/d3085f7add38a5cf833a0b31cb0637ff46c80f8d
18*4882a593Smuzhiyun
19*4882a593SmuzhiyunIndex: rsync-3.2.3/Makefile.in
20*4882a593Smuzhiyun===================================================================
21*4882a593Smuzhiyun--- rsync-3.2.3.orig/Makefile.in
22*4882a593Smuzhiyun+++ rsync-3.2.3/Makefile.in
23*4882a593Smuzhiyun@@ -26,6 +26,11 @@ MKDIR_P=@MKDIR_P@
24*4882a593Smuzhiyun VPATH=$(srcdir)
25*4882a593Smuzhiyun SHELL=/bin/sh
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun+# We use globbing in commands, need to be deterministic
28*4882a593Smuzhiyun+unexport LC_ALL
29*4882a593Smuzhiyun+LC_COLLATE=C
30*4882a593Smuzhiyun+export LC_COLLATE
31*4882a593Smuzhiyun+
32*4882a593Smuzhiyun .SUFFIXES:
33*4882a593Smuzhiyun .SUFFIXES: .c .o
34*4882a593Smuzhiyun
35