Message ID | 20180919185542.2329-2-raj.khem@gmail.com |
---|---|
State | New |
Headers | show |
Series | [1/2] mtools: Fix build with clang | expand |
On Wed, 2018-09-19 at 11:55 -0700, Khem Raj wrote: > 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> > --- > V2 - Package new symlinks into separate compat package > > meta/recipes-core/musl/musl_git.bb | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/meta/recipes-core/musl/musl_git.bb b/meta/recipes- > core/musl/musl_git.bb > index be31718e3a..efdf620c6c 100644 > --- a/meta/recipes-core/musl/musl_git.bb > +++ b/meta/recipes-core/musl/musl_git.bb > @@ -26,6 +26,14 @@ DEPENDS = "virtual/${TARGET_PREFIX}binutils \ > bsd-headers \ > libssp-nonshared \ > " > +GLIBC_LDSO ?= "ld.so.1" > +GLIBC_LDSO_arm = "${@ bb.utils.contains('TUNE_FEATURES', > 'callconvention-hard', 'ld-linux-armhf.so.3', 'ld-linux.so.3', d)}" > +GLIBC_LDSO_aarch64 = "ld-linux-aarch64.so.1" > +GLIBC_LDSO_x86 = "ld-linux.so.2" > +GLIBC_LDSO_x86_64 = "ld-linux-x86-64.so.2" > +GLIBC_LDSO_x32 = "ld-linux-x32.so.2" > +GLIBC_LDSO_powerpc64 = "ld64.so.1" > +GLIBC_LDSO_mips64 = "ld64.so.1" How about we tweak linuxloader.bbclass to have a glibc specific function could call to get this? I'm not a fan of adding another set of these lists... Cheers, Richard -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
diff --git a/meta/recipes-core/musl/musl_git.bb b/meta/recipes-core/musl/musl_git.bb index be31718e3a..efdf620c6c 100644 --- a/meta/recipes-core/musl/musl_git.bb +++ b/meta/recipes-core/musl/musl_git.bb @@ -26,6 +26,14 @@ DEPENDS = "virtual/${TARGET_PREFIX}binutils \ bsd-headers \ libssp-nonshared \ " +GLIBC_LDSO ?= "ld.so.1" +GLIBC_LDSO_arm = "${@ bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'ld-linux-armhf.so.3', 'ld-linux.so.3', d)}" +GLIBC_LDSO_aarch64 = "ld-linux-aarch64.so.1" +GLIBC_LDSO_x86 = "ld-linux.so.2" +GLIBC_LDSO_x86_64 = "ld-linux-x86-64.so.2" +GLIBC_LDSO_x32 = "ld-linux-x32.so.2" +GLIBC_LDSO_powerpc64 = "ld64.so.1" +GLIBC_LDSO_mips64 = "ld64.so.1" export CROSS_COMPILE="${TARGET_PREFIX}" @@ -62,12 +70,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}${base_libdir}/${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 \ + ${base_libdir}/${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)"
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> --- V2 - Package new symlinks into separate compat package meta/recipes-core/musl/musl_git.bb | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) -- 2.19.0 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core