glibc: Adapt do_install_append_aarch64() for usrmerge
PATCH 1/1 glibc: Adapt do_install_append_aarch64() for usrmerge
Change hardcoded /lib to ${nonarch_base_libdir} to correctly adapt the code in do_install_append_aarch64() for when usrmerge is enabled in DISTRO_FEATURES.
--- meta/recipes-core/glibc/glibc-package.inc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
meta/recipes-core/glibc/glibc-package.inc +6 -6
@@ -114,15 +114,15 @@ do_install_append () { } do_install_append_aarch64 () { - if [ "${base_libdir}" != "/lib" ] ; then + if [ "${base_libdir}" != "${nonarch_base_libdir}" ]; then # The aarch64 ABI says the dynamic linker -must- be /lib/ld-linux-aarch64[_be].so.1 - install -d ${D}/lib + install -d ${D}${nonarch_base_libdir} if [ -e ${D}${base_libdir}/ld-linux-aarch64.so.1 ]; then - ln -s ${@base_path_relative('/lib', '${base_libdir}')}/ld-linux-aarch64.so.1 \ - ${D}/lib/ld-linux-aarch64.so.1 + ln -s ${@base_path_relative('${nonarch_base_libdir}', '${base_libdir}')}/ld-linux-aarch64.so.1 \ + ${D}${nonarch_base_libdir}/ld-linux-aarch64.so.1 elif [ -e ${D}${base_libdir}/ld-linux-aarch64_be.so.1 ]; then - ln -s ${@base_path_relative('/lib', '${base_libdir}')}/ld-linux-aarch64_be.so.1 \ - ${D}/lib/ld-linux-aarch64_be.so.1 + ln -s ${@base_path_relative('${nonarch_base_libdir}', '${base_libdir}')}/ld-linux-aarch64_be.so.1 \ + ${D}${nonarch_base_libdir}/ld-linux-aarch64_be.so.1 fi fi do_install_armmultilib
Signature · 1 line
2.12.0
How does the patch relate to the comment which states the ABI says the path *must* be /lib/. Is that wrong? How does this interact with the merged symlink creation in image.bbclass? Please expand on the message so it's clear what is meant to be happening.
Ross
On 27 January 2018 at 03:53, Peter Kjellerstedt <[email protected]
Quoted 55 lines
wrote:
Change hardcoded /lib to ${nonarch_base_libdir} to correctly adapt the code in
do_install_append_aarch64()for when usrmerge is enabled inDISTRO_FEATURES.Signed-off-by Peter Kjellerstedt <[email protected]>--- meta/recipes-core/glibc/glibc-package.inc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)meta/recipes-core/glibc/glibc-package.inc +1
-1@@ -114,15 +114,15 @@ do_install_append () { } do_install_append_aarch64 () { - if [ "${base_libdir}" != "/lib" ] ; then + if [ "${base_libdir}" != "${nonarch_base_libdir}" ]; then # The aarch64 ABI says the dynamic linker -must- be/lib/ld-linux-aarch64[_be].so.1
meta/recipes-core/glibc/glibc-package.inc +1
-2- install -d ${D}/lib + install -d ${D}${nonarch_base_libdir} if [ -e ${D}${base_libdir}/ld-linux-aarch64.so.1 ]; then - ln -s ${@base_path_relative('/lib','${base_libdir}')}/ld-linux-aarch64.so.1 \
meta/recipes-core/glibc/glibc-package.inc +1
-1- ${D}/lib/ld-linux-aarch64.so.1 + ln -s ${@base_path_relative('${nonarch_base_libdir}','${base_libdir}')}/ld-linux-aarch64.so.1 \
+ ${D}${nonarch_base_libdir}/ld-
linux-aarch64.so.1elif [ -e ${D}${base_libdir}/ld-linux-aarch64_be.so.1 ];then
- ln -s ${@base_path_relative('/lib',
'${base_libdir}')}/ld-linux-aarch64_be.so.1 \meta/recipes-core/glibc/glibc-package.inc +1
-1- ${D}/lib/ld-linux-aarch64_be.so.1 + ln -s ${@base_path_relative('${nonarch_base_libdir}','${base_libdir}')}/ld-linux-aarch64_be.so.1 \
+ ${D}${nonarch_base_libdir}/ld-
linux-aarch64_be.so.1
fi
fi
do_install_armmultilib
--
2.12.0--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Apparently this was already merged. However, the assumption is that ${nonarch_base_libdir} will evaluate to /lib, or something that will be accessible as /lib. I.e., the default definition of ${nonarch_base_libdir} is “/lib” unless usrmerge is in DISTRO_FEATURES, in which case it is “${root_prefix/lib” (which evaluates to “/usr/lib”), but then a symbolic link will be created from “/lib” to “/usr/lib”.
//Peter
From: Burton, Ross [mailto:[email protected]]
Sent: den 29 januari 2018 18:33
To: Peter Kjellerstedt <[email protected]>
Cc: OE-core <[email protected]>
Subject: Re: [OE-core] [PATCH] glibc: Adapt do_install_append_aarch64() for usrmerge
How does the patch relate to the comment which states the ABI says the path *must* be /lib/. Is that wrong? How does this interact with the merged symlink creation in image.bbclass? Please expand on the message so it's clear what is meant to be happening.
Ross
On 27 January 2018 at 03:53, Peter Kjellerstedt <[email protected]<mailto:[email protected]>> wrote:
Change hardcoded /lib to ${nonarch_base_libdir} to correctly adapt the
code in do_install_append_aarch64() for when usrmerge is enabled inDISTRO_FEATURES.
--- meta/recipes-core/glibc/glibc-package.inc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
meta/recipes-core/glibc/glibc-package.inc +6 -6
@@ -114,15 +114,15 @@ do_install_append () { } do_install_append_aarch64 () { - if [ "${base_libdir}" != "/lib" ] ; then + if [ "${base_libdir}" != "${nonarch_base_libdir}" ]; then # The aarch64 ABI says the dynamic linker -must- be /lib/ld-linux-aarch64[_be].so.1 - install -d ${D}/lib + install -d ${D}${nonarch_base_libdir} if [ -e ${D}${base_libdir}/ld-linux-aarch64.so.1 ]; then - ln -s ${@base_path_relative('/lib', '${base_libdir}')}/ld-linux-aarch64.so.1 \ - ${D}/lib/ld-linux-aarch64.so.1 + ln -s ${@base_path_relative('${nonarch_base_libdir}', '${base_libdir}')}/ld-linux-aarch64.so.1 \ + ${D}${nonarch_base_libdir}/ld-linux-aarch64.so.1 elif [ -e ${D}${base_libdir}/ld-linux-aarch64_be.so.1 ]; then - ln -s ${@base_path_relative('/lib', '${base_libdir}')}/ld-linux-aarch64_be.so.1 \ - ${D}/lib/ld-linux-aarch64_be.so.1 + ln -s ${@base_path_relative('${nonarch_base_libdir}', '${base_libdir}')}/ld-linux-aarch64_be.so.1 \ + ${D}${nonarch_base_libdir}/ld-linux-aarch64_be.so.1 fi fi do_install_armmultilib
--
2.12.0
--
_______________________________________________
Openembedded-core mailing list [email protected]<mailto:[email protected]>
http://lists.openembedded.org/mailman/listinfo/openembedded-core