From 1a826482bc1028ebf6da191466630f8b9df660e5 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 30 Mar 2020 16:31:52 +0100 Subject: pseudo: Ensure we use our own libsqlite pseudo-native is special in that bitbake ends up executing it from the sysroot-components directory before we have any workdirs for the bitbake fakeroot worker. Since we switched to dynamically linking sqlite, it means sqlite from the host system may be found, we really want the version in sysroot-components. Trying to run tasks to create some special environment for pseudo is hard and error prone. The simplest fix is to add an RPATH to the binary so that it can correctly find the sqlite we want. Unfortunately passing $ORIGIN into make doesn't work so well with shell quoting so we have to fix that during do_install. [YOCTO #13814] (From OE-Core rev: 3937ca9e2dfabb1ce9bce1d536b60b1e2a43739b) Signed-off-by: Richard Purdie --- meta/recipes-devtools/pseudo/pseudo.inc | 2 ++ 1 file changed, 2 insertions(+) (limited to 'meta') diff --git a/meta/recipes-devtools/pseudo/pseudo.inc b/meta/recipes-devtools/pseudo/pseudo.inc index 7ff8e449e9..50e30064bd 100644 --- a/meta/recipes-devtools/pseudo/pseudo.inc +++ b/meta/recipes-devtools/pseudo/pseudo.inc @@ -16,6 +16,7 @@ INSANE_SKIP_${PN}-dbg += "libdir" PROVIDES += "virtual/fakeroot" MAKEOPTS = "" +MAKEOPTS_class-native = "'RPATH=-Wl,--rpath=XORIGIN/../../../sqlite3-native/usr/lib/'" inherit siteinfo pkgconfig @@ -115,6 +116,7 @@ do_install () { } do_install_append_class-native () { + chrpath ${D}${bindir}/pseudo -r `chrpath ${D}${bindir}/pseudo | cut -d = -f 2 | sed s/XORIGIN/\\$ORIGIN/` install -d ${D}${sysconfdir} # The fallback files should never be modified install -m 444 ${WORKDIR}/fallback-passwd ${D}${sysconfdir}/passwd -- cgit v1.2.3-54-g00ecf