aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2018-11-23 15:28:28 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-11-23 23:32:10 +0000
commitb4e36281631e0b59d1058f5cf391eb8b15e605cf (patch)
tree7c9f97d695be2be297d4c683c675f40d52cff4a8
parent55b0a7332c57abc27367aba46702990e3a99cbf9 (diff)
downloadopenembedded-core-contrib-b4e36281631e0b59d1058f5cf391eb8b15e605cf.tar.gz
openembedded-core-contrib-b4e36281631e0b59d1058f5cf391eb8b15e605cf.tar.bz2
openembedded-core-contrib-b4e36281631e0b59d1058f5cf391eb8b15e605cf.zip
meson: Disable rpath stripping at install time
As discussed in https://github.com/mesonbuild/meson/issues/2567 there needs to be a way to allow our rpath options passed to the linker to be preserved, else we run into weird build failures. (e.g. libmodulemd-native used by libdnf can't find libyaml) Disable this for now until upstream come up with a better way of handling this. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/meson/meson.inc1
-rw-r--r--meta/recipes-devtools/meson/meson/0001-Support-building-allarch-recipes-again.patch13
-rw-r--r--meta/recipes-devtools/meson/meson/disable-rpath-handling.patch26
3 files changed, 32 insertions, 8 deletions
diff --git a/meta/recipes-devtools/meson/meson.inc b/meta/recipes-devtools/meson/meson.inc
index 32c6bfe5d3..f878695903 100644
--- a/meta/recipes-devtools/meson/meson.inc
+++ b/meta/recipes-devtools/meson/meson.inc
@@ -12,6 +12,7 @@ SRC_URI = "https://github.com/mesonbuild/meson/releases/download/${PV}/meson-${P
file://gi-flags.patch \
file://gtkdoc-flags.patch \
file://0001-python-module-do-not-manipulate-the-environment-when.patch \
+ file://disable-rpath-handling.patch \
"
SRC_URI[sha256sum] = "92d8afd921751261e36151643464efd3394162f69efbe8cd53e0a66b1cf395eb"
SRC_URI[md5sum] = "31bda3519d8c0eb3438267268a78085e"
diff --git a/meta/recipes-devtools/meson/meson/0001-Support-building-allarch-recipes-again.patch b/meta/recipes-devtools/meson/meson/0001-Support-building-allarch-recipes-again.patch
index f6dd230916..96be104a52 100644
--- a/meta/recipes-devtools/meson/meson/0001-Support-building-allarch-recipes-again.patch
+++ b/meta/recipes-devtools/meson/meson/0001-Support-building-allarch-recipes-again.patch
@@ -11,11 +11,11 @@ Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
mesonbuild/environment.py | 1 +
1 file changed, 1 insertion(+)
-diff --git a/mesonbuild/environment.py b/mesonbuild/environment.py
-index a0580a2..712b1e8 100644
---- a/mesonbuild/environment.py
-+++ b/mesonbuild/environment.py
-@@ -73,6 +73,7 @@ from .compilers import (
+Index: meson-0.47.2/mesonbuild/environment.py
+===================================================================
+--- meson-0.47.2.orig/mesonbuild/environment.py
++++ meson-0.47.2/mesonbuild/environment.py
+@@ -75,6 +75,7 @@ from .compilers import (
build_filename = 'meson.build'
known_cpu_families = (
@@ -23,6 +23,3 @@ index a0580a2..712b1e8 100644
'aarch64',
'arm',
'e2k',
---
-2.12.0
-
diff --git a/meta/recipes-devtools/meson/meson/disable-rpath-handling.patch b/meta/recipes-devtools/meson/meson/disable-rpath-handling.patch
new file mode 100644
index 0000000000..4b1fb57dd4
--- /dev/null
+++ b/meta/recipes-devtools/meson/meson/disable-rpath-handling.patch
@@ -0,0 +1,26 @@
+We need to allow our rpaths generated through the compiler flags to make it into
+our binaries. Therefore disable the meson manipulations of these unless there
+is a specific directive to do something differently in the project.
+
+RP 2018/11/23
+
+Upstream-Status: Submitted [https://github.com/mesonbuild/meson/issues/2567]
+
+Index: meson-0.47.2/mesonbuild/minstall.py
+===================================================================
+--- meson-0.47.2.orig/mesonbuild/minstall.py
++++ meson-0.47.2/mesonbuild/minstall.py
+@@ -486,8 +486,11 @@ class Installer:
+ printed_symlink_error = True
+ if os.path.isfile(outname):
+ try:
+- depfixer.fix_rpath(outname, install_rpath, final_path,
+- install_name_mappings, verbose=False)
++ if install_rpath:
++ depfixer.fix_rpath(outname, install_rpath, final_path,
++ install_name_mappings, verbose=False)
++ else:
++ print("RPATH changes at install time disabled")
+ except SystemExit as e:
+ if isinstance(e.code, int) and e.code == 0:
+ pass