]> code.ossystems Code Review - openembedded-core.git/commitdiff
libx11: squash whitespace in generated files
authorRoss Burton <ross.burton@intel.com>
Wed, 22 Jan 2020 17:37:48 +0000 (17:37 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 27 Jan 2020 16:38:54 +0000 (16:38 +0000)
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 ]

Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/recipes-graphics/xorg-lib/files/libx11-whitespace.patch [new file with mode: 0644]
meta/recipes-graphics/xorg-lib/libx11-compose-data_1.6.8.bb
meta/recipes-graphics/xorg-lib/libx11_1.6.9.bb

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 (file)
index 0000000..3f97143
--- /dev/null
@@ -0,0 +1,56 @@
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/xorg/lib/libx11/merge_requests/33]
+Signed-off-by: Ross Burton <ross.burton@intel.com>
+
+From b41469c5f08b1f3365667ff3c430b104c9b8e25f Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Wed, 22 Jan 2020 17:11:23 +0000
+Subject: [PATCH libX11] cpprules.in: squash whitespace in generated files
+
+CPP is used to generate files, but as cpp reads files from the build host the
+output has a number of blank lines at the beginning which varies depending on
+what GCC and friends is used.
+
+Pathalogical example:
+
+ $ cpp -undef -traditional /dev/null
+ # 1 "/dev/null"
+ # 1 "<built-in>"
+ # 1 "<command-line>"
+ # 31 "<command-line>"
+ # 1 "/usr/include/stdc-predef.h" 1 3 4
+
+ # 17 "/usr/include/stdc-predef.h" 3 4
+
+ [ 40 blank line ]
+
+ # 32 "<command-line>" 2
+ # 1 "/dev/null"
+
+So depending on the content of stdc-predef.h and what other headers CPP will
+load, the amount of whitespace in the generates files varies. This can result in
+differences in reproducible environments, and file conflicts in multilib
+environments.
+
+As whitespace is irrelevant to these machine-readable files, extend the sed to
+just delete blank lines.
+---
+ cpprules.in | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/cpprules.in b/cpprules.in
+index 03d6701e..ce6b3c98 100644
+--- a/cpprules.in
++++ b/cpprules.in
+@@ -23,7 +23,8 @@ CPP_SED_MAGIC = $(SED) -e '/^\#  *[0-9][0-9]*  *.*$$/d' \
+                        -e '/^[         ]*XCOMM[^a-zA-Z0-9_]/s/XCOMM/\#/' \
+                        -e '/^[         ]*XHASH/s/XHASH/\#/' \
+                        -e 's,X11_LOCALEDATADIR,$(X11_LOCALEDATADIR),g' \
+-                       -e '/\@\@$$/s/\@\@$$/\\/'
++                       -e '/\@\@$$/s/\@\@$$/\\/' \
++                       -e '/^$$/d'
+ .pre:
+       @$(MKDIR_P) $(@D)
+-- 
+2.20.1
+
index cabb84e686dd2e4c5e8524d018db895c55f9d01b..3d97ad78d2a1ee5bde5f87fe6d35d1bf6cdd0b4d 100644 (file)
@@ -14,7 +14,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7"
 SRC_URI[md5sum] = "c5fa5a86a20e3591bed6c046498d4b8f"
 SRC_URI[sha256sum] = "b289a845c189e251e0e884cc0f9269bbe97c238df3741e854ec4c17c21e473d5"
 
-SRC_URI += "file://0001-Drop-x11-dependencies.patch"
+SRC_URI += "file://0001-Drop-x11-dependencies.patch \
+            file://libx11-whitespace.patch"
 
 XORG_PN = "libX11"
 
index 8c2a57c6744855f3bdc3f47834acf65bd37f2be0..ff60a4240c6fa741799a28d268fa8426ef71f9ab 100644 (file)
@@ -11,7 +11,8 @@ FILESEXTRAPATHS =. "${FILE_DIRNAME}/libx11:"
 PE = "1"
 
 SRC_URI += "file://Fix-hanging-issue-in-_XReply.patch \
-            file://disable_tests.patch"
+            file://disable_tests.patch \
+            file://libx11-whitespace.patch"
 
 SRC_URI[md5sum] = "55adbfb6d4370ecac5e70598c4e7eed2"
 SRC_URI[sha256sum] = "9cc7e8d000d6193fa5af580d50d689380b8287052270f5bb26a5fb6b58b2bed1"