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>
This commit is contained in:
Ross Burton 2020-01-22 17:37:48 +00:00 committed by Richard Purdie
parent 3f0f75fe03
commit a708aa347d
3 changed files with 60 additions and 2 deletions

View File

@ -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

View 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"

View 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"