summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2020-01-22 17:37:48 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-01-27 16:48:08 +0000
commita708aa347dbd36a7090d4ab14cf000ae8289f11e (patch)
tree4947fe027a1b8df0c57b7c3c8933e77706bd0bd7
parent3f0f75fe03e83d3cc1f70ce5ebbf99e35031f1bb (diff)
downloadpoky-a708aa347dbd36a7090d4ab14cf000ae8289f11e.tar.gz
libx11: squash whitespace in generated files
The locale data in the recipe is generated using cpp, which results in differing amounts of whitespace depending on what compiler is used. This means that the files may differ in just whitespace, which is sufficient for RPM's multilib code to consider them different and not allow lib32-libx11-locale and lib64-libx11-locale to be installed at the same time. [ YOCTO #13647 ] (From OE-Core rev: 6768d0d7988294769a41c7ba40f29874366da00f) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-graphics/xorg-lib/files/libx11-whitespace.patch56
-rw-r--r--meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb3
-rw-r--r--meta/recipes-graphics/xorg-lib/libx11_1.6.9.bb3
3 files changed, 60 insertions, 2 deletions
diff --git a/meta/recipes-graphics/xorg-lib/files/libx11-whitespace.patch b/meta/recipes-graphics/xorg-lib/files/libx11-whitespace.patch
new file mode 100644
index 0000000000..3f97143082
--- /dev/null
+++ b/meta/recipes-graphics/xorg-lib/files/libx11-whitespace.patch
@@ -0,0 +1,56 @@
1Upstream-Status: Submitted [https://gitlab.freedesktop.org/xorg/lib/libx11/merge_requests/33]
2Signed-off-by: Ross Burton <ross.burton@intel.com>
3
4From b41469c5f08b1f3365667ff3c430b104c9b8e25f Mon Sep 17 00:00:00 2001
5From: Ross Burton <ross.burton@intel.com>
6Date: Wed, 22 Jan 2020 17:11:23 +0000
7Subject: [PATCH libX11] cpprules.in: squash whitespace in generated files
8
9CPP is used to generate files, but as cpp reads files from the build host the
10output has a number of blank lines at the beginning which varies depending on
11what GCC and friends is used.
12
13Pathalogical example:
14
15 $ cpp -undef -traditional /dev/null
16 # 1 "/dev/null"
17 # 1 "<built-in>"
18 # 1 "<command-line>"
19 # 31 "<command-line>"
20 # 1 "/usr/include/stdc-predef.h" 1 3 4
21
22 # 17 "/usr/include/stdc-predef.h" 3 4
23
24 [ 40 blank line ]
25
26 # 32 "<command-line>" 2
27 # 1 "/dev/null"
28
29So depending on the content of stdc-predef.h and what other headers CPP will
30load, the amount of whitespace in the generates files varies. This can result in
31differences in reproducible environments, and file conflicts in multilib
32environments.
33
34As whitespace is irrelevant to these machine-readable files, extend the sed to
35just delete blank lines.
36---
37 cpprules.in | 3 ++-
38 1 file changed, 2 insertions(+), 1 deletion(-)
39
40diff --git a/cpprules.in b/cpprules.in
41index 03d6701e..ce6b3c98 100644
42--- a/cpprules.in
43+++ b/cpprules.in
44@@ -23,7 +23,8 @@ CPP_SED_MAGIC = $(SED) -e '/^\# *[0-9][0-9]* *.*$$/d' \
45 -e '/^[ ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \
46 -e '/^[ ]*XHASH/s/XHASH/\#/' \
47 -e 's,X11_LOCALEDATADIR,$(X11_LOCALEDATADIR),g' \
48- -e '/\@\@$$/s/\@\@$$/\\/'
49+ -e '/\@\@$$/s/\@\@$$/\\/' \
50+ -e '/^$$/d'
51
52 .pre:
53 @$(MKDIR_P) $(@D)
54--
552.20.1
56
diff --git a/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb b/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb
index cabb84e686..3d97ad78d2 100644
--- a/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb
+++ b/meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb
@@ -14,7 +14,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7"
14SRC_URI[md5sum] = "c5fa5a86a20e3591bed6c046498d4b8f" 14SRC_URI[md5sum] = "c5fa5a86a20e3591bed6c046498d4b8f"
15SRC_URI[sha256sum] = "b289a845c189e251e0e884cc0f9269bbe97c238df3741e854ec4c17c21e473d5" 15SRC_URI[sha256sum] = "b289a845c189e251e0e884cc0f9269bbe97c238df3741e854ec4c17c21e473d5"
16 16
17SRC_URI += "file://0001-Drop-x11-dependencies.patch" 17SRC_URI += "file://0001-Drop-x11-dependencies.patch \
18 file://libx11-whitespace.patch"
18 19
19XORG_PN = "libX11" 20XORG_PN = "libX11"
20 21
diff --git a/meta/recipes-graphics/xorg-lib/libx11_1.6.9.bb b/meta/recipes-graphics/xorg-lib/libx11_1.6.9.bb
index 8c2a57c674..ff60a4240c 100644
--- a/meta/recipes-graphics/xorg-lib/libx11_1.6.9.bb
+++ b/meta/recipes-graphics/xorg-lib/libx11_1.6.9.bb
@@ -11,7 +11,8 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/libx11:"
11PE = "1" 11PE = "1"
12 12
13SRC_URI += "file://Fix-hanging-issue-in-_XReply.patch \ 13SRC_URI += "file://Fix-hanging-issue-in-_XReply.patch \
14 file://disable_tests.patch" 14 file://disable_tests.patch \
15 file://libx11-whitespace.patch"
15 16
16SRC_URI[md5sum] = "55adbfb6d4370ecac5e70598c4e7eed2" 17SRC_URI[md5sum] = "55adbfb6d4370ecac5e70598c4e7eed2"
17SRC_URI[sha256sum] = "9cc7e8d000d6193fa5af580d50d689380b8287052270f5bb26a5fb6b58b2bed1" 18SRC_URI[sha256sum] = "9cc7e8d000d6193fa5af580d50d689380b8287052270f5bb26a5fb6b58b2bed1"