]> code.ossystems Code Review - openembedded-core.git/commitdiff
musl: Add aliases for glibc provided libraries
authorKhem Raj <raj.khem@gmail.com>
Thu, 20 Sep 2018 03:52:42 +0000 (20:52 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 20 Sep 2018 19:24:04 +0000 (12:24 -0700)
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

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/recipes-core/musl/musl_git.bb

index be31718e3a277ae183f0dddbd00eff553f01de9d..f0556533b5732ff5a6c0a05102edc12ddd21ca3d 100644 (file)
@@ -2,6 +2,7 @@
 # Released under the MIT license (see COPYING.MIT for the terms)
 
 require musl.inc
+inherit linuxloader
 
 SRCREV = "0fa1e638e87cf257e9f96b4019b2076afd674a19"
 
@@ -26,6 +27,7 @@ DEPENDS = "virtual/${TARGET_PREFIX}binutils \
            bsd-headers \
            libssp-nonshared \
           "
+GLIBC_LDSO = "${@get_glibc_loader(d)}"
 
 export CROSS_COMPILE="${TARGET_PREFIX}"
 
@@ -62,12 +64,26 @@ do_install() {
        install -d ${D}${bindir}
        rm -f ${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
        do
                ln -sf libc.so ${D}${libdir}/lib$l.so
        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"
 RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev"
 RPROVIDES_${PN} += "ldd libsegfault rtld(GNU_HASH)"