From: Denys Dmytriyenko denys@ti.com
* Copy all ${bindir} and ${sbindir} binaries from the external toolchain * That would package ldconfig, locale, tzselect and ldd, among others * All the necessary FILES_* variables are already set up for them * Remove gdbserver binary, as it's not listed in PROVIDES for now * Fix couple shell scripts that hardcode bogus hashbang path for /bin/bash * Also add RDEPENDS on bash for those scripts * Set PKGV to libc version - this is needed because PV is set to toolchain version and when -dev/-dbg depends on the main package, it ends up using the wrong version. E.g. libc6-dev ends up depending on main libc version 2019.01 instead of 2.28, which prevents it from being installed properly.
Signed-off-by: Denys Dmytriyenko denys@ti.com --- .../external-arm-toolchain/external-arm-toolchain.bb | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb index 2976be9..2437856 100644 --- a/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb +++ b/meta-linaro-toolchain/recipes-devtools/external-arm-toolchain/external-arm-toolchain.bb @@ -4,8 +4,6 @@ INHIBIT_DEFAULT_DEPS = "1" INHIBIT_PACKAGE_STRIP = "1" INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
-ALLOW_EMPTY_ldd = "1" - # License applies to this recipe code, not the toolchain itself LICENSE = "MIT" LIC_FILES_CHKSUM = "\ @@ -106,6 +104,12 @@ do_install() { cp ${CP_ARGS} -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/include/* ${D}${includedir} ln -sf ../usr/include/c++ ${D}/include/c++
+ cp ${CP_ARGS} -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/bin/* ${D}${bindir} + cp ${CP_ARGS} -H ${EXTERNAL_TOOLCHAIN}/${EAT_TARGET_SYS}/libc/usr/sbin/* ${D}${sbindir} + rm -rf ${D}${bindir}/gdbserver + sed -i -e 's#/arm/tools/gnu/bash/4.2/rhe6-x86_64##' ${D}${bindir}/tzselect + sed -i -e 's#/arm/tools/gnu/bash/4.2/rhe6-x86_64##' ${D}${bindir}/ldd + # fix up the copied symlinks (they are still pointing to the multiarch directory) linker_name="${@bb.utils.contains("TUNE_FEATURES", "aarch64", "ld-linux-aarch64.so.1", bb.utils.contains("TUNE_FEATURES", "callconvention-hard", "ld-linux-armhf.so.3", "ld-linux.so.3",d), d)}" ln -sf ld-${EAT_VER_LIBC}.so ${D}${base_libdir}/${linker_name} @@ -338,6 +342,7 @@ PKG_${PN}-thread-db = "glibc-thread-db" PKG_${PN}-pcprofile = "glibc-pcprofile" PKG_${PN}-staticdev = "glibc-staticdev"
+PKGV = "${EAT_VER_LIBC}" PKGV_${PN} = "${EAT_VER_LIBC}" PKGV_${PN}-dev = "${EAT_VER_LIBC}" PKGV_${PN}-doc = "${EAT_VER_LIBC}" @@ -419,6 +424,9 @@ FILES_libsegfault = "${base_libdir}/libSegFault*" FILES_catchsegv = "${bindir}/catchsegv" RDEPENDS_catchsegv = "libsegfault"
+RDEPENDS_ldd = "bash" +RDEPENDS_tzcode = "bash" + # From libgfortran.inc:
FILES_libgfortran = "${libdir}/libgfortran.so.*"