]> code.ossystems Code Review - openembedded-core.git/commitdiff
git: Fix determinism issue
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 17 Feb 2021 17:57:13 +0000 (17:57 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 10 Mar 2021 00:24:17 +0000 (00:24 +0000)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 9ae740939f8315c64fe7571f912404127a29dc89)
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
meta/recipes-devtools/git/git.inc
meta/recipes-devtools/git/git/fixsort.patch [new file with mode: 0644]

index 544e23c844a43ca840cfac82ee0ed6d0650d0430..586a305b2780ea29f0a7d0da4c58b83288cefbcb 100644 (file)
@@ -7,7 +7,8 @@ DEPENDS = "openssl curl zlib expat"
 PROVIDES_append_class-native = " git-replacement-native"
 
 SRC_URI = "${KERNELORG_MIRROR}/software/scm/git/git-${PV}.tar.gz;name=tarball \
-           ${KERNELORG_MIRROR}/software/scm/git/git-manpages-${PV}.tar.gz;name=manpages"
+           ${KERNELORG_MIRROR}/software/scm/git/git-manpages-${PV}.tar.gz;name=manpages \
+           file://fixsort.patch"
 
 S = "${WORKDIR}/git-${PV}"
 
diff --git a/meta/recipes-devtools/git/git/fixsort.patch b/meta/recipes-devtools/git/git/fixsort.patch
new file mode 100644 (file)
index 0000000..07a487e
--- /dev/null
@@ -0,0 +1,31 @@
+[PATCH] generate-configlist.sh: Fix determinism issue
+
+Currently git binaries are not entirely reproducible, at least partly 
+due to config-list.h differing in order depending on the system's
+locale settings. Under different locales, the entries:
+
+"sendemail.identity",
+"sendemail.<identity>.*",
+
+would differ in order for example and this leads to differences in 
+the debug symbols for the binaries.
+
+This can be fixed by specifying the C locale for the sort in the
+shell script generating the header.
+
+Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
+Upstream-Status: Submitted [https://public-inbox.org/git/f029a942dd3d50d85e60bd37d8e454524987842f.camel@linuxfoundation.org/T/#u]
+
+Index: git-2.30.0/generate-configlist.sh
+===================================================================
+--- git-2.30.0.orig/generate-configlist.sh
++++ git-2.30.0/generate-configlist.sh
+@@ -9,7 +9,7 @@ static const char *config_name_list[] =
+ EOF
+       grep -h '^[a-zA-Z].*\..*::$' Documentation/*config.txt Documentation/config/*.txt |
+       sed '/deprecated/d; s/::$//; s/,  */\n/g' |
+-      sort |
++      LC_ALL=C sort |
+       sed 's/^.*$/    "&",/'
+       cat <<EOF
+       NULL,