gpgme: correctly avoid host contamination

Existing patch was actually doing the wrong thing and
sometimes removing a linking flag (-lgpgme) that should be present.

Instead, gpgme-config actually has internal logic to remove /usr/lib from the output,
which works only in non-multilib setups, so it is adjusted to include all possible
/usr/lib* and /lib* directories.

(From OE-Core rev: 84cb611079b7cf78b9921c78978943fa4adae1c7)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Alexander Kanavin 2017-04-13 16:50:11 +03:00 committed by Richard Purdie
parent a84a323e4d
commit 575f8b4819
3 changed files with 32 additions and 31 deletions

View File

@ -1,30 +0,0 @@
From 96cfc76def123141d0cecaab857da3880396d5ef Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Thu, 9 Mar 2017 22:11:00 +0200
Subject: [PATCH] Avoid host contamination from gpg-config
getconfig is calling gpgme-config (from the source tree) and it
gives -L{libdir} (i.e. -L/usr/lib) as the first item for linking.
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
lang/python/setup.py.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lang/python/setup.py.in b/lang/python/setup.py.in
index 213fe33..22629e2 100755
--- a/lang/python/setup.py.in
+++ b/lang/python/setup.py.in
@@ -86,7 +86,7 @@ subprocess.check_call([sys.executable, "gpgme-h-clean.py", gpg_error_h],
stdout=open("errors.i", "w"))
define_macros = []
-libs = getconfig('libs')
+libs = getconfig('libs')[1:]
# Define extra_macros for both the SWIG and C code
for k, v in extra_macros.items():
--
2.11.0

View File

@ -0,0 +1,31 @@
From 8c317f6186bd3a9a1c80b4d1e872b3db95934bb6 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Thu, 13 Apr 2017 16:40:27 +0300
Subject: [PATCH] gpgme-config: skip all /lib* or /usr/lib* directories in
output
The logic was not working in multilib setups which use other
directory names than plain /lib or /usr/lib.
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
src/gpgme-config.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/gpgme-config.in b/src/gpgme-config.in
index a4d152e..8342865 100644
--- a/src/gpgme-config.in
+++ b/src/gpgme-config.in
@@ -154,7 +154,7 @@ while test $# -gt 0; do
for i in $libs $tmp_l $assuan_libs $gpg_error_libs $tmp_x; do
skip=no
case $i in
- -L/usr/lib|-L/lib)
+ -L/usr/lib*|-L/lib*)
skip=yes
;;
-L*|-l*)
--
2.11.0

View File

@ -14,8 +14,8 @@ SRC_URI = "${GNUPG_MIRROR}/gpgme/${BP}.tar.bz2 \
file://pkgconfig.patch \
file://python-lang-config.patch \
file://0001-Correctly-install-python-modules.patch \
file://0001-Avoid-host-contamination-from-gpg-config.patch \
file://python-import.patch \
file://0001-gpgme-config-skip-all-lib-or-usr-lib-directories-in-.patch \
"
SRC_URI[md5sum] = "722a4153904b9b5dc15485a22d29263b"