musl: Add aliases for glibc provided libraries

This is a step towards running pebuilt applications for glibc  on musl
There are many realworld applications which are not always built from
source, especially provided by third party

Package the glibc symlinks into new package musl-glibc-compat

(From OE-Core rev: 8ea0680462c506e01244d3fd3d35e6b2f805ada6)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Khem Raj
2018-09-19 20:52:42 -07:00
committed by Richard Purdie
parent 244caa1dbf
commit 3b993fc618

View File

@@ -2,6 +2,7 @@
# Released under the MIT license (see COPYING.MIT for the terms) # Released under the MIT license (see COPYING.MIT for the terms)
require musl.inc require musl.inc
inherit linuxloader
SRCREV = "0fa1e638e87cf257e9f96b4019b2076afd674a19" SRCREV = "0fa1e638e87cf257e9f96b4019b2076afd674a19"
@@ -26,6 +27,7 @@ DEPENDS = "virtual/${TARGET_PREFIX}binutils \
bsd-headers \ bsd-headers \
libssp-nonshared \ libssp-nonshared \
" "
GLIBC_LDSO = "${@get_glibc_loader(d)}"
export CROSS_COMPILE="${TARGET_PREFIX}" export CROSS_COMPILE="${TARGET_PREFIX}"
@@ -62,12 +64,26 @@ do_install() {
install -d ${D}${bindir} install -d ${D}${bindir}
rm -f ${D}${bindir}/ldd rm -f ${D}${bindir}/ldd
lnr ${D}${libdir}/libc.so ${D}${bindir}/ldd lnr ${D}${libdir}/libc.so ${D}${bindir}/ldd
lnr ${D}${libdir}/libc.so ${D}${GLIBC_LDSO}
for l in crypt dl m pthread resolv rt util xnet for l in crypt dl m pthread resolv rt util xnet
do do
ln -sf libc.so ${D}${libdir}/lib$l.so ln -sf libc.so ${D}${libdir}/lib$l.so
done done
for i in libc.so.6 libcrypt.so.1 libdl.so.2 libm.so.6 libpthread.so.0 libresolv.so.2 librt.so.1 libutil.so.1; do
ln -sf libc.so ${D}${libdir}/$i
done
} }
PACKAGES =+ "${PN}-glibc-compat"
FILES_${PN}-glibc-compat += "\
${libdir}/libc.so.6 ${libdir}/libcrypt.so.1 \
${libdir}/libdl.so.2 ${libdir}/libm.so.6 \
${libdir}/libpthread.so.0 ${libdir}/libresolv.so.2 \
${libdir}/librt.so.1 ${libdir}/libutil.so.1 \
${GLIBC_LDSO} \
"
RDEPENDS_${PN}-dev += "linux-libc-headers-dev bsd-headers-dev libssp-nonshared-staticdev" RDEPENDS_${PN}-dev += "linux-libc-headers-dev bsd-headers-dev libssp-nonshared-staticdev"
RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev" RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev"
RPROVIDES_${PN} += "ldd libsegfault rtld(GNU_HASH)" RPROVIDES_${PN} += "ldd libsegfault rtld(GNU_HASH)"