allarch currently resets baselib to "lib" in an attempt to keep allarch recipes uniform. However if the real value for $baselib is actually needed, for example in a multilib environment where $baselib is lib64 for standard binaries and the allarch package is using postinst intercepts which need to know the real value of $libdir, then a non-existant or incorrect $libdir will be used.
Real world example: liberation-fonts is allarch and inherits fontcache, which uses a postinst intercept to run fc-cache inside qemu-user. In a multilib configuration where normal libdir=/usr/lib64 and lib32 libdir=/usr/lib qemu will try running a 64-bit fc-cache with a 32-bit ld-linux, and predicatably the binary crashes. Signed-off-by: Ross Burton <[email protected]> --- meta/classes/allarch.bbclass | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/meta/classes/allarch.bbclass b/meta/classes/allarch.bbclass index 51ba509cd0a..e0326039d0c 100644 --- a/meta/classes/allarch.bbclass +++ b/meta/classes/allarch.bbclass @@ -13,7 +13,7 @@ python () { # Set these to a common set of values, we shouldn't be using them other that for WORKDIR directory # naming anyway - d.setVar("baselib", "lib") + #d.setVar("baselib", "lib") d.setVar("TARGET_ARCH", "allarch") d.setVar("TARGET_OS", "linux") d.setVar("TARGET_CC_ARCH", "none") @@ -48,4 +48,3 @@ python () { elif bb.data.inherits_class('packagegroup', d) and not bb.data.inherits_class('nativesdk', d): bb.error("Please ensure recipe %s sets PACKAGE_ARCH before inherit packagegroup" % d.getVar("FILE")) } - -- 2.11.0 -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
