[OE-core] [PATCH V2 2/2] musl: Add aliases for glibc provided libraries
Khem Raj
raj.khem at gmail.com
Wed Sep 19 18:55:42 UTC 2018
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 at 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"
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)"
--
2.19.0
More information about the Openembedded-core
mailing list